Библиотека интеграции 1С:Предприятие и Telegram
Библиотека интеграции 1С и Telegram
В данной библиотеке реализованы базовые методы Telegram Bot API для управления ботами
Особенности:
Документация Telegram Bot API:
https://core.telegram.org/bots/api
Схожая библиотека, но для VK:
https://github.com/Bayselonarrend/VKEnterprise
Эти модули необходимо добавить в свою конфигурацию (модули серверные). При переименовании модуля Инструменты необходимо будет провести рефакторинг в модуле Действия. Модуль же Действия можно переименовывать без изменений.
Если вы уже используете библиотеку VKEnterprise для интеграции с ВКонтакте, то модуль Инструменты совместим и дублировать его не нужно, однако стоит проверить, не изменилось ли что-нибудь с выходами новых версий библиотек.
После установки можно вызывать нужные методы из модуля Действия
Перед началом работы необходимо получить некоторые параметры для бота Telegram. Их всего два
1. Токен
Токен можно получить у BotFather сразу после создания бота
2. ID чата
Если вы собираетесь использовать бота для управления каналом, то вместо ID чата можно использовать имя с @ в начале (@mychannel). При использовании бота как чат-бота, ID чата необходимо получать из сообщений, приходящих на ваш http-сервис, для каждого отдельного пользователя.
Оба эти значения передаются как первые два параметра в методы.
Все методы возвращают ответ от Telegram как структуру
Информация о боте | Метод: ПолучитьИнформациюБота()
Параметр | Тип | Назначение |
---|---|---|
Токен | Строка | Токен бота |
Получение обновлений при работе в режиме LongPoll | Метод: ПолучитьОбновления()
Параметр | Тип | Назначение |
---|---|---|
Токен | Строка | Токен бота |
LongPoll - вы сами получаете обновления о новых сообщениях от Telegram. Callback - сервер присылает вам информацию при появлении новых сообщений.
Обработать Callback от бота | Метод: ОбработатьДанные()
Параметр | Тип | Назначение |
---|---|---|
Запрос | Http-запрос | Запрос, приходящий на http-сервис |
Преобразует запрос от бота в человеческий вид. Возвращает структуру
Отправить текстовое сообщение | Метод: ОтправитьТекстовоеСообщение()
Параметр | Тип | Назначение |
---|---|---|
Токен | Строка | Токен бота |
IDЧата | Строка/Число | ID целевого чата |
Текст | Строка | Текст сообщения |
Клавиатура | Строка | См. Прочее - Сформировать клавиатуру по массиву кнопок |
Отправить картинку | Метод: ОтправитьКартинку()
Параметр | Тип | Назначение |
---|---|---|
Токен | Строка | Токен бота |
IDЧата | Строка/Число | ID целевого чата |
Текст | Строка | Подпись под картинкой |
Картинка | Двоичные данные / Строка (путь к файлу) | Файл |
Клавиатура | Строка | См. Прочее - Сформировать клавиатуру по массиву кнопок |
Отправить видео | Метод: ОтправитьВидео()
Параметр | Тип | Назначение |
---|---|---|
Токен | Строка | Токен бота |
IDЧата | Строка/Число | ID целевого чата |
Текст | Строка | Подпись под видео |
Видео | Двоичные данные / Строка (путь к файлу) | Файл |
Клавиатура | Строка | См. Прочее - Сформировать клавиатуру по массиву кнопок |
Отправить аудио | Метод: ОтправитьАудио()
Параметр | Тип | Назначение |
---|---|---|
Токен | Строка | Токен бота |
IDЧата | Строка/Число | ID целевого чата |
Текст | Строка | Подпись под аудио |
Аудио | Двоичные данные / Строка (путь к файлу) | Файл |
Клавиатура | Строка | См. Прочее - Сформировать клавиатуру по массиву кнопок |
Отправить документ | Метод: ОтправитьДокумент()
Параметр | Тип | Назначение |
---|---|---|
Токен | Строка | Токен бота |
IDЧата | Строка/Число | ID целевого чата |
Текст | Строка | Подпись под документом |
Документ | Двоичные данные / Строка (путь к файлу) | Файл |
Клавиатура | Строка | См. Прочее - Сформировать клавиатуру по массиву кнопок |
Отправить гифку | Метод: ОтправитьГифку()
Параметр | Тип | Назначение |
---|---|---|
Токен | Строка | Токен бота |
IDЧата | Строка/Число | ID целевого чата |
Текст | Строка | Подпись под гифкой |
Гифка | Двоичные данные / Строка (путь к файлу) | Файл |
Клавиатура | Строка | См. Прочее - Сформировать клавиатуру по массиву кнопок |
Отправить набор любых файлов | Метод: ОтправитьНаборЛюбыхФайлов()
Параметр | Тип | Назначение |
---|---|---|
Токен | Строка | Токен бота |
IDЧата | Строка/Число | ID целевого чата |
Текст | Строка | Подпись под файлами |
СоответствиеФайлов | Соответствие: Ключ - ДД, Строка (Путь к файлу); Значение - Тип содержимого | Набор файлов |
Клавиатура | Строка | См. Прочее - Сформировать клавиатуру по массиву кнопок |
Доступны типы файлов: audio, document, photo, video. Нельяз смешивать типы audio и document с другими типами внутри одного сообщения.
Отправить местоположение | Метод: ОтправитьМестоположение()
Параметр | Тип | Назначение |
---|---|---|
Токен | Строка | Токен бота |
IDЧата | Строка/Число | ID целевого чата |
Широта | Строка/Число | Географическая широта |
Долгота | Строка/Число | Географическая долгота |
Клавиатура | Строка | См. Прочее - Сформировать клавиатуру по массиву кнопок |
Отправить контакт с номером телефона | Метод: ОтправитьКонтакт()
Параметр | Тип | Назначение |
---|---|---|
Токен | Строка | Токен бота |
IDЧата | Строка/Число | ID целевого чата |
Имя | Строка/Число | Имя |
Фамилия | Строка/Число | Фамилия |
Телефон | Строка | Номер телефона |
Отправить опрос | Метод: ОтправитьОпрос()
Параметр | Тип | Назначение |
---|---|---|
Токен | Строка | Токен бота |
IDЧата | Строка/Число | ID целевого чата |
Вопрос | Строка | Вопрос опроса |
Массив ответов | Массив строк | Строки варианты ответа |
Анонимный | Булево (по умолчанию Истина) | Анонимность опроса |
Переслать сообщение | Метод: ПереслатьСообщение()
Параметр | Тип | Назначение |
---|---|---|
Токен | Строка | Токен бота |
IDОригинала | Строка/Число | ID сообщения в чате-источнике |
IDОткуда | Строка/Число | ID чата-источника |
IDКуда | Строка/Число | ID чата-приемника |
Забанить пользователя | Метод: Бан()
Параметр | Тип | Назначение |
---|---|---|
Токен | Строка | Токен бота |
IDЧата | Строка/Число | ID целевого чата |
IDПользователя | Строка/Число | ID участника канала |
Разбанить пользователя | Метод: Разбан()
Параметр | Тип | Назначение |
---|---|---|
Токен | Строка | Токен бота |
IDЧата | Строка/Число | ID целевого чата |
IDПользователя | Строка/Число | ID участника канала |
Создать ссылку-приглашение | Метод: СоздатьСсылкуПриглашение()
Параметр | Тип | Назначение |
---|---|---|
Токен | Строка | Токен бота |
IDЧата | Строка/Число | ID целевого чата |
Заголовок | Строка (по умолчанию "") | Заголовок ссылки |
Дата истечения | Дата (по умолчанию "") | Дата, после которой ссылка становится неактивной. Бессрочная, если не заполнено |
ЛимитПользователей | Число (по умолчанию "") | Максимальное количество вступлений по ссылке. Бесконечно, если не заполнено |
Закрепить сообщение | Метод: ЗакрепитьСообщение()
Параметр | Тип | Назначение |
---|---|---|
Токен | Строка | Токен бота |
IDЧата | Строка/Число | ID целевого чата |
IDСообщения | Строка/Число | ID сообщения для закрепления |
Открепить сообщение | Метод: ОткрепитьСообщение()
Параметр | Тип | Назначение |
---|---|---|
Токен | Строка | Токен бота |
IDЧата | Строка/Число | ID целевого чата |
IDСообщения | Строка/Число | ID сообщения для открепления |
Получить число участников канала | Метод: ПолучитьЧислоУчастников()
Параметр | Тип | Назначение |
---|---|---|
Токен | Строка | Токен бота |
IDЧата | Строка/Число | ID целевого чата |
Создать клавиатуру из массива кнопок | Метод: Сформировать клавиатуру по массиву кнопок()
Параметр | Тип | Назначение |
---|---|---|
Массив кнопок | Массив строк | Массив строк с текстом кнопок |
Под сообщением | Булево (по умолчанию Ложь) | Истина - кнопки будут под сообщением (доступно не для всех методов), Ложь - кнопки будут нижней панелью над полем ввода сообщения |
Отправить любой файл (метод используется как основа для функций отправки картинки, видео, документа, аудио и гифки) | Метод: ОтправитьФайл()
Параметр | Тип | Назначение |
---|---|---|
Токен | Строка | Токен бота |
IDЧата | Строка/Число | ID целевого чата |
Текст | Строка | Текст сообщения |
Файл | Двоичные данные / Строка (путь к файлу) | Файл |
Вид | Строка | Доступные значения: document, photo, video, audio, animation |
Клавиатура | Строка | См. Прочее - Сформировать клавиатуру по массиву кнопок |
В проекте используется механизм распаковки zip и gzip vbondarevsky/Connector
Copyright 2017-2023 Vladimir Bondarevskiy под Apache License, Version 2.0
https://github.com/vbondarevsky/Connector/
Остальной проект распространяется под лицензией MIT
Модуль Инструменты данной библиотеки совместим с подобным модулем библиотеки VKEnterprise для интеграции с ВКонтакте
https://github.com/Bayselonarrend/VKEnterprise
Статья на Инфостарте: https://infostart.ru/1c/articles/1951756/