From 83857fef206be16c897c6635fc16c728f899750d Mon Sep 17 00:00:00 2001 From: wlinator Date: Fri, 26 Apr 2024 07:30:44 -0400 Subject: [PATCH] Add booster listener event --- handlers/event_handler.py | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/handlers/event_handler.py b/handlers/event_handler.py index a15a6d9..7d99e05 100644 --- a/handlers/event_handler.py +++ b/handlers/event_handler.py @@ -4,6 +4,8 @@ import logging from discord.ext.commands import Cog from lib.embeds.greet import Greet +from lib.embeds.boost import Boost +import lib.embeds.boost from services.GuildConfig import GuildConfig _logs = logging.getLogger('Racu.Core') @@ -27,12 +29,24 @@ class EventHandler(Cog): except Exception as e: _logs.info(f"[GreetingHandler] Message not sent in '{member.guild.name}'. Channel ID may be invalid. {e}") - # @Cog.listener() - # async def on_member_update(self, before, after): - # config = GuildConfig(after.guild.id) - # - # if not config.boost_channel_id: - # return + @Cog.listener() + async def on_member_update(self, before, after): + if before.premium_since is None and after.premium_since is not None: + await self.on_nitro_boost(after) + + @staticmethod + async def on_nitro_boost(member): + config = GuildConfig(member.guild.id) + + if not config.boost_channel_id: + return + + embed = lib.embeds.boost.Boost.message(member, config.boost_message) + + try: + await member.guild.get_channel(config.boost_channel_id).send(embed=embed, content=member.mention) + except Exception as e: + _logs.info(f"[BoostHandler] Message not sent in '{member.guild.name}'. Channel ID may be invalid. {e}") @Cog.listener() async def on_command_completion(self, ctx) -> None: