Задача: Разработать телеграм бот, который будет отправлять расписание занятий для студента.
Сложность данного проекта заключалась в неструктурированном расписании на сайте университета, а также наличия расписания дополнительных занятий в отдельном Excel файле.
В ходе работы был разработан алгоритм, составляющий json файл с расписанием основных занятий в структурированном порядке. Затем производилось чтение Excel файла с учетом номера недели, после чего основной json файл с расписанием дополнялся дополнительными занятиями.
Затем был написан телеграм бот с 4 функциями: загрузка данных, сообщение номера текущей недели, отправка расписания на текущий и на следующий день. При выборе функции загрузки данных бот запускал процесс парсинга расписания чтобы получить json файл с расписанием на текущую неделю. После окончания сбора данных бот присылал сообщение от выполнении работы.
По команде "Сегодня" и "Завтра" бот присылал расписание на текущий и следующий день соответственно. Каждое занятие отправлялось отдельным сообщением в формате: "Название предмета", "Аудитория", "ФИО преподавателя", "Подгруппа" или "Номер недели, на которой проводится занятие". Дополнительная сложность заключалась в том, что не у всех предметов присутствовали все поля.
Также бот мог присылать номер текущей недели по команде "Номер недели". Это нужно для того, чтобы сверяться с расписанием дополнительных занятий.
После окончания работы и тестирования бот был загружен на сервер.
Для ознакомления с его работой:
https://t.me/SSAU_RASP_botПарсер написан на языке Python с использованием библиотек requests, BeautifulSoup, openpyxl и json.
Бот написан на языке Python с использованием библиотеки aiogram и datetime.
Выполнение проекта заняло 12 часов.