【问题标题】:Is there a way to use the everyone role in discord.js有没有办法在 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 (正如另一个问题所暗示的那样),但它说它未定义

标签: javascript node.js mongodb discord.js


【解决方案1】:

使用RoleManager.everyone

if(!role) role = message.guild.roles.everyone

【讨论】:

  • +upvote,因为你的答案比我的更好,更有效率。
【解决方案2】:

这是获得所有人角色的方法。

const everyone = message.guild.roles.cache.find(role => role.name === "@everyone");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-30
    • 2020-10-24
    • 2018-03-10
    • 2020-11-04
    • 1970-01-01
    • 1970-01-01
    • 2021-01-08
    • 2021-04-02
    相关资源
    最近更新 更多