Бот-помощник “Спутник” для студентов первокурсников ГУАП
Хочешь узнать что-то о ГУАПе, но не хочешь копаться на официальном сайте, группах Вконтакте, и других источниках?! Значит, этот бот идеально подходит для вас! Мы собрали в нем самую важную информацию о ГУАП, например, где вкусно рядом покушать!
История проекта
Когда все мы были первокурсниками, нам выдавали множество брошюр, листовок, справочников, ссылок на сайты, группы ВК, Инстаграмм. Их было так много, что можно было просто потеряться, или не заметить, что-то важное или интересное. Поэтому было решено сделать бота в телеграмме, который будет давать эту информацию структурировано и только по запросу. Он облегчит работу старостам, профоргам, первокурсникам и не только!
Когда мы получили задание, нам был дан срок всего в две недели, поэтому мы начали работать в быстром темпе, чтобы выполнить весь список задач. Нам нужно было: собрать информацию о ГУАП из разных источников, разработать интерфейс, написать функции для реализации бота, собрать все воедино и протестировать.
Но так как мы никогда раньше не писали ботов в телеграмме и для функции поиска кафе поблизости нам требовались сторонние сервисы, первым этапом работы стало изучении документации по написанию ботов в телеграмм и работы с сервисами карт.
Следующим этапом работы стала разработка интерфейса. Для этого мы нашли несколько ботов в телеграмме и начали общение, для понимания их структуры. На основе полученного опыта мы создали логику интерфейса для своего бота.
После изучения теории мы приступили к практике. Мы начали написание функций для реализации бота, его каркаса и сбор информации о ГУАП и представление её в виде базы данных. Все эти процессы происходили параллельно, так как это экономило время и наши людские ресурсы позволяли писать и тестировать функции по отдельности одновременно.
Также стоит рассмотреть отдельно путь по поиску идеального сервиса карт, для поиска кафе. Выбор сначала пал на Яндекс Карты, но как выяснилось, для их функционирования на бесплатной основе необходима графическая отрисовка карты, что нам не подходило для первых тестов. Поэтому наш взор был обращен на Гугл Карты, к сожалению, большая часть документации на английском, что не позволило быстро изучить её. 2gis позволяет использовать все функции в тестовом Api и имеет документацию на русском, поэтому он стал идеальным вариантом.
Дальше мы перешли к сборке бота, которая прошла без особых проблем, так как на этапе подготовки мы изучили достаточно информации по теме. Единственно, мы не успели вставить всю необходимую информацию и оформление из-за сжатых сроков проекта.
На последнем этапе тестирования и отладки, каждый участник проекта пользовался ботом в течение дня и искал ошибки, затем вечером мы исправили все мелкие недочеты найденные нами.
Описание проекта
Изначально была начерчена схема логики принятия решений ботом. Были прописаны переходы в зависимости от откликов, полученных от пользователя.

По созданной схеме был написан каркас бота со всеми переходами и кнопками. Программа была написана на Python 3 в программе MS Visual Studio.
Были разработаны основные функции, реагирующие на отклики пользователя (отправление локации, текста, реакция на кнопки).
Далее каркас бота был наполнен действиями, которые выполняет бот. Была создана база данных, которая представляет собой строки и объекты json. Была реализована связь между базой данных и самим ботом.
С помощью специальной библиотеки была осуществлена работа со сторонними сервисами, в частности с 2gis. Реализация данной части программы была реализована в отдельной функции. Ссылка на реализованный код программы выложен в открытый доступ на сайте github, ссылка приведена в списке литературы.
Заключение
Таким образом, был создан бот в Telegram с разнообразными функциями. Бот способен выполнять переход по кнопкам, выводить нужную информацию, фото, геолокацию и ссылки. Была создана своя база данных с информацией о ГУАПе.
К сожалению, за столь короткие сроки мы не успели написать более полную базу данных, доделать сообщения бота (то есть оформления сообщений, фото в них), собрать оставшеюся важную информацию, не сделали функцию, которая бы говорила студенту, успеет ли он на автобус или нет.
Список литературы
- Как создать своего бота в BotFather? [Электронный ресурс] – Режим доступа:
https://botcreators.ru/blog/kak-sozdat-svoego-bota-v-botfather/ - Документация 2GIS Places API [Электронный ресурс] – Режим доступа: https://docs.2gis.com/ru/api/search/places/overview
- Документация Telegram Bot API [Электронный ресурс] – Режим доступа:
https://core.telegram.org/bots/api - Справочник по Bot API [Электронный ресурс] – Режим доступа:
https://tlgrm.ru/docs/bots/api - Реализация бота [Электронный ресурс] – Режим доступа:
https://github.com/ellvenro/bot_project
Команда проекта
Проект разработан командой студентов второго курса ГУАП, кафедра аэрокосмических и программных систем Санкт-Петербургского государственного университета аэрокосмического приборостроения.
- Козяпина Екатерина – разработка интерфейса и создание профиля бота
- Белый Ярослав – Изучение работы с API карт и создание функций поиска кафе
(связаться: Вконтакте, Телеграм, bel.yar01@gmail.com) - Крутько Глеб – Создание каркаса бота
- Метлицкая Лидия – Сборка бота, написание функций и объединение с базой данных
- Мутовкин Александр – Сбор информации или формирование базы данных
- Колдунович Дмитрий – Тестирование и отладка