Wit.ai如何添加动态快速回复

Pab*_*che 2 facebook node.js facebook-messenger wit.ai facebook-messenger-bot

这是来自Wit.ai doc的句子:https://wit.ai/docs/recipes#categorize-the-user-intent

如何添加动态快速回复

如果您想以编程方式创建快速回复,则需要使用Bot Executes来触发您将创建这些快速回复的功能.

好的,我可以轻松地做到这一点!

然后,您可以将它们存储在上下文中.在您身边的发送功能中,如果您在上下文中有它们,您将使用机器人的答案发送它们.

有人可以为我翻译这最后一句话因为我不明白我所做的事.我想在我的Node.js bot中使用Wit.ai添加动态快速回复
谢谢

hoo*_*dsy 5

我正在使用Wit.ai为Facebook Messenger为我的机器人做这样的事情.

在我的操作中,我将动态快速回复存储在上下文中:

myAction({ context, text, entities }) {
  context.quick_replies = [
    { 
      title: 'Option A',
      content_type: 'text',
      payload: 'empty'
    },
    { 
      title: 'Option B',
      content_type: 'text',
      payload: 'empty'
    },
  ]
}
Run Code Online (Sandbox Code Playgroud)

然后在send()我附上对我的短信的任何快速回复:

send(req, res) {
  await textMessage(messenger_id, res.text, req.context.quick_replies)
}
Run Code Online (Sandbox Code Playgroud)

textMessage()看起来是这样的:

export async function textMessage(recipientId, text, quick_replies = null) {
  const messageData = {
    recipient: { id: recipientId },
    message: {
      quick_replies: quick_replies,
      text: text
    }
  }

  await request({
    url: 'https://graph.facebook.com/v2.6/me/messages',
    qs: { access_token: FB_PAGE_TOKEN },
    method: 'POST',
    json: messageData
  })
}
Run Code Online (Sandbox Code Playgroud)

基本上,我自己创建并附加快速回复.

如果您在Wit.ai中有静态快速回复,那么您将以send()这种格式获取它们:res.quickreplies = ['Yes', 'No']然后您可以格式化并附加这些选项.