aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bot/branding.py40
1 files changed, 18 insertions, 22 deletions
diff --git a/bot/branding.py b/bot/branding.py
index 9e006d99..12b371d9 100644
--- a/bot/branding.py
+++ b/bot/branding.py
@@ -13,6 +13,7 @@ from discord.ext import commands
from bot.bot import SeasonalBot
from bot.constants import Branding, Colours, Emojis, MODERATION_ROLES, Tokens
from bot.decorators import with_role
+from bot.exceptions import BrandingError
from bot.seasons import SeasonBase, get_current_season, get_season
log = logging.getLogger(__name__)
@@ -341,10 +342,10 @@ class BrandingManager(commands.Cog):
"""Force cycle guild icon."""
async with ctx.typing():
success = await self.cycle()
- if success:
- response = discord.Embed(description=f"Success {Emojis.ok_hand}", colour=Colours.soft_green)
- else:
- response = discord.Embed(description=f"Failed", colour=Colours.soft_red)
+ if not success:
+ raise BrandingError("Failed to cycle icon")
+
+ response = discord.Embed(description=f"Success {Emojis.ok_hand}", colour=Colours.soft_green)
await ctx.send(embed=response)
@branding_cmds.command(name="apply")
@@ -353,14 +354,9 @@ class BrandingManager(commands.Cog):
async with ctx.typing():
failed_assets = await self.apply()
if failed_assets:
- response = discord.Embed(
- description=f"Failed to apply following assets: {', '.join(failed_assets)}",
- colour=Colours.soft_red,
- )
- else:
- response = discord.Embed(
- description=f"All assets applied successfully {Emojis.ok_hand}", colour=Colours.soft_green
- )
+ raise BrandingError(f"Failed to apply following assets: {', '.join(failed_assets)}")
+
+ response = discord.Embed(description=f"All assets applied {Emojis.ok_hand}", colour=Colours.soft_green)
await ctx.send(embed=response)
@branding_cmds.command(name="set")
@@ -384,15 +380,15 @@ class BrandingManager(commands.Cog):
else:
new_season = get_season(season_name)
if new_season is None:
- raise commands.BadArgument("No such season exists")
+ raise BrandingError("No such season exists")
- if self.current_season is not new_season:
- async with ctx.typing():
- self.current_season = new_season
- await self.refresh()
- await self.branding_info(ctx)
- else:
- await ctx.send(f"Season {self.current_season.season_name} already active")
+ if self.current_season is new_season:
+ raise BrandingError(f"Season {self.current_season.season_name} already active")
+
+ self.current_season = new_season
+ async with ctx.typing():
+ await self.refresh()
+ await self.branding_info(ctx)
@branding_cmds.group(name="daemon", aliases=["d"])
async def daemon_group(self, ctx: commands.Context) -> None:
@@ -415,7 +411,7 @@ class BrandingManager(commands.Cog):
async def daemon_start(self, ctx: commands.Context) -> None:
"""If the daemon isn't running, start it."""
if self._daemon_running:
- raise commands.BadArgument("Daemon already running")
+ raise BrandingError("Daemon already running!")
self.daemon = self.bot.loop.create_task(self._daemon_func())
response = discord.Embed(description=f"Daemon started {Emojis.ok_hand}", colour=Colours.soft_green)
@@ -425,7 +421,7 @@ class BrandingManager(commands.Cog):
async def daemon_stop(self, ctx: commands.Context) -> None:
"""If the daemon is running, stop it."""
if not self._daemon_running:
- raise commands.BadArgument("Daemon not running")
+ raise BrandingError("Daemon not running!")
self.daemon.cancel()
response = discord.Embed(description=f"Daemon stopped {Emojis.ok_hand}", colour=Colours.soft_green)