diff --git a/silentmode/__init__.py b/silentmode/__init__.py index f91f7d7..4752a80 100644 --- a/silentmode/__init__.py +++ b/silentmode/__init__.py @@ -2,6 +2,7 @@ from redbot.core import commands from discord.ext.commands import Cog from redbot.core.bot import Red import discord +import functools class SilentMode(commands.Cog): @@ -10,13 +11,13 @@ class SilentMode(commands.Cog): def __init__(self, bot: Red): self.bot = bot self.original_send = discord.abc.Messageable.send - discord.abc.Messageable.send = self._silent_send + discord.abc.Messageable.send = functools.partialmethod(self._silent_send) def cog_unload(self): """Restore the original send method when the cog is unloaded.""" discord.abc.Messageable.send = self.original_send - async def _silent_send(self, *args, **kwargs): + async def _silent_send(self, messageable, *args, **kwargs): """Override the send method to add @silent to every message.""" if args and isinstance(args[0], str): args = ("@silent " + args[0],) + args[1:] @@ -25,7 +26,7 @@ class SilentMode(commands.Cog): elif not kwargs.get("content") and (kwargs.get("embed") or kwargs.get("file")): kwargs["content"] = "@silent" - return await self.original_send(self, *args, **kwargs) + return await self.original_send(messageable, *args, **kwargs) async def setup(bot: Red):