Перейти к основному содержимому

Передача информации между цепочками и ботами

Почти в каждом боте требуется передавать данные от подписчика к менеджеру или администратору. Разберём это на примере чата с менеджером: подписчик нажимает кнопку «Подключить», а сообщения, файлы и изображения курсируют между ним и менеджером.

Архитектура решения

Используем две цепочки:

  • Цепочка бота-клиента — с кнопкой «Подключить менеджера».
  • Цепочка бота-менеджера — где менеджер отвечает подписчику по кнопке «Ответить».

Передача информации между ботами 1


Цепочка «Подключение менеджера»

Цепочка состоит из трёх блоков.

Передача информации между ботами 2

Передача информации между ботами 3

Блок 1. Кнопка «Подключить»

Подписчик нажимает кнопку и начинает переписку с менеджером.

Сброс состояния

При первом нажатии нужно показать вводное сообщение, при последующих — обычное «вам пишут…». Оба сообщения выводятся в Блоке 2, поэтому состояние хранится в переменной mgr.

Перед нажатием на «Подключить» сценарий действий обнуляет переменную mgr — присваивает ей «ничего».

Передача информации между ботами 4

Блок 2. Ожидание сообщения

Через сценарий действий «Подключение менеджера 1» выводим подходящее сообщение и ждём ответ подписчика.

Передача информации между ботами 5

Передача информации между ботами 6

Передача информации между ботами 7

Блок 3. Отправка сообщения менеджеру

Подключаем действие, которое отправляет сообщение в бот менеджера и возвращает подписчика в Блок 2.

Передача информации между ботами 8

Файлы и изображения

Подписчик может прислать файл, изображение или текст. Сначала принимаем файл/изображение, затем отправляем сообщение с кнопкой «Ответить».

Передача информации между ботами 9

Передача информации между ботами 10

Кнопка «Ответить»

В кнопке передаём данные [ClientID] и [BotID] — чтобы из бота менеджера можно было ответить именно этому подписчику.

Передача информации между ботами 11

Лимит длины строки данных

Длина строки данных, передаваемых через кнопку, ограничена, причём у разных мессенджеров разные лимиты. Если сообщение не доходит — возможно, строка слишком длинная.


Цепочка «Ответ менеджера клиенту»

Всего два блока:

БлокЗадача
1. ИнфосообщениеПоказывает менеджеру: «Напишите сообщение для [Data1] (ClientID)».
2. ОтправкаОтправляет файлы и текст подписчику.

Передача информации между ботами 12

Передача информации между ботами 13

Передача информации между ботами 14

Передача информации между ботами 15


Готово

Сценарий готов к использованию.

Если что-то непонятно

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

Импорт сценариев

Импорт доступен в настройках аккаунта — только на оплаченных аккаунтах.

Скачать готовый сценарий

Скачать файл сценария