javascript - 向消息添加多个反应时出现问题
问题描述
我在向消息添加多个反应时遇到问题(尝试添加 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
});
});
});
});
解决方案
推荐阅读
- linux - lxc-checkpoint 失败并显示不明确的错误消息
- python - 使用 numpy.roll() 转换量化 (2D) 图像
- ios - XCode 11.6:由于缺少图像而导致的不一致
- bash - 使用 Azure CLI(Cloud Shell-Bash)创建 VM
- php - 发货电话/发货电子邮件发送到新订单电子邮件 WooCommerce
- android - 如何使用颤振构建此屏幕的白色区域?
- selenium - chromedriver 选项的“--disable-extensions”是什么意思?
- python - 如何发出命令以嵌入发送用户个人资料图片?
- javascript - 使用弹出窗口通知用户使用 nodemailer 成功发送电子邮件
- c# - Task.Run(job) 和 job(); 之间有什么不同?等待Task.CompleteTask?