Browse Source

Updated to v2.6

Внесены различные изменения в RPC и конфигурацию
master v2.6
Kostiantyn Kuleshov 8 months ago
parent
commit
c0076bf5aa
  1. 48
      daemon.py
  2. 47
      functions.py
  3. 4
      main.py
  4. 13
      rpc.py
  5. 60
      settings.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

@ -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

@ -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

@ -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

@ -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()

Loading…
Cancel
Save