TelegramEnterprise Save Abandoned

Библиотека интеграции 1С:Предприятие и Telegram

Project README

1CTelegram

TelegramEnterprise

Библиотека интеграции 1С и Telegram

В данной библиотеке реализованы базовые методы Telegram Bot API для управления ботами

Особенности:

  • Не нужно ничего устанавливать: создайте 2 пустых модуля в базе и скопируйте код из репозитория туда
  • Не нужно разбираться в документации Telegram Bot API: методы уже выполняют конкретные действия, которые подойдут большинству пользователей, вроде ОтправитьКартинку() или ПереслатьСообщение()
  • Основная разработка с тестированием велись на режиме своместимости версии 8.3.6. Возможно, будет работать и на более ранних версиях.

Документация Telegram Bot API:
https://core.telegram.org/bots/api

Схожая библиотека, но для VK:
https://github.com/Bayselonarrend/VKEnterprise

Для начала использования библиотеки достаточно пройти два простых шага:

Установка библиотеки
Библиотека представляет из себя всего два общих модуля
  • Инструменты - содержит вспомогательные методы, вроде отправки http запросов, чтения JSON и пр.
  • Действия - непосредственно сами методы работы с Telegram

Эти модули необходимо добавить в свою конфигурацию (модули серверные). При переименовании модуля Инструменты необходимо будет провести рефакторинг в модуле Действия. Модуль же Действия можно переименовывать без изменений.

Если вы уже используете библиотеку 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


Infostart

Статья на Инфостарте: https://infostart.ru/1c/articles/1951756/

Open Source Agenda is not affiliated with "TelegramEnterprise" Project. README Source: Bayselonarrend/TelegramEnterprise
Stars
35
Open Issues
0
Last Commit
6 months ago
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating