diff options
| author | 2021-06-03 15:58:05 +0800 | |
|---|---|---|
| committer | 2021-06-03 15:58:05 +0800 | |
| commit | b60fd23bae52fb59eed0bf29aef2516234d1c858 (patch) | |
| tree | 0ed0f44d590e8e4891b2f1ab142b10b48fae2763 /bot/exts/halloween/spookyreact.py | |
| parent | Make `setup` docstring same as other cogs (diff) | |
| parent | Added "centisecond" in trivia_quiz.json (#751) (diff) | |
Merge branch 'main' into feature/pride-leaders
Diffstat (limited to '')
| -rw-r--r-- | bot/exts/halloween/spookyreact.py | 43 | 
1 files changed, 22 insertions, 21 deletions
| diff --git a/bot/exts/halloween/spookyreact.py b/bot/exts/halloween/spookyreact.py index b335df75..25e783f4 100644 --- a/bot/exts/halloween/spookyreact.py +++ b/bot/exts/halloween/spookyreact.py @@ -2,21 +2,22 @@ import logging  import re  import discord -from discord.ext.commands import Bot, Cog +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,}ky\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") +    "spooky": (r"\bspo{2,}ky\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")  } @@ -28,20 +29,20 @@ class SpookyReact(Cog):      @in_month(Month.OCTOBER)      @Cog.listener() -    async def on_message(self, ctx: discord.Message) -> None: +    async def on_message(self, message: discord.Message) -> None:          """Triggered when the bot sees a message in October.""" -        for trigger in SPOOKY_TRIGGERS.keys(): -            trigger_test = re.search(SPOOKY_TRIGGERS[trigger][0], ctx.content.lower()) +        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(ctx): +                if await self._short_circuit_check(message):                      return                  else: -                    await ctx.add_reaction(SPOOKY_TRIGGERS[trigger][1]) -                    logging.info(f"Added '{trigger}' reaction to message ID: {ctx.id}") +                    await message.add_reaction(trigger[1]) +                    log.info(f"Added {name!r} reaction to message ID: {message.id}") -    async def _short_circuit_check(self, ctx: discord.Message) -> bool: +    async def _short_circuit_check(self, message: discord.Message) -> bool:          """          Short-circuit helper check. @@ -50,20 +51,20 @@ class SpookyReact(Cog):            * prefix is not None          """          # Check for self reaction -        if ctx.author == self.bot.user: -            logging.debug(f"Ignoring reactions on self message. Message ID: {ctx.id}") +        if message.author == self.bot.user: +            log.debug(f"Ignoring reactions on self message. Message ID: {message.id}")              return True          # Check for command invocation          # Because on_message doesn't give a full Context object, generate one first -        tmp_ctx = await self.bot.get_context(ctx) -        if tmp_ctx.prefix: -            logging.debug(f"Ignoring reactions on command invocation. Message ID: {ctx.id}") +        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  def setup(bot: Bot) -> None: -    """Spooky reaction Cog load.""" +    """Load the Spooky Reaction Cog."""      bot.add_cog(SpookyReact(bot)) | 
