javascript - 向对消息做出反应的人发送 DM - Discord JS
问题描述
我正在尝试向对消息做出反应的前 5 个人发送消息,但是它只会向第一个做出反应的人发送 DM,并且不允许其他任何人做出反应或接收 DM。
我该怎么做?
case 'await':
message.channel.sendMessage('React for dm').then(sentMessage => {
sentMessage.react('1️⃣').then(() => sentMessage.react('2️⃣'));
const filter = (reaction, user) => {
return ['1️⃣', '2️⃣'].includes(reaction.emoji.name);
};
sentMessage.awaitReactions(filter, {
max: 1,
time: 60000,
errors: ['time']
})
.then(collected => {
const reaction = collected.first();
if (reaction.emoji.name === '1️⃣') {
message.author.sendMessage('I told you I would!')
}
})
})
解决方案
你有max: 1
告诉收集器在成功收集 1 个反应后退出。您应该将其设置为 5。
之后,您需要循环collected
发送 DM 给他们所有人,而不是使用 first()。
推荐阅读
- python - colab中的torchtext ImportError
- laravel - 根据另一个字段的 Laravel 验证最大数量(来自 period_starts 的 +2
- python - 使用 Tkinter 手动注释
- java - 将事件发布到 microsoft graph 时出现错误 (java.lang.NoSuchMethodError: okhttp3.Request$Builder.tag)
- bash - 我们可以在 shell 脚本(Bash)中使用 lldb 吗?
- php - wordpress php代码使用post_content调用显示来自数组内部的db图像
- javascript - 使用线性渐变编辑图像并转换为 base64 React
- javascript - 发布数据后jQuery添加选择到选项
- mongodb - 如何在 mongodb 的 rs.status() 上使用 substr 仅获取主机名
- spring - 如何在 AWS EKS 上部署 Spring Cloud Data Flow