БИТ.ФИНАНС
Настройка взаимодействия с ботом Telegram

Настройка взаимодействия с ботом Telegram
Информация, приведенная в статье, актуальна начиная с релиза 3.1.48. На более ранних релизах могут быть различия.
Общие настройки
В первую очередь, перед тем как настраивать взаимодействие в системе, необходимо создать бота телеграмм. Для этого необходимо найти в Telegram бота «BotFather». Его можно найти, вбив в поисковую строку «@BotFather».

После этого необходимо последовательно ввести две команды: /start и /newbot. В ответ бот попросит придумать имя новому боту.
Имя бота может быть любым. После того как введено имя потребуется ввести наименование бота, оно в отличии от имени должно быть уникальным и заканчиваться на bot.
В случае успеха будет возвращено сообщение с уникальным токеном бота. Он понадобится в дальнейшем при настройке взаимодействия непосредственно в системе. Более подробная информация о создании бота по ссылке: https://core.telegram.org/bots
Важное
Никому не сообщайте токен бота. Он может быть использован для контроля над Вашим ботом.
Отправка оповещений в Telegram
Для отправки оповещений в Telegram из системы в первую очередь необходимо в разделе "Настройки (БИТ)" -> "Управление оповещениями" открыть справочник "Боты Telegram" и создать новый элемент.
При создании элемента справочника необходимо будет заполнить имя бота, его токен, а так же наименование:
После записи можно будет проверить бота. Для этого необходимо нажать кнопку "Проверить". В случае, если проверка пройдет успешно, система вернет сообщение: "Проверка выполнена успешно".
Также есть возможность задать настройки прокси соединения, нажав кнопку "Настройки прокси":
Помимо этого можно установить пин-код. Он необходим для того, чтобы отсечь ненужных пользователей, которые могут запросить регистрацию у вашего бота.
После настройки бота необходимо создать новую настройку доставки оповещений в справочнике "Настройки доставки оповещений", где в качестве способа транспорта указать "Доставка оповещений Telegram", а в качестве бота ранее созданный элемент справочника "Боты Telegram".
Данная настройка доставки указывается в настройках оповещений аналогично другим настройкам доставки.
Далее всем пользователям, которым необходимо получать уведомления в Telegram, необходимо пригласить в свой список контактов ранее созданного бота и написать ему какой-нибудь набор символов. После этого в элементе справочника Бот Telegram необходимо нажать кнопку «Найти чаты».
В открывшемся окне будут показаны чаты, которые были начаты с ботом. После этого необходимо нажать кнопку «Записать и закрыть». При этом создаются новые записи в регистре «Чаты Telegram».
Далее необходимо открыть регистр "Назначение точек доставки" и связать пользователя базы с ботом.
Далее весь механизм оповещений настраивается и работает так же, как и для других способов доставки.
Получение данных из системы в боте Telegram
Помимо отправки простых оповещений в Telegram в системе также есть возможность настроить получение данных по запросу из бота Telegram. Для работы данного механизма и отображения раздела в интерфейсе необходимо включить константу «Использовать Telegram» в Константах (БИТ) на закладке «Интеграция» (ранее константа «Получать информацию от бота Telegram» на закладке «Прочее»).
После включения константы появится новый раздел «Telegram», в котором расположены использующиеся объекты. Для настройки данного механизма пользователю необходимо иметь роль - Администратор оповещений Telegram (кроме пользователей, имеющих полные права).
После установки константы в первую очередь необходимо настроить бот Telegram в справочнике "Боты Telegram". Настройка производится аналогично настройке бота для получения оповещений, за одним исключением: необходимо, чтобы в боте был установлен флаг "Обслуживать чаты". В ином случае команды от пользователя обрабатываться не будут.
    После настройки бота и получения чатов необходимо их дополнительно настроить. Для того чтобы пользователь смог выбирать команды и получать информацию из системы необходимо, чтобы администратор заполнил список доступных команд и статус регистрации.

    • «Статус регистрации» - отображает статус регистрации данного чата для получения информации от основного бота, возможные значения – Ожидает регистрации, Запрещено взаимодействие, Разрешено взаимодействие. Все новые чаты появляются со значением «Ожидает регистрации», далее администратору необходимо либо разрешить, либо запретить взаимодействие данного чата. Про оповещения администратора о новых регистрациях подробнее ниже в разделе «Чаты для оповещений».
    • «Доступные команды» - табличная часть с командами основному боту Telegram, которые доступны данному чату.
    Чаты для оповещений
    Данный регистр сведений предназначен для указания чатов Telegram, которые необходимо оповещать о запросе новых регистраций к боту или о просьбе помощи другому чату.
      Чат может попросить о помощи с помощью команды /help , Telegram также задаст вопрос желаете ли вы поделиться своим контактом для чатов администраторов.
      Тогда чатам для служебных оповещений придет сообщение о запросе помощи.
      Справочник «Команды Telegram»
      Данный справочник предназначен для хранения команд боту Telegram. В справочнике имеется ряд предопределённых команд, которые уже могут использоваться.
        В элементе справочника «Команды Telegram» указывается следующее:
        1. «Команда Telegram» - команда Telegram должна быть указана только латинскими буквами, и не должна повторяться.

        2. «Текст, отображаемый на клавиатуре» - название кнопки на клавиатуре при взаимодействии с ботом непосредственно в Telegram.

        3. «Определение назначения команды» - описание предназначения команды, какая информация получается с помощью данной команды.

        4. «Использовать внешний запрос» - при установке данного флага, поле «Запрос» будет скрыто и откроется поле с выбором либо запроса из справочника «Запросы», либо другой команды Telegram. Данные из таблицы, полученной запросом выводятся построчно и последовательно. Рекомендуется между числовыми полями запроса добавлять строковые, для обозначения получаемой информации.
        5. «Использовать только период» - указывается, когда необходимо использовать в запросе только период как конкретную дату (стандартные на начало дня, на начало недели, на начало месяца и т.д.), то есть данные будут собираться на конкретную дату. Параметр &Период должен присутствовать в запросе, но добавлять его в таблицу Параметры запроса не нужно, т.к. он обрабатывается отдельно и добавляет в Telegram клавиатуру со стандартными значениями плюс произвольный период.

        6. «Использовать начало и конец периода» - указывается, когда необходимо использовать в запросе только период как диапазон, между началом и концом периода (стандартные за месяц, за квартал, за год и т.д.), то есть данные будут собирать за какой-то период. Параметры &НачалоПериода и &КонецПериода должны присутствовать в запросе, но, как и в п.5 добавлять их в таблицу Параметры запроса не нужно. Так же добавляется стандартный набор кнопок в Telegram.

        7. «Параметры запроса» - табличная часть, в которой могут храниться необходимы параметры для запроса.

        8. «Запрос» - текстовое поле, в котором хранится полный текст запроса, который будет исполняться. Данные из таблицы, полученной запросом, выводятся построчно и последовательно. Рекомендуется между числовыми полями запроса добавлять строковые, для обозначения получаемой информации.

        Форма «Взаимодействие с ботом Telegram»
        Данная обработка предназначена для взаимодействия с ботом Telegram, она опрашивает все чаты указанного бота Telegram на предмет появления новых сообщений боту и передает боту полученные данные для чатов, и также записывает всю историю взаимодействия в регистр сведений «Реестр обмена с Telegram». У обработки есть следующие возможности:
        1. «Бот для оповещений» - указывается основной бот для оповещений, с которым взаимодействует данная информационная база

        2. «Проверить соединение» - при нажатии кнопки будет произведена попытка подключения к указанному боту в виде тестового запроса

        3. «Запустить/Остановить взаимодействие» - запуск или остановка взаимодействия с указанным ботом Telegram. Пока у данной обработки не запущено взаимодействие, данный механизм не будет взаимодействовать с ботом, то есть информационная база не будет получать сообщения, которые были отправлены боту и не будет их обрабатывать.

        4. «Расписание» - указывается расписание взаимодействия с ботом, по умолчанию установлено каждые 5 секунд.

        5. «Отправить сообщение чату» - возможность отправить любое сообщение любому чату вручную.
        Реестр обмена с Telegram
        Данный регистр сведений предназначен для хранения истории взаимодействия с ботом Telegram, в нем регистрируются все сообщения, отправленные боту и все сообщения, которые отправил сам бот, а также сообщения, созданные вручную.
          Для очистки регистра "Реестр Telegram" необходимо в разделе "Telegram" открыть обработку "Настройка очистки истории Телеграм", где задать срок хранения истории и расписание работы регламентного задания. Регламентное задания активируется автоматически при установке константы "Использовать Telegram".
          Пример взаимодействия с ботом Telegram
          Пользователь, которому необходимо взаимодействовать с ботом Telegram, сначала должен найти вашего бота в Telegram (если у вас еще нет бота, смотрите раздел в руководстве пользователя «Оповещения в Telegram). Самый удобный способ найти бота - по его имени, например, @BitFinanceAlex_bot. Имя вводится в поисковую строку в Telegram.
          Далее боту необходимо отправить любое сообщение, в ответ на сообщение бот может запросить пин-код, если он установлен, после ввода пин-кода бот ответит, что ваша регистрация находится на рассмотрении.
          Чатам, которым необходимо получать оповещении о новых регистрациях и просьбе помощи (указывается в регистре сведений – Чаты для оповещений) придет оповещение от бота.
          Также в информационной базе, в справочнике «Чаты Telegram» создается новый элемент справочника со статус регистрации – Ожидает регистрации.
          Далее, если данному чату возможно взаимодействовать с ботом Telegram, необходимо поменять статус регистрации на – Разрешено взаимодействие. В этом случае чату придет сообщение –
          После этого Чату необходимо назначить доступные ему команды боту Telegram, делается это в элементе справочника «Чаты Telegram» в табличной части «Доступные команды».
          Теперь, если пользователь напишет любое сообщение боту, то в ответ ему придет сообщение от бота с клавиатурой доступных команд.
          Далее пользователь может кликать на команды в клавиатуре, уточнять период, за который необходимо получить данные, и видеть ответ от бота.
          Если нажать на команду «Больше команд», то список всех команд выведется сообщением.
          Команды также можно отдавать сообщением с именем команды, например, /cashflow.
          Визирование из бота Telegram
          Если настройка бота ранее не производилась, то необходимо предварительно ознакомиться с пунктом "Получение данных из системы в боте Telegram". Если бот был ранее настроен, то для того чтобы пользователь мог визировать документы, достаточно в уже существующих чатах добавить команду «ApprovList». После этого у пользователя в боте станет доступна кнопка
          по нажатию которой будет выводится список доступных для согласования документов. В список выводится по десять документов на странице.
          Для навигации по списку документов используются следующие команды:
          Где одиночная стрелка позволяет переключиться на следующую или предыдущую страницу, а двойная стрелка – перейти в конец или начало списка. В свою очередь кнопка «К списку» используется для возврата к общему перечню доступных команд.

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

          1. Доступные виды решений;
          2. Вложения – прикрепленные к документу файлы;
          3. Ввести комментарий – возможность прокомментировать выбранное решение по визе;
          4. Все визы – возврат к списку доступных виз.
          Список реквизитов зависит от основной настройки РМВ пользователя.
          Оповещения в Telegram по доступным визам без настройки подсистемы "Оповещения".
          Для того, чтобы оповещать пользователей о доступных визах в Telegram без настройки подсистемы оповещения, необходимо установить константу "Оповещения в Telegram о новых визах".
          После установки константы в редактировании настроек пользователей появится настройка, позволяющая пользователю получать оповещения о новых визах.
          Текст оповещения автоматически формируется на основании настроек Рабочего места визирования. Выводятся те реквизиты, которые выведены в основной настройке РМВ пользователя:
          Из оповещения можно сразу принять решение по визе, написать комментарий к решению и просмотреть приложенные к документу файлы. Помимо этого можно вернуться к общему списку виз, если пользователю доступна команда "ApprovList".
          Получение оповещений может контролировать не только администратор, но и пользователь непосредственно из чата. Для того, чтобы включить или отказаться от оповещений, пользователю необходимо открыть общий список документов на согласование и выбрать пункт "Оповещения":
          После чего станут доступными две команды:
          Автор статьи
          Михаил Еремин
          И это все мы сделали для вас!
          Подписывайтесь на нашу рассылку и узнавайте об изменениях в релизах первыми
          Подписывайтесь на нашу рассылку и узнавайте обо всем первые!