# cogs/developer.py import discord from discord import app_commands from discord.ext import commands import logging logger = logging.getLogger(__name__) class DeveloperCog(commands.Cog): def __init__(self, bot): self.bot = bot su_dev = app_commands.Group( name="sudev", description="Developer God Mode Tools", default_permissions=discord.Permissions(administrator=True) ) @su_dev.command(name="reload", description="Hot-reload a specific cog without restarting the bot") @app_commands.describe(cog_name="The name of the cog to reload (e.g., cogs.market)") async def reload_cog(self, interaction: discord.Interaction, cog_name: str): await interaction.response.defer(ephemeral=True) try: await self.bot.reload_extension(cog_name) await interaction.followup.send(f"✅ Successfully hot-reloaded `{cog_name}`!") logger.info(f"Admin {interaction.user.name} hot-reloaded {cog_name}.") except commands.ExtensionNotLoaded: try: await self.bot.load_extension(cog_name) await interaction.followup.send(f"✅ Successfully loaded new cog `{cog_name}`!") except Exception as e: await interaction.followup.send(f"❌ Failed to load `{cog_name}`: {e}") except Exception as e: logger.error(f"Failed to reload {cog_name}: {e}", exc_info=True) await interaction.followup.send(f"❌ Error reloading `{cog_name}`: {e}") async def setup(bot): await bot.add_cog(DeveloperCog(bot))