mirror of
https://github.com/neoarz/Syntrel.git
synced 2025-12-25 11:40:12 +01:00
chore: (description) improve embeds for warnings
Refactored embed creation and sending in moderation warnings and owner cog management for consistency and improved user feedback. Added author and title fields to embeds, centralized embed sending logic, and enhanced error reporting with exception details. Moved NotOwner error handling from bot.py to cog_management.py for owner commands.
This commit is contained in:
@@ -8,6 +8,16 @@ class CogManagement(commands.Cog, name="cog_management"):
|
||||
def __init__(self, bot) -> None:
|
||||
self.bot = bot
|
||||
|
||||
async def send_embed(self, context: Context, embed: discord.Embed, *, ephemeral: bool = False) -> None:
|
||||
interaction = getattr(context, "interaction", None)
|
||||
if interaction is not None:
|
||||
if interaction.response.is_done():
|
||||
await interaction.followup.send(embed=embed, ephemeral=ephemeral)
|
||||
else:
|
||||
await interaction.response.send_message(embed=embed, ephemeral=ephemeral)
|
||||
else:
|
||||
await self.send_embed(context, embed)
|
||||
|
||||
@commands.hybrid_command(
|
||||
name="load",
|
||||
description="Load a cog",
|
||||
@@ -23,16 +33,19 @@ class CogManagement(commands.Cog, name="cog_management"):
|
||||
"""
|
||||
try:
|
||||
await self.bot.load_extension(f"cogs.{cog}")
|
||||
except Exception:
|
||||
except Exception as e:
|
||||
embed = discord.Embed(
|
||||
description=f"Could not load the `{cog}` cog.", color=0xE02B2B
|
||||
title="Error",
|
||||
description=f"Could not load the `{cog}` cog.\n```{str(e)}```", color=0xE02B2B
|
||||
)
|
||||
await context.send(embed=embed)
|
||||
embed.set_author(name="Owner", icon_url="https://yes.nighty.works/raw/zReOib.webp")
|
||||
await self.send_embed(context, embed, ephemeral=True)
|
||||
return
|
||||
embed = discord.Embed(
|
||||
description=f"Successfully loaded the `{cog}` cog.", color=0xBEBEFE
|
||||
)
|
||||
await context.send(embed=embed)
|
||||
embed.set_author(name="Owner", icon_url="https://yes.nighty.works/raw/zReOib.webp")
|
||||
await self.send_embed(context, embed)
|
||||
|
||||
@commands.hybrid_command(
|
||||
name="unload",
|
||||
@@ -49,16 +62,19 @@ class CogManagement(commands.Cog, name="cog_management"):
|
||||
"""
|
||||
try:
|
||||
await self.bot.unload_extension(f"cogs.{cog}")
|
||||
except Exception:
|
||||
except Exception as e:
|
||||
embed = discord.Embed(
|
||||
description=f"Could not unload the `{cog}` cog.", color=0xE02B2B
|
||||
title="Error",
|
||||
description=f"Could not unload the `{cog}` cog.\n```{str(e)}```", color=0xE02B2B
|
||||
)
|
||||
await context.send(embed=embed)
|
||||
embed.set_author(name="Owner", icon_url="https://yes.nighty.works/raw/zReOib.webp")
|
||||
await self.send_embed(context, embed, ephemeral=True)
|
||||
return
|
||||
embed = discord.Embed(
|
||||
description=f"Successfully unloaded the `{cog}` cog.", color=0xBEBEFE
|
||||
)
|
||||
await context.send(embed=embed)
|
||||
embed.set_author(name="Owner", icon_url="https://yes.nighty.works/raw/zReOib.webp")
|
||||
await self.send_embed(context, embed)
|
||||
|
||||
@commands.hybrid_command(
|
||||
name="reload",
|
||||
@@ -75,16 +91,32 @@ class CogManagement(commands.Cog, name="cog_management"):
|
||||
"""
|
||||
try:
|
||||
await self.bot.reload_extension(f"cogs.{cog}")
|
||||
except Exception:
|
||||
except Exception as e:
|
||||
embed = discord.Embed(
|
||||
description=f"Could not reload the `{cog}` cog.", color=0xE02B2B
|
||||
title="Error",
|
||||
description=f"Could not reload the `{cog}` cog.\n```{str(e)}```", color=0xE02B2B
|
||||
)
|
||||
await context.send(embed=embed)
|
||||
embed.set_author(name="Owner", icon_url="https://yes.nighty.works/raw/zReOib.webp")
|
||||
await self.send_embed(context, embed, ephemeral=True)
|
||||
return
|
||||
embed = discord.Embed(
|
||||
title="Cog Management",
|
||||
description=f"Successfully reloaded the `{cog}` cog.", color=0xBEBEFE
|
||||
)
|
||||
await context.send(embed=embed)
|
||||
embed.set_author(name="Owner", icon_url="https://yes.nighty.works/raw/zReOib.webp")
|
||||
await self.send_embed(context, embed)
|
||||
|
||||
async def cog_command_error(self, context: Context, error) -> None:
|
||||
if isinstance(error, commands.NotOwner):
|
||||
embed = discord.Embed(
|
||||
title="Error",
|
||||
description="You are not the owner of the bot!",
|
||||
color=0xE02B2B
|
||||
)
|
||||
embed.set_author(name="Owner", icon_url="https://yes.nighty.works/raw/zReOib.webp")
|
||||
await self.send_embed(context, embed, ephemeral=True)
|
||||
else:
|
||||
raise error
|
||||
|
||||
|
||||
async def setup(bot) -> None:
|
||||
|
||||
Reference in New Issue
Block a user