Версия 1.4 добавлена на GitHub.
This commit is contained in:
commit
2cc911fdd2
155
README.txt
Normal file
155
README.txt
Normal file
@ -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
Normal file
1
daemon.bat
Normal file
@ -0,0 +1 @@
|
|||||||
|
python daemon.py
|
8
files/config.json
Normal file
8
files/config.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"debug": false,
|
||||||
|
"shutdown_timeout": 30,
|
||||||
|
"shutdown_enabled": true,
|
||||||
|
"start": "shift+f7",
|
||||||
|
"stop": "shift+f8",
|
||||||
|
"telegram_enabled": false
|
||||||
|
}
|
185
main.py
Normal file
185
main.py
Normal file
@ -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
Normal file
BIN
sounds/ended.wav
Normal file
Binary file not shown.
BIN
sounds/shutdown.wav
Normal file
BIN
sounds/shutdown.wav
Normal file
Binary file not shown.
BIN
sounds/started.wav
Normal file
BIN
sounds/started.wav
Normal file
Binary file not shown.
Reference in New Issue
Block a user