Имя: Пароль:
1C
1С v8
Настройка ответов бота телеграм через вебхуки
,
0 ender10
 
26.03.18
10:45
Добрый день, настраиваю общение с ботом телеграм через вебхуки, возникла проблема с ответами - сейчас 1с получает сообщения от телеграм через хттп сервис, но не удается отправить простейший ответ, код ответа такой:

ПараметрыОтвета = "/sendMessage?chat_id=" + Формат(Результат.message.chat.id, "ЧГ=0") + "&parse_mode=HTML&text=" + "<b>Hello</b>";

ЗаписьJSON = Новый ЗаписьJSON;
    ЗаписьJSON.УстановитьСтроку();
    
    ЗаписатьJSON(ЗаписьJSON, ПараметрыОтвета);
    
    СтрокаДляОтвета = ЗаписьJSON.Закрыть();
        
    Ответ = Новый HTTPСервисОтвет(200);    
    Ответ.Заголовки.Вставить("Content-type", "application/json;  charset=utf-8");
    
    Ответ.УстановитьТелоИзСтроки(СтрокаДляОтвета, КодировкаТекста.UTF8);
    
    Возврат Ответ;

при этом в чат ничего не приходит, подскажите как правильно формировать ответ?
1 arsik
 
гуру
26.03.18
11:15
(0) Ну создал ты ответ. А где его отправка телеграму?
2 fly7
 
26.03.18
11:17
надо писать так

Ресурс = "bot" + Tel.Token + "/sendMessage?chat_id=" + Формат(chat_id, "ЧГ=0") + "&text=" + СтрЗаменить(Текст, "_", "\_") + "&parse_mode=Markdown";
    
Если reply_markup <> "" Тогда Ресурс = Ресурс + "&reply_markup=" + reply_markup;
КонецЕсли;
    
Запрос = Новый HTTPЗапрос(Ресурс);
    
Соединение = Новый HTTPСоединение(Tel.Server, 443,,,, 8, Новый ЗащищенноеСоединениеOpenSSL());
    
Попытка        Ответ = Соединение.Получить(Запрос);
Исключение  Возврат "(-1)";
КонецПопытки;
    
ОтветСтрока = Ответ.ПолучитьТелоКакСтроку();
3 arsik
 
гуру
26.03.18
11:18
+ (1) Точнее не так. Мне кажется в ответе можно только у казать, что ты на своей стороне принял данные. А что бы в чат что то отправить нужно свой гет делать
4 fly7
 
26.03.18
11:21
на вебхуку надо ответить так

Ответ = Новый HTTPСервисОтвет(200);
Возврат Ответ;

иначе ТГ будет слать запрос 100500 раз
5 ender10
 
26.03.18
12:15
спасибо, было такое подозрение, но думал что можно как не открывать нвоое соединение, а прямо в ответ запихнуть необходимые действия
6 Dzenn
 
гуру
26.03.18
12:18
Купи моё решение "Конструктор ботов телеграм" и избавься от проблем.
7 ender10
 
26.03.18
12:22
(6) купи мой сервис, а я на вырученные деньги куплю твой)
8 Dzenn
 
гуру
26.03.18
12:41
(7) а что у тебя за сервис?
9 ender10
 
26.03.18
12:47
(8) пока отвечает на все сообщения "Hello"
10 МешочекЗнаний
 
26.03.18
12:49
(9) Дайте 2!
11 Lexey_
 
26.03.18
12:51
12 ender10
 
26.03.18
13:27
(11) так и хочу сделать, но не понимаю почему не работает
13 ender10
 
26.03.18
14:31
(11) пробовал как в их примере так:

СтруктураОтвета = Новый Структура("method, chat_id, text", "sendMessage", Формат(Результат.message.chat.id, "ЧГ=0"), "Hello");
    
    ЗаписьJSON = Новый ЗаписьJSON;
    ЗаписьJSON.УстановитьСтроку();
    
    ЗаписатьJSON(ЗаписьJSON, СтруктураОтвета);
    
    СтрокаДляОтвета = ЗаписьJSON.Закрыть();
    
    Ответ = Новый HTTPСервисОтвет(200);    
    Ответ.Заголовки.Вставить("Content-type", "application/json");
    //
    Ответ.УстановитьТелоИзСтроки(СтруктураОтвета);
    
    Возврат Ответ;


все равно не работает
AdBlock убивает бесплатный контент. 1Сергей