Telegram бот для просмотра расписания
Этот бот создан для того, чтобы студенты могли с легкостью просматривать расписание учебных занятий. Он предоставляет удобный доступ к информации на любых устройствах, позволяя пользователям быстро находить нужные данные и присоединяться к онлайн-занятиям на платформе ZOOM всего одним нажатием. Бот автоматически получает и обновляет расписание, предоставляет возможность легко сменить группу, а также включает систему рассылок и другие полезные функции, упрощающие процесс обучения.
Бот интегрируется с официальным API университетского сайта для автоматического получения актуальных данных о расписании и событиях студентов. Полученная информация проходит валидацию на корректность и полноту. Далее сведения обрабатываются, преобразуются в формат, удобный для дальнейшей работы, и сохраняются для оптимизации последующих запросов. Такой подход не только гарантирует актуальность данных, но и снижает нагрузку на API за счет кеширования.
После запуска бота пользователю предлагается ввести название своей группы. Если введенное название не совпадает ни с одной из существующих групп, бот предлагает похожие варианты для выбора, используя метод сравнения строк на основе расстояния Левенштейна. Этот метод оценивает схожесть строк и помогает предложить наиболее подходящие варианты. Пользователь также может изменить ранее выбранную группу, воспользовавшись соответствующей командой из меню или введя новое название вручную.
После успешной регистрации (выбора группы) при открытии диалога с ботом пользователю предоставляется интуитивно понятное меню с набором кнопок для удобного взаимодействия. Каждая кнопка выполняет определенную функцию, обеспечивая быстрый доступ к основным возможностям бота, что улучшает пользовательский опыт и упрощает навигацию.
При нажатии на одну из первых трех кнопок — сегодня
, завтра
или послезавтра
— пользователь получает расписание на выбранный день. Если выбран текущий день и в расписании указаны онлайн-занятия через ZOOM, дополнительно к основной информации о дисциплинах отображаются данные для входа в конференцию и кнопка «Войти». Эта кнопка позволяет присоединиться к конференции одним нажатием, без необходимости вручную вводить какие-либо данные.
При нажатии на данную кнопку открывается меню с днями недели. Выбрав нужный день, пользователь получает в одном сообщении расписание как для четной недели, так и для нечетной. Важно отметить, что подчеркиваемый текст
в сообщении подсказывает, в какой неделе будет ближайший выбранный день. Это помогает пользователям ориентироваться и легко определить, какая неделя сейчас, а также какое расписание актуально для того или иного дня.
Удобный календарь, который позволяет пользователю перемещаться между месяцами для выбора нужного дня. Выбрав нужный день, пользователь мгновенно получает актуальное расписание. Теперь у студента есть полная информация о предстоящих занятиях, и он может организовать свое время соответствующим образом. Также, обратите внимание, что имеется кнопка Убрать
, которая позволяет удалить отправленное ботом сообщение, дабы календарь не затерялся в переписке и при повторном использовании не было необходимости вызвать его снова.
Обратите внимание, что в зависимости от выбранной группы время занятий может отличаться. Бот, опираясь на название группы, определяет расписание звонков для выбранного дня и отображает соответствующую информацию о времени занятий, учитывая перерывы между парами, обеденные перерывы и даже классные часы, если они предусмотрены для выбранной группы.
В данном боте также есть раздел, содержащий список всех доступных дисциплин. При открытии этого раздела пользователь увидит названия всех дисциплин, актуальных для него на данный момент. Каждое название является интерактивной кнопкой, нажав на которую пользователь получит краткую информацию о дисциплине: название, полное ФИО преподавателя, кабинеты, где обычно проходят занятия, электронную почту преподавателя и данные для входа в конференцию ZOOM.