Commit Graph
650 Commits
Author SHA1 Message Date
Rapptz c6d26216a6 [commands] Fix bad logic in command list filtering. 2017-02-18 02:39:03 -05:00
Rapptz bb8f5f4725 Make discord.ext a namespace package. 2017-02-14 21:35:52 -05:00
Rapptz 6166cbc2e7 [commands] Add commands.clean_content converter. 2017-02-13 22:15:39 -05:00
Rapptz e10cae5dbc [commands] Allow converters to be instantiated.
This allows for you to create converters that can have varying
behaviour using the converter's __init__ instead of having to do a
meta-class based approach to get around the fact that __init__ is part
of the interface.

To make up for the lack of __init__, a new method Converter.prepare was
added to do the work that __init__ used to do.
2017-02-13 21:05:25 -05:00
Rapptz b6bff5172a [commands] Remove Commands: if no commands can be run in help command. 2017-02-13 04:27:31 -05:00
Rapptz bf11bb4b4f [commands] Add cog local error handlers via __error. 2017-02-12 15:48:18 -05:00
Rapptz 7bc3750c27 [commands] Add param attribute to MissingRequiredArgument
This should allow easier querying on what argument is missing.

Fixes #470.
2017-02-12 13:53:49 -05:00
Rapptz 47ef657fbd Implement async checks. Fixes #380. 2017-02-12 12:13:23 -05:00
Michael Van BurenandRapptz 84dfd7b3e3 [commands] Add Command.usage argument to override argument display. 2017-02-10 03:35:25 -05:00
Rapptz f8d19ae7ba [commands] Better support for retrieving children commands.
* GroupMixin.get_command now supports fully qualified names
* Add GroupMixin.walk_commands to get an iterator of all commands.
2017-02-06 21:04:33 -05:00
Rapptz aac769eb56 [commands] Fix converters returning the wrong types when an ID is passed 2017-01-31 04:57:13 -05:00
Rapptz 1c49374210 [commands] Implement before and after invoke command hooks.
Fixes #464.
2017-01-27 18:53:21 -05:00
Rapptz 8fa50a8f3e [commands] Add Context.command_failed attribute. 2017-01-27 17:14:22 -05:00
Rapptz 12c1cd9b14 [commands] Add cog local checks via __local_check 2017-01-26 05:49:24 -05:00
Rapptz 0e1bd1647e [commands] Rename __check to __global_check for cogs. 2017-01-26 05:31:11 -05:00
Rapptz 4016154529 [commands] Allow customising the Context class in get_context. 2017-01-26 05:05:15 -05:00
Rapptz 234fd5180f Optimise attribute access when dispatching. 2017-01-25 05:31:53 -05:00
Rapptz ff9f5749e1 Update copyright year to 2017. 2017-01-20 23:19:19 -05:00
Rapptz ea72d5e63d [commands] Guarantee that local error handler is called before generic. 2017-01-15 21:55:50 -05:00
Rapptz 11b54d67c9 [commands] Change UserConverter to actually work with User, not Member. 2017-01-14 22:15:02 -05:00
Rapptz 92dd519b1a Remove _get_guild_id from Messageable ABC. 2017-01-14 19:22:26 -05:00
Rapptz ce9d5b4f4a [commands] Split process_commands into lower level bits. 2017-01-14 19:17:08 -05:00
Rapptz 695b62ccd3 [commands] Make Command a descriptor for #426. 2017-01-13 20:34:00 -05:00
Rapptz d22d8cc430 [commands] Add AutoShardedBot counterpart to AutoShardedClient. 2017-01-08 04:50:59 -05:00
Rapptz 3f06cf9e81 [commands] Don't use removed is_private attribute in core decorators. 2017-01-03 20:17:58 -05:00
Rapptz 496f5d0472 [commands] Fix help command from not working with recent changes. 2017-01-03 09:52:12 -05:00
Rapptz 7431a127cf Change Messageable channel getter to be a coroutine. 2017-01-03 09:52:11 -05:00
Rapptz d5b616fa11 Rename MessageChannel abc to Messageable. 2017-01-03 09:52:09 -05:00
Rapptz 20ddc9f14f [commands] Remove send_ utility functions. 2017-01-03 09:52:04 -05:00
Rapptz 406984af2e [commands] First pass in making commands ext work again. 2017-01-03 09:52:03 -05:00
Rapptz d1d54a468a Rename Server to Guild everywhere. 2017-01-03 09:51:54 -05:00
Rapptz 20251c54a7 [commands] Bot skip check now works with the new __eq__ changes. 2017-01-03 09:51:51 -05:00
Rapptz e4b16851bf Slots use tuples instead now. 2017-01-03 09:51:50 -05:00
Rapptz 45c729b167 Switch IDs to use int instead of str 2017-01-03 09:51:49 -05:00
PapyrusThePlantandRapptz 31cd9ad37a [commands] Bugfix on the teardown function call. 2017-01-01 01:49:10 -05:00
Rapptz bed2e90e82 Properly propagate loop. Fixes #420. 2016-12-21 00:06:19 -05:00
Rapptz 00e30f3106 [commands] Shield against dictionary resize in Bot.close 2016-12-17 21:18:48 -05:00
Rapptz fc1a7183a0 [commands] Unload all cogs when gracefully exiting bot. 2016-12-17 14:47:29 -05:00
Rapptz b8909ae389 [commands] Properly propagate CommandError derived exceptions.
If a command or a group raised a CommandError derived exception it
would be wrapped into CommandInvokeError. This fixes this case so it
raises the original exception instead.
2016-12-17 14:44:36 -05:00
Rapptz 6d88024f0f [commands] Add special extension function 'teardown' for clean-up.
This is to support people who want to clean up some external resource
that the extension is maintaining outside of a cog, where __unload
should be used instead.

The callable is the antipode of 'setup' and takes the same sole
parameter, the bot, after all commands, events, and cogs have been
unloaded.

Fixes #405.
2016-12-17 14:15:11 -05:00
Rapptz bafaf72c89 [commands] Unload all extensions when gracefully closing bot. 2016-12-17 14:15:10 -05:00
khazhykandRapptz b1117262da [commands] Run global checks in help formatter.
Help formatter was not checking global bot-level checks, resulting in
showing commands a user did not have permission for with
show_check_failure disabled.
2016-12-16 14:39:25 -05:00
Rapptz 6f2603c049 [commands] Remove slots on Context.
This is to allow people to set temporary local variables by injecting
them directly into the context via some decorator or some other
mechanism. Contexts are not kept alive long enough to warrant being
slotted.
2016-11-22 19:57:19 -05:00
Max KampsandGitHub 25c262461e [commands] Fix mistake in Paginator error message. 2016-10-03 13:27:02 +02:00
Max KampsandRapptz 8f0d16629f [commands] Fix Paginator still allowing lines which are too long. 2016-10-03 00:32:12 -04:00
Rapptz 7c0be1cade [commands] Raise exception if Paginator gets a line that is too big.
Fixes #340
2016-09-26 23:26:26 -04:00
Rapptz 967d43c35b [commands] Allow coroutine functions in Bot.command_prefix 2016-09-17 15:01:56 -04:00
Rapptz 152b3a1125 [commands] Default converters now take in IDs to match against. 2016-09-09 06:53:22 -04:00
Rapptz b0509a6910 [commands] Cooldowns don't trigger due to user usage error.
Fixes #325
2016-09-08 07:13:22 -04:00
Dan HessandRapptz b7ffbca0c7 [commands] Added a method to reset command cooldown. 2016-09-08 07:02:33 -04:00