Введение
Современные технологии и Интернет предоставляют новые возможности для получения информации. Одним из таких инструментов являются телеграмм-боты, которые могут помочь в решении разнообразных задач. В данной статье рассматривается создание телеграмм-бота для помощи абитуриентам в поиске информации о вузах и специальностях, условиях поступления и организации вступительных испытаний. Бот также выдаёт необходимую статистику для работников высших учебных заведений.
В статье описывается процесс разработки и реализации бота, а также его функциональные возможности и преимущества перед другими средствами получения информации. Создание телеграмм-бота может значительно облегчить процесс поиска информации для абитуриентов и помочь им принять правильное решение о выборе вуза и специальности, при этом показывая сотрудникам ВУЗа наиболее популярные запросы абитуриентов и их общую заинтересованность в поступлении.
Формулировка цели и задач статьи
Цель статьи: рассказать о создании и использовании телеграмм-бота для абитуриентов, и показать его преимущества в сравнении с другими способами получения информации о поступлении в ВУЗ.
Задачи статьи:
1. Представить телеграмм-бота и его возможности;
2. Рассказать о разработке телеграмм-бота;
3. Рассказать о том, как бот помогает абитуриентам получить актуальную информацию о поступлении;
4. Описать основные преимущества использования телеграмм-бота для абитуриентов.
Изложение основного материала статьи
Для разработки бота мы выбрали библиотеку - Telegram Bot API по следующим причинам:
- Простота в использовании: Telegram Bot API предоставляет простой и понятный интерфейс для работы с ботами. По сравнению с популярными аналогами данная библиотека легка в освоении;
- Многофункциональность: Telegram Bot API позволяет создавать ботов, которые могут выполнять различные задачи, такие как отправка сообщений, опрос пользователей, обработка команд и т. д.;
- Большое сообщество разработчиков: существует обширное комьюнити разработчиков, которое поддерживает и улучшает Telegram Bot API. Это означает, что разработчики могут получить поддержку и помощь от сообщества, а также использовать библиотеки и фреймворки, созданные другими разработчиками;
- Высокая производительность: Telegram Bot API быстрый и надежный, что обеспечивает быстрое выполнение команд и низкую задержку сообщений;
- Доступность: Telegram Bot API является бесплатным и доступным для всех разработчиков. Это означает, что любой может создать свой бот без дополнительных затрат на лицензии и другие расходы.
Для того, чтобы начать работать с фреймворком была создана новая учетная запись в официальном боте телеграмма - BotFather и получен токен, который авторизует бота для дальнейшей работы с ним. Следующим шагом является написание кода на языке Python (наиболее популярный язык программирования для разработки различных ботов, в том числе и для телеграмм ботов), в котором были реализованы функции для доступа к следующей информации о поступлении:
1. Информация о работе приемной комиссии;
2. Информация о способах подачи документов в ВУЗ и описание каждого из них;
3. Информация о перечнях подготовки, которая делится по направлениям и степени обучения;
4. Список документов для поступления для разных степеней обучения;
5. Расписание вступительных экзаменов;
6. Сроки подачи документов и важные даты для абитуриентов.
7. Стоимость обучения;
8. Предоставление работникам ВУЗа статистики по количеству пользователей и по выбору функционала пользователями.
Алгоритм программы представлен в виде блок-схемы на рисунке 1:
Рисунок 1 – Блок-схема бота
Бот реагирует на нажатие кнопок меню, и в соответствии с выбранной кнопкой выдает пользователю актуальную необходимую информацию. Информация может выдаваться как в виде текста, так и в виде ссылки на необходимые разделы на сайте ВУЗа.
Для реализации данного функционала были реализованы кнопки: markup объявляем новую переменную с inline keyboard, а далее с помощью метода add были добавлены нужные кнопки, которые находятся во вложенном меню. У каждой такой кнопки есть возвращаемое значение, которое обрабатывается в виде переменной callback_data. По данному тексту программа понимает какую именно информацию нужно вывести пользователю. Также в callback функциях были вызваны методы, написанные для сбора аналитики по использованию бота.
Все сообщения и нужный для вывода пользователю текст, а также ссылки - хранятся в отдельном файле, как константы. Это помогло повысить читаемость кода и уменьшить повторения одинаковых участков бота. Также теперь информация в боте может оперативно обновляться путем редактирования содержимого констант. Это позволяет абитуриентам получать самую свежую информацию о количестве мест, приемных часах, важных датах и других, необходимых для поступления данных.
Для тестирования бота были произведены многократные обращения и запросы, в том числе попытки сломать программу. Результатом тестов стали:
- Добавление исключений по обработке нештатных ситуаций;
- Для повышения скорости работы бота были убраны функции отправки файлов, так как они нагружали программу, а также для доступа к ним требовалась их непосредственная загрузка с сервера, на замену им были добавлены ссылки на нужную вкладку официального сайта университета;
- Оптимизирование процессов обработки данных от пользователей.
Выводы
В результате нами был написан телеграмм-бот для абитуриентов нашего ВУЗа. Он призван упростить и без того непростой процесс поступления. Имея ощутимые преимущества перед другими способами выдачи информации, телеграмм-бот является наилучшим решением для ВУЗа. Далее мы продолжим разработку бота и добавим в него ещё больше нужных функций для поступающих.
Поскольку бот работает в популярном мессенджере, доступ ко всей информации становиться в разы легче, а понятный и удобный интерфейс позволяет пользователю быстро находить нужную информацию.
Список литературы
- Гвидо ван Россум "Язык программирования Python", издание 3-е, М.: ДМК Пресс, 2014. - 432 с.
- Марк Саммерфилд "Программирование на Python 3: подробное руководство", издание 4-е, М.: ДМК Пресс, 2014. - 704 с.
- Дуг Хеллман "Python. Полное руководство", издание 5-е, М.: ДМК Пресс, 2018. - 1344 с.
- Брэд Клементс "Python для детей", издание 2-е, М.: ДМК Пресс, 2016. - 328 с.
- Лутц М. "Изучаем Python", издание 5-е, М.: ДМК Пресс, 2017. - 1600 с.