有没有办法在 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

有没有办法使用 quick.db 制作 discord.js 日志系统

Discord.js - 删除所有包含角色的用户的命令

有没有办法在不提及/ping他们的情况下向某人添加角色? [discord.js]