py / Auto_install.sh
shivam
Upload files without png
6f7c08e
#!/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