与node.js

时间:2016-07-05 21:22:44

标签: javascript node.js chat chatbot wit.ai

我使用快速入门指南在wit.ai创建了一个故事。

现在,我想使用node-wit中的node.js与我的聊天机器人进行对话。

我想我应该使用https://github.com/wit-ai/node-wit#runactions来运行消息,但我不确定如何开始永不结束的对话。我需要发送消息,然后从聊天机器人那里得到响应,直到我打破对话。

我查看了wit.ai示例,但我找不到如何在node.js中开始简单对话的任何示例。

我使用socket.io在客户端和服务器之间传输消息,我试图解决我的问题

let sessions = {};
const sessionId = new Date().toISOString();
sessions[sessionId] = { context: {} };

io.on('connection', function (socket) {
  socket.on('new message', function (message) {
    client.runActions(
      sessionId,
      message,
      sessions[sessionId].context
    ).then((context) => {
      console.log(context);
      sessions[sessionId].context = context;
    }).catch((err) => {
      console.error('Error: ', err.stack || err);
    });
  });
});

它似乎几乎可以工作。我可以和我的机器人聊天,但它有时会从不同的故事中多次回答故事。我想我应该以某种方式结束这些故事?

3 个答案:

答案 0 :(得分:1)

您应该尝试使用此链接 https://github.com/wit-ai/node-wit/blob/master/examples/quickstart.js

只需从git或 npm-install 克隆/下载整个node-wit模块。

然后只需运行命令节点quickstart.js" wit-token"

plot(svm.video.table2)

它会起作用。

答案 1 :(得分:0)

您是否已查看此Facebook Messenger integration example。 quickstart.js包含一个交互模式,这就是它可能令人困惑的原因。

答案 2 :(得分:0)

查看messenger.js示例,了解如何使用runActions并将消息发送回Messenger。 我成功地做到了这一点,虽然我还在处理故事。