有没有办法在 discord.js 中使用所有人角色
Posted
技术标签:
【中文标题】有没有办法在 discord.js 中使用所有人角色【英文标题】:Is there a way to use the everyone role in discord.js 【发布时间】:2021-09-20 09:23:58 【问题描述】:我正在尝试使我的锁定和静音命令与我最近使用 mongodb 制作的每个服务器设置命令一起工作。我希望它是从数据库中获取成员角色的位置(roles.cache.get(guildProfile.memberRoleID)),然后如果没有一个集合,它会锁定每个人角色的通道。我知道 discord.js 中每个人的角色是什么。此外,当我尝试从数据库中传递成员角色时,它说它是无效的代码,即使在数据库中有一组
这是角色变量(使用 let):let role = message.guild.roles.cache.get(guildProfile.memberRoleID)
如果没有角色,这是 if 语句:if (!role) role = (everyone would go here)
这是通道的实际锁定:await lockChannel.updateOverwrite(role, SEND_MESSAGES: false ).catch(err => console.log(err));
【问题讨论】:
公会档案现在可以工作了。我尝试了 message.guild.defaultRole (我在类似的问题中看到有人建议它)但它给出了一个错误:[INVALID_TYPE]:提供的参数不是用户也不是角色。我还在最后添加了 .toString (正如另一个问题所暗示的那样),但它说它未定义 【参考方案1】:使用RoleManager.everyone
if(!role) role = message.guild.roles.everyone
【讨论】:
+upvote,因为你的答案比我的更好,更有效率。【参考方案2】:这是获得所有人角色的方法。
const everyone = message.guild.roles.cache.find(role => role.name === "@everyone");
【讨论】:
以上是关于有没有办法在 discord.js 中使用所有人角色的主要内容,如果未能解决你的问题,请参考以下文章
消息收集器有没有办法在 Discord.js 中收集 DM?
有没有办法在 discord.js 中发出 ping 命令? [复制]
有没有办法用 discord.js 检测不和谐的玩家 self_muted