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

mikaelangelm 69 1 1 3

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

// отправка любого сообщения, в т.ч. ОписаниеОшибки(), в Телеграм бот
Функция ОтправитьСообщениеВТелеграм(Сообщение) Попытка

// 1) Создаем бота в телеграме, для этого нужно перейти в @BotFather и проследовать инструкциям,
//    по окончании которых нам предоставят Access token	
ДанныеДоступа = "это Access token";

// 2) однократно получаем ID чата с ботом, предварительно написав боту любое сообщение
// быстро: 
    // - https://cms3.ru/kak-poluchit-chat-id-telegram/
    // - api.telegram.org/bot<ДанныеДоступа>/getUpdates
// чуть дольше: из текста 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=" + Сообщение));

Исключение КонецПопытки КонецФункции

7

Комментарии

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, Будет через прокси.


mikaelangelm
#7, 15 октября 2020 16:16

Сегодня работает без прокси. Домашний интернет от билайн, екатеринбург


См. также

Отправить документ в чат телеграм

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

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

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

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

ПриОтправкеСообщения (БСП)

ПередОтправкойСообщения (БСП)

Модератору