当前位置: 首页 > 知识库问答 >
问题:

bot命令的角色权限

呼延鸿畅
2023-03-14

我是要定义什么还是别的什么?我在网上看到那个有角色权限的东西。

message.member.roles.some不是函数

execute(message, args) {
        if(message.member.roles.some(role => role.name === 'Community Manager')) {
            if (!args.length) return message.channel.send(You didn't pass any command to reload, ${message.author}!);
            const commandName = args[0].toLowerCase();
            const command = message.client.commands.get(commandName)
                || message.client.commands.find(cmd => cmd.aliases && cmd.aliases.includes(commandName));

            if (!command) return message.channel.send(There is no command with that name or alias `${commandName}`, ${message.author}!);    

            delete require.cache[require.resolve(./${command.name}.js)];

            try {
                const newCommand = require(./${command.name}.js);
                message.client.commands.set(newCommand.name, newCommand);
                message.channel.send(Command `${command.name}` was reloaded!);
            } catch (error) {
                console.log(error);
                message.channel.send(There was an error while reloading a command `${command.name}`:\n`${error.message}`);
            }
        }else{
            message.channel.send(You don't have the permission to execute that command.);
          }
    }

共有1个答案

吕高寒
2023-03-14

他们将其更改为message.member.roles.cache,您还可以使用find(考虑到更好的性能,如果不是,它将是相等的,在这种情况下,它仍然具有更好的可读性),

messsage.member.roles.cache.find(r=>r.name===“Community Manager”);

 类似资料:
  • 我正在尝试做一个命令,给用户一个角色。它以前是工作的,但不是它只是给机器人一个角色。 这也发生在我的level命令上,该命令应该检查用户的级别。它检查的是机器人的水平,而不是用户的水平。

  • 我正在做一个giverole命令,就像!giverole{member}{role},但是我怎么知道bot最高角色是否高于提到的角色。我还没试过什么,因为我卡住了,请帮帮我。 我正在使用discord.js v12

  • 我将如何做出反应角色事件。这是我试过的代码 我想做的是让我的机器人检查对特定消息的反应,然后给用户一个角色,如果他们的反应是正确的表情符号。

  • 我正在制作一个userinfo命令,我希望它显示用户拥有的所有角色。对于我正在使用的消息发送者,'+r.name+',但是当我将它用于消息作者要提到的用户时()这是代码:'+r.name+'它会让这一切成功的方法?

  • 下午好.如何在不使用不同的OAUTH2服务的情况下,为一个应用程序中的特定实体(类似于RBAC/ABAC)的特定控制器配置用户的权限和角色? 还有一个名为Project的实体。用户可能是许多项目的成员。有一些项目用户角色:PROJECT_ADMIN、PROJECT_EDITO、PROJECT_USER。每个项目角色都可以拥有自己的权限(权限),如向项目添加用户、编辑项目等。所有角色配置都存储在'P

  • 在JDA中,我试图开发一个像这样的斜杠命令: 我想拥有无限的角色选择,但我找不到任何解决方案来拥有一系列角色。你有主意吗? 我的实际代码: