orioks-monitoring / bot

Бот для отслеживания изменений в образовательной электронной среде (ОРИОКС) НИУ МИЭТ orioks.miet.ru на платформе Telegram
https://orioks-monitoring.github.io/bot/
MIT License
14 stars 4 forks source link
aiogram aiohttp alembic beautifulsoup bot miet monitoring orioks sqlalchemy telegram telegram-bot

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

Оглавление

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Более того:

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

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

  1. Клонирование репозитория и смена директории

    git clone https://github.com/orioks-monitoring/bot.git && cd bot
  2. Получение API токена для Telegram бота

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

    cp .env.example .env && vim .env
  4. Создание вируального окружения и его активация

    python3.10 -m venv env && source env/bin/activate
  5. Установка необходимых зависимостей в виртуальное окружение

    pip install -r requirements.txt
  6. Применение миграций базы данных

    alembic upgrade head
  7. Запуск Бота

    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 является наиболее эффективным и полным среди приведенных скриптов.