javascript - 如何让机器人以 2 种不同的反应对自己做出反应
问题描述
我试图让机器人对自己做出反应,同时竖起大拇指。这是我的代码:
const args = message.content.split(' ');
if (message.content.includes('<poll')) {
message.delete()
let embed = new Discord.MessageEmbed()
.setTitle(`Poll In ${message.guild.name}`)
.setDescription(args.slice(1).join(' '))
.setFooter(`Started by ${message.author.username}`)
.setColor('#ffc0cb')
message.channel.send(embed)
.then(sentMessage => sentMessage.react(''))
.catch(console.error)
}
我尝试使用.then
两次,但没有成功。
解决方案
试试这个:
message.channel.send(embed)
.then(sentMessage => {
sentMessage.react('')
sentMessage.react('')
});
如果您希望您的机器人按顺序做出反应,您有两种选择:
选项1:
使用async / await
:
message.channel.send(embed)
.then(sentMessage => {
// Don't forget to make your function async, otherwise it won't work
await sentMessage.react('')
await sentMessage.react('')
});
选项 2:
链.then()
的:
message.channel.send(embed)
.then(sentMessage => sentMessage.react(''))
.then(sentMessage => sentMessage.react(''))
});
参考:
推荐阅读
- sql - 在 SSIS 导出包中,如何重命名带有时间戳的目标 excel 文件?
- php - 为什么我在使用 curl 下载图像时得到 0 kb 的文件?
- deep-learning - PyTorch GRU 中隐藏状态的层顺序返回
- excel - 使用循环删除用户窗体中的图像控件
- python - 使用 opencv 加载的 Torch cyclegan 模型不输出所需的图像
- android - Kotlin - Context.filesDir 在模拟器中崩溃
- ubuntu - 网站 https://example.com 的安全连接失败,但适用于 http://example.com
- entity-framework-core - 如何在启动类的配置服务下注册存储库模式
- php - Wordpress 错误地重定向到 wp-admin/install.php
- javascript - 如何将“React Component”不渲染到 DOM