Как отправить сообщение Telegram в группу?

01.03.21

Интеграция - Мессенджеры и боты

Отправка сообщения в группу Telegram.

По работе я столкнулся с задачей отправки сообщения в группу Telegram.

В организации уже был Telegram-бот и настроена рассылка сообщений пользователям с помощью этого бота, поэтому статья рассчитана на тех, кто с ботом работать уже умеет. Если не умеете, то на Infostart есть обработки и статьи, но это другая - отдельная тема.

На Infostart я простых материалов для отправки сообщений в группу Telegram не нашел. То, что было, было очень длинно и предлагалось изучить api Telegram. Но хотелось сделать это "малой кровью".

Так вот отправить сообщение в группу все-таки оказалось просто. Сначала я сумел сделать это с помощью утилиты curl. А поскольку сделать мне это удалось, то переделать отправку с помощью curl на 1С не составило большого труда. Нужен был всего лишь опыт работы с post-запросом.

Итак, что потребовалось сделать:

1. Создать бота-телеграм для отправки сообщений.

2. Добавить этого боту в группу.

3. Соответственно подписаться на этого бота, но подписать надо группу, а не конкретных пользователей.

4. Бота надо сделать администратором группы, чтобы он получил доступ к сообщениям.

5. Сам пример отправки сообщения с помощью curl из командной строки выглядит так:

curl -X POST "https://api.telegram.org/bot1641633011:AAHkAXbdj1RKTJYHCnJF7dZ8u9LMyWL8ba7/sendMessage" -d "chat_id=-1001222395108&text=my sample text"

Здесь: 

1) 1641633011:AAHkAXbdj1RKTJYHCnJF7dZ8u9LMyWL8ba7 - токен моего бота

2) -1001222395108 - id группы, куда я отправлял ботом сообщение. id группы начинается с символа "-" в отличии от id пользователя, например.

3) my sample text - текст тестового сообщения

Потом я просто переписал это для 1С. Код не самодостаточный, но рассчитано на то, что код работы с ботом у вас уже есть. Вот пример кода:

// Это для сообщения в группу от чат-бота служебных сообщений
&НаСервере
Функция ОтправитьСлужебноеСообщениеTelegramВГруппу(ИдентрификаторЧата,ТекстСообщения) Экспорт
	ПараметрыЗапроса = Новый Структура;
	ПараметрыЗапроса.Вставить("chat_id",ИдентрификаторЧата);
	ПараметрыЗапроса.Вставить("text",ТекстСообщения);
	Ответ = ОтправитьЗапросСлужебныеСообщенияВГруппу("sendMessage",ПараметрыЗапроса);
	Если Ответ <> Неопределено и Ответ.КодСостояния =  200 Тогда
		Возврат Истина;
	Иначе 
		Возврат Ложь;
	КонецЕсли; 
КонецФункции

Функция ОтправитьЗапросСлужебныеСообщенияВГруппу(Команда,ПараметрыЗапроса)
	#Область Проверки
	ТокенТелеграм = Константы.ТокенТелеграмСлужебныеСообщения.Получить();
	СерверТелеграм = Константы.СерверТелеграм.Получить();
	Если Не ЗначениеЗаполнено(ТокенТелеграм) Тогда
		Сообщить("Не заполнен токен");
		Возврат Неопределено;
	КонецЕсли; 
	Если Не ЗначениеЗаполнено(СерверТелеграм) Тогда
		Сообщить("Не заполнен сервер телеграм");
		Возврат Неопределено;
	КонецЕсли; 
	Прокси = ПолучитьПрокси();
	Соединение  =  Новый HTTPСоединение(СерверТелеграм,443,,,Прокси,,Новый ЗащищенноеСоединениеOpenSSL());
	Если Соединение = Неопределено Тогда 
		Сообщить("Не удалось установить соединение");
		Возврат Неопределено;
	КонецЕсли;
	#КонецОбласти
	#Область Запроса
	ТекстЗапроса = "bot" + ТокенТелеграм + "/"+Команда;
	Если ЗначениеЗаполнено(ПараметрыЗапроса) Тогда
		ПервыйПараметр = Истина;
		Для каждого Эл Из ПараметрыЗапроса Цикл
			Если ПервыйПараметр Тогда
				ТекстЗапроса = ТекстЗапроса+"?";
				ПервыйПараметр = Ложь;
			Иначе 
				ТекстЗапроса = ТекстЗапроса+"&";
			КонецЕсли;
			ТекстЗапроса = ТекстЗапроса+Эл.Ключ+"=-"+Эл.Значение;
		КонецЦикла;
	КонецЕсли;
	Запрос = новый HTTPЗапрос(ТекстЗапроса);
	Ответ = Соединение.ВызватьHTTPМетод("POST", Запрос);	
	#КонецОбласти
	Если Ответ.КодСостояния <>  200 Тогда
		Ответ = Неопределено
	КонецЕсли; 
	
	Возврат Ответ
КонецФункции

 

телеграм telegram сообщение бот группа

См. также

SALE! 25%

Конструктор ботов Телеграм, редакция 2

Мессенджеры и боты Платформа 1С v8.3 Платные (руб)

Развитие популярного решения для интеграции мессенджера Telegram с нашей любимой 1С.

15000 11250 руб.

18.06.2021    58732    291    255    

345

SALE! 25%

Что нам стоит бота построить? Нарисуем - будет жить! Графический конструктор телеграм-ботов/Telegram

Мобильная разработка Мессенджеры и боты Платформа 1С v8.3 Платные (руб)

Теперь создать telegram-бота - элементарно. Достаточно просто нарисовать блок-схему телеграм-бота, и он сразу заработает. Это возможно при использовании Графического конструктора телеграм-ботов. Это единственный конструктор ботов для telegram, чье качество и функционал подтверждены фирмой 1С, есть сертификат 1С:Совместимо. Расширение в интерактивном режиме, с помощью блок-схем, позволяет с минимальными трудозатратами создать телеграм-ботов в любой конфигурации, работающей на платформе «1С:Предприятие 8.3».

13200 9900 руб.

27.12.2021    33316    80    157    

174

Легкий документооборот (+чат-бот для Telegram)

Документооборот и делопроизводство (СЭД) Мессенджеры и боты Учет документов Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 Платные (руб)

Расширение для согласования справочников и документов в конфигурациях "1С: Бухгалтерия 3.0", "Управление нашей фирмой", "1С ERP Управление предприятием", "Бухгалтерия государственного учреждения". Ролевая адресация, условная маршрутизация, последовательное и параллельное согласование, уведомление о новых задачах на почту, блокировка объектов в зависимости от статуса, запрет проведения в зависимости от статуса, автозапуск процессов согласования, отчеты по исполнительской дисциплине. Не требуется снятие конфигурации с поддержки. Настройка без программирования. Версия для 1cfresh.com. Сертификат 1С-Совместимо.

14900 руб.

15.11.2018    27800    25    48    

57

Email, SMS, Telegram рассылки из 1С - Директ Маркетинг

Управление взаимоотношениями с клиентами (CRM) Мессенджеры и боты SMS рассылки Email рассылки Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Полный набор инструментов для качественных транзакционных и маркетинговых Email, SMS, Telegram рассылок из 1С. Даже простые уведомления об оплате счетов способны существенно упростить сбор дебиторской задолженности. Применение всех возможностей прямого маркетинга выводит коммуникацию с клиентами, уровень сервиса и лояльность на новый уровень.

7788 руб.

07.04.2014    83646    40    191    

127

Интеграция 1С с телефонией и чатами WhatsApp и Telegram

Телефония, SIP Мессенджеры и боты Платформа 1С v8.3 Конфигурации 1cv8 Россия Управленческий учет Платные (руб)

Интеграция 1С с телефонией и чатами WhatsApp и Telegram автоматизирует работу оператора со звонками и чатами и добавит вашей 1С элементы CRM системы. Храните всю историю взаимоотношений в 1С, не теряйте звонки, скачивайте, прослушивайте в любое время из карточки клиента или журнала звонков, держите руку на пульсе, используя блок отчетов по звонкам. Интегрируйте вашу 1С и чатами WhatsApp и Telegram, общайтесь с клиентами с единого номера и в одном окне. Теперь чаты с клиентами хранятся в карточке партнера в 1С, а не в личных мобильных ваших менеджеров.

4100 руб.

28.04.2022    13862    11    6    

36

Отправка в Telegram отчетов, печатных форм, присоединённых файлов и произвольных вложений. Загрузка получателей. Хранение истории отправок.

Мессенджеры и боты Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Платные (руб)

Универсальное расширение для отправки (напрямую и через прокси) печатных форм, отчетов, присоединённых файлов, табличных документов и произвольных вложений в чат Telegram прямо из 1С. Ручная и автоматическая фоновая загрузка по расписанию идентификаторов получателей Telegram. Хранение истории отправок сообщений с ограничением по времени хранения и с автоматической очисткой по мере истечения срока хранения.

4800 руб.

26.12.2023    2214    1    0    

6
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Viktor_Ermakov 363 23.03.21 22:14 Сейчас в теме
Нет самой функции ПолучитьПрокси();
2. kite2 58 24.03.21 08:25 Сейчас в теме
(1) Там длинно вытаскивать по коду. Статья рассчитана на то, что с ботом вы уже работали. Предназначена исключительно, чтобы показать, как присылать сообщение в группу, если с ботом работать в уже умеете, поэтому пример кода не самодостаточный. Для примера работы бота и именно отправки сообщения используйте другие статьи - на Infostart есть нормальные примеры.
3. пользователь 07.01.22 16:27
Сообщение было скрыто модератором.
...
4. chebser 4 29.07.22 11:13 Сейчас в теме
Огромное спасибо, всё работает!
5. kite2 58 29.07.22 20:10 Сейчас в теме
6. chilyagin 91 26.09.23 17:48 Сейчас в теме
7. user2000219 11.10.23 11:50 Сейчас в теме
А в группу с конкретной темой(не в General)?
8. sintegra 4 27.11.23 19:20 Сейчас в теме
Как подписать бота на группу?
Оставьте свое сообщение