Бот для проверки обновлений ленты новостей в Личном кабинете директора (ЕКИС) http://lk.educom.ru и отправки уведомлений в указанные чаты. Бот не отмечает новости и файлы как прочитанные - это делают заинтересованные лица вручную и самостоятельно. Проверка выполняется каждые 30 секунд, обновление сессии каждые 30 минут или принудительно после неудачной проверки.
Ссылки на файлы, полученные от бота, не содержат идентификатора конкретной школы, и, т.к. для доступа не требуется авторизация, они могут свободно распространяться без угрозы быть пойманным за руку. Поэтому имеет смысл назвать бота максимально нейтрально, без упоминания конкретной школы в @имени, описании или аватарке. Это позволит, не раскрывая источник, пересылать сообщения в другие чаты.
- Учетная запись от личного кабинета.
- Токен бота, полученный от @BotFather.
- Идентификаторы чата администратора (для отправки ошибок бота) и пользователей (для отправки уведомлений).
Можно получить от @userinfobot или самого этого бота командой
/start
. - Для получения сообщений от бота Telegram (любого), пользователь должен начать с ним диалог. Для этого нужно найти бота в поиске или перейти по ссылке на него.
- Установить Python 3.9 (с другими версиями бот не проверялся)
- Клонировать и открыть каталог репозитория
- Установить зависимости
pip install -r requirements.txt
- Переименовать файл
.env.example
в.env
- Отредактировать файл
.env
, заменив переменные на своиLK_USERNAME
: имя пользователя для входа в ЛКLK_PASSWORD
: пароль для входа в ЛКBOT_TOKEN
: токен ботаBOT_USERS_CHAT_ID
: идентификаторы чатов пользователей через запятую без пробеловBOT_ADMIN_CHAT_ID
: идентификатор чата админаPROXY_URL
: ссылка для http прокси. Параметр можно удалить, если ваш провайдер не блокирует API Telegram. Блокировка выглядит как-то так, но могут быть и другие ошибки:telegram.error.NetworkError: urllib3 HTTPError [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1123)
- Настройки по-умолчанию, которые можно переопределить через переменные
LK_CHECK_INTERVAL=30
: частота проверки обновлений в секундахBOT_DISABLE_WEB_PAGE_PREVIEW=True
: отключить предпросмотр ссылок в сообщениях бота, т.е. сервер Telegram не будет скачивать файлы и прикреплять их к сообщениям
Из командной строки python educom_bot/bot.py
- Клонировать и открыть каталог репозитория
- Установить зависимости для разработки
pip install -r requirements.dev.txt
- Установить pre-commit hook
pre-commit install
- Выполнить шаги из раздела Настройки
Чтобы не ждать появления свежих новостей в личном кабинете, можно удалить файл entry.json
, и уведомления с последней новостью будут отправлены заново.