我正在制作我的第一个不和谐机器人,我让我的朋友测试踢/禁止命令,我开玩笑地尝试禁止他,现在他拥有管理员权限,所以他无法被禁止,但机器人仍然发送确认消息禁令,我们俩都很困惑,我想解决这个问题,这样我以后就不会收到这条消息了。
module.exports = {
name: "kick",
description: "kick command",
execute(message, args) {
if (!message.member.hasPermission("KICK_MEMBERS")) {
message.channel.send("You do not have the permission to execute this command");
return;
}
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 could not kick that member");
}
},
};
答案 0 :(得分:0)
替换
var request = new Request('http://localhost:3030/node/express/companyfiles/download/' + email + '/', {
method:'GET',
headers: new Headers({ 'Content-Type': 'application/zip',}),
})
fetch(request)
.then(response => ( response.json() ))
.then(data)
printJS(data)
}
与
const memberTarger = message.guild.members.cache.get(member.id);
memberTarger.kick();
message.channel.send("User has been kicked!");
答案 1 :(得分:0)
您可以使用 .kickable
的 .bannable
或 GuildMember
属性检查机器人是否可以踢/禁止成员。
请看下面的例子并试一试:
const memberToKick; // Should hold the value of the GuildMember you want to kick.
if (memberToKick.kickable) {
memberToKick.kick()
.then(() => {
message.channel.send('Member successfully kicked!');
}).catch((e) => {
message.channel.send(`I couldn't kick the member for some reason. Here is the error: ${e}`);
});
} else {
message.channel.send('Sorry, I don\'t have permission to kick this member...');
}
答案 2 :(得分:0)
您的代码并不完美,但应该可以运行
如果您转到不和谐开发者门户,请转到 OAuth2,然后单击 bot 并向下滚动并选择管理员或踢成员 然后踢机器人并再次邀请它 这是为了确保您的机器人有权踢 最后进入你的服务器设置并确保你的机器人角色高于你想要踢的角色(我总是喜欢那个)