0

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)) })

タイプをテキスト、カード、添付ファイルに変更しようとしましたが、どれもうまくいきませんでした。どのタイプを使用するのが適切で、どのように宣言してカードを送信しますか?

4

1 に答える 1

2

したがって、多くの試行錯誤とhttps://docs.botframework.com/en-us/node/builder/chat/session/#sending-messageのドキュメントを読んだ後、これを機能させる方法を見つけました。基本的に、使用するタイプは添付ファイルであり、リッチ カードを送信する正しい方法は次のとおりです。

attachment: (session, elem) => session.send(new builder.Message(session).sourceEvent(elem.content))
于 2016-12-19T11:49:21.213 に答える