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