【发布时间】:2021-06-04 22:50:58
【问题描述】:
第一次在这里问。对不起,如果我做了奇怪的事情。 我想获取消息中被 ping 的所有人员,并获取他们的角色,以及其中一个(或一些)是否具有员工角色。
非常感谢!
编辑: 这是我的代码:
message.mentions.users.forEach((user => {
console.log(user)
if(user.roles.cache.has('817753474791768074')) {
message.channel.send('Stop pinging a Staff!')
}
}))
但是,它无法读取缓存的属性。我做错了什么?
编辑:2
我修好了,公会成员和用户不一样,我不得不这样做
message.mentions.members.forEach((user => {
console.log(user)
if(user.roles.cache.has('817753474791768074')) {
message.channel.send('Stop pinging a Staff!')
}
}))
感谢大家的帮助,现在我知道如何在stackoverflow中提问而不是那么愚蠢。
【问题讨论】:
-
StackOverflow 不是免费的代码编写服务。请尝试自己编写代码,并将您可能遇到的错误作为最后的选择来到这里。
-
您很可能习惯于使用
first()来获得第一次提及。不调用first()将返回整个提及集合 -
对不起。我知道
message.mentions.members返回一个集合,但我不知道如何从那里检查角色。 -
@Elitezen but won't first() 返回第一个被 ping 的人?
-
@Altqir
first()返回集合内的第一个元素。不包括它将返回整个集合,您可以从中使用.each()检查它拥有的每个元素或记录它。
标签: javascript discord.js