2

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

如何添加动态快速回复

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

好的,我可以轻松做到!

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

谁能帮我翻译这最后一句话,因为我不明白我的裹尸布是做什么的。我想用 Wit.ai 在我的 Node.js 机器人中添加动态快速回复
谢谢

4

1 回答 1

5

我正在为我的机器人使用 Wit.ai for 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'
    },
  ]
}

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

send(req, res) {
  await textMessage(messenger_id, res.text, req.context.quick_replies)
}

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

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

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

于 2017-01-30T14:31:35.043 回答