Общая схема работы Telegram-бота
Схема работы

Пример сценария
Сценарий: Вывод списка документов со статусом «ожидается», с возможностью выбора нужного документа.
- Соо бщение пользователя – «Ожидается», было отправлено нажатием кнопки
Ожидается.

- В команде «Список транспорта» выполнилось условие. Поэтому начнет выполняться действие «Список транспорт».


- Пример кода действия «Список транспорт»
Полный код смотри в Приложении №1**
Здесь описаны некоторые блоки:
- Из сообщения полученного ботом берем ссылку на бота.
Бот = НакопленныеДанные.НастройкиБота.Ссылка;
- Записываем значение «ожидается» для параметра действия с именем «Статус».
УстановитьПараметрДействия(Бот, НакопленныеДанные.ИндентификаторЧата,
ПараметрДействия("Статус"), НРег(Накопленны еДанные.ТекстСообщения));
- Собранные данные о списке документов помещаем в регистр для хранения данных в формате
JSON, чтобы при последующих действиях по новой не собирать информацию с базы, а использовать уже подготовленную.
СтатусВыбораИмя = Нрег(НакопленныеДанные.ТекстСообщения);
// Из прислано сообщения берем текст. Т.е. пе ременная СтатусВыбора Имя получит значение "ожидается".
СтрокаNJSON = TelegramСервер.ЗаписьТаблицыЗначенийВJSONСтроку(СписокДокументов);
УстановитьПроизвольныйПараметр(НакопленныеДанные.НастройкиБота.Ссылка,
НакопленныеДанные.ИдентификаторЧата, "Временная таблица документов", СтрокаJSON);
- Формируем данные для отправки сообщения и переходи к созданию клавиатур «Список транспорт», а также «Вид обработки».
Текст = СтрШаблон (НСтр("ги = '<b>Результат поиска ""%1"" (%2):<b>'"), ВидОбработки, СтатусВыбораИмя);
Сообщение = Новый Структура;
Сообщение.Вставить("Текст", Текст);
Сообщение.Вставить("ПрефиксСсылки", "/SetDocс");
Сообщение.Вставить("Клавиатура", "Список транспорт");
Сообщение.Вставить("СписокДокументов", СписокДокументов);
Сообщение.Вставить("РежимАнализаТекста", "HTML");
ОтправитьСообщение(Сообщение, НакопленныеДанные);
- Создадим клавиатуру «Список транспорт»
Из переданного в действииСообщения.СписокДокументов, берем данные (текс, префикс и ключ для команды) и формируем кнопки. Эта клавиатура будет под сообщением.

- Создадим клавиатуру «Вид обработки».
Эта клавиатура будет расположена под полем вводы ответа.

- Результат
