我不能用这个代码踢用户,有人可以帮帮我吗?
client.on('kick', message => {
if(message.content === '/kick'){
const target = message.mentions.users.first();
if(target){
const memberTarget = message.guild.members.cache.get(target.id);
memberTarget.kick();
message.channel.send("đã kick");
}else{
message.channel.send(`không thể kick`);
}
}
})
答案 0 :(得分:2)
首先,您的活动是错误的。您需要使用 client.on("message" ...
而不是 client.on("kick", ...
。接下来,您不想检查您的 message.content
是否等于 /kick,而只是检查它是否 .startsWith("/kick")
。否则您将无法访问您要踢的成员。
此外,我建议使用 message.mentions.members
而不是 message.mentions.users
,因为它也包括非用户(例如其他机器人)。
client.on("message", (message) => {
if (message.content.startsWith("/kick")) {
const member = message.mentions.members.first();
if (member) {
member.kick();
message.channel.send("đã kick");
} else {
message.channel.send(`không thể kick`);
}
}
});
另外不要忘记确保你的机器人有适当的权限来踢人。
答案 1 :(得分:0)
“踢”不是您想要的事件。 “消息”是您使用的替代
client.on("message", message => {
//...
})