Browse Source

Версия 1.4 добавлена на GitHub.

master
Kostiantyn Kuleshov 2 years ago
commit
2cc911fdd2
  1. 155
      README.txt
  2. 1
      daemon.bat
  3. 1007
      daemon.py
  4. 8
      files/config.json
  5. BIN
      icon.ico
  6. 185
      main.py
  7. BIN
      sounds/ended.wav
  8. BIN
      sounds/shutdown.wav
  9. BIN
      sounds/started.wav
  10. 1
      start.bat

155
README.txt

@ -0,0 +1,155 @@
Добро пожаловать в AutoZoom!
В этом файле описаны все шаги которые нужно выполнить для работы с программой.
Содержание
№1. Описание и информация
№2. Инструкция по установке
№3. Инструкция по использованию
№4. Благодарности и помощь
Обратная связь и предложения: https://t.me/profitroll
Сообщить об ошибке/баге: https://github.com/profitrollgame/autozoom/issues
-----------------------= №1 =-----------------------
--------- Информация и описание программы ----------
----------------------------------------------------
Программа создана для автоматизации присоединения к
всевозможным Zoom конференциями. С помощью этой утилиты
можно запланировать присоединение к желаемой конференции
в удобное время и удобный день. Также может быть
полезно школьникам/студентам, которые желают побывать
на уроке/паре, но при этом находиться не у компьютера.
Софт может спасти вас в случае если нужно куда-то уходить,
а пропустить конференцию принципиально нельзя.
Я не писал эту программу чтобы вредить знаниям учеников,
мешать им учиться или что-то подобное. Сделано это лишь
для удобства, интереса ради или даже в шутку.
----------------------= №2.1 =----------------------
------------- Инструкция по установке --------------
----------------------------------------------------
1. Переложите папку
Пришло время найти место для нашей программы. Скопируйте папку из этого
архива в любое удобное место на компьютере (если ещё этого не сделали).
2. Установите Python3
Попробуйте запустить ваш start.bat в папке AutoZoom. Возможно, он сам отправит вас на страницу загрузки Python.
Если же этого не произошло - сделать это можно вручную с официального сайта или из магазина приложений
Microsoft Store (https://www.microsoft.com/ru-ru/p/python-37/9nj46sx7x90p?activetab=pivot:overviewtab&source=lp).
3. Откройте редактор
Дважды нажмите на start.bat и выберите пункт "Редактор" чтобы редактировать ваши уроки на любой
удобный день. Введите все нужные данные. Название конференции, дату, время, ссылку на приглашение.
4. Настройте вход в Zoom
Теперь самая важная часть. Установите Zoom (https://zoom.us/download) на свой ПК.
Запустите его и зарегистрируйтесь/войдите в аккаунт. При входе ОБЯЗАТЕЛЬНО
нужно нажать на галочку о сохранении аккаунта "Не выполнять выход".
5. Настройки клиента Zoom
Нажмите на шестерёнку под вашим аватаром (правый верхний угол) и зайдите
в пункт "Видеоизображение". В этом пункте найдите галочку "Выключать мое видео
при входе в конференцию" и активируйте её. Затем уберите галочку с "Всегда показывать диалоговое
окно предварительного просмотра видео при подключении к видеоконференции". Замечательно,
теперь отправляемся во вкладку "Звук" где внизу проверяем чтобы была галочка возле "Автоматически
подключать звук с компьютера" и "Отключить звук моего микрофона при подключении к конференции". Также
можно убрать галочку с "Нажмите и удерживайте клавишу пробел, чтобы временно включить свой звук", если нужно.
Почти закончили. Теперь перейдите в пункт "Сочетания клавиш" и выключите всё вам не нужное дабы случайно
не помешать процессу автоматизации. Некоторые сочетания нужно удалить. Например, Alt+A лучше удалить нажав
сначала на неё, а потом на Backspace. Желательно убрать все ненужные сочетания сразу.
6. Готово
Вроде как всё настроено, пришло время открыть в папке приложения файл run.bat двойным нажатием и всё готово.
После вопроса про OBS можно перейти к опциональным шагам ниже для записи конференций или же просто нажать
"Н" на клавиатуре и перейти сразу к делу.
----------------------= №2.2 =----------------------
(Опционально) Запись конференций
С официального сайта (https://obsproject.com/download) скачайте и установите OBS Studio для записи всех конференций.
После стандартного процесса установки откройте только что установленный OBS. В вопросах мастера настойки укажите,
что вас интересует запись. Разрешение укажите нужное вам.
Пройдя всё банальное и объяснённое в установщике отправляемся в настройки. Сразу же находим пункт "Вывод" в боковой
панели и меняем формат записи на mp4, если нужно будет потом редактировать видео. Если же нет – не трогаем.
Потом двигаемся к пункту "Горячие клавиши" и находим "Начать запись" и "Остановить запись". Тыкам на поле мышкой, а
затем прожимаем необходимую комбинацию клавиш. Рекомендую устанавливать на старт "Shift+F7", а на остановку "Shift+F8",
однако можете поставить всё что вам удобно.
Чтобы наша запись работала правильно необходимо открыть в боковой панели "Общие" и в подразделе "Системный трей" поставить
галочку в пункте "Скрывать окно в системный трей при запуске". Запомините это, ведь если нужно будеть открыть OBS вручную
для настройки - нужно на панели задач с правой стороны найти стрелочку вверх и там нажать на иконку OBS. Во время записи
там будет показан красный кружок для более удобной индикации. По желанию можно вывести иконку на панель задач просто перетащив
её своей мышкой под окошко трея.
Класс, теперь тут всё настроено. Тыкаем "Применить" и "ОК" внизу окна. Теперь мы в главном меню. Если ещё нет никаких
источников и в микшере пусто – не беда. Тыкаем + внизу окна источников и нажимаем "Захват экрана".
Выбираем нужный нам экран и жмакаем "ОК".
Если в микшере таки пусто – тыкаем тот же + и нажимаем "Захват выходного аудиопотока" для записи вашего устройства
воспроизведения (колонки, наушники, не важно). Выбираем нужное устройство из списка и тыкаем "ОК".
Если нужно ещё и записать ваш голос с микрофона – снова жмём + добавляя устройство ВХОДНОГО аудиопотока,
выбираем нужный микрофон и дальше снова "ОК". Замечательно, в OBS всё настроено. Двигаем в AutoZoom.
В случае если вы ставили свои комбинации клавиш (вместо рекомендуемых), то сейчас нужно открыть run.bat в папке
AutoZoom и выбрать пункт "Настройки". Затем выберите пункт "Начать запись" и введите желаемую комбинацию
клавиш (например, Shift+F7), нажмите Enter. Теперь выберите пункт "Остановить запись" и снова введите комбинацию клавиш.
Желательно, чтобы комбинации были разными, дабы точно избежать сбоев, однако это не по принципиально. Чудесно, жмакаем
последний пункт здесь и в меню редактора. Движемся дальше к run.bat.
Открывая AutoZoom можно обнаружить, что он спрашивает хотим ли мы использовать OBS. Пишем Y или Д и жмём Enter.
В появившемся окне выбираем .exe файл нашего OBS. Обычно он лежит в "C:/Program Files/obs-studio/bin/64bit/obs64.exe",
но у вас может быть вместо 64bit папка 32bit, а файл obs32.exe. В случае с выбранным вами другим путём при
установке – ищите файл там, куда кинули.
После выбора .exe файла вам должно в консоль AutoZoom написать пути ядра и приложения OBS.
Они также будут храниться в файлах AutoZoom, если вдруг понадобится их изменить.
----------------------= №2.3 =----------------------
Если же вам нужно получать уведомления от бота через Telegram - такая опция тоже есть.
Для этого нужно создать бота через BotFather (@BotFather) командой /newbot.
Затем вводим имя нашему боту, по сути любое которое нужно. Затем id бота чтобы оно заканчивалось на "bot" или "_bot".
После этого мы получаем HTTP API (токен бота) который вводим во время запуска AutoZoom или же перейдя в пункт
настроек. После ввода туда токена нужно написать нашему только что созданному боту через его имя (то, что на "bot" кончается)
номер который выдаст AutoZoom. По желанию можно введя команду /setuserpic и выбрав вашего бота ещё и сменить его аватар.
Теперь каждый раз когда AutoZoom будет начинать работу или заходить/покидать конференцию вы сразу же получите
сообщение в вашу личку Telegram.
-----------------------= №3 =-----------------------
------------ Инструкция по использованию -----------
----------------------------------------------------
У нас есть рабочая и настроенная программа, но как же этим чудом теперь пользоваться? Всё очень просто.
Для начала открываем наш start.bat и тыкаем в пункт "Редактор". Там жмём "Добавить урок" и следуем шагам в приложении.
Чтобы удалить конференцию в меню редактора можно нажать "Удалить урок" и выбрать индекс (число слева посередине каждого урока).
Также, если вдруг что-то перенеслось, можно изменить конференци. нажав в редакторе "Изменить урок".
Если нужно записать программу в автозапуск - сделать это легко.
Для этого создайте ярлык для daemon.bat или start.bat, вырежьте его и вставьте по пути автозапуска
(обычно это "C:\Users\ПОЛЬЗОВАТЕЛЬ\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup").
Готово! Теперь при запуске компьютера через некоторое время после входа в пользователя у вас запустится AutoZoom сам. Это
может быть полезно если хочется полностью автоматизировать присоединение к конференциям.
Также если что-то пошло не так - можно в меню настроек сбросить все параметры до "По умолчанию".
-----------------------= №4 =-----------------------
--------------- Заключительные слова ---------------
----------------------------------------------------
На этом полная установка подходит к концу.
Если же вы нашли ошибки – не стесняйтесь писать в Telegram мне прямо в личку (https://t.me/profitroll).
Приятного использования!
P.S.: Отдельное спасибо Kusyaka за помощь в создании сего творения.
Без тебя, если честно, у меня бы ничего не вышло, дружище <3

1
daemon.bat

@ -0,0 +1 @@
python daemon.py

1007
daemon.py

File diff suppressed because it is too large Load Diff

8
files/config.json

@ -0,0 +1,8 @@
{
"debug": false,
"shutdown_timeout": 30,
"shutdown_enabled": true,
"start": "shift+f7",
"stop": "shift+f8",
"telegram_enabled": false
}

BIN
icon.ico

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

185
main.py

@ -0,0 +1,185 @@
import sys
import webbrowser
import os
import platform
import subprocess
from daemon import install
from pathlib import Path
install('wget')
install('zipfile')
install('requests')
import wget
import requests
from zipfile import ZipFile
from daemon import main, editor, settings, clear
version = 1.4
path = Path(__file__).resolve().parent
def mainMenu():
try:
global version
global path
while True:
serv_ver = requests.get("https://www.end-play.xyz/AutoZoomVersion.txt").text
if float(serv_ver) > float(version):
show_version = ' (!)'
else:
show_version = ''
#clear()
menu_choose = input(f'» Главное меню\n\n1. Запуск\n2. Редактор\n3. Настройки\n4. Обновление{show_version}\n5. Помощь и связь\n6. Закрыть приложение\n\n > ')
if menu_choose == '1':
main('menu')
elif menu_choose == '2':
editor()
elif menu_choose == '3':
settings()
elif menu_choose == '4':
updater(serv_ver, version)
elif menu_choose == '5':
helpMenu()
elif menu_choose == '6':
clear()
sys.exit()
else:
clear()
continue
except:
clear()
def os_arch():
is_64bits = sys.maxsize > 2**32
if is_64bits:
return '64bit'
else:
return '32bit'
def helpMenu():
try:
while True:
clear()
global version
global path
help_choose = input(f'» Меню помощи\n\n1. Документация\n2. Telegram проекта\n3. Связаться с автором\n4. Сводка информации\n5. В главное меню\n\n > ')
if help_choose == '1':
try:
clear()
webbrowser.open("https://github.com/profitrollgame/autozoom/wiki")
except:
clear()
none = input('Не удалось открыть страницу вашего браузера.\nВы можете открыть адрес самостоятельно: https://github.com/profitrollgame/autozoom/wiki\n\n > ')
clear()
elif help_choose == '2':
try:
clear()
webbrowser.open("https://t.me/auto_zoom")
except:
clear()
none = input('Не удалось открыть страницу вашего браузера.\nВы можете открыть адрес самостоятельно: https://t.me/auto_zoom\n\n > ')
clear()
elif help_choose == '3':
try:
clear()
webbrowser.open("https://t.me/profitroll")
except:
clear()
none = input('Не удалось открыть страницу вашего браузера.\nВы можете открыть адрес самостоятельно: https://t.me/profitroll\n\n > ')
clear()
if help_choose == '4':
clear()
print('» Информация о системе\n')
print('Система:')
print(f'• ОС: {platform.system()}')
print(f'• Релиз: {platform.release()}')
print(f'• Разрядность: {os_arch()}')
print('\nPython:')
print(f'• Версия: {platform.python_version()}')
print(f'• Вариант: {platform.python_implementation()}')
print(f'• Ревизия: {platform.python_revision()}')
print(f'• Расположение: {sys.path[4]}')
print('\nAutoZoom:')
print(f'• Версия: {version}')
print(f'• Расположение: {path}')
none = input('\n > ')
clear()
elif help_choose == '5':
clear()
return
else:
clear()
continue
except KeyboardInterrupt:
clear()
return
def updater(serv_ver, version):
try:
while True:
clear()
if float(serv_ver) > float(version):
show_version = ' (!)'
serv_ver = serv_ver.rstrip('\n')
show_action = f'Обновить до {serv_ver}'
changelog_text = f'Изменения в версии {serv_ver}:'
changelog_footer = '\nОбновитесь чтобы вышеуказанное работало.'
else:
show_version = ''
show_action = f'Переустановить'
changelog_text = f'Изменения в вашей версии:'
changelog_footer = ''
updater_choose = input(f'» Меню обновлений\n\n1. {show_action}\n2. Список изменений\n3. В главное меню\n\n > ')
if updater_choose == '1':
while True:
clear()
updater_decide = input(f'1. Установить\n2. Отменить\n\n > ')
if updater_decide == '1':
clear()
wget.download('https://www.end-play.xyz/AutoZoomLatest.zip', out='AutoZoomLatest.zip')
with ZipFile('AutoZoomLatest.zip', 'r') as zipObj:
zipObj.extractall()
print('Все файлы были успешно загружены')
if os.path.exists("AutoZoomLatest.zip"):
os.remove("AutoZoomLatest.zip")
clear()
none = input('Обновление завершено, перезапустите AutoZoom.\n\n > ')
sys.exit()
elif updater_decide == '2':
clear()
break
else:
continue
elif updater_choose == '2':
changelog = requests.get("https://www.end-play.xyz/AutoZoomChangelog.txt")
changelog.encoding = None
clear()
print(f'{changelog_text}\n')
print(changelog.text)
print(changelog_footer)
none = input('\n > ')
continue
elif updater_choose == '3':
clear()
return
else:
continue
except:
clear()
return
if __name__ == '__main__':
from daemon import clear
clear()
mainMenu()

BIN
sounds/ended.wav

Binary file not shown.

BIN
sounds/shutdown.wav

Binary file not shown.

BIN
sounds/started.wav

Binary file not shown.

1
start.bat

@ -0,0 +1 @@
python main.py
Loading…
Cancel
Save