阻止踢或设置踢Discord.js的限制

阻止踢或设置踢Discord.js的限制,discord.js,Discord.js,您好,我不想让mods在我的服务器上执行kick操作,我看到discord.js不像guildMemberAdd那样添加guildKickAdd 那个么我怎样才能阻止踢或设置极限踢呢 当有人禁止动作机器人扮演角色并惩罚他时,这就是禁止阻止 client.on("guildBanAdd", async function(guild, user) { const entry = await guild .fetchAuditLogs({ type: "MEMBER_BAN_ADD" })

您好,我不想让mods在我的服务器上执行kick操作,我看到discord.js不像guildMemberAdd那样添加guildKickAdd 那个么我怎样才能阻止踢或设置极限踢呢

当有人禁止动作机器人扮演角色并惩罚他时,这就是禁止阻止

client.on("guildBanAdd", async function(guild, user) {
  const entry = await guild
    .fetchAuditLogs({ type: "MEMBER_BAN_ADD" })
    .then(audit => audit.entries.first());
  const yetkili = await guild.members.get(entry.executor.id);
  setTimeout(async () => {
    let logs = await guild.fetchAuditLogs({ type: "MEMBER_BAN_ADD" });
    if (logs.entries.first().executor.bot) return;

    guild.members
      .get(logs.entries.first().executor.id)
      .removeRoles(guild.members.get(logs.entries.first().executor.id).roles); ///TÜM ROLLERİNİ ALIR
    setTimeout(() => {
      guild.members
        .get(logs.entries.first().executor.id)
        .addRole("633026228537917460"); /// VERİLECEK CEZALI ROL İD
    }, 3000);
    const sChannel = guild.channels.find(c => c.id === "641032067840344064");
    const cıks = new Discord.RichEmbed()
      .setColor("RANDOM")
      .setDescription(
        `<@${yetkili.id}> ${user} adlı Kişiye Sağ tık ban Atıldığı için Banlayan Kişinin Yetkileri Alındı`
      )
      .setFooter("Created by Tokuchi");
    sChannel.send(cıks);
    guild.owner.send(
      `Tokuchi Affetmez † Guard | ** <@${yetkili.id}> İsimili Yetkili <@${user.id}>** Adlı Kişiyi Banladı Ve Yetkilerini Aldım.`
    );
  }, 2000);
});```
client.on(“guildbandd”,异步函数(guild,user){
const entry=等待公会
.fetchAuditLogs({type:“MEMBER\u BAN\u ADD”})
.then(audit=>audit.entries.first());
const yetkili=wait guild.members.get(entry.executor.id);
setTimeout(异步()=>{
let logs=wait guild.fetchAuditLogs({type:“MEMBER\u BAN\u ADD”});
if(logs.entries.first().executor.bot)返回;
公会会员
.get(logs.entries.first().executor.id)
.removoles(guild.members.get(logs.entries.first().executor.id).roles);///TÜM ROLLERİNİALIR
设置超时(()=>{
公会会员
.get(logs.entries.first().executor.id)
.addRole(“633026228537917460”);///VERİLECEK CEZALI ROLİD
}, 3000);
const sChannel=guild.channels.find(c=>c.id==“641032067840344064”);
const cıks=新的Discord.RichEmbed()
.setColor(“随机”)
.setDescription(
`在班莱安基宁的阿尔德基勒里的${user}adlıKişiye Sağtık ban`
)
.setFooter(“由Tokuchi创建”);
谢内尔·森德(cıks);
帮会。所有者。发送(
`Tokuchi Affetmez†Guard |**simili Yetkili**AdlıKişiyi BanladıVe Yetkilerini Aldım`
);
}, 2000);
});```

您需要使用
guildMemberRemove
事件:

//当一个成员离开时。也许他离开了自己,但也许他被踢了。
client.on(“guildMemberRemove”,(成员)=>{
//获取服务器的最后一个kick案例
const entry=等待公会
.fetchAuditLogs({type:“MEMBER_KICK”})
.then(audit=>audit.entries.first());
//如果此服务器中没有任何kick案例
如果(!entry)返回;
//如果目标不是离开的成员
如果(entry.target.id!==member.id)返回;
//否则,您知道该成员被踢了,并且您拥有该条目,因此您可以随心所欲
});

这是知道某人是否被踢的最好方法。

是的,我这样做了,但当某人离开时,他扮演邀请他的人的角色。这是我使用的命令,就像我说的,当某人离开时,机器人扮演邀请他的人的角色