From eea026a112ad6b155b7cf73ea68a3783b72c41ce Mon Sep 17 00:00:00 2001 From: Choco <94597336+ChocoMeow@users.noreply.github.com> Date: Tue, 10 Dec 2024 10:57:11 +0800 Subject: [PATCH] Added support for audio attachment in request channel --- main.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/main.py b/main.py index 511aa41..d2ff78c 100644 --- a/main.py +++ b/main.py @@ -42,23 +42,31 @@ class Vocard(commands.Bot): self.ipc: IPCClient async def on_message(self, message: discord.Message, /) -> None: + # Ignore messages from bots or DMs if message.author.bot or not message.guild: return False + # Check if the bot is directly mentioned if self.user.id in message.raw_mentions and not message.mention_everyone: prefix = await self.command_prefix(self, message) if not prefix: return await message.channel.send("I don't have a bot prefix set.") await message.channel.send(f"My prefix is `{prefix}`") + # Fetch guild settings and check if the mesage is in the music request channel settings = await func.get_settings(message.guild.id) if settings and (request_channel := settings.get("music_request_channel")): if message.channel.id == request_channel.get("text_channel_id"): + ctx = await self.get_context(message) try: - ctx = await self.get_context(message) cmd = self.get_command("play") - await cmd(ctx, query=message.content) + if message.content: + await cmd(ctx, query=message.content) + elif message.attachments: + for attachment in message.attachments: + await cmd(ctx, query=attachment.url) + except Exception as e: await func.send(ctx, str(e), ephemeral=True)