Spaces:
Running
Running
# /usr/bin/python3 | |
# Ultroid - UserBot | |
# Copyright (C) 2021-2023 TeamUltroid | |
# | |
# This file is a part of < https://github.com/TeamUltroid/Ultroid/ > | |
# Please read the GNU Affero General Public License in | |
# <https://www.github.com/TeamUltroid/Ultroid/blob/main/LICENSE/>. | |
# Standalone file for facilitating local deploys. | |
import os | |
a = r""" | |
_ _ _ _ _ _ | |
| | | | | | (_) | | | |
| | | | | |_ _ __ ___ _ __| | | |
| | | | | __| '__/ _ \| |/ _ | | |
| |__| | | |_| | | (_) | | (_| | | |
\____/|_|\__|_| \___/|_|\__,_| | |
""" | |
def start(): | |
clear_screen() | |
check_for_py() | |
print(f"{a}\n\n") | |
print("Welcome to Ultroid, lets start setting up!\n\n") | |
print("Cloning the repository...\n\n") | |
os.system("rm -rf Ultroid") | |
os.system("git clone https://github.com/TeamUltroid/Ultroid") | |
print("\n\nDone") | |
os.chdir("Ultroid") | |
clear_screen() | |
print(a) | |
print("\n\nLet's start!\n") | |
# generate session if needed. | |
sessionisneeded = input( | |
"Do you want to generate a new session, or have an old session string? [generate/skip]", | |
) | |
if sessionisneeded == "generate": | |
gen_session() | |
elif sessionisneeded != "skip": | |
print( | |
'Please choose "generate" to generate a session string, or "skip" to pass on.\n\nPlease run the script again!', | |
) | |
exit(0) | |
# start bleck megik | |
print("\n\nLets start entering the variables.\n\n") | |
varrs = [ | |
"API_ID", | |
"API_HASH", | |
"SESSION", | |
"REDIS_URI", | |
"REDIS_PASSWORD", | |
] | |
all_done = "# Ultroid Environment Variables.\n# Do not delete this file.\n\n" | |
for i in varrs: | |
all_done += do_input(i) | |
clear_screen() | |
print(a) | |
print("\n\nHere are the things you've entered.\nKindly check.") | |
print(all_done) | |
isitdone = input("\n\nIs it all correct? [y/n]") | |
if isitdone == "y" or isitdone != "n": | |
# https://github.com/TeamUltroid/Ultroid/blob/31b9eb1f4f8059e0ae66adb74cb6e8174df12eac/resources/startup/locals.py#L35 | |
f = open(".env", "w") | |
f.write(all_done) | |
else: | |
print("Oh, let's redo these then.") | |
start() | |
clear_screen() | |
print("\nCongrats. All done!\nTime to start the bot!") | |
print("\nInstalling requirements... This might take a while...") | |
os.system("pip3 install --no-cache-dir -r requirements.txt") | |
ask = input( | |
"Enter 'yes/y' to Install other requirements, required for local deployment." | |
) | |
if ask.lower().startswith("y"): | |
print("Started Installing...") | |
os.system( | |
"pip3 install --no-cache-dir -r resources/startup/optional-requirements.txt" | |
) | |
else: | |
print("Skipped!") | |
clear_screen() | |
print(a) | |
print("\nStarting Ultroid...") | |
os.system("sh startup") | |
def do_input(var): | |
val = input(f"Enter your {var}: ") | |
return f"{var}={val}\n" | |
def clear_screen(): | |
# clear screen | |
_ = os.system("clear") if os.name == "posix" else os.system("cls") | |
def check_for_py(): | |
print( | |
"Please make sure you have python installed. \nGet it from http://python.org/\n\n", | |
) | |
try: | |
ch = int( | |
input( | |
"Enter Choice:\n1. Continue, python is installed.\n2. Exit and install python.\n", | |
), | |
) | |
except BaseException: | |
print("Please run the script again, and enter the choice as a number!!") | |
exit(0) | |
if ch == 1: | |
pass | |
elif ch == 2: | |
print("Please install python and continue!") | |
exit(0) | |
else: | |
print("Weren't you taught how to read? Enter a choice!!") | |
return | |
def gen_session(): | |
print("\nProcessing...") | |
# https://github.com/TeamUltroid/Ultroid/main/resources/startup/locals.py#L35 | |
os.system("python3 resources/session/ssgen.py") | |
start() | |