Отправка сообщения в чат-бот телеграм

mikaelangelo 38 1

Удобно использовать при отладке: добавив к условию точки остановки <здесь ваше произвольное условие> И ОповеститьВтелеграм(ОписаниеОшибки()) = Неопределено - отправит в телеграм причину ошибки, если она произошла. Или, условие точки остановки ОповеститьВтелеграм("Процедура окончена") = Неопределено И Ложь - сообщит о том, что точка остановки пройдена

// отправка любого сообщения, в т.ч. ОписаниеОшибки(), в Телеграм бот
Функция ОповеститьВтелеграм(Сообщение) Попытка 
	
	// 1) Создаем бота в телеграме, для этого нужно перейти в @BotFather и проследовать инструкциям,
	//    по окончании которых нам предоставят Access token	
	ДанныеДоступа = "это Access token";
	
	// 2) однократно получаем ID чата с ботом, предварительно написав боту любое сообщение
	// быстро: https://cms3.ru/kak-poluchit-chat-id-telegram/
	// чуть дольше: из текста json ответа, в объекте chat: "chat": {"id": "ид чата"}
    Соединение = Новый HTTPСоединение("api.telegram.org",443,,,,,Новый ЗащищенноеСоединениеOpenSSL());
    ТекстJSONОтвета = Соединение.Получить(Новый HTTPЗапрос("bot" + ДанныеДоступа + "/getUpdates")).ПолучитьТелоКакСтроку();
	//(затем можно закомментировать две строчки кода выше)
	ИдЧата = "это chat.id";
	
      // 3) Отправляем сообщение с ранее указанными сообщением, токеном, ид чата
   ЗапрячьТелегу = Новый HTTPСоединение("api.telegram.org",443,,,,15,Новый ЗащищенноеСоединениеOpenSSL());
   ЗапрячьТелегу.Получить(Новый HTTPЗапрос("bot" + ДанныеДоступа + "/sendMessage?chat_id=" + ИдЧата + "&text=" + Сообщение));
	
Исключение КонецПопытки КонецФункции
{2} Не все части функции возвращают значение
{12} Переменной ТекстJSONОтвета присвоено значение, но оно нигде не используется
TurboConf - расширение Конфигуратора 1С

Комментарии

markers
#1, 10 июля 2019 12:47

Спасибо! Думал что будет сложно впилить себе отправку на телегу, а оказалось всего две строчки. К слову, сервис "https://cms3.ru/kak-poluchit-chat-id-telegram/" ничего не сообщал не смотря на то что я несколько сообщений боту отправил.. При ручном запросе ./getUpdates через браузер, всё заработало и смог вытащить chat_id. Так-же хотелось бы сказать тем кто так же как и я боится, блокировки API нет. Так что работает как часы. А возможности открываются потрясающие!


Mat Skywalker
#2, 24 марта 2020 06:07

Как я понимаю в РФ работать не будет?


FOX
#3, ред. 08 апреля 2020 11:38

Отправить сообщение или табличный документ в телеграм


FOX
#4, ред. 08 апреля 2020 11:41

(2) Mat Skywalker, можешь глянуть мой код (3), предусматривает использование http/socks прокси.


Константин Аванесов
#5, 02 июня 2020 10:21

Надо через прокси делать. И в описании API есть возожность отправлять сообщения в теле запроса ПОСТ, там же креды, чтоб не светить их на весь интернет.


Константин Аванесов
#6, 02 июня 2020 10:21

(2) Mat Skywalker, Будет через прокси.


Похожие публикации

Отправка сообщений от имени бота Telegram

Отправить сообщение или табличный документ в телеграм

Отправить двоичные данные в телеграм (zip/pdf/gif)

Получение сообщений для бота Telegram

Модератору