1

如何利用 wit.ai 的 facebook messenger 中的导航模板?

在 wit ai 中,我使用结构化消息创建了一个功能齐全的机器人。

我遇到的问题是,当我将机智人工智能机器人连接到 Facebook 时,结构化消息不会消失。

有什么办法可以解决吗?

4

2 回答 2

0

我正在根据您使用的库添加一些自定义答案:

在您使用的库中更改https://github.com/hunkim/Wit-Facebook/blob/master/facebook.js文件并且是函数 fbMessage

检查 msg.quickreplies 是否存在,如果存在则进行处理并使其与 facebook 兼容格式,就像我在上面的 ruby​​ 代码中所做的那样。

发布该更改

 message: { 
text: msg, 
}, 

 message: {
 text: msg, 
 quick_replies: object_you_created 
}
于 2016-10-20T09:28:43.503 回答
0

发送消息时,您必须将结构化消息的元素发送到 Facebook。Wit.ai 将在响应对象中设置结构化元素,您有责任将其传递给 facebook 发送 api。

例如,对于快速回复 wit.ai 将其作为 response['quickreplies'] 发送,您必须访问它并将其作为包含关键 quick_replies 和额外元素的数组发送到 facebook

  def send_text_fb_message_with_quickreplies(recipientId, msg, quickreplies)
    qr = []
    quickreplies.each do |i|
    reply_hash = {}
    reply_hash['content_type'] = 'text'
    reply_hash['title'] = i
    reply_hash['payload'] = i
    qr.push(reply_hash)
  end

  Bot.deliver(
    recipient: {
      id: recipientId
    },
    message: {
      text: msg,
      quick_replies: qr
    }
  )
end

send_text_fb_message_with_quickreplies(request['sender_id'], response['text'], response['quickreplies'])

使用类似的代码,您可以将快速回复从 wit.ai 转换为 facebook 兼容的快速回复

于 2016-10-11T10:03:45.130 回答