Настройка и использование библиотеки «Телеграм Бот»
Описание библиотеки
Библиотека предназначена для подключения к приложению телеграм-бота.
Телеграм бот может работать в каналах, а также групповых и личных чатах.
В библиотеке поддерживаются следующие основные функции:
- отправка сообщений,
- обработка входящих сообщений,
- обработка команд,
- блокировка пользователя,
- удаление сообщений.
Предварительные требования
«1С:Исполнитель» версии 7.x
.
Загрузка библиотеки
Вы можете скачать актуальную версию проекта библиотеки по ссылке.
Работа библиотеки
Ниже перечислены основные принципы работы с библиотекой «Телеграм Бот»:
- Получение информации о входящих сообщениях выполняется через веб-хук.
- При получении события информация об авторе сохраняется в справочнике Учетные записи, информация о чате, в котором произошло событие, сохраняется в справочнике Учетные записи.
- Для реализации своего алгоритма реакции на событие с сервера «Телеграм» необходимо реализовать контакт сервиса e1c::ТелеграмБот::Основное::ВходящиеСообщения.
- Для отправки сообщений или других команд необходимо воспользоваться программным интерфейсом библиотеки.
Примеры
Телеграм.ОтправитьТекстовоеСообщение(Текст, Чат)
знч ИсходящееСообщение = новый ИсходящееСообщение(Чат = Чат, Текст = Текст)
знч ШаблонОтвета = новый КлавиатураПоляВвода()
ШаблонОтвета.ПодобратьРазмер = Истина
ШаблонОтвета.ПодсказкаПоляВвода = "Нажми на кнопку, получишь результат"
ШаблонОтвета.Клавиатура = [
[
новый КнопкаКлавиатурыПоляВвода("Кнопка 1"),
новый КнопкаКлавиатурыПоляВвода("Кнопка 2")
],
[
новый КнопкаКлавиатурыПоляВвода("Кнопка 3"),
новый КнопкаКлавиатурыПоляВвода("Кнопка 4")
]
]
ИсходящееСообщение.ШаблонОтвета = ШаблонОтвета
Телеграм.ОтправитьТекстовоеСообщение(ИсходящееСообщение)
знч ИсходящееСообщение = новый ИсходящееСообщение(Чат = Чат, Текст = Текст)
знч ШаблонОтвета = новый КлавиатураСообщения()
ШаблонОтвета.Клавиатура =
[
[
новый КнопкаКлавиатурыСообщения(Текст = "Удалить", ДанныеОбратногоВызова = "delete_this")
],
[
новый КнопкаКлавиатурыСообщения(Текст = "Портал", Ссылка = "https://developer.1c.ru"),
новый КнопкаКлавиатурыСообщения(Текст = "Копировать", ТекстВБуферОбмена = "https://developer.1c.ru")
]
]
ИсходящееСообщение.ШаблонОтвета = ШаблонОтвета
Телеграм.ОтправитьТекстовоеСообщение(ИсходящееСообщение)
Встраивание библиотеки
Чтобы встроить библиотеку в свой проект, выполните следующие действия:
-
Перейдите к описанию проекта, в свойстве Библиотеки добавьте новый элемент:
ТелеграмБот
. -
Реализуйте контракт сервиса e1c::ТелеграмБот::Основное::ВходящиеСообщения:
2.1 Если необходимо обрабатывать входящие текстовые сообщения, добавьте алгоритм в метод ОбработатьВходящееТекстовоеСообщение.
2.2 Если необходимо обрабатывать нажатие на кнопки сообщения, добавьте алгоритм в метод ОбработатьОбратныйВызов.
2.3 Если необходимо обрабатывать изменение состава участников группы, добавьте алгоритм в метод ОбработатьИзменениеУчастникаЧата.
-
Добавьте команды для настройки и администрирования библиотеки:
3.1 Добавьте компонент интерфейса ФрагментКомандногоИнтерфейса и импортируйте в нем пространство имен e1c::ТелеграмБот::Основное.
3.2 Добавьте в компонент новый элемент вида ГруппаКомандногоИнтерфейса.
3.2 Добавьте в группу новый элемент вида Вычисляемое выражение и в поле Binding впишите команду НастройкиТелеграм.
-
Настройте интеграцию с телеграм-ботом:
4.1 Создайте бота с помощью @BotFather.
4.2 Откройте Подключение из группы с настройками «Телеграма».
4.3 Вставьте токен в поле ввода и нажмите Установить веб-хук.
В случае успешного подключения отобразится ответ
{"ok":true,"result":true,"description":"Webhook was set"}
. -
Включите режим отладки:
Если необходимо логировать входящие сообщения с целью отладки, включите режим отладки:
5.1 Откройте Настройки программы из группы с настройками «Телеграма».
5.2 Добавьте запись с видом настройки Настройки отладки и значением РежимОтладки.