Файл с выгрузкой базы. Содержит несколько настроенных команд. Для проверки работы достаточно зарегистрировать свой бот в Telegram и указать в справочнике настроек полученный токен. Пример с выгрузкой получает не более 100 сообщений в сутки.
Файл с конфигурацией. Реализация основных функций дана в виде работающего примера. Содержит около 1000 строк кода общего модуля "Telegram_Сервер" и минимально необходимые объекты конфигурации. Все выведено в отдельную подсистему. Это позволит добавить доработки в любую конфигурацию 1С и приступить к реализации требуемых команд не тратя время на тестирование методов API Telegram.
Работа с ботом.
Система имеет набор базовых функций по отправке сообщений и обработке ответов.
Система поддерживает работу с запросами и командами типа:
- Ответ заблокированному клиенту (Сообщение)
- Первое обращение без команды (Сообщение)
- Первое обращение с командой (Сообщение)
- Ответ на сообщение НЕ команду (Сообщение)
- Запрос списка доступных команд (Сообщение с клавиатурой)
- Выполнение команды с форматированным сообщением
- Выполнение команды с отправкой фото
- Выполнение команды с отправкой файла
- Выполнение команды с кнопками-ответами
- Выполнение команды с кнопками инлайн
- Режим диалога
- Обработка авторизации нового клиента.
Команды в системе разделены на общие – доступны всем, в том числе и не авторизованным пользователям, команды для клиентов, команды для клиентов и внутренних пользователей.
Система позволяет хранить:
-
Историю принятых сообщений.
-
Историю ответов. Хранение команды настраивается в справочнике команд.
-
Клиентов бота – внутренних пользователей и партнеров.
-
Заявки на регистрацию.
Есть возможность работы в режиме диалога: клиент отправляет команду, система дает ответ и просит прислать данные, например артикул при запросе остатка. Далее система выполняет процедуру по обработке данных при получении сообщения, или переключается на новую команду, если присланное слово – команда.
Система предполагает возможность работы с несколькими чатами, настройки ботов хранятся в справочнике.
Для примера в системе, кроме предопределенных, созданы две команды:
Клава – позволяет отправить ответ в виде вопросов к кнопкам клавиатуры.
Остатки – показывает остатки товара, работает в режиме диалога. В процедуре обработки команды вы можете переделать запрос под свою базу.
Имеется 4 предопределенные команды:
-
Приветствие – отправка приветствия новым пользователям, в списке стандартных команд не отображается.
-
Ответ заблокированному – при отправке в чат сообщения дает стандартный ответ пользователю, которого отключили.
-
Команды – отправляет все доступные команды в виде кнопок клавиатуры.
-
Вступить – инициализирует авторизацию нового клиента.
Авторизация клиента.
При отправке команды «Вступить» система предлагает ввести ИНН контрагента. Если найден клиент с таким ИНН и его основной менеджер зарегистрирован в системе, тогда он получает оповещение о заявке на регистрацию с кнопками «Разрешить» и «Отказать». Клиенту отправляется сообщение о том, что заявка принята. Если контрагент не обнаружен, тогда клиенту отправляется информация о том, что для работы с ботом нужно стать партнером компании.
Если менеджер нажимает кнопку «Разрешить», тогда клиент регистрируется в регистре сведений и менеджеру и клиенту отправляется сообщение о удачной регистрации. Если менеджер отказывает, тогда клиенту и менеджеру приходит отказ в регистрации. Заявка не аннулируется.
Авторизовать менеджера или клиента можно вручную, добавив запись в регистр с клиентами бота.
В справочнике команд имеются настройки:
-
Наименование (Писать в верхнем регистре) – идентификатор команды клиента.
-
Канал – идентифицирует к какому боту относится команда.
-
Описание – просто информация для админа бота.
-
Тип команды. Определяет вариант отправляемого ответа.
-
Код обработки – текст на языке 1С.
-
Группа команд – определяет кому доступна команда.
-
Признаки: Сохранять ответ; Использование команды; Отключить отказ превью (для ссылок на сайты); Стилизованный текст (включает HTML если в тексте кода обработки есть символ «<», в противном случае используется формат Markdown); Ожидать ответ.
-
Название процедуры команды – имя процедуры в общем модуле Telegram_Сервер. Выполняется при ответе пользователя, если взведен флаг «Ожидать ответ» или сразу, при первом вызове команды если флаг не взведен.
-
Текст ошибки выполнения.
Тестировал на платформе 8.3.18.1363.