关于机器人编程的介绍:关于聊天机器人创建的交替消息

我正在使用 github(https://github.com/Androz2091/insta.js.git)上提供的这个库与 Node JS for Instagram 进行聊天机器人。我目前正在通过在线回复平台测试该功能,我正在从 instagram 用户那里获取消息,并通过 URL 将其发送到回复服务

我有一个困难,这将是机器人的答案。它必须遵循一个消息结构,但是,这个结构经常被切换。

我在聊天中发送:

-嗨

机器人在控制台中响应:

-你好!

-我怎么帮你?

但在聊天中他的反应是这样的:

-我怎么帮你?

-你好!

是我用来遍历我接收和发送消息的数组的代码

我尝试使用开关盒尝试解决问题,但仍然保持不变。

node-fetch(`instagram?mensage=${message}&user=${message.author.fullName}&session=${client.user}`)
  .then(res => res.json())
  .then(json => {
    for (var i = 0; i < json.length; i++) {
      message.chat.sendMessage(json[i].text || json[i].title);
      console.log(json[i].text || json[i].title)
      for (var key in json[i]) {
      /* switch case
     switch(json[i][key]){
       case json[i].text:
        message.chat.sendMessage(json[i].text);
        break;
       case json[i].title:
        message.chat.sendMessage(json[i].title);
        break;
      }*/
        if (json[i][key].length == 3) {
          for (var j = 0; j < json[i][key].length; j++) {
            message.chat.sendMessage(json[i][key][j].label);
            console.log(json[i][key][j].label);
          }
        }

有人知道为什么会这样吗?我已经谢谢你了。

1

sendMessage返回 Promise,但您将其用作普通函数。

您可以在这里阅读 javascript promiseshttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promises

在你的代码中,它应该看起来像这样

...
.then(async json => {
    for (var i = 0; i < json.length; i++) {
        await message.chat.sendMessage(json[i].text || json[i].title);
        ...
    }
});

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(600)
Yah 00:YahoomailImap在2018年登录
上一篇
Group me:为什么回调URL不起作用(对于GroupMe机器人)
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(63条)