Spaces:
Sleeping
Sleeping
File size: 3,869 Bytes
6f7c08e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | #!/bin/bash
## Set default commands
pipCommand="pip"
pythonCommand="python"
useBale=0
## Display help for commands
showHelp() {
echo -e "Autoinstall usage: $0 [option..]\n
-b, --bale For install bale api instead of Telegram API \n
-h, --help This help message\n
-d, --debug Enable bash debug\n
-i, --interactive Install requirements for interactive commands\n
-u, --useful Install useful commands\n
-3, --python3 Use python3 instead of Python2\n
"
exit 0
}
## Use virtualenv
useVenv() {
## Create virtual environment
virtualenv -p $pythonCommand venv
## Activate virtual environment
source venv/bin/activate
}
useBaleAPI() {
## Change telegram API URL to Bale API URL
find ./ -name bot.py -exec sed -i 's/api\.telegram\.org/tapi.bale.ai/mg' {} \;
}
## to use interactive commands like htop we need these packages
installAha() {
[ -f "/etc/debian_version" ] && apt-get update && apt-get install -y aha && return 0
(git clone https://github.com/theZiz/aha.git && cd aha && make && make install return 0) || ( echo "cannot install aha, please use -d to debug \nPlease submit an issue here:\n https://github.com/MParvin/TSMB/issues/new" && exit 1)
}
## Install useful commands
installUsefulCMD() {
echo "Installing htop, please wait a moment..."
yum install -y htop &> /dev/null || apt install -y htop &> /dev/null
}
configureBot(){
echo -e "To configure your bot, you must have a Telegram or Bale token\n
How to create Telegram bot: https://core.telegram.org/bots#3-how-do-i-create-a-bot\n
How to create Bale bot: https://devbale.ir/quick-start\n"
read -p "Enter your bot token here:"
telegramToken=$REPLY
echo -e "Get chat_id and enter here:\n
To get chat_id do:
- In telegram:\n start a chat with @id_chatbot
- In Bale:\n start a chat with chatid_bot
"
chatId=$REPLY
}
while :
do
case "$1" in
-b | --bale)
which virtualenv &> /dev/null || (echo "Cannot use Bale without virtualenv, please run \"pip install virtualenv\" before run this script with -b option" && exit 1)
useBale = "True"
break
;;
-h | --help)
showHelp
exit 0
;;
-d | --debug)
set -x
break
;;
-i | --interactive)
installAha
break
;;
-u | --useful)
installUsefulCMD
break
;;
-3 | --python3)
pythonCommand="python3"
pipCommand="pip3"
break
;;
*)
break
;;
esac
done
## Check is python installed
which $pythonCommand &> /dev/null || (echo "Please install python, and run this script again" && exit 1)
## Check is pip installed
which $pipCommand &> /dev/null || (echo -e "Please install pip, and run this script again\n
In Debian base system for python2.* use apt-get install python-pip\n
for python3.* use apt-get install python3-pip" && exit 1)
## Install virtualenv if is not installed
(which virtualenv &> /dev/null && useVenv) || read -p "Do you want to install virtualenv(y/n)? " -n 1 -r
## User accepted
[[ ! $REPLY =~ ^[yY]$ ]] && $pipCommand install virtualenv --user && useVenv
## Install requirements
([ -f requirements.txt ] && $pipCommand install -r requirements.txt) || echo "Could not find requirements.txt, please clone complete this repository from here:\nhttps://github.com/MParvin/TSMB/, \nthen run Autoinstall.sh"
if [ "$useBale" -eq 1 ]
then
useBaleAPI
fi
read -p "Do you want to configure your bot now(y/n)?"
if [ $REPLY =~ ^[yY] ]
then
configureBot
else
echo -e "To use this bot, first change variables in \"config\" file\n
then executable bot script \"chmod +x bot.py \"
and run it: \"./bot.py \""
fi
|