Обновление 1.5

• Добавлен Discord RPC;
• Вывод может быть цаетным (опционально);
• Звуковые эффекты теперь можно выключить;
• Пункты меню "Помощь" и "Настройки" сильно изменены.
This commit is contained in:
Profitroll 2021-01-21 14:00:58 +02:00
parent 2b50827e58
commit 243e06ee0b
9 changed files with 1131 additions and 370 deletions

24
colors.py Normal file
View File

@ -0,0 +1,24 @@
# -*- coding: utf-8 -*-
RESET = '\u001b[0m'
BLACK = '\u001b[30m'
RED = '\u001b[31m'
GREEN = '\u001b[32m'
YELLOW = '\u001b[33m'
BLUE = '\u001b[34m'
MAGENTA = '\u001b[35m'
CYAN = '\u001b[36m'
WHITE = '\u001b[37m'
BBLACK = '\u001b[30;1m'
BRED = '\u001b[31;1m'
BGREEN = '\u001b[32;1m'
BYELLOW = '\u001b[33;1m'
BBLUE = '\u001b[34;1m'
BMAGENTA = '\u001b[35;1m'
BCYAN = '\u001b[36;1m'
BWHITE = '\u001b[37;1m'
ULINE = '\u001b[4m'
REVERSE = '\u001b[7m'

671
daemon.py

File diff suppressed because it is too large Load Diff

46
functions.py Normal file
View File

@ -0,0 +1,46 @@
# -*- coding: utf-8 -*-
import pip
import json
import os
import importlib
from pathlib import Path
from colors import *
path = Path(__file__).resolve().parent
sounds_folder = str(Path(str(path)+"/sounds/")) + os.sep
files_folder = str(Path(str(path)+"/files/")) + os.sep
def getConfig(some_var):
global files_folder
if os.path.exists(files_folder):
if not os.path.exists(files_folder+'config.json'):
temp_config_list = {}
temp_config_list["debug"] = False
temp_config_list["shutdown_timeout"] = 30
temp_config_list["shutdown_enabled"] = True
temp_config_list["start"] = "shift+f7"
temp_config_list["stop"] = "shift+f8"
temp_config_list["telegram_enabled"] = False
temp_config_list["use_colors"] = True
temp_config_list["run_fullscreen"] = False
temp_config_list["use_rpc"] = True
temp_config_list["sounds"] = True
temp_config_list["end_mode"] = "shutdown"
saveJson(files_folder+'config.json', temp_config_list)
else:
try:
with open(f"{files_folder}config.json", encoding="utf-8") as json_file:
config_list = json.load(json_file)
return config_list[some_var]
except:
return "Error"
else:
os.mkdir(files_folder)
def saveJson(filename, value):
with open(filename, 'w', encoding="utf-8") as f:
json.dump(value, f, indent=4, ensure_ascii=False)

110
libinstaller.py Normal file
View File

@ -0,0 +1,110 @@
# -*- coding: utf-8 -*-
import os, sys
from colors import *
from functions import getConfig
# Работает не очень стабильно при отсутствии интернета
# try:
# if getConfig("debug"):
# updatepip = os.system('"{}" -m pip install -U '.format(sys.executable) + '--upgrade pip')
# print(f"{RESET}[{BGREEN}OK{RESET}] Обновлён {YELLOW}PIP{RESET}.")
# else:
# updatepip = os.system('"{}" -m pip install -U '.format(sys.executable) + '--upgrade pip' + " -q --no-warn-script-location")
# print(f"{RESET}[{BGREEN}OK{RESET}] Обновлён {YELLOW}PIP{RESET}.")
# except:
# updatepip = os.system('"{}" -m pip install -U '.format(sys.executable) + '--upgrade pip' + " -q --no-warn-script-location")
# if updatepip != 0:
# sys.exit(f"{RESET}[{BRED}ERR{RESET}] Обновление {YELLOW}PIP {RESET}провалилось.")
#########################################################
libs = []
###################################
try:
import easygui
except ModuleNotFoundError:
libs.append("easygui")
###################################
try:
import tkinter
except ModuleNotFoundError:
libs.append("tkinter")
###################################
try:
import keyboard
except ModuleNotFoundError:
libs.append("keyboard")
###################################
try:
import ast
except ModuleNotFoundError:
libs.append("ast")
###################################
try:
import inputimeout
except ModuleNotFoundError:
libs.append("inputimeout")
###################################
try:
import telegram_send
except ModuleNotFoundError:
libs.append("telegram_send")
###################################
try:
import wget
except ModuleNotFoundError:
libs.append("wget")
###################################
try:
import requests
except ModuleNotFoundError:
libs.append("requests")
###################################
try:
from zipfile import ZipFile
except ModuleNotFoundError:
libs.append("zipfile")
###################################
try:
import asyncio
except ModuleNotFoundError:
libs.append("asyncio")
###################################
try:
from pypresence import Presence
except ModuleNotFoundError:
libs.append("pypresence")
###################################
if len(libs) > 0:
print("Не хватает нужных модулей, пробуем установить...")
for each in libs:
try:
if getConfig("debug"):
response = os.system('"{}" -m pip install -U '.format(sys.executable) + each)
else:
response = os.system('"{}" -m pip install -U '.format(sys.executable) + each + " -q --no-warn-script-location")
except:
response = os.system('"{}" -m pip install -U '.format(sys.executable) + each + " -q --no-warn-script-location")
print(f"{RESET}[{BGREEN}OK{RESET}] Установлен модуль {YELLOW}{each}{RESET}.")
if response != 0:
sys.exit(f"{RESET}[{BRED}ERR{RESET}] Установка {YELLOW}{each} {RESET}провалилась.")
print(f"{RESET}[{BGREEN}OK{RESET}] Все модули были успешно установлены.")
try:
import easygui
import tkinter
import keyboard
import ast
import inputimeout
import telegram_send
import wget
import requests
import asyncio
from zipfile import ZipFile
from pypresence import Presence
except ModuleNotFoundError:
sys.exit(f"\n#############################################################################\n{BGREEN} Пожалуйста, перезапустите программу для продолжения!{RESET}\n Если это сообщение видно не впервые - напишите {BRED}@profitroll {RESET}в {CYAN}Telegram {RESET}или\n включите {BRED}debug {RESET}в {BRED}files/config.json {RESET}и решите проблему самостоятельно.\n#############################################################################")
#########################################################

160
main.py
View File

@ -1,55 +1,100 @@
# -*- coding: utf-8 -*-
import sys import sys
import webbrowser import webbrowser
import os import os
import time
import platform import platform
import subprocess import subprocess
from daemon import install
from pathlib import Path from pathlib import Path
install('wget') from functions import *
install('zipfile')
install('requests') os.system("title")
from daemon import main, editor, settings, clear
import rpc
if getConfig("use_colors"):
from colors import *
else:
RESET = ''
BLACK = RED = GREEN = YELLOW = BLUE = MAGENTA = CYAN = WHITE = ''
BBLACK = BRED = BGREEN = BYELLOW = BBLUE = BMAGENTA = BCYAN = BWHITE = ''
ULINE = REVERSE = ''
import libinstaller
import wget import wget
import requests import requests
import keyboard
from zipfile import ZipFile from zipfile import ZipFile
from daemon import main, editor, settings, clear
version = 1.4 version = 1.5
path = Path(__file__).resolve().parent path = Path(__file__).resolve().parent
def mainMenu(): def mainMenu():
try: try:
os.system("title AutoZoom (Главная)")
global version global version
global path global path
rpc.inMenu()
while True: while True:
print(f'{RESET}Загрузка данных о последней версии...')
try:
os.system("title Загрузка данных...")
serv_ver = requests.get("https://www.end-play.xyz/AutoZoomVersion.txt").text serv_ver = requests.get("https://www.end-play.xyz/AutoZoomVersion.txt").text
os.system("title AutoZoom (Главная)")
clear()
except:
os.system("title Ошибка загрузки данных")
print(f'Не удалось загрузить данные о последней версии.\nПроверьте подключение к сети и повторите попытку.\n\nСтатус сервера центра обновлений:\n{BRED}https://status.end-play.xyz/786373747{RESET}')
none = input('\n > ')
rpc.disconnect()
sys.exit()
if float(serv_ver) > float(version): if float(serv_ver) > float(version):
show_version = ' (!)' show_version = f' ({BRED}!{RESET})'
else: else:
show_version = '' show_version = ''
#clear() print(f'{BBLACK}»{RESET} Главное меню\n')
menu_choose = input(f'» Главное меню\n\n1. Запуск\n2. Редактор\n3. Настройки\n4. Обновление{show_version}\n5. Помощь и связь\n6. Закрыть приложение\n\n > ') print(f' {BRED}1.{RESET} Запуск')
print(f' {BRED}2.{RESET} Редактор')
print(f' {BRED}3.{RESET} Настройки')
print(f' {BRED}4.{RESET} Обновление{show_version}')
print(f' {BRED}5.{RESET} Помощь и связь')
print(f' {BRED}6.{RESET} Закрыть приложение')
menu_choose = input(f'\n > {BRED}')
if menu_choose == '1': if menu_choose == '1':
main('menu') main('menu')
elif menu_choose == '2': elif menu_choose == '2':
rpc.inEditor()
editor() editor()
elif menu_choose == '3': elif menu_choose == '3':
rpc.inSettings()
settings() settings()
elif menu_choose == '4': elif menu_choose == '4':
rpc.inUpdater()
updater(serv_ver, version) updater(serv_ver, version)
elif menu_choose == '5': elif menu_choose == '5':
rpc.inHelp()
helpMenu() helpMenu()
elif menu_choose == '6': elif menu_choose == '6':
rpc.disconnect()
clear() clear()
sys.exit() sys.exit()
else: else:
clear() clear()
continue continue
except: except KeyboardInterrupt:
rpc.disconnect()
clear() clear()
print(f'Закрываем приложение {BGREEN}AutoZoom{RESET}...')
sys.exit()
def os_arch(): def os_arch():
is_64bits = sys.maxsize > 2**32 is_64bits = sys.maxsize > 2**32
@ -62,17 +107,26 @@ def os_arch():
def helpMenu(): def helpMenu():
try: try:
while True: while True:
os.system("title AutoZoom (Помощь)")
clear() clear()
global version global version
global path global path
help_choose = input(f'» Меню помощи\n\n1. Документация\n2. Telegram проекта\n3. Связаться с автором\n4. Сводка информации\n5. В главное меню\n\n > ')
print(f'{BBLACK}»{RESET} Меню помощи\n')
print(f' {BRED}1.{RESET} Документация')
print(f' {BRED}2.{RESET} Telegram проекта')
print(f' {BRED}3.{RESET} Связаться с автором')
print(f' {BRED}4.{RESET} Сводка информации')
print(f' {BRED}5.{RESET} В главное меню')
help_choose = input(f'\n > {BRED}')
if help_choose == '1': if help_choose == '1':
try: try:
clear() clear()
webbrowser.open("https://github.com/profitrollgame/autozoom/wiki") webbrowser.open("https://github.com/profitrollgame/autozoom/wiki")
except: except:
clear() clear()
none = input('Не удалось открыть страницу вашего браузера.\nВы можете открыть адрес самостоятельно: https://github.com/profitrollgame/autozoom/wiki\n\n > ') none = input(f'{RESET}Не удалось открыть страницу вашего браузера.\nВы можете открыть адрес самостоятельно: {BRED}https://github.com/profitrollgame/autozoom/wiki{RESET}\n\n > ')
clear() clear()
elif help_choose == '2': elif help_choose == '2':
try: try:
@ -80,7 +134,7 @@ def helpMenu():
webbrowser.open("https://t.me/auto_zoom") webbrowser.open("https://t.me/auto_zoom")
except: except:
clear() clear()
none = input('Не удалось открыть страницу вашего браузера.\nВы можете открыть адрес самостоятельно: https://t.me/auto_zoom\n\n > ') none = input(f'{RESET}Не удалось открыть страницу вашего браузера.\nВы можете открыть адрес самостоятельно: {BRED}https://t.me/auto_zoom{RESET}\n\n > ')
clear() clear()
elif help_choose == '3': elif help_choose == '3':
try: try:
@ -88,44 +142,48 @@ def helpMenu():
webbrowser.open("https://t.me/profitroll") webbrowser.open("https://t.me/profitroll")
except: except:
clear() clear()
none = input('Не удалось открыть страницу вашего браузера.\nВы можете открыть адрес самостоятельно: https://t.me/profitroll\n\n > ') none = input(f'{RESET}Не удалось открыть страницу вашего браузера.\nВы можете открыть адрес самостоятельно: {BRED}https://t.me/profitroll{RESET}\n\n > ')
clear() clear()
if help_choose == '4': if help_choose == '4':
clear() clear()
print('» Информация о системе\n') print(f'{BBLACK}»{RESET} Информация о системе\n')
print('Система:') print(' Система:')
print(f'ОС: {platform.system()}') print(f' {BBLACK}{RESET} ОС: {YELLOW}{platform.system()}{RESET}')
print(f'• Релиз: {platform.release()}') print(f' {BBLACK}{RESET} Релиз: {YELLOW}{platform.release()}{RESET}')
print(f'• Разрядность: {os_arch()}') print(f' {BBLACK}{RESET} Разрядность: {YELLOW}{os_arch()}{RESET}')
print('\nPython:') print('\n Python:')
print(f'• Версия: {platform.python_version()}') print(f' {BBLACK}{RESET} Версия: {YELLOW}{platform.python_version()}{RESET}')
print(f'• Вариант: {platform.python_implementation()}') print(f' {BBLACK}{RESET} Вариант: {YELLOW}{platform.python_implementation()}{RESET}')
print(f'• Ревизия: {platform.python_revision()}') print(f' {BBLACK}{RESET} Ревизия: {YELLOW}{platform.python_revision()}{RESET}')
print(f'• Расположение: {sys.path[4]}') print(f' {BBLACK}{RESET} Расположение: {BRED}{sys.path[4]}{RESET}')
print('\nAutoZoom:') print('\n AutoZoom:')
print(f'• Версия: {version}') print(f' {BBLACK}{RESET} Версия: {YELLOW}{version}{RESET}')
print(f'• Расположение: {path}') print(f' {BBLACK}{RESET} Расположение: {BRED}{path}{RESET}')
none = input('\n > ') none = input('\n > ')
clear() clear()
elif help_choose == '5': elif help_choose == '5':
rpc.inMenu()
clear() clear()
os.system("title AutoZoom (Главная)")
return return
else: else:
clear() clear()
continue continue
except KeyboardInterrupt: except KeyboardInterrupt:
rpc.inMenu()
clear() clear()
return return
def updater(serv_ver, version): def updater(serv_ver, version):
try: try:
while True: while True:
os.system("title AutoZoom (Обновления)")
clear() clear()
if float(serv_ver) > float(version): if float(serv_ver) > float(version):
show_version = ' (!)' show_version = f' ({BRED}!{RESET})'
serv_ver = serv_ver.rstrip('\n') serv_ver = serv_ver.rstrip('\n')
show_action = f'Обновить до {serv_ver}' show_action = f'Обновить до {BGREEN}{serv_ver}{RESET}'
changelog_text = f'Изменения в версии {serv_ver}:' changelog_text = f'Изменения в версии {BGREEN}{serv_ver}{RESET}:'
changelog_footer = '\nОбновитесь чтобы вышеуказанное работало.' changelog_footer = '\nОбновитесь чтобы вышеуказанное работало.'
else: else:
show_version = '' show_version = ''
@ -134,16 +192,29 @@ def updater(serv_ver, version):
changelog_footer = '' changelog_footer = ''
updater_choose = input(f'» Меню обновлений\n\n1. {show_action}\n2. Список изменений\n3. В главное меню\n\n > ') print(f'{BBLACK}»{RESET} Меню обновлений\n')
print(f' {BRED}1.{RESET} {show_action}')
print(f' {BRED}2.{RESET} Список изменений')
print(f' {BRED}3.{RESET} В главное меню')
updater_choose = input(f'\n > {BRED}')
if updater_choose == '1': if updater_choose == '1':
while True: while True:
clear() clear()
updater_decide = input(f'1. Установить\n2. Отменить\n\n > ') print(f'{RESET}Подтвердите действие:\n')
print(f' {BRED}1.{RESET} Установить')
print(f' {BRED}2.{RESET} Отменить')
updater_decide = input('\n > ')
if updater_decide == '1': if updater_decide == '1':
clear() clear()
try:
wget.download('https://www.end-play.xyz/AutoZoomLatest.zip', out='AutoZoomLatest.zip') wget.download('https://www.end-play.xyz/AutoZoomLatest.zip', out='AutoZoomLatest.zip')
except:
print(f'Не удалось загрузить архив с последней версией.\nПроверьте подключение к сети и повторите попытку.\n\nСтатус сервера центра обновлений:\n{BRED}https://status.end-play.xyz/786373747{RESET}')
none = input('\n > ')
continue
with ZipFile('AutoZoomLatest.zip', 'r') as zipObj: with ZipFile('AutoZoomLatest.zip', 'r') as zipObj:
zipObj.extractall() zipObj.extractall()
print('Все файлы были успешно загружены') print('Все файлы были успешно загружены')
@ -153,6 +224,9 @@ def updater(serv_ver, version):
clear() clear()
none = input('Обновление завершено, перезапустите AutoZoom.\n\n > ') none = input('Обновление завершено, перезапустите AutoZoom.\n\n > ')
rpc.disconnect()
clear()
print(f'Закрываем приложение {BGREEN}AutoZoom{RESET}...')
sys.exit() sys.exit()
elif updater_decide == '2': elif updater_decide == '2':
clear() clear()
@ -160,26 +234,42 @@ def updater(serv_ver, version):
else: else:
continue continue
elif updater_choose == '2': elif updater_choose == '2':
try:
changelog = requests.get("https://www.end-play.xyz/AutoZoomChangelog.txt") changelog = requests.get("https://www.end-play.xyz/AutoZoomChangelog.txt")
changelog.encoding = None changelog.encoding = None
clear() clear()
print(f'{changelog_text}\n') print(f'{RESET}{changelog_text}\n')
print(changelog.text) print(changelog.text)
print(changelog_footer) print(changelog_footer)
none = input('\n > ')
continue
except:
print(f'{RESET}Не удалось загрузить чейнджлог.\nПроверьте подключение к сети и повторите попытку.\n\nСтатус сервера центра обновлений:\n{BRED}https://status.end-play.xyz/786373747{RESET}')
none = input('\n > ') none = input('\n > ')
continue continue
elif updater_choose == '3': elif updater_choose == '3':
rpc.inMenu()
clear() clear()
os.system("title AutoZoom (Главная)")
return return
else: else:
continue continue
except: except KeyboardInterrupt:
rpc.inMenu()
clear() clear()
return return
if __name__ == '__main__': if __name__ == '__main__':
os.system("title Загрузка main...")
from functions import getConfig
from daemon import clear from daemon import clear
import time
clear() clear()
if getConfig("run_fullscreen"):
keyboard.press('alt, enter')
time.sleep(.25)
keyboard.release('alt, enter')
os.system("title AutoZoom (Главная)")
mainMenu() mainMenu()
sys.exit()

290
rpc.py Normal file
View File

@ -0,0 +1,290 @@
# -*- coding: utf-8 -*-
import time
import os
import sys
from functions import *
version = '1.5'
import libinstaller
from pypresence import Presence
client_id = '800049969960058882'
RPC = Presence(client_id,pipe=0)
connected = False
if getConfig("use_rpc"):
try:
RPC.connect()
connected = True
except:
pass
else:
connected = False
def disconnect():
if getConfig("use_rpc"):
try:
RPC.close()
connected = False
except:
pass
def connect():
try:
RPC.connect()
connected = True
except:
pass
def reset():
if getConfig("use_rpc"):
RPC.clear()
def waitLesson(lesson, start):
try:
if getConfig("use_rpc"):
if connected == False:
connect()
RPC.update(large_image='1024_cover', small_image='status_waiting', large_text=f'AutoZoom • v{version}\nhttp://bit.ly/auto_zoom', small_text='Ожидание', state=f'Ждём начала «{lesson}»', details='Урок не начался', start=start)
except AttributeError:
if getConfig("debug"):
print(f'{RESET}Модуль {BRED}Discord RPC {RESET}не смог подключиться.\nВозможно, ваш {CYAN}Discord {RESET}не открыт.')
time.sleep(2)
except AssertionError:
if getConfig("debug"):
print(f'{RESET}Модуль {BRED}Discord RPC {RESET}не смог подключиться.\nВозможно, ваш {CYAN}Discord {RESET}не открыт.')
time.sleep(2)
def onLesson(lesson, start):
try:
if getConfig("use_rpc"):
if connected == False:
connect()
RPC.update(large_image='1024_cover', small_image='status_lesson', large_text=f'AutoZoom • v{version}\nhttp://bit.ly/auto_zoom', small_text='Урок', state=f'Слушаем «{lesson}»', details='Идёт урок', start=start)
except AttributeError:
if getConfig("debug"):
print(f'{RESET}Модуль {BRED}Discord RPC {RESET}не смог подключиться.\nВозможно, ваш {CYAN}Discord {RESET}не открыт.')
time.sleep(2)
except AssertionError:
if getConfig("debug"):
print(f'{RESET}Модуль {BRED}Discord RPC {RESET}не смог подключиться.\nВозможно, ваш {CYAN}Discord {RESET}не открыт.')
time.sleep(2)
def inMenu():
try:
if getConfig("use_rpc"):
if connected == False:
connect()
RPC.update(large_image='1024_cover', small_image='status_menu', large_text=f'AutoZoom • v{version}\nhttp://bit.ly/auto_zoom', small_text='Главное меню', state='Открыт список опций', details='В главном меню')
except AttributeError:
if getConfig("debug"):
print(f'{RESET}Модуль {BRED}Discord RPC {RESET}не смог подключиться.\nВозможно, ваш {CYAN}Discord {RESET}не открыт.')
time.sleep(2)
except AssertionError:
if getConfig("debug"):
print(f'{RESET}Модуль {BRED}Discord RPC {RESET}не смог подключиться.\nВозможно, ваш {CYAN}Discord {RESET}не открыт.')
time.sleep(2)
def shutdown(end):
try:
if getConfig("use_rpc"):
if connected == False:
connect()
RPC.update(large_image='1024_cover', small_image='status_shutdown', large_text=f'AutoZoom • v{version}\nhttp://bit.ly/auto_zoom', small_text='Выключение', state='Отсчёт до авто-выключения', details='Выключение ПК', end=end)
except AttributeError:
if getConfig("debug"):
print(f'{RESET}Модуль {BRED}Discord RPC {RESET}не смог подключиться.\nВозможно, ваш {CYAN}Discord {RESET}не открыт.')
time.sleep(2)
except AssertionError:
if getConfig("debug"):
print(f'{RESET}Модуль {BRED}Discord RPC {RESET}не смог подключиться.\nВозможно, ваш {CYAN}Discord {RESET}не открыт.')
time.sleep(2)
def inSettings():
try:
if getConfig("use_rpc"):
if connected == False:
connect()
RPC.update(large_image='1024_cover', small_image='status_settings', large_text=f'AutoZoom • v{version}\nhttp://bit.ly/auto_zoom', small_text='Настройки', state='Открыты настройки', details='В главном меню')
except AttributeError:
if getConfig("debug"):
print(f'{RESET}Модуль {BRED}Discord RPC {RESET}не смог подключиться.\nВозможно, ваш {CYAN}Discord {RESET}не открыт.')
time.sleep(2)
except AssertionError:
if getConfig("debug"):
print(f'{RESET}Модуль {BRED}Discord RPC {RESET}не смог подключиться.\nВозможно, ваш {CYAN}Discord {RESET}не открыт.')
time.sleep(2)
def inEditor():
try:
if getConfig("use_rpc"):
if connected == False:
connect()
RPC.update(large_image='1024_cover', small_image='status_editing', large_text=f'AutoZoom • v{version}\nhttp://bit.ly/auto_zoom', small_text='Редактор', state='Открыт редактор', details='В главном меню')
except AttributeError:
if getConfig("debug"):
print(f'{RESET}Модуль {BRED}Discord RPC {RESET}не смог подключиться.\nВозможно, ваш {CYAN}Discord {RESET}не открыт.')
time.sleep(2)
except AssertionError:
if getConfig("debug"):
print(f'{RESET}Модуль {BRED}Discord RPC {RESET}не смог подключиться.\nВозможно, ваш {CYAN}Discord {RESET}не открыт.')
time.sleep(2)
def inUpdater():
try:
if getConfig("use_rpc"):
if connected == False:
connect()
RPC.update(large_image='1024_cover', small_image='status_updating', large_text=f'AutoZoom • v{version}\nhttp://bit.ly/auto_zoom', small_text='Обновление', state='Открыт центр обновлений', details='В главном меню')
except AttributeError:
if getConfig("debug"):
print(f'{RESET}Модуль {BRED}Discord RPC {RESET}не смог подключиться.\nВозможно, ваш {CYAN}Discord {RESET}не открыт.')
time.sleep(2)
except AssertionError:
if getConfig("debug"):
print(f'{RESET}Модуль {BRED}Discord RPC {RESET}не смог подключиться.\nВозможно, ваш {CYAN}Discord {RESET}не открыт.')
time.sleep(2)
def inHelp():
try:
if getConfig("use_rpc"):
if connected == False:
connect()
RPC.update(large_image='1024_cover', small_image='status_support', large_text=f'AutoZoom • v{version}\nhttp://bit.ly/auto_zoom', small_text='Помощь', state='Открыта помощь', details='В главном меню')
except AttributeError:
if getConfig("debug"):
print(f'{RESET}Модуль {BRED}Discord RPC {RESET}не смог подключиться.\nВозможно, ваш {CYAN}Discord {RESET}не открыт.')
time.sleep(2)
except AssertionError:
if getConfig("debug"):
print(f'{RESET}Модуль {BRED}Discord RPC {RESET}не смог подключиться.\nВозможно, ваш {CYAN}Discord {RESET}не открыт.')
time.sleep(2)
if __name__ == "__main__":
try:
RPC.connect()
RPC.update(large_image='1024_cover', small_image='status_settings', large_text=f'AutoZoom • v{version}\nhttp://bit.ly/auto_zoom', small_text='Отладка', state='Модуль Discord RPC запущен в режиме тестирования', details='Режим отладки')
except AttributeError:
if getConfig("debug"):
print(f'{RESET}Модуль {BRED}Discord RPC {RESET}не смог подключиться.\nВозможно, ваш {CYAN}Discord {RESET}не открыт.')
time.sleep(2)
################################################################################
# Неудачная попытка работы с discord_rpc. Потом, быть может, попробую ещё раз. #
################################################################################
# import discord_rpc
# import time
# if __name__ == "__main__":
# def readyCallback(current_user):
# print('Our user: {}'.format(current_user))
# def disconnectedCallback(codeno, codemsg):
# print('Disconnected from Discord rich presence RPC. Code {}: {}'.format(
# codeno, codemsg
# ))
# def errorCallback(errno, errmsg):
# print('An error occurred! Error {}: {}'.format(
# errno, errmsg
# ))
# # Note: 'event_name': callback
# callbacks = {
# 'ready': readyCallback,
# 'disconnected': disconnectedCallback,
# 'error': errorCallback,
# }
# # if __name__ != "__main__":
# discord_rpc.initialize('800049969960058882', callbacks=callbacks, log=False)
# none = input('init')
# i = 0
# while i < 10:
# discord_rpc.update_presence(
# **{
# 'state': f'Загрузка...',
# 'details': 'Загрузка...',
# #'start_timestamp': start,
# 'large_image_key': '1024_cover',
# 'small_image_key': 'status_waiting',
# 'large_image_text': f'AutoZoom • v{version}\nhttp://bit.ly/auto_zoom',
# 'small_image_text': 'Ожидание',
# }
# )
# discord_rpc.update_connection()
# time.sleep(3)
# discord_rpc.run_callbacks()
# i += 1
# i = 0
# start = time.time()
# while i < 10:
# i += 1
#large_image='1024_cover', small_image='status_waiting', large_text=f'AutoZoom • v{version}\nhttp://bit.ly/auto_zoom', small_text='Ожидание', state=f'Ждём начала «{lesson}»', details='Урок не начался', start=start
# discord_rpc.update_presence(
# **{
# 'state': f'Ждём начала «lesson»',
# 'details': 'Урок не начался',
# 'start_timestamp': start,
# 'large_image_key': '1024_cover',
# 'small_image_key': 'status_waiting',
# 'large_image_text': f'AutoZoom • v{version}\nhttp://bit.ly/auto_zoom',
# 'small_image_text': 'Ожидание',
# }
# )
# discord_rpc.update_connection()
# time.sleep(2)
# discord_rpc.run_callbacks()
# discord_rpc.shutdown()
# def disconnect():
# if getConfig("use_rpc"):
# discord_rpc.shutdown()
# def inMenu():
# if getConfig("use_rpc"):
# discord_rpc.update_presence(
# **{
# 'state': f'Ждём начала «lesson»',
# 'details': 'Урок не начался',
# #'start_timestamp': start,
# 'large_image_key': '1024_cover',
# 'small_image_key': 'status_waiting',
# 'large_image_text': f'AutoZoom • v{version}\nhttp://bit.ly/auto_zoom',
# 'small_image_text': 'Ожидание',
# }
# )
# discord_rpc.update_connection()
# def waitLesson(lesson, start):
# if getConfig("use_rpc"):
# discord_rpc.update_presence(
# **{
# 'state': f'Ждём начала «lesson»',
# 'details': 'Урок не начался',
# 'start_timestamp': start,
# 'large_image_key': '1024_cover',
# 'small_image_key': 'status_waiting',
# 'large_image_text': f'AutoZoom • v{version}\nhttp://bit.ly/auto_zoom',
# 'small_image_text': 'Ожидание',
# }
# )

BIN
sounds/recordstart.wav Normal file

Binary file not shown.

BIN
sounds/recordstop.wav Normal file

Binary file not shown.

View File

@ -1 +1,3 @@
echo AutoZoom needs Python 3 to work. Please read README.md!
python main.py python main.py
pause