Facebook Messenger Platform と Microsoft Bot Framework を使用して、リッチ テキストの添付ファイルを送信するボットを作成しています。
これまでのところ、インテント ファイルで汎用テンプレートを使用してみました。
messageData = {
"attachment": {
"type": "template",
"payload": {
"template_type": "generic",
"elements": [{
"title": "First card",
"subtitle": "Element #1 of an hscroll",
"image_url": "http://messengerdemo.parseapp.com/img/rift.png",
"buttons": [{
"type": "web_url",
"url": "https://www.messenger.com",
"title": "web url"
}, {
"type": "postback",
"title": "Postback",
"payload": "Payload for first element in a generic bubble",
}],
}, {
"title": "Second card",
"subtitle": "Element #2 of an hscroll",
"buttons": [{
"type": "postback",
"title": "Postback",
}],
}]
}
}
}
return resolve([toCard(messageData)])
}
})
})
}
const toText = message => {return {type: 'text', content: message }}
const toCard = message => {return {type: 'attachment', content: message}}
index.js には sendMessageByType 関数もあり、さまざまなインテントから受け取った応答のタイプに基づいてメッセージを送信する必要があります。
const sendMessageByType = {
text: (session, elem) => session.send(elem.content),
attachment: (session, elem) => session.send(elem.content)
}
上記の関数は、次のように呼び出されます。
.then(res => { res.forEach( (message) => sendMessageByType[message.type](session, message)) })
タイプをテキスト、カード、添付ファイルに変更しようとしましたが、どれもうまくいきませんでした。どのタイプを使用するのが適切で、どのように宣言してカードを送信しますか?