aboutsummaryrefslogtreecommitdiffstats
path: root/bot/bot.py
diff options
context:
space:
mode:
authorGravatar scragly <[email protected]>2019-05-11 04:51:30 +1000
committerGravatar GitHub <[email protected]>2019-05-11 04:51:30 +1000
commit0e2c6a1b0daef5b569da7652801b5725bf1ed95b (patch)
treec3d57e50f2ba07cb2d9e7476d3b9441c1f671bd9 /bot/bot.py
parentnot importing aiohttp now (diff)
parentMerge pull request #198 from Suhail6inkling/constants_fix (diff)
Merge branch 'master' into hanukkah_embed_iceman
Diffstat (limited to 'bot/bot.py')
-rw-r--r--bot/bot.py22
1 files changed, 14 insertions, 8 deletions
diff --git a/bot/bot.py b/bot/bot.py
index d60390c3..f3b1acbb 100644
--- a/bot/bot.py
+++ b/bot/bot.py
@@ -5,7 +5,7 @@ from typing import List
from aiohttp import AsyncResolver, ClientSession, TCPConnector
from discord import Embed
-from discord.ext.commands import Bot
+from discord.ext import commands
from bot import constants
@@ -14,7 +14,9 @@ log = logging.getLogger(__name__)
__all__ = ('SeasonalBot',)
-class SeasonalBot(Bot):
+class SeasonalBot(commands.Bot):
+ """Base bot instance."""
+
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.http_session = ClientSession(
@@ -22,9 +24,7 @@ class SeasonalBot(Bot):
)
def load_extensions(self, exts: List[str]):
- """
- Unload all current cogs, then load in the ones passed into `cogs`
- """
+ """Unload all current extensions, then load the given extensions."""
# Unload all cogs
extensions = list(self.extensions.keys())
@@ -42,9 +42,7 @@ class SeasonalBot(Bot):
log.error(f'Failed to load extension {cog}: {repr(e)} {format_exc()}')
async def send_log(self, title: str, details: str = None, *, icon: str = None):
- """
- Send an embed message to the devlog channel
- """
+ """Send an embed message to the devlog channel."""
devlog = self.get_channel(constants.Channels.devlog)
@@ -59,3 +57,11 @@ class SeasonalBot(Bot):
embed.set_author(name=title, icon_url=icon)
await devlog.send(embed=embed)
+
+ async def on_command_error(self, context, exception):
+ """Check command errors for UserInputError and reset the cooldown if thrown."""
+
+ if isinstance(exception, commands.UserInputError):
+ context.command.reset_cooldown(context)
+ else:
+ await super().on_command_error(context, exception)