parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

формирование Json-ответа

Uarik 05.04.2020 23:31 / 05.04.2020 23:39

Привет.
Создал чат бот в конструкторе chatfuel.com. Там есть модуль который позволяеть отправить на внешний вебхук JSON запрос и, соответственно получить и вывести для юзера ответ.

Мой код:
#auto.p
@auto[]
$connect_string[mysql://....]

@main[]
^body[]

#get.html - собственно файл, который принимает JSON запрос и формирует ответ
@body[]
#тут запрос, который вытаскивает из БД рандомно строку
^if(def $form:user){
  ^connect[$connect_string]{
    $randombook[^table::sql{...}]
  }
}
#а теперь данные из этой строки вставляю в json-ответ
{
  "messages": [
    {
      "text": "$randombook.book_user советует книгу: $randombook.book"
    }
  ]
}
Вобщем, оно работает, но:
1. если в базе есть записи, которые содержат, например скобки, я получаю в ответе что-то типа:
Yaroslav Davydchuk Советует книгу: Эдгар Берроуз "Тарзан"
2. Если же переменная $randombook.book содеджит перевод строки — чат-бот не может отобразить такой json-ответ

Подскажите, пожалуйста, как это можно исправить?