Discord.js 尝试仅为管理员创建kick功能
我正在尝试创建一个Discord.js 尝试仅为管理员创建kick功能,discord.js,Discord.js,我正在尝试创建一个kick功能,如果AdminRole类型/kick@user,它就会踢他们,但是如果MemberRole中的某个人试图说/kick@user它会回复对不起,你没有使用此功能的权限 client.on("message", (message) => { if (message.content.startsWith("/kick")) //checking if user is an admin role if (message.member.roles.
kick
功能,如果AdminRole类型/kick
@user,它就会踢他们,但是如果MemberRole中的某个人试图说/kick@user
它会回复对不起,你没有使用此功能的权限代码>
client.on("message", (message) =>
{
if (message.content.startsWith("/kick"))
//checking if user is an admin role
if (message.member.roles.find('AdminRole'))
{
var member= message.mentions.members.first();
// Kick
member.kick().then((member) => {
// Successmessage
message.channel.send(":wave: " + member.displayName + " has been successfully kicked :point_right: ");
}).catch(() => {
// Failmessage
message.channel.send("Sorry, command failed");
});
}
if (message.member.roles.find('MemberRole'))
{
message.reply("Sorry, you don't have permissions to use this!");
}
}))
这是它抛出的错误,请记住,它只在有人键入/kick
命令时抛出此错误,而不考虑角色
如果(typeof value==“undefined”)
抛出新错误(“必须指定值”)
;
^
错误:必须指定值。
在Map.find(/Users/MainUser/Desktop/bot/node_modules/discord.js/src/util/Collection.js:499:45)
在Client.Client.on(/Users/MainUser/Desktop/bot/index.js:12:34)
在Client.emit(events.js:198:13)
在MessageCreateHandler.handle(/Users/MainUser/Desktop/bot/node_modules/discord.js/src/client/websocket/packets/handlers/MessageCreate.js:9:34)
在WebSocketPacketManager.handle(/Users/MainUser/Desktop/bot/node_modules/discord.js/src/client/websocket/packets/WebSocketPacketManager.js:105:65)
在WebSocketConnection.onPacket(/Users/MainUser/Desktop/bot/node_modules/discord.js/src/client/websocket/WebSocketConnection.js:333:35)
在WebSocketConnection.onMessage(/Users/MainUser/Desktop/bot/node_modules/discord.js/src/client/websocket/WebSocketConnection.js:296:17)
在WebSocket.onMessage(/Users/MainUser/Desktop/bot/node_modules/ws/lib/event target.js:120:16)
在WebSocket.emit(events.js:198:13)
在Receiver.receiverOnMessage(/Users/MainUser/Desktop/bot/node_modules/ws/lib/websocket.js:789:20)
您的错误来自您当前使用的
不正确:集合。查找('property')
不推荐使用:集合。查找('property','value')
正确:Collection.find(element=>element.property==value)
const prefix='/';
client.on('message',异步消息=>{
如果(!message.content.startsWith(prefix)| | message.author.bot)返回;
const[cmd,…args]=message.content.trim().slice(前缀.length).split(/\s+/g);
开关(cmd.toLowerCase()){
“踢”一案:
试一试{
如果(!message.guild)返回wait message.channel.send(“:x:Guilds only.”);
如果(!message.member.roles.find(r=>r.name==='Admin'))返回wait message.channel.send(':x:No permission');
如果(!args[1]| |!message.indications.members.first())返回wait message.channel.send(“:x:未提供成员”);
const toKick=message.indications.members.first();
const reason=args.slice(2).join(“”)| |“无原因”;
如果(!toKick.kickable | | toKick.roles.find(r=>r.name=='Admin'))返回wait message.channel.send(':x:无权限');
等待托克。踢(理由);
wait message.channel.send(`:wave:${toKick.user.displayName}已被踢出。`);
}捕捉(错误){
控制台错误(err);
}
打破
}
});
您的错误来自您当前使用的
不正确:集合。查找('property')
不推荐使用:集合。查找('property','value')
正确:Collection.find(element=>element.property==value)
const prefix='/';
client.on('message',异步消息=>{
如果(!message.content.startsWith(prefix)| | message.author.bot)返回;
const[cmd,…args]=message.content.trim().slice(前缀.length).split(/\s+/g);
开关(cmd.toLowerCase()){
“踢”一案:
试一试{
如果(!message.guild)返回wait message.channel.send(“:x:Guilds only.”);
如果(!message.member.roles.find(r=>r.name==='Admin'))返回wait message.channel.send(':x:No permission');
如果(!args[1]| |!message.indications.members.first())返回wait message.channel.send(“:x:未提供成员”);
const toKick=message.indications.members.first();
const reason=args.slice(2).join(“”)| |“无原因”;
如果(!toKick.kickable | | toKick.roles.find(r=>r.name=='Admin'))返回wait message.channel.send(':x:无权限');
等待托克。踢(理由);
wait message.channel.send(`:wave:${toKick.user.displayName}已被踢出。`);
}捕捉(错误){
控制台错误(err);
}
打破
}
});