【发布时间】:2020-12-19 08:28:02
【问题描述】:
我正在尝试在我的 Discord.JS V12 机器人上发出一个只能由某些用户使用的命令,以保护滥用行为。我怎样才能做到只有少数用户可以访问该命令。
基本上是一个命令白名单。
谢谢:]
【问题讨论】:
-
基于用户 ID 还是基于他们是否有角色?
标签: bots discord discord.js
我正在尝试在我的 Discord.JS V12 机器人上发出一个只能由某些用户使用的命令,以保护滥用行为。我怎样才能做到只有少数用户可以访问该命令。
基本上是一个命令白名单。
谢谢:]
【问题讨论】:
标签: bots discord discord.js
您必须在命令的开头添加一行,例如:
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”。等等
我希望这会有所帮助...
【讨论】:
如果您希望它使用以下用户 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 中,并在命令中引用它们
【讨论】:
您可以添加权限示例:您可以设置管理员权限以使用该命令,或者您可以设置角色以使用该命令!
【讨论】: