From 51186c3ca450a70547b6f71157ecd55aad25841d Mon Sep 17 00:00:00 2001 From: Rapptz Date: Tue, 5 Jan 2016 01:11:52 -0500 Subject: [commands] Add CommandNotFound error. --- discord/ext/commands/bot.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'discord/ext/commands/bot.py') diff --git a/discord/ext/commands/bot.py b/discord/ext/commands/bot.py index a788f670..35b1d149 100644 --- a/discord/ext/commands/bot.py +++ b/discord/ext/commands/bot.py @@ -31,6 +31,7 @@ import inspect from .core import GroupMixin from .view import StringView from .context import Context +from .errors import CommandNotFound class Bot(GroupMixin, discord.Client): """Represents a discord bot. @@ -203,18 +204,21 @@ class Bot(GroupMixin, discord.Client): view.skip_ws() invoker = view.get_word() + tmp = { + 'bot': self, + 'invoked_with': invoker, + 'message': message, + 'view': view, + } + ctx = Context(**tmp) + del tmp if invoker in self.commands: command = self.commands[invoker] - tmp = { - 'bot': self, - 'invoked_with': invoker, - 'message': message, - 'view': view, - 'command': command - } - ctx = Context(**tmp) - del tmp + ctx.command = command yield from command.invoke(ctx) + else: + exc = CommandNotFound('Command "{}" is not found'.format(invoker)) + self.dispatch('command_error', exc, ctx) @asyncio.coroutine def on_message(self, message): -- cgit v1.2.3