How to track who invited a Discord bot in a guild, using discord.js? I want to create an anti-bot event and take action against the inviter.
Using audit logs will suffice (you will need to give the bot perms). Using GuildAuditLogsEntry.executor and GuildAuditLogsEntry.target. Here is an implementation (it will check if the member is a bot and if they are, do something of your choice)
client.on("guildMemberAdd", async (member) => {
if (!member.user.bot) return;
const auditLogs = await member.guild.fetchAuditLogs({type: "BOT_ADD"})
const auditLog = auditLogs.entries.first()
//you can take ban with "auditLog.executor.ban()"
//you can also ban the bot with "auditLog.target.ban"
})
Tested on discord.js v13