我正在做一个不和谐的机器人,我试图执行踢命令,但每次执行命令时,终端都会显示“TypeError:无法读取未定义的属性'has'”
踢腿脚本:
module.exports = {
name: 'kick',
description: "This command kicks a member",
execute(message, args){
if(message.member.permission.has("KICK_MEMBERS")){
const member = message.mentions.users.first();
if(member){
const memberTarger = message.guild.members.cache.get(member.id);
memberTarger.kick();
message.channel.send('User has been kicked');
}else{
message.channel.send('You couldnt kick this member');
}
}
}
}
主脚本:
const discord = require('discord.js');
const client = new discord.Client();
const prefix = '$';
const fs = require('fs');
client.commands = new discord.Collection();
const commandFiles = fs.readdirSync('./commands/').filter(file => file.endsWith('.js'));
for(const file of commandFiles){
const command = require(`./commands/${file}`)
client.commands.set(command.name, command);
}
client.once('ready', () => {
console.log('Bot is ready');
});
client.on('message', message =>{
if(!message.content.startsWith(prefix) || message.author.bot) return;
const args = message.content.slice(prefix.length).split(/ +/);
const command = args.shift().toLowerCase();
if(command === 'ping'){
client.commands.get('ping').execute(message, args);
} else if (command === 'clear'){
client.commands.get('clear').execute(message, args);
} else if (command === 'kick'){
client.commands.get('kick').execute(message, args);
}
});