Created
November 15, 2023 11:22
-
-
Save y4kupkaya/9d8d967cb296b42bbcbc1ac7de4601d0 to your computer and use it in GitHub Desktop.
BasicBotsSetup For Ubuntu 22.04
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import os | |
import subprocess | |
import sys | |
from pythonansi import colors | |
color = colors() | |
def update(): | |
# eğer "can be upgraded" yazısı varsa güncelleme yapılır. | |
if ( | |
"can be upgraded" | |
in subprocess.check_output(["sudo", "apt", "update"]).decode().strip() | |
): | |
print(f"{color.green}Güncelleme yapılıyor...{color.reset}") | |
os.system("sudo apt-get update -y") | |
os.system("sudo apt-get upgrade -y") | |
print(f"{color.green}Güncelleme tamamlandı.{color.reset}") | |
# eğer "can be upgraded" yazısı yoksa güncelleme yapılmaz. | |
else: | |
pass | |
def check_node_version(forceVersion=15): | |
try: | |
# Node.js'in yüklü olup olmadığını kontrol etmek için "node -v" komutu çalıştırılır. | |
node_version = subprocess.check_output(["node", "-v"]).decode().strip() | |
# Node.js sürümünü kontrol etmek için "node -v" komutu çalıştırılır. | |
major_version = int(node_version.split(".")[0].replace("v", "")) | |
if major_version < forceVersion: | |
return False, major_version | |
else: | |
return True, major_version | |
except subprocess.CalledProcessError: | |
return None, None | |
def check_ffmpeg(): | |
try: | |
# ffmpeg'in yüklü olup olmadığını kontrol etmek için "ffmpeg -version" komutu çalıştırılır. | |
ffmpeg_version = ( | |
subprocess.check_output(["ffmpeg", "-version"]).decode().strip() | |
) | |
return True | |
except subprocess.CalledProcessError: | |
return False | |
def check_pip3(): | |
try: | |
# pip3'ün yüklü olup olmadığını kontrol etmek için "pip3 --version" komutu çalıştırılır. | |
pip3_version = subprocess.check_output(["pip3", "--version"]).decode().strip() | |
return True | |
except subprocess.CalledProcessError: | |
return False | |
def install_ffmpeg(): | |
print(f"{color.green}ffmpeg kurulumu başlıyor...{color.reset}") | |
os.system("sudo apt-get install ffmpeg -y") | |
print(f"{color.green}ffmpeg kurulumu tamamlandı.{color.reset}") | |
def install_pip3(): | |
print(f"{color.green}pip3 kurulumu başlıyor...{color.reset}") | |
os.system("sudo apt-get install python3-pip -y") | |
print(f"{color.green}pip3 kurulumu tamamlandı.{color.reset}") | |
def install_python_packages(): | |
print(f"{color.green}python paketleri kurulumu başlıyor...{color.reset}") | |
os.system("sudo pip3 install -r requirements.txt") | |
print(f"{color.green}python paketleri kurulumu tamamlandı.{color.reset}") | |
def install_nodejs(): | |
print(f"{color.green}Node.js kurulumu başlıyor...{color.reset}") | |
os.system("sudo apt-get install curl -y") | |
os.system("curl -sL https://deb.nodesource.com/setup_15.x | sudo -E bash ") | |
os.system("sudo apt-get install -y nodejs ") | |
print(f"{color.green}Node.js kurulumu tamamlandı.{color.reset}") | |
def main(): | |
text = f"""{color.cyan}Basic Bots Setup{color.reset} | |
{color.green}Kurulum başlıyor...{color.reset} | |
{color.cyan}Kurulum yapılırken lütfen bekleyin.{color.reset}""" | |
print(text) | |
update() | |
# Node.js'in yüklü olup olmadığını kontrol etmek için "node -v" komutu çalıştırılır. | |
status, node_version = check_node_version() | |
if status: | |
print(f"{color.green}Node.js zaten yüklü.{color.reset}") | |
print(f"{color.yellow}Mevcut Sürüm: {node_version}{color.reset}") | |
elif status == False: | |
print( | |
f"{color.red}Node.js yüklü, fakat sürüm uyumsuz. Node.js 15 kuruluyor.{color.reset}" | |
) | |
print(f"{color.yellow}Mevcut Sürüm: {node_version}{color.reset}") | |
install_nodejs() | |
elif status == None: | |
print(f"{color.red}Node.js yüklü değil.{color.reset}") | |
print(f"{color.yellow}Node.js kuruluyor...{color.reset}") | |
install_nodejs() | |
# ffmpeg'in yüklü olup olmadığını kontrol etmek için "ffmpeg -version" komutu çalıştırılır. | |
ffmpeg = check_ffmpeg() | |
if ffmpeg == False: | |
print(f"{color.red}ffmpeg yüklü değil.{color.reset}") | |
install_ffmpeg() | |
else: | |
print(f"{color.green}ffmpeg zaten yüklü.{color.reset}") | |
# pip3'ün yüklü olup olmadığını kontrol etmek için "pip3 --version" komutu çalıştırılır. | |
pip3 = check_pip3() | |
if pip3 == False: | |
print(f"{color.red}pip3 yüklü değil.{color.reset}") | |
install_pip3() | |
else: | |
print(f"{color.green}pip3 zaten yüklü.{color.reset}") | |
# python paketlerinin yüklü olup olmadığını kontrol etmek için "pip3 list" komutu çalıştırılır. | |
print(f"{color.yellow}python paketleri kuruluyor...{color.reset}") | |
install_python_packages() | |
print(f"{color.green}Kurulum tamamlandı.{color.reset}") | |
print( | |
f"{color.cyan}Kurulum tamamlandıktan sonra botu çalıştırmak için:{color.reset}" | |
) | |
print(f"{color.yellow}bash start{color.reset}") | |
if __name__ == "__main__": | |
main() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment