discord - 是否有可能让 awaitReactions 给每个做出反应的人一个角色?
问题描述
错误:(节点:2552)UnhandledPromiseRejectionWarning:TypeError:message.member.roles.add 不是函数
代码:
msg.react('')
let collected = await msg.awaitReactions(() => true, {
time: time
}).then(collected => {
var reaction = collected.first();
message.member.roles.add('743917402714275971')
})
解决方案
对的,这是可能的。我将逐步指导您完成下面的代码。
msg.react('')
await msg.awaitReactions(() => true, {
time: time
}).then(collected => {
collected.users.cache.forEach((user) => {
msg.guild.members.cache.get(user.id).roles.add('743917402714275971');
})
})
所以collected
返回一个用户集合。您必须遍历它们并获取user
每个对象的对象。之后,您必须通过使用IDGuildMember
从公会获取用户来获取用户的对象。user
从那里,您可以与GuildMember
对消息做出反应的每个用户的返回对象进行交互并添加角色。
推荐阅读
- task - 使用 Tasks API 时收到运行时错误
- javascript - react-bootstrap - Form.Check(单选按钮)即使在重置后也会被检查
- flutter - 如何获取存储在 Firestore 文档中的集合数量?
- php - 如何捕获提交的 POST 名称
- pyspark - 递归展平孩子并返回完整模式(Pyspark)
- django - TypeError:更新 Django 模型时无法读取未定义的属性“文件”
- css - 在 vs 代码中保存 scss 文件时出现错误
- gcc - STM32 gcc优化产生不同的结果
- android - 无法使用 Gradle Kotlin DSL 中的环境变量的委托属性方法打印正确的自定义属性值
- node.js - 在Node js中使用fs读取json文件时出错