【问题标题】:How to allow certain users to use commands only如何只允许某些用户使用命令
【发布时间】:2020-12-19 08:28:02
【问题描述】:

我正在尝试在我的 Discord.JS V12 机器人上发出一个只能由某些用户使用的命令,以保护滥用行为。我怎样才能做到只有少数用户可以访问该命令。

基本上是一个命令白名单。

谢谢:]

【问题讨论】:

  • 基于用户 ID 还是基于他们是否有角色?

标签: bots discord discord.js


【解决方案1】:

您必须在命令的开头添加一行,例如:

client.on("message", message =>{
    if(!message.content.startsWith(prefix)) return;
    if(!message.author.hasPermission("ADMINSTRATOR")) return message.reply("You do not have the permissions.");
    if(message.content.startsWith(`${prefix}help`)){
        message.channel.send("No help yet.");
    };
};

这里,if(!message.author.hasPermission("ADMINSTRATOR")) return; 是限制所需的行... 同样,大多数权限都是这样引用的。管理消息变为“MANAGE_MESSAGES”。等等

我希望这会有所帮助...

【讨论】:

  • user.id 你会怎么做
【解决方案2】:

如果您希望它使用以下用户 ID:

client.on("message", message =>{
    if(message.author.id === "User Id"){
    if(message.content.startsWith(`${prefix}help`)){
        message.channel.send("No help yet.");
    };
  };
};

如果您希望多个用户 ID 使用它

client.on("message", message =>{
        if(message.author.id === "User Id" || message.author.id === "Second User id"){
        if(message.content.startsWith(`${prefix}help`)){
            message.channel.send("No help yet.");
        };
      };
    };

您也可以将所有用户 ID 放在一个 const 中,并在命令中引用它们

【讨论】:

    【解决方案3】:

    您可以添加权限示例:您可以设置管理员权限以使用该命令,或者您可以设置角色以使用该命令!

    【讨论】:

    • 这并没有回答关于如何在 Discord.js 中实现它的问题。
    猜你喜欢
    • 1970-01-01
    • 2020-07-07
    • 1970-01-01
    • 2021-03-20
    • 1970-01-01
    • 2012-04-01
    • 1970-01-01
    • 2019-06-25
    相关资源
    最近更新 更多