quickreplies编码node-wit示例messenger.js

时间:2017-04-11 12:42:35

标签: node.js wit.ai

我无法快速安装在node-wit messenger.js示例中工作。 我尝试的可能包括: 1)更新了这行代码我们的bot动作(messenger.js):

const actions = { send({sessionId}, {text,quickreplies})

2)并更新了这行代码我们的机器人动作(messenger.js):

return fbMessage(recipientId, text,quickreplies)

3)更新了我在messenger.js中的自定义操作:

getWelcome({context, entities})
 {
      context.welcome = "how are you. Please select from the options below"; 
    context.welcome.quickreplies = [
    { 
      title: 'Choice A',
      content_type: 'text',
      payload: 'empty'
    },
    { 
      title: 'Choice B',
      content_type: 'text',
      payload: 'empty'
    },
   ]

return context;
  }, 

4)我尝试了很多排列。我无法使用node-wit messenger.js示例。快速回复没有显示我搜索并阅读所有文档

5)你能帮忙解决这个问题,以及如何检索在messenger.js中选择的快速回复

由于

1 个答案:

答案 0 :(得分:0)

对不起,如果已经晚了,但我想你是在找这个:

send(request, response) {
  const {sessionId, context, entities} = request;
  let {text, quickreplies} = response;
  if(text.substring(0,6) === IDENTIFY_PAYLOAD){
    text = text.substring(6); // It is a payload, not raw text
  } else {
    text = {"text": text};
  }
  if(typeof quickreplies !== "undefined"){
    text.quick_replies = response.quickreplies
      .map(x => { return {
        "title": x, "content_type": "text", "payload": "empty"}
    });
  }
}

我所做的是发送一个带有字符串的有效负载,标识它不是原始文本(这就是我使用有效负载的标识符的原因),然后在发送操作中我收到两个参数请求和响应,我得到了他们的属性。最后,我使用我在互联网上找到的例程转换有效载荷参数,实际上可以很好地映射快速回复。