Add the message listener.

This commit is contained in:
2025-03-17 18:27:31 -04:00
parent 8499ae0a78
commit 467c76671b
+41
View File
@@ -0,0 +1,41 @@
"""Defines cog for on message listener."""
import nextcord
from nextcord.ext import commands
from main import birthday_list
class SubmissionListener(commands.Cog, name="Message Listener"):
"""Sets up message listener."""
def __init__(self, bot: commands.Bot) -> None:
self.bot = bot
@commands.Cog.listener()
async def on_message(self, message: nextcord.Message) -> None:
"""Listen for message creation. Adds score and attachments to submission."""
# don't want to process any messages from bot.
if message.author.id == self.bot.user.id: # type: ignore reportOptionalMemberAccess
return
await birthday_action(message)
# This function will be called when this extension is loaded.
# It is necessary to add these functions to the bot.
def setup(bot: commands.Bot) -> None:
"""Add function to bot."""
bot.add_cog(SubmissionListener(bot))
async def birthday_action(message: nextcord.Message) -> None:
"""
Check a message's author and mentions to see if they are in the birthday list.
Args:
message (nextcord.Message): The message to check for a birthday person.
"""
if message.author.id in birthday_list or bool(set(message.raw_mentions) & set(birthday_list)):
await message.add_reaction("🎂")