- Создать виртуальное окружение:
python3 -m venv venv
- Запустить venv:
python3 venv\Scripts\activate
- Установить библиотеки (aiogram, selenium, environs):
pip install -r requirements.txt
- Установить браузер Chrome
- Установить chromedriver на диск C и добавить его в PATH (для Windows). Версии браузера и драйвера должны совпадать.
- В
data/config.py
в переменнойWEBDRIVER_PATH
указать путь до драйвера - В
.env.dist
обязательно указать токен бота и id одного или более администраторов. Затем переименовать файл в.env
- Запустить бота:
python3 bot.py
В случае ошибок с путями, изменить их можно в data/config.py
Бот запускает браузер в headless режиме, переходит по заготовленной ссылке, делает и отправляет скриншот расписания.
Ссылки на расписание для каждой из групп находятся в data/links.json
Расписание звонков - заготовленная фотография, отправляемая по запросу. Администраторы могут добавлять фото изменений в расписании через специальное меню.
Администраторы бота имеют доступ к меню, в котором они могут вносить изменения в расписание звонков и просматривать кол-во пользователей бота.
База данных пользователей (SQLite) хранит в себе id, username и nickname каждого, кто хоть раз запустил бота или запросил расписание пар. Данные записываются один раз и в дальнейшем никак не обновляются. Сама база находится в data/users.db
- Telegram Bot API: https://core.telegram.org/bots/api
- Библиотека aiogram: https://docs.aiogram.dev/en/latest/
- ChromeDiver: https://chromedriver.chromium.org
- BotFather (создание бота): https://t.me/BotFather
- Show Json Bot (узнать id админа): https://t.me/ShowJsonBot
- ChenkBot: https://t.me/chenky_bot