Существует Бот - усовершенствованная и самая полная версия настоящего скрипта, подходящая для широкого круга пользователей.
Скрипт для мониторинга информациии с сайта orioks.miet.ru. Автоматическая отправка уведомления при изменениях через API VK или API Telegram. Подразумевается, что скрипт работает на бесплатном сервисе от GitHub Actions, поэтому для хранения данных пользователя используется API Yandex Disk.
Скрипт запускается каждые 15 минут1 и сравнивает данные, хранящиеся на Яндекс Диске, с информацией от API ORIOKS.
P.S. Существует скрипт, работающий на основе Selenium WebDriver, чье использование более рекомендуется2.
-
Клонируем репозиторий.
git clone https://github.com/llirrikk/orioks-monitoring.git cd orioks-monitoring
-
Получение Orioks API Bearer token
- Выполняем:
env ORIOKS_LOGPASS="логин:пароль" setup/get_orioks_token.sh
- Запоминаем
ORIOKS_API_TOKEN
- Выполняем:
-
Получение API токена от Yandex Disk
- Переходим по ссылке.
- Название приложения:
ЛЮБОЕ
. - Платформы:
"Веб-сервисы"
->"Подставить URL для разработки"
-> Кнопка"Добавить"
. - Доступы: Выбираем
"Яндекс.Диск REST API"
->"Доступ к папке приложения на Диске"
. - Нажимаем кнопку
"Создать приложение"
.
- Название приложения:
- Переходим по ссылке, заменяя последнюю часть: https://oauth.yandex.ru/authorize?response_type=token&client_id=ИДЕНТИФИКАТОР_ПРИЛОЖЕНИЯ
- Нажимаем кнопку
"Войти как ..."
. - Запоминаем
YANDEX_DISK_API_TOKEN
токен Яндекс Диска. - Создаем папку для приложения, выполнив:
env YANDEX_DISK_TOKEN="YANDEX_DISK_access_token" setup/create_folder_yandex_disk.sh
- Переходим по ссылке.
-
3Получение API токена от паблика VK
- Создание группы ВК
- Выбираем
"Группа по интересам"
. - Название:
ЛЮБОЕ
. - Тип группы:
Частная
. - Тематика:
Образование
. - Нажимаем кнопку
"Создать сообщество"
.
- Выбираем
- Нажимаем кнопку
"Управление"
.- Сообщения -> Сообщения сообщества:
Включены
. - Сообщения -> Настройки для бота -> Возможности ботов:
Включены
. - Настройки -> Работа с API -> Ключи доступа -> Создать ключ ->
Разрешить приложению доступ к сообщениям сообщества
. - Запоминаем
VK_API_TOKEN
токен ВК группы. - Пишем любое сообщение этой группе с аккаунта ВК, на который хотите получать уведомления.
- Сообщения -> Сообщения сообщества:
- Узнаём свой VK ID:
- Например, используя этот сайт.
- Запоминаем
VK_PEER_ID
свой VK ID.
- Создание группы ВК
-
3Получение API токена для Telegram бота
- Пишем
/newbot
сюда: @BotFather. - Запоминаем
TG_API_TOKEN
токен Telegram бота. - Узнаём свой Telegram ID, например, так:
- Пишем
/start
сюда: @userinfobot. - Запоминаем
TG_CHAT_ID
свой Telegram ID.
- Пишем
- Пишем
-
Настроить выполнение скрипта на GitHub Actions.
- Сделать Fork репозитория.
- Включить Actions в репозитории своего профиля, нажав на кнопку: I understand my workflows, go ahead and enable them, затем на кнопку Enable workflow.
- Перейти в Settings -> Secrets -> Actions -> New repository secret и добавить все полученные на прошлих шагах значения:
ORIOKS_API_TOKEN
,YANDEX_DISK_API_TOKEN
,VK_API_TOKEN
,VK_PEER_ID
и/или2TG_API_TOKEN
,TG_CHAT_ID
,VK_USE
(True, если использовать сервис ВК, False -- в противном случае),TG_USE
(True, если использовать сервис Telegram, False -- в противном случае).
Footnotes
-
Выполнение может быть отложено в периоды высокой загрузки рабочих процессов GitHub Actions... Самый короткий интервал, с которым вы можете запускать запланированные рабочие процессы, — каждые 15 минут.
-
ORIOKS STUDENT API имеет ряд ограничений (не позволяет получить всю необходимую информацию), поэтому рекомендуется использовать альтернативный скрипт из репозитория. ↩ ↩2
-
Необходимо выбрать хотя бы один сервис: ВКонтакте или Telegram (то есть выбрать 4 или 5 пункт, либо и 4, и 5). ↩ ↩2