From 32401f31d82560d7960b5e1bd99e7396933ed3a4 Mon Sep 17 00:00:00 2001 From: Valerie Date: Sat, 24 May 2025 03:12:39 -0400 Subject: [PATCH] Refactor Translator Cog to enhance user experience with improved error handling and message formatting options. Introduce new features for better command usability and update command descriptions for clarity. --- silentmode/__init__.py | 33 +++++++++++++++++++++++++++++++++ silentmode/info.json | 20 ++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 silentmode/__init__.py create mode 100644 silentmode/info.json diff --git a/silentmode/__init__.py b/silentmode/__init__.py new file mode 100644 index 0000000..f91f7d7 --- /dev/null +++ b/silentmode/__init__.py @@ -0,0 +1,33 @@ +from redbot.core import commands +from discord.ext.commands import Cog +from redbot.core.bot import Red +import discord + + +class SilentMode(commands.Cog): + """Makes the bot use @silent for every message it sends.""" + + def __init__(self, bot: Red): + self.bot = bot + self.original_send = discord.abc.Messageable.send + discord.abc.Messageable.send = 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): + """Override the send method to add @silent to every message.""" + if args and isinstance(args[0], str): + args = ("@silent " + args[0],) + args[1:] + elif "content" in kwargs and kwargs["content"]: + kwargs["content"] = "@silent " + kwargs["content"] + elif not kwargs.get("content") and (kwargs.get("embed") or kwargs.get("file")): + kwargs["content"] = "@silent" + + return await self.original_send(self, *args, **kwargs) + + +async def setup(bot: Red): + """Add the cog to the bot.""" + await bot.add_cog(SilentMode(bot)) \ No newline at end of file diff --git a/silentmode/info.json b/silentmode/info.json new file mode 100644 index 0000000..59b2c63 --- /dev/null +++ b/silentmode/info.json @@ -0,0 +1,20 @@ +{ + "name": "SilentMode", + "short": "Makes the bot use @silent for every message it sends", + "description": "A cog that automatically adds @silent to every message the bot sends, reducing notifications in servers.", + "end_user_data_statement": "This cog does not store any user data.", + "author": [ + "Valerie" + ], + "required_cogs": {}, + "requirements": [], + "tags": [ + "utility", + "silent", + "notifications" + ], + "min_bot_version": "3.5.0", + "hidden": false, + "disabled": false, + "type": "COG" +} \ No newline at end of file