如何解决Discord.JS - 使用角色将 Discord 中的用户移动到您的 VC
我正在尝试从具有特定角色的 VC 中转移所有用户,例如:!summon @role
这样,所有具有该特定角色的用户都应该进入用户键入该命令的 VC
目前我的代码是这样的:
else if (command === 'summon') {
const channel = message.member.voice.channel;
message.guild.members.cache.forEach(member => {
member.voice.setChannel(channel);
});
message.channel.send(`${message.author} users moved to your channel!`);
}
我尝试使用:
message.mentions.roles.forEach(member => {
member.setChannel(channel);
});
但是没有成功……有人可以帮我解决这个问题吗?
解决方法
您可以尝试更换
message.guild.members.cache.forEach(member => {
member.voice.setChannel(channel);
});
与
message.guild.members.cache.forEach(member => {
if(member.roles.cache.has(message.mentions.roles.first()) {
member.voice.setChannel(channel);
}
}
因为 member.roles.cache 是一个 Collection
,所以它有一个函数 .has
。我们使用 message.mentions.roles.first()
从消息中获取第一个角色提及,并使用 member.roles.cache.has()
检查它是否存在于用户的当前角色中。如果用户确实具有消息中提到的第一个角色,则该函数返回 true
,我们可以将其移动到指定的频道。希望这会有所帮助,不要忘记 https://discord.js.org/#/docs 的一些文档,它非常有用?。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。