Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Настройка ответов бота телеграм через вебхуки

Настройка ответов бота телеграм через вебхуки
Я
   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);
    
    Возврат Ответ;

при этом в чат ничего не приходит, подскажите как правильно формировать ответ?
 
 
   arsik
 
1 - 26.03.18 - 11:15
(0) Ну создал ты ответ. А где его отправка телеграму?
   fly7
 
2 - 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)";
КонецПопытки;
    
ОтветСтрока = Ответ.ПолучитьТелоКакСтроку();
   arsik
 
3 - 26.03.18 - 11:18
+ (1) Точнее не так. Мне кажется в ответе можно только у казать, что ты на своей стороне принял данные. А что бы в чат что то отправить нужно свой гет делать
   fly7
 
4 - 26.03.18 - 11:21
на вебхуку надо ответить так

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

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

    Ответ.УстановитьТелоИзСтроки(СтруктураОтвета);
    
    Возврат Ответ;


все равно не работает

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует