From dd681ed4a1305741e1ad02579cafb22aabe22012 Mon Sep 17 00:00:00 2001 From: SohamGhugare Date: Fri, 6 Aug 2021 13:24:39 +0530 Subject: [PATCH] Added anti-bot cog --- cogs/anti-bot.py | 62 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 cogs/anti-bot.py diff --git a/cogs/anti-bot.py b/cogs/anti-bot.py new file mode 100644 index 0000000..a4b7401 --- /dev/null +++ b/cogs/anti-bot.py @@ -0,0 +1,62 @@ +import discord +from discord.ext import commands + +class AntiBot(commands.Cog): + def __init__(self, bot): + self.bot = bot + self.bot.blacklisted_nicks = ['discord.gg/', 'dsc.gg/'] + + @commands.Cog.listener() + async def on_ready(self): + for member in self.bot.get_guild(681882711945641997).members: + for w in self.bot.blacklisted_nicks: + check_name = [word for word in member.name.split() if word.startswith(w)] + check_nick = [] + if member.nick: + check_nick = [word for word in member.nick.split() if word.startswith(w)] + logs = self.bot.get_guild(681882711945641997).get_channel(791160138199335013) + + if check_nick or check_name: + try: + await member.send(f"You have been kicked from **The Coding Academy** \nReason: Invite link in username.") + except: + pass + await member.kick(reason="Invite link in username/nickname.") + await logs.send(embed=discord.Embed(title=":boot: Auto-kick", description=f":boot: **Kicked: {member.name}** ({member.id}) \n**:page_facing_up: Reason:** Invite link in username/nickname")) + break + + @commands.Cog.listener() + async def on_member_join(self, member): + for w in self.bot.blacklisted_nicks: + check = [word for word in member.name.split() if word.startswith(w)] + if check: + try: + await member.send(f"You have been kicked from **The Coding Academy** \nReason: Invite link in username.") + except: + pass + await member.kick(reason="Invite link in username") + logs = self.bot.get_guild(681882711945641997).get_channel(791160138199335013) # Channel -> #warns-and-ban-logs + await logs.send(embed=discord.Embed(title=":boot: Auto-kick", description=f":boot: **Kicked: {member.name}** ({member.id}) \n**:page_facing_up: Reason:** Invite link in username")) + + @commands.Cog.listener() + async def on_member_update(self, before, after): + for w in self.bot.blacklisted_nicks: + check_name = [word for word in after.name.split() if word.startswith(w)] + check_nick = [] + if after.nick: + check_nick = [word for word in after.nick.split() if word.startswith(w)] + logs = self.bot.get_guild(681882711945641997).get_channel(791160138199335013) + + if check_nick or check_name: + try: + await after.send(f"You have been kicked from **The Coding Academy** \nReason: Invite link in username.") + except: + pass + await after.kick(reason="Invite link in username/nickname.") + await logs.send(embed=discord.Embed(title=":boot: Auto-kick", description=f":boot: **Kicked: {after.name}** ({after.id}) \n**:page_facing_up: Reason:** Invite link in username/nickname")) + break + + + +def setup(bot): + bot.add_cog(AntiBot(bot)) \ No newline at end of file