Отправка сообщений из 1C на Telegram средствами Python

Потребовалось для мониторинга ключевых операций получать сообщения об ошибках через Telegram.

Так как не было особо времени изобретать велосипед, решил использовать пакет telebot.

Для этого понадобится сам Python, тестировалось на версии  3.5.4

Установить пакет telebot, выполнить в командной строке от имени администратора: pip3 install telebot.

Создать константы: ТокенTelegram Строка(200), КаналTelegram Строка(200)

Создать общий макет TelegramSendМessages с бинарными данными и поместить туда скрипт

В общий модуль добавить процедуру:


Процедура ОтправитьСообщениеТеlegram(ТекстСообщения) Экспорт
    
    Токен = СокрЛП(Константы.ТокенTelegram.Получить());
    Канал = СокрЛП(Константы.КаналTelegram.Получить());
    ПутьСкрипта = Константы.КаталогВременныхФайлов.Получить() + "\" + "tbot.py";
    
    ПолучитьОбщийМакет("TelegramSendМessages").Записать(ПутьСкрипта);
    Команда = "py """ + ПутьСкрипта + """ """ + Токен + """ """ + Канал + """ """ + СтрЗаменить(ТекстСообщения, Символы.ПС, "") + """";
    
    WSHShell = Новый COMОбъект("WScript.Shell");
    WSHShell.Exec(Команда);
    
КонецПроцедуры

Далее нужно настроить Telegram:

1. Создать бота, для этого используем BotFather и в итоге получаем токен, его устанавливаем в константу ТокенTelegram

2. Создаем публичный канал, в этот канал нужно добавить в администраторы созданного бота. И в константу КаналTelegram устанавливаем имя канала в формате @ИмяКанала

Теперь можно пользоваться процедурой для отправки сообщения.

Read Full Article