Updated to v2.6
Внесены различные изменения в RPC и конфигурацию
This commit is contained in:
parent
09a3d66656
commit
c0076bf5aa
48
daemon.py
48
daemon.py
@ -122,7 +122,7 @@ def tgsend(enabled, message):
|
||||
|
||||
except Exception as excep:
|
||||
appendLog(f'Failed to send TG message "{message}": {exp}')
|
||||
playSound("warning", nowtime())
|
||||
playSound(getConfig("sound_warning"), nowtime())
|
||||
print(f'{nowtime()} Не удалось отправить Telegram сообщение "{message}" (Ошибка: {exp})')
|
||||
|
||||
|
||||
@ -380,17 +380,17 @@ def main(source='deamon'):
|
||||
|
||||
if getConfig("debug"):
|
||||
if retries == 2:
|
||||
playSound("warning", nowtime())
|
||||
playSound(getConfig("sound_warning"), nowtime())
|
||||
tgsend(getConfig("telegram_enabled"), f"⚠ Задержка конференции *{lesson_name}* обнаружена {profilename}")
|
||||
|
||||
if retries == 36:
|
||||
playSound("warning", nowtime())
|
||||
playSound(getConfig("sound_warning"), nowtime())
|
||||
tgsend(getConfig("telegram_enabled"), f"⚠ Задержка конференции *{lesson_name}* превысила 3 минуты {profilename}")
|
||||
print(f'{nowtime()} Задержка конференции {CYAN}{lesson_name}{RESET} превысила {BRED}3{RESET} минуты')
|
||||
appendLog(f'Lesson delay exceeded: {retries} retries')
|
||||
|
||||
if retries == 120:
|
||||
playSound("warning", nowtime())
|
||||
playSound(getConfig("sound_warning"), nowtime())
|
||||
tgsend(getConfig("telegram_enabled"), f"⚠ Задержка конференции *{lesson_name}* превысила 10 минут {profilename}")
|
||||
print(f'{nowtime()} Задержка конференции {CYAN}{lesson_name}{RESET} превысила {BRED}10{RESET} минут')
|
||||
appendLog(f'Lesson delay exceeded: {retries} retries')
|
||||
@ -398,17 +398,17 @@ def main(source='deamon'):
|
||||
if retries == 360:
|
||||
|
||||
if getConfig("debug"):
|
||||
playSound("warning", nowtime())
|
||||
playSound(getConfig("sound_warning"), nowtime())
|
||||
tgsend(getConfig("telegram_enabled"), f"⚠ Задержка конференции *{lesson_name}* превысила 30 минут, конференция сбошена {profilename}")
|
||||
print(f'{nowtime()} Задержка конференции {CYAN}{lesson_name}{RESET} превысила {BRED}30{RESET} минут, конференция сброшена')
|
||||
else:
|
||||
playSound("warning", nowtime())
|
||||
playSound(getConfig("sound_warning"), nowtime())
|
||||
tgsend(getConfig("telegram_enabled"), f"⚠ Задержка конференции *{lesson_name}* превысила 30 минут, конференция сбошена {profilename}")
|
||||
print(f'{nowtime()} Задержка конференции {CYAN}{lesson_name}{RESET} превысила {BRED}30{RESET} минут, конференция сброшена')
|
||||
|
||||
appendLog(f'Lesson delay exceeded: {retries} retries')
|
||||
|
||||
playSound("ended", nowtime())
|
||||
playSound(getConfig("sound_ended"), nowtime())
|
||||
|
||||
if lesson_obs:
|
||||
|
||||
@ -475,7 +475,7 @@ def main(source='deamon'):
|
||||
|
||||
setTitle(f'Идёт конференция "{lesson_name}"', sysname)
|
||||
|
||||
playSound("started", nowtime())
|
||||
playSound(getConfig("sound_started"), nowtime())
|
||||
tgsend(getConfig("telegram_enabled"), f"▶ Зашёл на конференцию *{lesson_name}* в *{nowtime(False, False, False)}* {profilename}")
|
||||
|
||||
appendLog(f'Joined lesson {lesson_name} at {nowtime(False, False, False)}')
|
||||
@ -503,7 +503,7 @@ def main(source='deamon'):
|
||||
keyboard.release(start)
|
||||
record_now = True
|
||||
print(f'{nowtime()} Сигнал записи OBS отправлен.')
|
||||
playSound("recordstart", nowtime())
|
||||
playSound(getConfig("sound_recordstart"), nowtime())
|
||||
|
||||
lesson_duration = (datetime.now() - lesson_start).total_seconds()
|
||||
|
||||
@ -538,14 +538,14 @@ def main(source='deamon'):
|
||||
|
||||
appendLog(f'Lesson {lesson_name} duration was {str(int(lesson_duration/60))} m. ({str(lesson_duration)} s.)')
|
||||
|
||||
playSound("ended", nowtime())
|
||||
playSound(getConfig("sound_ended"), nowtime())
|
||||
|
||||
if lesson_obs:
|
||||
keyboard.press(stop)
|
||||
time.sleep(.25)
|
||||
keyboard.release(stop)
|
||||
print(f'{nowtime()} Сигнал остановки записи через OBS отправлен.')
|
||||
playSound("recordstop", nowtime())
|
||||
playSound(getConfig("sound_recordstop"), nowtime())
|
||||
record_now = False
|
||||
time.sleep(3)
|
||||
|
||||
@ -579,7 +579,7 @@ def main(source='deamon'):
|
||||
lessons_list = getLessons()
|
||||
|
||||
else:
|
||||
playSound("started", nowtime())
|
||||
playSound(getConfig("sound_started"), nowtime())
|
||||
tgsend(getConfig("telegram_enabled"), f"▶ Присоединился к конференции *{lesson_name}* в *{nowtime(False, False, False)}* {profilename}")
|
||||
|
||||
appendLog(f'Joined lesson {lesson_name} at {nowtime(False, False, False)}')
|
||||
@ -622,7 +622,7 @@ def main(source='deamon'):
|
||||
|
||||
appendLog(f'Shutting PC down in {str(getConfig("shutdown_timeout"))}')
|
||||
|
||||
playSound("shutdown", nowtime())
|
||||
playSound(getConfig("sound_shutdown"), nowtime())
|
||||
end_unix = int(time.time())+getConfig("shutdown_timeout")*60
|
||||
rpc.shutdown(end_unix)
|
||||
shutdown = inputimeout(prompt=f'{nowtime()} Нажмите {CYAN}Enter{RESET} чтобы предотвратить выключение ПК...', timeout=getConfig("shutdown_timeout")*60)
|
||||
@ -637,6 +637,28 @@ def main(source='deamon'):
|
||||
time.sleep(5)
|
||||
appendLog('Shutting PC down')
|
||||
os.system("shutdown /s /t 1")
|
||||
elif getConfig("end_mode") == 'sleep':
|
||||
try:
|
||||
tgsend(getConfig("telegram_enabled"), f"⚠ Конференции кончились, отправление в сон {profilename}через {str(getConfig('shutdown_timeout'))} мин...")
|
||||
print(f'{nowtime()} Ваш ПК автоматически заснёт через {BRED}{str(getConfig("shutdown_timeout"))} мин{RESET}.')
|
||||
|
||||
appendLog(f'Falling asleep in {str(getConfig("shutdown_timeout"))}')
|
||||
|
||||
playSound(getConfig("sound_shutdown"), nowtime())
|
||||
end_unix = int(time.time())+getConfig("shutdown_timeout")*60
|
||||
rpc.sleepmode(end_unix)
|
||||
shutdown = inputimeout(prompt=f'{nowtime()} Нажмите {CYAN}Enter{RESET} чтобы предотвратить засыпание ПК...', timeout=getConfig("shutdown_timeout")*60)
|
||||
|
||||
appendLog('Sleep mode aborted')
|
||||
clear()
|
||||
except TimeoutOccurred:
|
||||
clear()
|
||||
print(f'{nowtime()} Время вышло, уводим ваш ПК в спящий режим...')
|
||||
time.sleep(3)
|
||||
tgsend(getConfig("telegram_enabled"), f"⚠ Время таймаута исткело, переводим ПК в спящий режим...")
|
||||
time.sleep(5)
|
||||
appendLog('Activating PC sleep mode')
|
||||
os.system("rundll32.exe powrprof.dll, SetSuspendState Sleep")
|
||||
# elif getConfig("end_mode") == 'restart':
|
||||
# from datetime import datetime, time
|
||||
# from time import sleep
|
||||
|
47
functions.py
47
functions.py
@ -20,26 +20,33 @@ yes_list = ['y', 'yes', 'д', 'да']
|
||||
no_list = ['n', 'no', 'н', 'нет']
|
||||
|
||||
default_config = {
|
||||
"firstboot": True,
|
||||
"debug": False,
|
||||
"shutdown_timeout": 30,
|
||||
"shutdown_enabled": False,
|
||||
"start": "shift+f7",
|
||||
"stop": "shift+f8",
|
||||
"telegram_enabled": False,
|
||||
"use_colors": True,
|
||||
"run_fullscreen": False,
|
||||
"use_rpc": True,
|
||||
"sounds": True,
|
||||
"remove_old": True,
|
||||
"end_mode": "shutdown",
|
||||
"obs_exe": None,
|
||||
"obs_core": None,
|
||||
"obs_delay": 10,
|
||||
"update_check": True,
|
||||
"write_logs": True,
|
||||
"log_size": 512
|
||||
}
|
||||
"firstboot": True,
|
||||
"debug": False,
|
||||
"shutdown_timeout": 30,
|
||||
"shutdown_enabled": False,
|
||||
"start": "shift+f7",
|
||||
"stop": "shift+f8",
|
||||
"telegram_enabled": False,
|
||||
"use_colors": True,
|
||||
"run_fullscreen": False,
|
||||
"rpc_use": True,
|
||||
"rpc_id": "800049969960058882",
|
||||
"sounds": True,
|
||||
"remove_old": True,
|
||||
"end_mode": "shutdown",
|
||||
"obs_exe": None,
|
||||
"obs_core": None,
|
||||
"obs_delay": 10,
|
||||
"update_check": True,
|
||||
"write_logs": True,
|
||||
"log_size": 512,
|
||||
"sound_ended": "ended",
|
||||
"sound_recordstart": "recordstart",
|
||||
"sound_recordstop": "recordstop",
|
||||
"sound_shutdown": "shutdown",
|
||||
"sound_started": "started",
|
||||
"sound_warning": "warning"
|
||||
}
|
||||
|
||||
|
||||
# Функция возвращающая надпись Windows Only
|
||||
|
4
main.py
4
main.py
@ -237,7 +237,7 @@ def helpMenu():
|
||||
elif help_choose == '7':
|
||||
try:
|
||||
clear()
|
||||
print(f'{BBLACK}»{RESET} Список поддержавших проект:\n\n{(requests.get("https://www.end-play.xyz/AutoZoomDonors.txt").text).replace("-", RESET+" •"+BRED)}{RESET}')
|
||||
print(f'{BBLACK}»{RESET} Список поддержавших проект:\n\n{(requests.get("https://www.end-play.xyz/AutoZoomDonors.txt").content.decode("utf-8")).replace("-", RESET+" •"+BRED)}{RESET}')
|
||||
except Exception as exp:
|
||||
clear()
|
||||
appendLog(f'Failed to load donation list {exp}')
|
||||
@ -462,7 +462,7 @@ def updater(serv_ver, version):
|
||||
appendLog('Changelog loaded')
|
||||
clear()
|
||||
print(f'{RESET}{changelog_text}\n')
|
||||
print(changelog.text)
|
||||
print(changelog.content.decode('utf-8'))
|
||||
print(changelog_footer)
|
||||
none = input('\n > ')
|
||||
continue
|
||||
|
13
rpc.py
13
rpc.py
@ -11,7 +11,7 @@ version = '2.6'
|
||||
import libinstaller
|
||||
from pypresence import Presence
|
||||
|
||||
client_id = '800049969960058882'
|
||||
client_id = getConfig("rpc_id")
|
||||
|
||||
try:
|
||||
RPC = Presence(client_id,pipe=0)
|
||||
@ -39,7 +39,7 @@ rpc_dict = {
|
||||
"large_text": "AutoZoom • v%version%\nhttp://bit.ly/auto_zoom"
|
||||
}
|
||||
|
||||
if getConfig("use_rpc") and getOS != "android":
|
||||
if getConfig("rpc_use") and getOS != "android":
|
||||
try:
|
||||
RPC.connect()
|
||||
connected = True
|
||||
@ -51,7 +51,7 @@ else:
|
||||
def disconnect():
|
||||
global connected
|
||||
|
||||
if getConfig("use_rpc") and getOS != "android":
|
||||
if getConfig("rpc_use") and getOS != "android":
|
||||
try:
|
||||
RPC.close()
|
||||
connected = False
|
||||
@ -70,14 +70,14 @@ def connect():
|
||||
appendLog('Discord RPC failed to connect')
|
||||
|
||||
def reset():
|
||||
if getConfig("use_rpc") and getOS != "android":
|
||||
if getConfig("rpc_use") and getOS != "android":
|
||||
RPC.clear()
|
||||
appendLog('Discord RPC status cleared')
|
||||
|
||||
|
||||
def changePresence(sml_img, sml_txt, stt, dtls, start=None, end=None):
|
||||
try:
|
||||
if getConfig("use_rpc") and getOS != "android":
|
||||
if getConfig("rpc_use") and getOS != "android":
|
||||
if connected == False:
|
||||
connect()
|
||||
RPC.update(
|
||||
@ -120,6 +120,9 @@ def inMenu():
|
||||
def shutdown(end):
|
||||
changePresence("shutdown", "Выключение", "Отсчёт до авто-выключения", "Выключение ПК", end=end)
|
||||
|
||||
def sleepmode(end):
|
||||
changePresence("shutdown", "Спящий режим", "Отсчёт до авто-засыпания", "Спящий режим ПК", end=end)
|
||||
|
||||
def inSettings():
|
||||
changePresence("settings", "Настройки", "Открыты настройки", "В главном меню")
|
||||
|
||||
|
60
settings.py
60
settings.py
@ -298,9 +298,9 @@ def settings2():
|
||||
print(f'{RESET}Нужно использовать целое число.')
|
||||
time.sleep(2)
|
||||
continue
|
||||
|
||||
|
||||
continue
|
||||
|
||||
|
||||
elif settings_choose == '2':
|
||||
|
||||
if sysname == 'windows':
|
||||
@ -317,10 +317,10 @@ def settings2():
|
||||
print(f'{RESET}Нужно использовать комбинацию клавиш в виде текста.')
|
||||
time.sleep(2)
|
||||
continue
|
||||
|
||||
|
||||
clear()
|
||||
continue
|
||||
|
||||
|
||||
elif settings_choose == '3':
|
||||
|
||||
if sysname == 'windows':
|
||||
@ -337,18 +337,18 @@ def settings2():
|
||||
print(f'{RESET}Нужно использовать комбинацию клавиш в виде текста.')
|
||||
time.sleep(2)
|
||||
continue
|
||||
|
||||
|
||||
clear()
|
||||
continue
|
||||
|
||||
|
||||
elif settings_choose == '4':
|
||||
|
||||
|
||||
setConfig("telegram_enabled", not getConfig("telegram_enabled"))
|
||||
appendLog(f'Changed option "telegram_enabled" to {getConfig("telegram_enabled")}')
|
||||
|
||||
clear()
|
||||
continue
|
||||
|
||||
|
||||
elif settings_choose == '5':
|
||||
|
||||
clear()
|
||||
@ -367,30 +367,30 @@ def settings2():
|
||||
except:
|
||||
clear()
|
||||
continue
|
||||
|
||||
|
||||
telegram_send.send(messages=[f"🎊 Конфигурация правильна, всё работает!"], parse_mode="markdown", conf=f"{files_folder}telegram.conf")
|
||||
appendLog('Telegram Send successfully configured')
|
||||
clear()
|
||||
|
||||
continue
|
||||
|
||||
|
||||
elif settings_choose == '6':
|
||||
setConfig("update_check", not getConfig("update_check"))
|
||||
appendLog(f'Changed option "update_check" to {getConfig("update_check")}')
|
||||
|
||||
clear()
|
||||
continue
|
||||
|
||||
|
||||
elif settings_choose == '7':
|
||||
appendLog('Going to settings page 3')
|
||||
clear()
|
||||
settings3()
|
||||
|
||||
|
||||
elif settings_choose == '8':
|
||||
appendLog('Returned to settings page 1')
|
||||
clear()
|
||||
return
|
||||
|
||||
|
||||
except KeyboardInterrupt:
|
||||
rpc.inMenu()
|
||||
clear()
|
||||
@ -405,21 +405,21 @@ def settings3():
|
||||
|
||||
setTitle("AutoZoom (Настройки)", sysname)
|
||||
clear()
|
||||
|
||||
|
||||
if getConfig("write_logs"):
|
||||
logs_val = f'{BGREEN}Вкл.{RESET}'
|
||||
elif not getConfig("write_logs"):
|
||||
logs_val = f'{BRED}Выкл.{RESET}'
|
||||
else:
|
||||
logs_val = f'{BRED}ERROR{RESET}'
|
||||
|
||||
|
||||
if getConfig("remove_old"):
|
||||
remove_val = f'{BGREEN}Вкл.{RESET}'
|
||||
elif not getConfig("remove_old"):
|
||||
remove_val = f'{BRED}Выкл.{RESET}'
|
||||
else:
|
||||
remove_val = f'{BRED}ERROR{RESET}'
|
||||
|
||||
|
||||
shutdown_time_val = getConfig("shutdown_timeout")
|
||||
start_val = getConfig("start")
|
||||
stop_val = getConfig("stop")
|
||||
@ -440,11 +440,14 @@ def settings3():
|
||||
|
||||
print(f' {BRED}5.{RESET} Удалять старые конференции ({remove_val})')
|
||||
print(f' {BBLACK}Автоматически удалять одноразовые конференции которые были до дня запуска\n')
|
||||
|
||||
print(f' {BRED}6.{RESET} Кастомизация звуков и RPC')
|
||||
print(f' {BBLACK}Изменить звуковые файлы и APPLICATION ID используемого Discord RPC\n')
|
||||
|
||||
print(f' {BRED}6.{RESET} Сбросить все настройки')
|
||||
print(f' {BRED}7.{RESET} Сбросить все настройки')
|
||||
print(f' {BBLACK}Восстановить настройки по умолчанию\n')
|
||||
|
||||
print(f' {BRED}7.{RESET} Назад')
|
||||
print(f' {BRED}8.{RESET} Назад')
|
||||
print(f' {BBLACK}Вернуться на предыдущую страницу{RESET}\n')
|
||||
|
||||
print(f' {BBLACK}Для переключения параметров Вкл/Выкл просто введите номер{RESET}') #\n Если окно приложения слишком мелкое - увеличьте его или листайте это меню{RESET}')
|
||||
@ -466,7 +469,7 @@ def settings3():
|
||||
print(f'{RESET}Нужно использовать целое число.')
|
||||
time.sleep(2)
|
||||
continue
|
||||
|
||||
|
||||
appendLog(f'Changed option "log_size" to {getConfig["log_size"]}')
|
||||
continue
|
||||
|
||||
@ -482,7 +485,7 @@ def settings3():
|
||||
print(f'{RESET}Нужно использовать целое число.')
|
||||
time.sleep(2)
|
||||
continue
|
||||
|
||||
|
||||
appendLog(f'Changed option "obs_delay" to {getConfig["obs_delay"]}')
|
||||
continue
|
||||
|
||||
@ -516,17 +519,22 @@ def settings3():
|
||||
none = input(f'Не удалось добавить в автозапуск:\n{BRED}{exp}{RESET}\n\n > ')
|
||||
appendLog(f'Could not add autorun: {exp}')
|
||||
continue
|
||||
|
||||
|
||||
continue
|
||||
|
||||
else:
|
||||
continue
|
||||
|
||||
|
||||
elif settings_choose == '5':
|
||||
setConfig("remove_old", not getConfig("remove_old"))
|
||||
appendLog(f'Changed option "remove_old" to {getConfig("remove_old")}')
|
||||
|
||||
|
||||
elif settings_choose == '6':
|
||||
appendLog('Going to customize page')
|
||||
clear()
|
||||
customize()
|
||||
|
||||
elif settings_choose == '7':
|
||||
appendLog('Resetting configuration')
|
||||
|
||||
while True:
|
||||
@ -554,17 +562,17 @@ def settings3():
|
||||
else:
|
||||
clear()
|
||||
continue
|
||||
|
||||
|
||||
continue
|
||||
|
||||
clear()
|
||||
continue
|
||||
|
||||
elif settings_choose == '7':
|
||||
elif settings_choose == '8':
|
||||
appendLog('Returned to settings page 2')
|
||||
clear()
|
||||
return
|
||||
|
||||
|
||||
except KeyboardInterrupt:
|
||||
rpc.inMenu()
|
||||
clear()
|
||||
|
Reference in New Issue
Block a user