Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 向邮件添加多个反应时出现的问题_Javascript_Discord.js - Fatal编程技术网

Javascript 向邮件添加多个反应时出现的问题

Javascript 向邮件添加多个反应时出现的问题,javascript,discord.js,Javascript,Discord.js,我在向消息添加多个反应时遇到问题(尝试添加8-9) 基本上,如果您等待,脚本通常会添加反应,但是如果您在脚本添加所有表情之前对表情做出反应,那么即使消息已被删除,它仍会继续尝试添加其余表情,并抛出下面的错误 (node:17500) UnhandledPromiseRejectionWarning: DiscordAPIError: Unknown Message at RequestHandler.execute (C:\Users\#######\Documents\project-

我在向消息添加多个反应时遇到问题(尝试添加8-9)

基本上,如果您等待,脚本通常会添加反应,但是如果您在脚本添加所有表情之前对表情做出反应,那么即使消息已被删除,它仍会继续尝试添加其余表情,并抛出下面的错误

(node:17500) UnhandledPromiseRejectionWarning: DiscordAPIError: Unknown Message
    at RequestHandler.execute (C:\Users\#######\Documents\project-folder\node_modules\discord.js\src\rest\RequestHandler.js:170:25)
    at processTicksAndRejections (internal/process/task_queues.js:89:5)
你知道我做错了什么吗

// Context

message.channel.send({ embed: randomEmbed }).then((msg) => {
  msg.react(emNumber[0]).then(() => {
    for (let i = 0; i < dcArr.length && !msg.deleted; i++) {
      if (dcArr[i]["server_id"] == user.server_id) continue;
      msg.react(emNumber[i + 1]);
    }
  });

  var filter = (reaction, user) => {
    return (
      emNumber.slice(0, dcArr.length - 1).includes(reaction.emoji.name) &&
      user.id === discId
    );
  };

  msg
    .awaitReactions(filter, { max: 1, time: 20000, errors: ["time"] })
    .then(async (collected) => {
      msg.delete();
      message.channel.send({ embed: anotherRandomEmbed }).then((msg) => {
        msg.react(emThumbs[1]);
        msg.react(emThumbs[0]);

        // Something

        var filter = (reaction, user) => {
          return emThumbs.includes(reaction.emoji.name) && user.id === discId;
        };

        msg
          .awaitReactions(filter, { max: 1, time: 20000, errors: ["time"] })
          .then(async (collected) => {
            // Something else
          });
      });
    });
});
//上下文
message.channel.send({embed:randomEmbed})。然后((msg)=>{
msg.react(emNumber[0])。然后(()=>{
for(设i=0;i{
返回(
slice(0,dcArr.length-1).includes(reaction.emoji.name)&&
user.id==discId
);
};
味精
.1(筛选器,{max:1,时间:20000,错误:[“time”]})
。然后(异步(收集)=>{
msg.delete();
message.channel.send({embed:anotherRandomEmbed})。然后((msg)=>{
msg.react(emThumbs[1]);
msg.react(emThumbs[0]);
//某物
变量过滤器=(反应,用户)=>{
返回emThumbs.includes(reaction.emoji.name)&&user.id==discId;
};
味精
.1(筛选器,{max:1,时间:20000,错误:[“time”]})
。然后(异步(收集)=>{
//别的
});
});
});
});

你没有做错任何事,我认为你除了在每次反应之前添加
if(!message.deleted)
之外什么都做不了。如果发生这种情况,我可以告诉脚本停止循环并继续吗?
if(!message.deleted)message.react()或者类似的东西哦,是的,我试过了,不管怎样,脚本都会中断