2017-04-11 18 views
2

我无法使用quickreplies工作在node-wit messenger.js示例中。 我试过5月的事情,包括:更新了此行的代码我们的机器人动作(messenger.js 1)):quickreplies编码node-wit示例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例子一起工作。快速repliess不显示我搜索并阅读所有的文档

5)你能在这方面帮助,也正是如何检索messenger.js选择的快速回复

感谢

回答

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

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