我正在使用 github(https://github.com/Androz2091/insta.js.git)上提供的这个库与 Node JS for Instagram 进行聊天机器人。我目前正在通过在线回复平台测试该功能,我正在从 instagram 用户那里获取消息,并通过 URL 将其发送到回复服务
我有一个困难,这将是机器人的答案。它必须遵循一个消息结构,但是,这个结构经常被切换。
我在聊天中发送:
-嗨
机器人在控制台中响应:
-你好!
-我怎么帮你?
但在聊天中他的反应是这样的:
-我怎么帮你?
-你好!
下面是我用来遍历我接收和发送消息的数组的代码
我尝试使用开关盒尝试解决问题,但仍然保持不变。
node-fetch(`instagram?mensage=${message}&user=${message.autr.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].le);
console.log(json[i].text || json[i].le)
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].le:
message.chat.sendMessage(json[i].le);
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);
}
}
有人知道为什么会这样吗?我已经谢谢你了。
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].le);
...
}
});
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(45条)