Как передать динамическое c значение переменной в структуре бота composer при использовании объекта массива - PullRequest
1 голос
/ 14 июля 2020

Итак, моя проблема / проблема в том, что я получаю с http-запросом некоторые данные, которые я хотел бы использовать для создания динамического действия с несколькими кнопками.

Итак, из моего http-запроса я могу получить от 1 до многих значений, которые Затем я бы использовал для создания выходных действий для бота для каждого элемента l oop.

Все работает, если я использую содержимое stati c при добавлении нового объекта в массив, например

{ "type": "Action.Submit",
  "title": "my title",
  "data": "my data"
}

Итак, это распечатывает кнопку с надписью «мой заголовок»

Но затем я пытаюсь использовать свойство пользователя, чтобы передать мои данные, он выводит только имя свойства, а не его значение. Так, например,

{ "type": "Action.Submit",
  "title": "${turn.myTitle}",
  "data": "${turn.myData}"
}

И теперь выводится только имя свойства / переменной $ {turn.MyTitle}

Итак, есть ли здесь какой-либо способ передать фактические данные? Я вижу, что если бы мой тип был строковым, в остальном данные в порядке, но он больше не работает как объект и (из-за дополнительных двойных кавычек в начале и в конце)

1 Ответ

1 голос
/ 16 июля 2020

Итак, отвечая на мой собственный вопрос, поскольку он, кажется, помогает, когда вы не смотрите на топи c в течение пары дней :)

Итак, чтобы пройти через объекты, а затем создать массив:

  1. Используйте набор свойств для создания значений вашего объекта, например, turn.action. установить свойства для объекта
  2. После этого отредактируйте свойство массива, где вы просто sh ваш объект как выражение «turn.actions» pu sh в массив

После этого в массиве должны отображаться правильные значения, например:

[ {"type":"Action.Submit"}, {"title":"<your title value>"}, {"data":"<your data value>"} ]

А затем просто l oop this в foreach для создания кнопок с несколькими действиями.

исх .:

...