ОРИОКС Мониторинг - это Бот для отслеживания изменений в образовательной электронной среде НИУ МИЭТ orioks.miet.ru на платформе Telegram.
Бот создан для автоматизации контроля над учебным процессом. Он помогает студентам удобным способом получать информацию о своей успеваемости и новостях в режиме реального времени.
Студент авторизируется в ОРИОКС через Бота. Запускается скрипт, который сравнивает данные, хранящяется на сервере, с информацией от запроса HTTP-клиента[^1] AIOHTTP. При появлении изменений студенту автоматически отправляется сообщение о них.
На данный момент в Боте реализованы следующие функции оповещений по разделам:
📓 "Обучение": изменения баллов в накопительно-балльной системе (НБС)
📰 "Новости": публикация общих новостей (новости по дисциплинам (coming soon));
📁 "Ресурсы": изменения и загрузка файлов по дисциплине (coming soon);
📝 "Домашние задания": изменения статусов отправленных работ;
📄 "Заявки": изменения статусов заявок на обходной лист, материальную помощь, социальную стипендию, копии документов, справки.
Наша политика хранения и обработки данных:
Наш Бот - проект с открытым исходным кодом. Он создан действующими студентами МИЭТ для помощи нашему университетскому сообществу.
Проект такого типа подразумевает возможность пользователей взаимодействовать с кодом самостоятельно. Вы можете просмотреть реализуемые скрипты и решить, пользоваться ли данным готовым Ботом, или выбрать вариант для продвинутых пользователей с реализацией на своем собственном сервере.
Есть возможность запустить настоящего Бота на собственном сервере, используя инструкцию.
Более того:
Существуют два независимых скрипта[^2], с помощью которых, имея опыт работы с GitHub и API, можно реализовать работу скрипта на основе GitHub Actions с выбором платформы для оповещений (API VK или API Telegram) и хранением данных с помощью API Yandex Disk:
Клонирование репозитория и смена директории
git clone https://github.com/orioks-monitoring/bot.git && cd bot
Получение API токена для Telegram бота
/newbot
сюда: @BotFather.TELEGRAM_BOT_API_TOKEN
токен Telegram бота./start
сюда: @userinfobot.TELEGRAM_ADMIN_IDS_LIST
).Копирование файла с примерами переменных окружения в файл .env
. Замена примеров на реальные значения
cp .env.example .env && vim .env
Создание вируального окружения и его активация
python3.10 -m venv env && source env/bin/activate
Установка необходимых зависимостей в виртуальное окружение
pip install -r requirements.txt
Применение миграций базы данных
alembic upgrade head
Запуск Бота
python run-app.py
Вы можете написать в нашу поддержку — @orioks_monitoring_support_bot, а также создать Issues в репозитории.
Для новостей Бота существует канал. Не забудьте подписаться!
[^1]: HTTP-клиент - это библиотека методов выполнения HTTP-запросов
[^2]: В обоих скриптах, ORIOKS MONITORING SELENIUM и ORIOKS MONITORING API, реализована только функция оповещений по разделу "Обучение".
[^3]: ORIOKS STUDENT API, по сравнению с Selenium WebDriver, имеет ряд весомых ограничений (не позволяет получить всю необходимую информацию и имеет значительную задежку в считывании выставленных баллов в НБС).
[^4]: Решение из настоящего репозитория на основе AIOHTTP является наиболее эффективным и полным среди приведенных скриптов.