|   |   | 
| 
 | Настройка ответов бота телеграм через вебхуки | ☑ | ||
|---|---|---|---|---|
| 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"); // Ответ.УстановитьТелоИзСтроки(СтруктураОтвета); Возврат Ответ; все равно не работает | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |