Skip to content

Instantly share code, notes, and snippets.

@y4kupkaya
Created November 15, 2023 11:22
Show Gist options
  • Save y4kupkaya/9d8d967cb296b42bbcbc1ac7de4601d0 to your computer and use it in GitHub Desktop.
Save y4kupkaya/9d8d967cb296b42bbcbc1ac7de4601d0 to your computer and use it in GitHub Desktop.
BasicBotsSetup For Ubuntu 22.04
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