Show/Hide Toolbars

Руководство администратора

Чат-бот для интеграции с Telegram (публикация)

Ссылки Назад Вверх Вперед

Чат-бот для интеграции с Telegram настраивается с помощью публикации. Публикация получает обновления из Telegram и пишет комментарии в нужную задачу или чат "Первой Формы".

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

Таким образом:

Все пользователи используют для общения удобный и доступный им канал.

В системе сохраняется история переписки в привязке к конкретной обсуждаемой задаче.

Аналогичным способом можно настроить не только дублирование сообщений, но и, например, постановку задач в "Первую Форму" путем отправки чат-боту соответствующего сообщения.

При публикации сообщения делается попытка распознать автора. Если в системе есть учетная запись пользователя с таким ID в Telegram, то сообщения будут публиковаться в "Первой Форме" от имени конкретного пользователя. Если пользователь не указал ID и в системе нет подходящей учетной записи, то в зависимости от содержания публикации, будет либо создан новый пользователь, либо сообщения будут публиковаться от имени служебного пользователя, назначенного на роль чат-бота.

Порядок действий

В Telegram

1. Если вы еще не зарегистрированы в Telegram, пройдите регистрацию.

2. Создайте чат-бота. Для получения идентификатора нового бота (bot token) найдите в Telegram пользователя @BotFather, запустите с ним чат (команда /start при первом обращении) и введите команду создания нового бота: /newbot.

botfather

Команда создания нового бота

Введите публичное имя для вашего бота и имя пользователя для бота в Telegram. Обратите внимание: имя пользователя должно быть уникальным и должно заканчиваться на "bot" (например: Chat1FBot). Если пользователь с таким именем уже существует вы увидите ошибку: "Sorry, this username is invalid" — необходимо ввести уникальное имя. При успешном создании вы получите сообщение с ссылкой на свого бота в Telegram и токеном для доступа к HTTP API.

botfather2

Сообщение об успешном создании чат-бота

ID бота потребуется подставить вместо tlgChatBot, а токен — вместо tlgToken в скрипте ниже.

3. Добавьте созданного чат-бота в качестве участника в нужный чат.

В "Первой Форме"

1. Создайте служебного пользователя, который будет выполнять роль чат-бота. В скрипте ниже подставьте его ID вместо 1fChatUserID.

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

Объекты и настройки

Публикация

Публикация имеет тип POST и единственный входящий параметр requestBody. 

Пакет действий для публикации содержит два смарт-действия:

1. HTTP ответ

Параметр

Значение

Тип возвращаемого результата

JSON

Тело ответа

{"ok":200}

Код ответа

OK

Заголовки

-

Файл

-

2. Выполнить Lua скрипт

Параметр

Значение

Lua скрипт

Отправить комментарий в 1Ф чат

Отправить комментарий в 1Ф чат