immigration.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import discord
  2. from discord.ext.commands import Cog
  3. def setup(bot: discord.Bot):
  4. bot.add_cog(Immigration(bot))
  5. class Immigration(Cog):
  6. """Logs when a Discord profile joins or leaves the guild."""
  7. CHANNEL = 620055960467275776
  8. def __init__(self, bot: discord.Bot):
  9. self.bot: discord.Bot = bot
  10. print("Initialized Immigration cog")
  11. @Cog.listener()
  12. async def on_ready(self):
  13. await self.bot.wait_until_ready()
  14. self.channel = self.bot.get_channel(Immigration.CHANNEL)
  15. @Cog.listener()
  16. async def on_member_join(self, member: discord.Member):
  17. tag = member.mention
  18. await self.channel.send(f'{tag} has arrived! We hope you enjoy your stay.')
  19. @Cog.listener()
  20. async def on_member_remove(self, member: discord.Member):
  21. tag = f'{member.display_name} ({member.name}#{member.discriminator})'
  22. await self.channel.send(f'And then, {tag} left the Discord server.')
  23. @Cog.listener()
  24. async def on_member_ban(self, guild: discord.Guild, user: discord.User):
  25. tag = f'{user.display_name} ({user.name}#{user.discriminator})'
  26. await self.channel.send(
  27. f'{tag} has been exiled for their crimes against humanity!'
  28. )
  29. @Cog.listener()
  30. async def on_member_unban(self, guild: discord.Guild, user: discord.User):
  31. tag = f'{user.display_name} ({user.name}#{user.discriminator})'
  32. await self.channel.send(
  33. f'{tag} has been forgiven for their crimes against humanity.'
  34. )