Skip to content

Бот для отслеживания изменений в образовательной электронной среде (ОРИОКС) НИУ МИЭТ orioks.miet.ru на платформе Telegram

License

Notifications You must be signed in to change notification settings

orioks-monitoring/bot

Repository files navigation

ОРИОКС Мониторинг Бот

Оглавление

Что это за Бот?

ОРИОКС Мониторинг - это Бот для отслеживания изменений в образовательной электронной среде НИУ МИЭТ orioks.miet.ru на платформе Telegram.

Зачем нужен этот Бот?

Бот создан для автоматизации контроля над учебным процессом. Он помогает студентам удобным способом получать информацию о своей успеваемости и новостях в режиме реального времени.

Как работает этот Бот?

Студент авторизируется в ОРИОКС через Бота. Запускается скрипт, который сравнивает данные, хранящяется на сервере, с информацией от запроса HTTP-клиента1 AIOHTTP. При появлении изменений студенту автоматически отправляется сообщение о них.

Какие функции есть у этого Бота?

На данный момент в Боте реализованы следующие функции оповещений по разделам:

  • 📓 "Обучение": изменения баллов в накопительно-балльной системе (НБС)

  • 📰 "Новости": публикация общих новостей (новости по дисциплинам (coming soon));

  • 📁 "Ресурсы": изменения и загрузка файлов по дисциплине (coming soon);

  • 📝 "Домашние задания": изменения статусов отправленных работ;


  • 📄 "Заявки": изменения статусов заявок на обходной лист, материальную помощь, социальную стипендию, копии документов, справки.

Почему этот Бот безопасен?

Наша политика хранения и обработки данных:

  • параметры для входа (логин и пароль) обрабатываются автоматически и единократно, они не хранятся на сервере ни в каком виде;
  • ответы, сохраняемые скриптом от посылаемых им запросов, не содержат информацию, позволяющую однозначно идентифицировать и обезличить пользователя;
  • хранящиеся на сервере данные используются только для отправки сообщений пользователям и не передаются третьим лицам;
  • в логи записывается только техническая информация о работе Бота, ни одно отправляемое/получаемое сообщение не логгируется.

Наш Бот - проект с открытым исходным кодом. Он создан действующими студентами МИЭТ для помощи нашему университетскому сообществу.

Проект такого типа подразумевает возможность пользователей взаимодействовать с кодом самостоятельно. Вы можете просмотреть реализуемые скрипты и решить, пользоваться ли данным готовым Ботом, или выбрать вариант для продвинутых пользователей с реализацией на своем собственном сервере.

Есть ли еще возможности, сходные с функционалом Бота? (для продвинутых пользователей)

Есть возможность запустить настоящего Бота на собственном сервере, используя инструкцию.

Более того:

Существуют два независимых скрипта2, с помощью которых, имея опыт работы с GitHub и API, можно реализовать работу скрипта на основе GitHub Actions с выбором платформы для оповещений (API VK или API Telegram) и хранением данных с помощью API Yandex Disk:

Настройка на собственном сервере

  1. Клонирование репозитория и смена директории
git clone https://github.com/orioks-monitoring/bot.git && cd bot
  1. Получение API токена для Telegram бота

    1. Пишем /newbot сюда: @BotFather.
    2. Запоминаем TELEGRAM_BOT_API_TOKEN токен Telegram бота.
    3. Узнаём свой Telegram ID, например, так:
      1. Пишем /start сюда: @userinfobot.
      2. Запоминаем свой Telegram ID (для использования в TELEGRAM_ADMIN_IDS_LIST).
  2. Копирование файла с примерами переменных окружения в файл .env. Замена примеров на реальные значения

cp .env.example .env && vim .env
  1. Создание вируального окружения и его активация
python3.10 -m venv env && source env/bin/activate
  1. Установка необходимых зависимостей в виртуальное окружение
pip install -r requirements.txt
  1. Применение миграций базы данных
alembic upgrade head
  1. Запуск Бота
python run-app.py

У меня есть предложение / Я нашел баг. С кем можно связаться?

Вы можете написать в нашу поддержку — @orioks_monitoring_support_bot, а также создать Issues в репозитории.

Как мне узнать актуальные новости о работе Бота?

Для новостей Бота существует канал. Не забудьте подписаться!

Footnotes

  1. HTTP-клиент - это библиотека методов выполнения HTTP-запросов

  2. В обоих скриптах, ORIOKS MONITORING SELENIUM и ORIOKS MONITORING API, реализована только функция оповещений по разделу "Обучение".

  3. ORIOKS STUDENT API, по сравнению с Selenium WebDriver, имеет ряд весомых ограничений (не позволяет получить всю необходимую информацию и имеет значительную задежку в считывании выставленных баллов в НБС).

  4. Решение из настоящего репозитория на основе AIOHTTP является наиболее эффективным и полным среди приведенных скриптов.

About

Бот для отслеживания изменений в образовательной электронной среде (ОРИОКС) НИУ МИЭТ orioks.miet.ru на платформе Telegram

Topics

Resources

License

Stars

Watchers

Forks

Languages