Skip to content
Anton Skryagin edited this page Sep 4, 2023 · 11 revisions

TelegramBot. Введение.

Телеграм бот для приюта для животных.

Задачей является реализация телеграм бота для приюта для животных. В проекте использованы следующие технологии:

  • Spring Boot, Data
  • Pengrad
  • Junit, Mockito

Бот поддерживает следующий функционал:

  • работа с несколькими приютам для животных
  • выдача информации об интересуемом приюте
  • возможность связаться с волонтером
  • возможность оставить свои контактные данные
  • консультирование новых пользователей о правилах усыновления, мерах предосторожности, необходимых условий для содержания животных и т.п.
  • прием отчетов от усыновителей
  • информирование пользователей о необходимости своевременного предоставления отчетов

Реализация

Бот реализован на основе обработке команд - эндпоинтов, принимаемых от пользователей в виде текстовой команды, например "/start", или формируемой при нажатии пользователем соответствующей кнопки в приложении. Эндпоинты делятся на два вида: специализированные и обычные.

Специализированные эндпоинты - команды, для выполнения которых необходимо выполнять какую-либо логику: обработка входящих текстовых данных, прием фотографий, отображение не типовых меню и т.п. Для каждого такого эндпоинта реализован отдельный метод. Специализированные эндпоинты:

  • /start - стартовое меню приложения
  • /mainMenu - главное меню выбранного приюта
  • /pray - вызов волонтера пользователем
  • /getContacts - отправка пользователем своих контактных данных
  • /reportInfo - информирование пользователя о форме отчета
  • /report - прием текстовой части отчета
  • /violation - отправка волонтером предупреждения пользователю

Обычные эндпоинты - эндпоинты, задача которых отправить пользователю некое информационное сообщение (адрес приюта, техника безопасности, схема проезда и пр.) и меню для выбора пользователем дальнейшего действия. Эти эндпоинты хранятся в базе данных, каждый из них обрабатывается одним методом.

Используемые типы

API телеграм-бота

API телеграм-бота поддерживает CRUD операции для всех сущностей. Документация так же содержится в Swagger.

HTTP Responses:

Код Описание
200 Результат запроса получен
400 Невалидные входные данные
404 Результат запроса = NULL
500 Внутренний косяк сервера

Сервис связи с телеграм-сервером

Сервисы и методы телеграм бота