如何为不和谐机器人创建踢腿命令?

时间:2021-06-13 12:26:21

标签: discord.js

我不能用这个代码踢用户,有人可以帮帮我吗?

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`);
    }
  }
})

2 个答案:

答案 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 => {
//...
})