Как сделать чтобы информация бралась из github в json файла в режиме онлайна?
Как сделать чтобы допустим была онлайн обновление или проверка файлов которые есть в github'e? Типо, если нету файла то она докачивает её, или же допустим лист серверов, типо надпись обнавлялась на "Онлайн" или "Технические работы", как мне сделать чтобы она проверяла в live-режиме?
Py-Code для удобство:
from colorama import init, Fore #|
from colorama import Back #|
from colorama import Style #|
import msvcrt #|
import subprocess #|
import sys #|
import os #|
import time #|
import getpass #|
import json #|
#-----------Библы----------------/
# Открываем JSON
with open('C:/ELauncher/settings.json', 'r', encoding='utf-8') as file:
data = json.load(file)
# Забираем имя из словаря
username = data['username']
version = data['version']
serverselect = data['serverselect']
alts = data['alts']
os.system("title 〡ELauncher • Ядро: SCore")
os.system('cls' if os.name == 'nt' else 'clear')
print("")
print(Fore.WHITE + " ███████╗██╗░░░░░░█████╗░██╗░░░██╗███╗░░██╗░█████╗░██╗░░██╗███████╗██████╗░")
print(Fore.WHITE + " ██╔════╝██║░░░░░██╔══██╗██║░░░██║████╗░██║██╔══██╗██║░░██║██╔════╝██╔══██╗")
print(Fore.BLUE + " █████╗░░██║░░░░░███████║██║░░░██║██╔██╗██║██║░░╚═╝███████║█████╗░░██████╔╝")
print(Fore.BLUE + " ██╔══╝░░██║░░░░░██╔══██║██║░░░██║██║╚████║██║░░██╗██╔══██║██╔══╝░░██╔══██╗")
print(Fore.RED + " ███████╗███████╗██║░░██║╚██████╔╝██║░╚███║╚█████╔╝██║░░██║███████╗██║░░██║")
print(Fore.RED + " ╚══════╝╚══════╝╚═╝░░╚═╝░╚═════╝░╚═╝░░╚══╝░╚════╝░╚═╝░░╚═╝╚══════╝╚═╝░░╚═╝")
print(Style.RESET_ALL)
print(" \033[41m От создателей EscapeWorld〡Выбран сервер: SCreate \033[0m")
print()
print("\033[94m╔\033[0m Никнейм:", username)
print("\033[94m╠\033[0m Сервер выбран:", serverselect)
print("\033[94m╠\033[0m Версия:", version)
print("\033[94m•\033[0m Выберите пункт:")
print(" 1: Старт игры")
print(" \033[93m2\033[0m: Лист аккаунтов")
print(" \033[91m3\033[0m: Выбор версии")
print(" \033[91m4\033[0m: Настройка лаунчера")
print(" q: Выход с лаунчера")
def get_char():
return msvcrt.getch().decode('utf-8')
option = ""
current_directory = 'C:/ELauncher'
my_path = os.path.join(current_directory, 'start.bat')
while True:
key = get_char()
if key == "1":
os.system('cls' if os.name == 'nt' else 'clear')
print("")
print(Fore.WHITE + " ███████╗██╗░░░░░░█████╗░██╗░░░██╗███╗░░██╗░█████╗░██╗░░██╗███████╗██████╗░")
print(Fore.WHITE + " ██╔════╝██║░░░░░██╔══██╗██║░░░██║████╗░██║██╔══██╗██║░░██║██╔════╝██╔══██╗")
print(Fore.BLUE + " █████╗░░██║░░░░░███████║██║░░░██║██╔██╗██║██║░░╚═╝███████║█████╗░░██████╔╝")
print(Fore.BLUE + " ██╔══╝░░██║░░░░░██╔══██║██║░░░██║██║╚████║██║░░██╗██╔══██║██╔══╝░░██╔══██╗")
print(Fore.RED + " ███████╗███████╗██║░░██║╚██████╔╝██║░╚███║╚█████╔╝██║░░██║███████╗██║░░██║")
print(Fore.RED + " ╚══════╝╚══════╝╚═╝░░╚═╝░╚═════╝░╚═╝░░╚══╝░╚════╝░╚═╝░░╚═╝╚══════╝╚═╝░░╚═╝")
print(Style.RESET_ALL)
print(" \033[41m От создателей EscapeWorld〡Выбран сервер: SCreate \033[0m")
print("")
print("Нажмите на enter если вы уже водили никнейм.")
print("Введите ник для создание нового аккаунта:")
username = input("• ")
if username =="":
# Открываем JSON
with open('C:/ELauncher/settings.json', 'r', encoding='utf-8') as file:
data = json.load(file)
# Забираем имя из словаря
username = data['username']
else:
# Обновляем значение в json
data = {}
data ['username'] = username
# Записываем обновленные данные в файл
with open('C:/ELauncher/settings.json', 'w', encoding='utf-8') as file:
json.dump(data, file, ensure_ascii=False, indent=4)
os.system('cls' if os.name == 'nt' else 'clear')
print("")
print(Fore.WHITE + " ███████╗██╗░░░░░░█████╗░██╗░░░██╗███╗░░██╗░█████╗░██╗░░██╗███████╗██████╗░")
print(Fore.WHITE + " ██╔════╝██║░░░░░██╔══██╗██║░░░██║████╗░██║██╔══██╗██║░░██║██╔════╝██╔══██╗")
print(Fore.BLUE + " █████╗░░██║░░░░░███████║██║░░░██║██╔██╗██║██║░░╚═╝███████║█████╗░░██████╔╝")
print(Fore.BLUE + " ██╔══╝░░██║░░░░░██╔══██║██║░░░██║██║╚████║██║░░██╗██╔══██║██╔══╝░░██╔══██╗")
print(Fore.RED + " ███████╗███████╗██║░░██║╚██████╔╝██║░╚███║╚█████╔╝██║░░██║███████╗██║░░██║")
print(Fore.RED + " ╚══════╝╚══════╝╚═╝░░╚═╝░╚═════╝░╚═╝░░╚══╝░╚════╝░╚═╝░░╚═╝╚══════╝╚═╝░░╚═╝")
print(Style.RESET_ALL)
print(" \033[41m От создателей EscapeWorld〡Выбран сервер: SCreate \033[0m")
print("")
print("Ник:", username, "выполняется вход...")
time.sleep(2.5)
os.system('cls' if os.name == 'nt' else 'clear')
print("")
print(Fore.WHITE + " ███████╗██╗░░░░░░█████╗░██╗░░░██╗███╗░░██╗░█████╗░██╗░░██╗███████╗██████╗░")
print(Fore.WHITE + " ██╔════╝██║░░░░░██╔══██╗██║░░░██║████╗░██║██╔══██╗██║░░██║██╔════╝██╔══██╗")
print(Fore.BLUE + " █████╗░░██║░░░░░███████║██║░░░██║██╔██╗██║██║░░╚═╝███████║█████╗░░██████╔╝")
print(Fore.BLUE + " ██╔══╝░░██║░░░░░██╔══██║██║░░░██║██║╚████║██║░░██╗██╔══██║██╔══╝░░██╔══██╗")
print(Fore.RED + " ███████╗███████╗██║░░██║╚██████╔╝██║░╚███║╚█████╔╝██║░░██║███████╗██║░░██║")
print(Fore.RED + " ╚══════╝╚══════╝╚═╝░░╚═╝░╚═════╝░╚═╝░░╚══╝░╚════╝░╚═╝░░╚═╝╚══════╝╚═╝░░╚═╝")
print(Style.RESET_ALL)
print(" \033[41m От создателей EscapeWorld〡Выбран сервер: SCreate \033[0m")
print("")
print("Проверяем обновление...")
time.sleep(2.5)
print("Проверяем файлы игры...")
time.sleep(2.5)
subprocess.run([my_path, username])
time.sleep(2.5)
break
#time.sleep(2.5)
elif key == "2":
option = "Лист аккаунтов"
print("")
print("ッ Аккаунты:")
print("", alts)
print("")
elif key == "3":
option = "Выбор версии"
print("")
print(Fore.RED + "ッ Пункт «Выбор версии» в разработке.")
print("")
elif key == "4":
option = "Настройка лаунчера"
print("")
print(Fore.RED + "ッ Пункт «Настройка лаунчера» в разработке.")
print("")
elif key == "q":
break
print(option) # no response