telegram. как из 1с добавить реакции на сообщения .

1. xanta 29.07.24 12:48 Сейчас в теме
нужно что бы из 1с бот проставлял реакцию на сообщения .

	Процедура ОтправитьСообщиение(idСообщения)
Соединение = Новый HTTPСоединение("api.telegram.org", 443, , , , , Новый ЗащищенноеСоединениеOpenSSL()); 
СтрокаЗапроса = ЗаписьJson(idСообщения);	 
Заголовки = Новый Соответствие;
	Заголовки.Вставить("content-type", ТипКонтентаJSON());
	Запрос=Новый HTTPЗапрос("bot"+ТокенБота()+"/sendMessage", Заголовки);
	Запрос.УстановитьТелоИзСтроки(строказапроса);	
	Ответ=Соединение.Получить(Запрос);

КонецПроцедуры
функция ЗаписьJson(idСообщения)
	Запись = Новый ЗаписьJSON;
	ПараметрыЗаписи = Новый ПараметрыЗаписиJSON(,Символы.Таб);

	Запись.УстановитьСтроку(ПараметрыЗаписи);
	Запись.ЗаписатьНачалоОбъекта();
	Запись.ЗаписатьИмяСвойства("method");
	Запись.ЗаписатьЗначение("setMessageReaction");
	Запись.ЗаписатьИмяСвойства("chat_id");
	Запись.ЗаписатьЗначение(ПолучитьIdЧата());
    Запись.ЗаписатьИмяСвойства("message_id");
	Запись.ЗаписатьЗначение(Строка(СтрЗаменить(idСообщения," ","")));
Запись.ЗаписатьИмяСвойства("reaction");	
	Запись.ЗаписатьНачалоОбъекта();
	Запись.ЗаписатьИмяСвойства("type");
	Запись.ЗаписатьЗначение("emoji");
	Запись.ЗаписатьИмяСвойства("emoji");
	Запись.ЗаписатьЗначение(РаскодироватьСтроку( "%F0%9F%91%8D", СпособКодированияСтроки.КодировкаURL));
	Запись.ЗаписатьКонецОбъекта();
	Запись.ЗаписатьКонецОбъекта();
	
	возврат Запись.Закрыть();
	
	КонецФункции

Показать


не отправляет ошибка 400 .
хотя если с сайта где онлайн можно проверитб запрос :
{"chat_id":"", "method":"setMessageReaction","message_id":"211","Reaction":[{"type":"emoji","emoji":"%F0%9F%98%A1"}]}
выдает что все ок .

В чем ошибка ?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. mkalimulin 1224 29.07.24 15:11 Сейчас в теме
3. xanta 29.07.24 16:42 Сейчас в теме
(2) "Reaction":[{"type":"emoji","emoji":"%F0%9F%98%A1"}]} это массив?
4. laperuz 46 29.07.24 17:25 Сейчас в теме
(3) Квадратные скобки в JSON это массив, да

P.S. Вместо прямой записи JSON, чтобы не путаться, формируйте структуру/соответствие и потом уже её в JSON через ЗаписатьЗначениеJSON()
user1880116; +1 Ответить
5. mkalimulin 1224 29.07.24 20:08 Сейчас в теме
6. user1880116 30.07.24 07:44 Сейчас в теме
(3)
это массив
Я тебя сейчас научу, ты больше никому не рассказывай. Ставишь точку останова на строке "Заголовки = Новый Соответствие;" и смотришь значение переменной СтрокаЗапроса. Ну которое из функции возвращается. Глазками смотришь. А потом сравниваешь его с тем, что ты с сайта отправляешь. Ну, с того самого, который выдает что все ок. Глазками сравниваешь.
Sashares; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот