Разработка чат-бота Telegram для организации

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

Задача проекта

Проведение закупки это динамический процесс, который сопровождается постоянным изменением статусов и состояний. Все уведомления об изменениях, которыми система обменивается с и участниками торгов отправляются автоматически, делая коммуникацию своевременной и эффективной. Уведомления приходят на email, в личный кабинет, в мобильное приложение. Торговая площадка постоянно развивается, совершенствуя бизнес-процессы и систему оповещений. Одной из задач по модернизации стала необходимость расширения каналов получения уведомлений, делая их получение еще более оперативным, а систему еще более удобной. В качестве нового канала был выбран мессенджер Telegram - один из самых популярных и привычных пользователю сервисов быстрых сообщений.

Технологии

Язык программирования
Язык программирования
База данных
База данных
Серверные решения
Серверные решения

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

Пользовательская часть чат-бота
Пользовательская часть чат-бота
Пользовательская часть чат-бота
Пользовательская часть чат-бота
Пользовательская часть чат-бота
Пользовательская часть чат-бота

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

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

Администрирование

Каждая система нуждается в управлении. В этом направлении для бота предусмотрены ряд настроек, а также роль администратора. Настройки бота хранятся в специальном конфигурационном файле, доступ к которому предоставлен ограниченному кругу лиц, работающих с платформой. Посредством файла можно управлять списком администраторов, настройкой отправки рассылки и др. Администратор бота, успешно авторизовавшись, может отправить пользовательскую рассылку или выгрузить файл статистики. Формирование рассылки включает несколько шагов:

  • Выбор кнопки в футере бота.
  • Ввод текстовой части рассылки - это может быть сообщение о проведении технических работ, поздравление с праздником или любое другое информационное сообщение.
  • При необходимости прикрепить файл. Поддерживается прикрепление документов или изображений семи различных форматов размером не более 50МБ.
  • Выбрать одну или несколько целевых секций для отправки.
  • Подтвердить отправку. При этом у администратора есть возможность отменить рассылку в течение некоторого периода времени, по умолчанию это 300 секунд. Задать пользовательское значение тайм аута также можно через конфигурационный файл.

Кроме кнопки рассылки в футере интерфейса администратора есть кнопка Помощь и Статистика. При выборе последней, по указанному в конфигурационном файле пути на сервере будет выгружен актуальный на текущий момент файл статистики.

Статистика

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

Интеграция

Работа бота тесно связана с платформой. Бот не только получает тексты уведомлений к отправке но и выполняет процессы идентификации пользователей посредством обмена данными. Функционал реализован при помощи REST API и состоит из таких опций как:

  • Получение информации о тексте уведомления и адресатах рассылки.
  • Управление списком секций и их названиями.
  • Управление текстами сообщений в боте.
  • Передача информации для проверки пользователя и др.

Выбранные подходы и средства реализации интеграции обеспечивают гибкость системы и эффективное взаимодействие ее компонентов.

Итоги

Проект разработан в установленные сроки и в полном соответствии с техническим заданием. Этап тестирования успешно пройден. Бот запущен в рабочий режим и отлично выполняет поставленные задачи. В последующем планируется разработка бота для мессенджеров Viber и WhatsApp.

Хотите разработать подобного чат-бота? Пишите нам в сообщения группы:

11
1 комментарий

Кстати, можете рассмотреть возможность дополнения своих ботов голосовыми звонками для быстрой связи со службой поддержки!

Ответить