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

Настройка и использование библиотеки «Телеграм Бот»

Описание библиотеки

Библиотека предназначена для подключения к приложению телеграм-бота.

Телеграм бот может работать в каналах, а также групповых и личных чатах.

В библиотеке поддерживаются следующие основные функции:

  • отправка сообщений,
  • обработка входящих сообщений,
  • обработка команд,
  • блокировка пользователя,
  • удаление сообщений.

Предварительные требования

«1С:Исполнитель» версии 7.x.

Загрузка библиотеки

Вы можете скачать актуальную версию проекта библиотеки по ссылке.

Работа библиотеки

Ниже перечислены основные принципы работы с библиотекой «Телеграм Бот»:

  1. Получение информации о входящих сообщениях выполняется через веб-хук.
  2. При получении события информация об авторе сохраняется в справочнике Учетные записи, информация о чате, в котором произошло событие, сохраняется в справочнике Учетные записи.
  3. Для реализации своего алгоритма реакции на событие с сервера «Телеграм» необходимо реализовать контакт сервиса e1c::ТелеграмБот::Основное::ВходящиеСообщения.
  4. Для отправки сообщений или других команд необходимо воспользоваться программным интерфейсом библиотеки.

Примеры

Пример отправки простого текстового сообщения
Телеграм.ОтправитьТекстовоеСообщение(Текст, Чат)
Пример отправки сообщения с командой создания клавиатуры в поле ввода
знч ИсходящееСообщение = новый ИсходящееСообщение(Чат = Чат, Текст = Текст)

знч ШаблонОтвета = новый КлавиатураПоляВвода()
ШаблонОтвета.ПодобратьРазмер = Истина
ШаблонОтвета.ПодсказкаПоляВвода = "Нажми на кнопку, получишь результат"
ШаблонОтвета.Клавиатура = [
[
новый КнопкаКлавиатурыПоляВвода("Кнопка 1"),
новый КнопкаКлавиатурыПоляВвода("Кнопка 2")
],
[
новый КнопкаКлавиатурыПоляВвода("Кнопка 3"),
новый КнопкаКлавиатурыПоляВвода("Кнопка 4")
]
]

ИсходящееСообщение.ШаблонОтвета = ШаблонОтвета

Телеграм.ОтправитьТекстовоеСообщение(ИсходящееСообщение)
Пример отправки текстового сообщения с клавиатурой сообщения
знч ИсходящееСообщение = новый ИсходящееСообщение(Чат = Чат, Текст = Текст)

знч ШаблонОтвета = новый КлавиатураСообщения()
ШаблонОтвета.Клавиатура =
[
[
новый КнопкаКлавиатурыСообщения(Текст = "Удалить", ДанныеОбратногоВызова = "delete_this")
],
[
новый КнопкаКлавиатурыСообщения(Текст = "Портал", Ссылка = "https://developer.1c.ru"),
новый КнопкаКлавиатурыСообщения(Текст = "Копировать", ТекстВБуферОбмена = "https://developer.1c.ru")
]
]

ИсходящееСообщение.ШаблонОтвета = ШаблонОтвета

Телеграм.ОтправитьТекстовоеСообщение(ИсходящееСообщение)

Встраивание библиотеки

Чтобы встроить библиотеку в свой проект, выполните следующие действия:

  1. Перейдите к описанию проекта, в свойстве Библиотеки добавьте новый элемент: ТелеграмБот.

  2. Реализуйте контракт сервиса e1c::ТелеграмБот::Основное::ВходящиеСообщения:

    2.1 Если необходимо обрабатывать входящие текстовые сообщения, добавьте алгоритм в метод ОбработатьВходящееТекстовоеСообщение.

    2.2 Если необходимо обрабатывать нажатие на кнопки сообщения, добавьте алгоритм в метод ОбработатьОбратныйВызов.

    2.3 Если необходимо обрабатывать изменение состава участников группы, добавьте алгоритм в метод ОбработатьИзменениеУчастникаЧата.

  3. Добавьте команды для настройки и администрирования библиотеки:

    3.1 Добавьте компонент интерфейса ФрагментКомандногоИнтерфейса и импортируйте в нем пространство имен e1c::ТелеграмБот::Основное.

    3.2 Добавьте в компонент новый элемент вида ГруппаКомандногоИнтерфейса.

    3.2 Добавьте в группу новый элемент вида Вычисляемое выражение и в поле Binding впишите команду НастройкиТелеграм.

  4. Настройте интеграцию с телеграм-ботом:

    4.1 Создайте бота с помощью @BotFather.

    4.2 Откройте Подключение из группы с настройками «Телеграма».

    4.3 Вставьте токен в поле ввода и нажмите Установить веб-хук.

    В случае успешного подключения отобразится ответ {"ok":true,"result":true,"description":"Webhook was set"}.

  5. Включите режим отладки:

    Если необходимо логировать входящие сообщения с целью отладки, включите режим отладки:

    5.1 Откройте Настройки программы из группы с настройками «Телеграма».

    5.2 Добавьте запись с видом настройки Настройки отладки и значением РежимОтладки.

См. также