Я пытаюсь вернуть массив, который я создаю.проблема в том, что я не хочу использовать stringify, поскольку он возвращает скобки.Я пробовал разные методы, но они на самом деле не работают, и я не уверен, что это проблема Slacks, или это в моем коде = /
Это то, что у меня есть.
let elements = [];
for (let i in response.options) {
let opt = response.options[i];
elements.push(
{
"actions" : [
{
"name": opt.label,
"text": opt.label,
"type": "button",
"value": opt.value.input.text
}]
}
);
}
payload = {
"text": "Would you like to book?",
attachments: [
{
"text": "Choose",
"fallback": "You are unable to choose a game",
"callback_id": "wopr_game",
"color": "#3AA3E3",
"attachment_type": "default",
"actions": elements
}
]
};
console.log(payload)
моя консоль возвращает это.
{ text: 'Would you like to book?',
attachments:
[ { text: 'Choose',
fallback: 'You are unable to choose a game',
callback_id: 'wopr_game',
color: '#3AA3E3',
attachment_type: 'default',
actions: [Array] } ] }
и даже stringify
{ text: 'Would you like to book?',
attachments:
[ { text: 'Choose',
fallback: 'You are unable to choose a game',
callback_id: 'wopr_game',
color: '#3AA3E3',
attachment_type: 'default',
actions: '{"actions":{"name":"Book transport","text":"Book transport","type":"button","value":"transport"}},{"actions":{"name":"Book hotel","text":"Book hotel","type":"button","value":"hotel"}},{"actions":{"name":"Travel Policy","text":"Travel Policy","type":"button","value":"Travel Policy"}}' } ] }
Любые идеи о том, как я могу вернуть только текст, так что слабый рендеринг кнопок?
Заранее спасибо!
Обновление: если я добавлю жестко запрограммированное решение к полезной нагрузке, кнопки ослабления вернутся правильно.
payload = {
attachments: [
{
title: 'Do you want to interact with my buttons?',
callback_id: '123',
attachment_type: 'default',
actions: [
{
"name": "yes",
"text": "Yes",
"value": "yes",
"type": "button",
},
{
"name": "no",
"text": "No",
"value": "no",
"type": "button",
}
]
}
]
};