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

2 Добавил: stawen

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

HTTPСоединение Telegram JSON ЧтениеJSON ПрочитатьJSON
Перем ТекстСообщения;
chat_id=ЭлементыФормы.СправочникСписок.ТекущиеДанные.chat.id;
//chat_id это идентификатор диалога,
//в переменной хранится id пользователя (объект User) с которым ведётся диалог
//https://core.telegram.org/bots/api#user
ВвестиСтроку(ТекстСообщения);
Если НЕ ЗначениеЗаполнено(ТекстСообщения) тогда возврат конецесли;

Запрос=Новый HTTPЗапрос();
Запрос.АдресРесурса=Константы.token.Получить()+"/sendMessage";
Запрос.Заголовки=Новый Соответствие();

Соединение = Новый HTTPСоединение("api.telegram.org",,,,,5,Новый ЗащищенноеСоединениеOpenSSL);
ТекстЗапроса="";
ТекстЗапроса=ТекстЗапроса+"&chat_id="+Формат(chat_id,"ЧГ=");
ТекстЗапроса=ТекстЗапроса+"&text="+КодироватьСтроку(ТекстСообщения,СпособКодированияСтроки.КодировкаURL);
//КодироватьСтроку() отсутствует в 8.2 ищите сами как сделать url encode
Запрос.Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded");
Запрос.УстановитьТелоИзСтроки(ТекстЗапроса);
Ответ=Соединение.ОтправитьДляОбработки(Запрос);//POST
КодСостояния=Ответ.КодСостояния;
СтрокаОтвета=Ответ.ПолучитьТелоКакСтроку();

Если КодСостояния=200 тогда
	ЧтениеОтвета=Новый ЧтениеJSON;
	ЧтениеОтвета.УстановитьСтроку(СтрокаОтвета);
	РезультатСтруктура=ПрочитатьJSON(ЧтениеОтвета);
	Если РезультатСтруктура.ok=Истина тогда
		СтруктураMessage=РезультатСтруктура.result;
		//СтруктураMessage это обычная Структура
		//сервер возвращает нам наше сообщение упакованое в объект Message
		//описание объекта Message тут https://core.telegram.org/bots/api#message
	КонецЕсли;
Иначе
	Сообщить("КодСостояния "+КодСостояния);
	Сообщить(СтрокаОтвета);
КонецЕсли;
Назад к списку

Комментарии

FastCode - сервис поиска кода 1С

Уже более 1000 разработчиков используют FastCode в работе!