diff options
Diffstat (limited to 'bot/exts/holidays/halloween/spookyreact.py')
| -rw-r--r-- | bot/exts/holidays/halloween/spookyreact.py | 71 | 
1 files changed, 0 insertions, 71 deletions
diff --git a/bot/exts/holidays/halloween/spookyreact.py b/bot/exts/holidays/halloween/spookyreact.py deleted file mode 100644 index 99a84c4f..00000000 --- a/bot/exts/holidays/halloween/spookyreact.py +++ /dev/null @@ -1,71 +0,0 @@ -import logging -import re - -import discord -from discord.ext.commands import Cog - -from bot.bot import Bot -from bot.constants import Month -from bot.utils.decorators import in_month - -log = logging.getLogger(__name__) - -SPOOKY_TRIGGERS = { -    "spooky": (r"\bspo{2,}[k|p][i|y](er|est)?\b", "\U0001F47B"), -    "skeleton": (r"\bskeleton\b", "\U0001F480"), -    "doot": (r"\bdo{2,}t\b", "\U0001F480"), -    "pumpkin": (r"\bpumpkin\b", "\U0001F383"), -    "halloween": (r"\bhalloween\b", "\U0001F383"), -    "jack-o-lantern": (r"\bjack-o-lantern\b", "\U0001F383"), -    "danger": (r"\bdanger\b", "\U00002620"), -    "bat": (r"\bbat((wo)?m[ae]n|persons?|people|s)?\b", "\U0001F987"), -} - - -class SpookyReact(Cog): -    """A cog that makes the bot react to message triggers.""" - -    def __init__(self, bot: Bot): -        self.bot = bot - -    @in_month(Month.OCTOBER) -    @Cog.listener() -    async def on_message(self, message: discord.Message) -> None: -        """Triggered when the bot sees a message in October.""" -        for name, trigger in SPOOKY_TRIGGERS.items(): -            trigger_test = re.search(trigger[0], message.content.lower()) -            if trigger_test: -                # Check message for bot replies and/or command invocations -                # Short circuit if they're found, logging is handled in _short_circuit_check -                if await self._short_circuit_check(message): -                    return -                else: -                    await message.add_reaction(trigger[1]) -                    log.info(f"Added {name!r} reaction to message ID: {message.id}") - -    async def _short_circuit_check(self, message: discord.Message) -> bool: -        """ -        Short-circuit helper check. - -        Return True if: -          * author is a bot -          * prefix is not None -        """ -        # Check if message author is a bot -        if message.author.bot: -            log.debug(f"Ignoring reactions on bot message. Message ID: {message.id}") -            return True - -        # Check for command invocation -        # Because on_message doesn't give a full Context object, generate one first -        ctx = await self.bot.get_context(message) -        if ctx.prefix: -            log.debug(f"Ignoring reactions on command invocation. Message ID: {message.id}") -            return True - -        return False - - -async def setup(bot: Bot) -> None: -    """Load the Spooky Reaction Cog.""" -    await bot.add_cog(SpookyReact(bot))  |