-
Notifications
You must be signed in to change notification settings - Fork 85
/
setup
131 lines (112 loc) · 3.68 KB
/
setup
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
pprint (){
cred='\033[0;31m'
cgreen='\033[0;32m'
cyellow='\033[0;33m'
cblue='\033[0;34m'
cpurple='\033[0;35m'
eval "export color='$cpurple'"
[ ! -z $2 ] && eval "export color=\"\$$2\""
printf "$color $1"
}
color_reset(){ printf '\033[0;37m';}
yesnoprompt(){
old_stty_cfg=$(stty -g)
stty raw -echo ; answer=$(head -c 1)
stty $old_stty_cfg
echo "$answer" | grep -iq "^y"
}
update() {
pprint "\n\nUpdating package list.. "
sudo apt update 2>&1 | grep "can be upgraded" &>/dev/null
if [ $? -eq 0 ]; then
pprint "UPDATE AVAILABLE" "cgreen"
pprint "\n\nDo you want to automatically upgrade (y/n)?"
if yesnoprompt; then
pprint "\n\nUpgrading packages.. "
sudo apt upgrade -y &>/dev/null &&
pprint "DONE!\n\n" "cgreen" || (pprint "FAIL.\n\n" "cred"; exit 1)
else
echo
fi
else
pprint "ALREADY UP TO DATE\n\n" "cgreen"
fi
}
packages(){
if ! command -v pip &>/dev/null; then
pprint "Couldn't found pip, installing now..."
sudo apt install python3-pip -y 2>pypilog.txt 1>/dev/null &&
pprint "SUCCESS.\n\n" "cgreen" || (pprint "FAIL.\n\n" "cred"; exit 1)
fi
if ! command -v ffmpeg &>/dev/null; then
pprint "Couldn't found ffmpeg, installing now..."
if sudo apt install ffmpeg -y &>/dev/null;then
pprint "SUCCESS.\n\n" "cgreen"
else
pprint "FAIL.\n\n" "cred"
pprint "You need to install ffmpeg manually in order to deploy AnonXMusic, exiting...\n" "cblue"
exit 1
fi
fi
# Check ffmpeg version and warn user if necessary.
fv=$(grep -Po 'version (3.*?) ' <<< $(ffmpeg -version)) &&
pprint "Playing live streams not going to work since you have ffmpeg $fv, live streams are supported by version 4+.\n" "cblue"
}
node(){
command -v npm &>/dev/null && return
pprint "Installing Nodejs and Npm.. "
curl -fssL https://deb.nodesource.com/setup_19.x | sudo -E bash - &>nodelog.txt &&
sudo apt install -y nodejs &>>nodelog.txt &&
sudo npm i -g npm &>>nodelog.txt &&
pprint "SUCCESS!\n" "cgreen" || (pprint "FAIL.\n" "cred"; exit 1)
}
installation(){
pprint "\n\nUpgrading pip and installing dependency packages..."
pip3 install -U pip &>>pypilog.txt &&
pip3 install -U -r requirements.txt &>>pypilog.txt &&
pprint "DONE.\n" "cgreen" && return
pprint "FAIL.\n" "cred"
exit 1
}
clear
pprint "Welcome to Annie Setup Installer\n\n"
pprint "If you see any error during Installation Process, Please refer to these files for logs: "
pprint "\nFor node js errors , Checkout nodelog.txt"
pprint "\nFor pypi packages errors , Checkout pypilog.txt"
sleep 1
pprint "\n\nScript needs sudo privileges in order to update & install packages.\n"
sudo test
update
packages
node
installation
pprint "\n\n\n\n\nAnnie Installation Completed !" "cgreen"
sleep 1
clear
pprint "\nEnter Your Values Below\n\n\n"
pprint "API ID: "; color_reset; read api_id
pprint "\nAPI HASH: "; color_reset; read api_hash
pprint "\nBOT TOKEN: "; color_reset; read bot_token
pprint "\nOWNER ID:"; color_reset; read ownid
pprint "\nMONGO DB URI: "; color_reset; read mongo_db
pprint "\nLOG GROUP ID: "; color_reset; read logger
pprint "\nSTRING SESSION: "; color_reset; read string_session
pprint "\nDEEP API: "; color_reset; read deep_api
pprint "\nGPT API: "; color_reset; read gpt_api
pprint "\n\nProcessing your vars, wait a while !" "cgreen"
if [ -f .env ]; then
rm .env
fi
echo """API_ID = $api_id
API_HASH = $api_hash
BOT_TOKEN = $bot_token
MONGO_DB_URI = $mongo_db
LOGGER_ID = $logger
STRING_SESSION = $string_session
OWNER_ID = $ownid
DEEP_API = $deep_api
GPT_API = $gpt_api""" > .env
clear
pprint "\n\n\nThanks for using Annie installer, your vars have been saved successfully ! \nIf you wanna add more variables add them in your env by : vi .env"
pprint "\n\nNow you can start the bot by : bash start\n\n"