javascript - 错误的反应顺序 DiscordBot
问题描述
我正在制作一个不和谐的机器人,我希望它用特定的表情对某个用户做出反应,但这些表情的顺序不正确,机器人随机添加它们,我该如何解决?
代码:
client.on('message', (msg) => {
if(msg.author.id === "424253410918006810" ) {
msg.react('')
msg.react('')
msg.react('')
}});
解决方案
尝试使您的消息功能异步。像这样:
client.on('message', async (msg) => {
if(msg.author.id === "424253410918006810" ) {
await msg.react('');
await msg.react('');
await msg.react('');
}
});
msg.react 返回一个Promise,并且 Promise 并不总是按照您启动它们的顺序完成。但是,您可以使用 await 等待 Promise 解决后再继续。
推荐阅读
- java - 无法在原始类型 char 上调用 equals(string)
- javascript - 如何在 Spark AR 中将手势像素位置转换为局部 X、Y 坐标
- spring-batch - 是否可以将对象设置为 null 以在 Spring Batch 中停止作业?
- c++ - C++ 类:虚拟和覆盖,或者两者都不是?
- android - FCM 推送通知不显示横幅,仅显示在系统托盘上并发出声音
- react-native - React-Native:破坏状态变量后变为只读
- javascript - 除非在循环中(使用 node、express、ejs、mysql),否则来自 sql 数据库的数据不会在 EJS 页面上呈现
- sql - 带有 SELECT 的 Oracle SQL 嵌套案例返回单行子查询返回多行
- python - 如何在 Python django 中计算之前的总和
- android - 如何在视图模型中同步改造?