【问题标题】:How can I make the required roles either or instead of both我怎样才能使所需的角色之一或代替两者
【发布时间】:2023-04-08 11:08:01
【问题描述】:

我正在设置我的命令并进行最后润色,这意味着哪些角色可以访问哪些命令,我​​遇到了一个问题,我希望 2 个角色可以访问同一个命令,但我不确定如何做这个或那个,我尝试了几种不同的方法,但它只能让我同时做其中一个或两个。

这就是它在代码本身中的动作含义

{
    permissions: [],
    requiredRoles: ['Staff', 'Rose'],
}

这就是它在我的命令处理程序中的幕后外观

for (const requiredRole of requiredRoles) {
    const role = guild.roles.cache.find(
        (role) => role.name === requiredRole
    )

    if (!role || !member.roles.cache.has(role.id)) {
        message.reply(
            `You must have the "${requiredRole}" role to use this command.`
        )
        return
    }
}

【问题讨论】:

    标签: node.js discord discord.js


    【解决方案1】:

    使用Collection#hasAny()Collection#hasAll()

    if (!message.member.roles.cache.hasAny(requiredRoles)) // member has none of those roles
    

    if (!message.member.roles.cache.hasAll(requiredRoles)) // member does not have ALL of these roles
    

    【讨论】:

    • 可悲的是不起作用
    猜你喜欢
    • 1970-01-01
    • 2012-12-20
    • 2021-04-13
    • 2022-10-23
    • 2020-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-23
    相关资源
    最近更新 更多