a71b3b5fa0
[lint] Limit unneccessarily broad except clauses
...
Add exception qualifier(s) to bare except clauses swallowing exceptions.
2018-11-24 22:17:57 -05:00
860d6a9ace
Revert "Rework documentation to not duplicate inherited members."
...
This reverts commit 96981210b3
.
2018-10-11 03:42:01 -04:00
e12db3a25d
[commands] Add call_once keyword-only parameter for Bot.remove_check
...
Technically a breaking change. This is to be a parallel with the
Bot.add_check interface.
2018-10-11 02:52:26 -04:00
96981210b3
Rework documentation to not duplicate inherited members.
...
This will probably be reverted in 1 week.
2018-10-03 05:45:30 -04:00
45af0c83de
[commands] Fix NameError in clean_content converter
2018-09-25 19:48:20 -04:00
3d03dbc451
Change internal role storage in Guild to a dict instead of a list.
...
This adds the following APIs:
* Guild.get_role
This removes the following APIs:
* Guild.role_hierarchy
To compensate for the removed APIs, Guild.roles is now a sorted list
based on hierarchy. The first element will always be the @everyone
role.
This speeds up access at the cost of some memory, theoretically.
2018-09-24 21:08:48 -04:00
418048b98a
[commands] Fix up Greedy documentation a bit.
2018-09-24 04:22:09 -04:00
814b03f5a8
[commands] Add commands.Greedy converter and documentation.
...
This allows for greedy "consume until you can't" behaviour similar to
typing.Optional but for lists.
2018-09-24 03:56:32 -04:00
00a445310b
[commands] Allow for backtracking parsing with typing.Optional
...
Original code by zephyrkul.
This new parsing mode allows for backtracking in case of failure
when a typing.Union[..., NoneType] or a typing.Optional[...] is used.
This means that if a type would fail to parse, the view is undo'd to
a previous state, passing the default parameter to the callback, and
then continuing on the next parameter as if nothing had happened.
2018-09-23 06:12:26 -04:00
8ef509883a
[commands] Properly parse bool when inside a typing.Union
2018-09-20 23:58:34 -04:00
9af0e54cd3
Correct ClientException message raised in invocation hooks.
...
For when the hooks are not coroutines.
2018-09-20 23:43:07 -04:00
a4d1599ce9
Change docstrings to raw-strings
2018-09-14 22:55:27 -04:00
b9ef80b0d0
[commands] Prepend mention prefixes in commands.when_mentioned_or
2018-08-28 23:50:57 -04:00
52e8c06aed
Fix typo in core.Command docstring
2018-08-24 06:24:04 +12:00
fdc71695dc
[commands] Use eval instead of get_type_hints to resolve typehints
...
The previous usage of `typing.get_type_hints` caused issues as it would
incorrectly decide to convert annotations into their equivalent
`typing` form -- which is not what we want to happen here.
Due to some use-cases about how setting `Command.callback` work and
the amount of moving parts that have changed due to this patch, it is
probably better to refactor the way it is set so users can have this
use-case handled transparently for them.
2018-08-22 23:16:52 -04:00
be7ea2678b
Bot.unload_extension: don't remove commands from no module
...
Fixes unload_extension in the case of a command added via eval
2018-08-22 21:56:41 -04:00
ef89d3aa22
Add support for converters working with PEP-563
2018-08-22 21:53:47 -04:00
c8b49d37be
[lint] Fix incorrect and inconsistent whitespace
...
Adjust whitespace to be consistent with the rest of the library.
2018-08-22 21:43:53 -04:00
3679819c53
[lint] Remove unnecessary lambdas
...
Lambdas of the form `lambda x: func(x)` are redundant.
2018-08-22 21:43:52 -04:00
119c5a0618
[lint] Remove unused variables
...
Left over from various refactoring and rewrites.
2018-08-22 21:43:51 -04:00
d58fc0ccee
[lint] Remove unused imports
...
Left over from various refactoring and rewrites.
2018-08-22 21:43:50 -04:00
39cb5f30b4
[commands] Handle nick mentions in HelpFormatter
...
Modifies the help formatter to handle nicknamed bot users for
mentions in clean_prefix
2018-08-22 21:06:09 -04:00
aa7c5c3ec1
[commands] Ignore bots from Bot.process_commands by default.
2018-08-22 21:06:09 -04:00
00a14a46f3
[commands] Added BucketType.members for cooldowns
2018-08-22 21:06:08 -04:00
8d3b2d0b70
[commands] Fix broken handling of keyword only parameters.
...
Had a missing `param` argument in the new `do_conversion` code.
2018-07-21 02:52:45 -04:00
69ca675ca0
[commands] Fix typing.Union converters for 3.7
...
Guido please don't break this
2018-07-20 18:01:48 -04:00
da5776a358
[commands] Make ConversionError have the original error as an attribute
2018-07-20 05:54:51 -04:00
92dde9aef9
[commands] Add support for typing.Union as a converter
2018-07-20 05:51:43 -04:00
2321ae8d97
[commands] raise ConversionError on Converter error
...
This assumes that a Converter class raising non-CommandError
is a programmer error. Makes this type of error easier to
disambiguate from a generic BadArgument.
2018-07-20 04:14:20 -04:00
a93c3d931c
[commands] Change command_prefix behaviour
...
Change the behaviour of handling iterable command_prefix types to not
silently ignore falsy prefixes and unify behaviour for all iterable
types. Add special handling of a possible TypeError in both get_prefix
and get_context for when the prefix is a different type from what is
expected.
2018-06-29 21:48:30 -04:00
bf9ca405e3
Fix case insensitive command removal
2018-06-21 07:44:00 -04:00
607771c4f4
Fix Bot.get_prefix second parameter breaking.
2018-06-10 18:41:36 -04:00
f25091efe1
Drop support for Python 3.4 and make minimum version 3.5.2.
2018-06-10 18:10:00 -04:00
f176309179
[commands] Don't handle single quotes.
2018-03-20 03:25:40 -04:00
d8a85f4898
[commands] Minor optimisations to unicode quote handling.
2018-03-06 01:16:00 -05:00
ea061ef9b2
[commands] Added handling for unicode quotes
2018-03-06 01:11:36 -05:00
871a262ee3
[commands] Add ability to have case insensitive commands.
...
This is powered by a dict-like class for the people who want to opt-in
to the performance downgrade for usability for majority English
speaking users.
Since it is slower than the regular dict due to the excessive calls to
str.lower along with the possibilities of gotchas for other languages
outside of English, this is kept as False for the default case.
2018-03-06 00:37:12 -05:00
ad7506050c
[commands] Allow builtin unbound method converters
2018-02-10 22:07:44 -08:00
04d9dd9c0d
Change PartialReactionEmoji to PartialEmoji, add a PartialEmojiConverter
2018-01-06 17:32:25 -05:00
3112e1c17e
Add intersphinx
2018-01-06 17:23:59 -05:00
0ef866a704
[commands] Fix MissingRequiredArgument param handling
...
Documentation was incorrect, and we were throwing
away the param we were passing.
2018-01-06 17:23:58 -05:00
3a8b97ffb0
[commands] Document that can_run can raise.
2017-12-29 06:00:25 -05:00
e61ac8e60f
[commands] Forbid passing a string to aliases in Command.
...
Fixes #974
2017-12-29 01:42:45 -05:00
f5a443fa8f
Add support for animated emoji to commands ext EmojiConverter
2017-12-22 14:59:21 +10:00
89f9009a28
[commands] Fix minor spelling mistake
2017-11-20 09:00:32 -06:00
9b4a2dc7cb
[commands] Minor speed-up for the BucketType.guild case.
...
None case:
344ns ± 24.4ns -> 49.9ns ± 1.39ns
Valid case:
128ns ± 2.76ns -> 42.7ns ± 0.459ns
2017-10-08 07:57:58 -04:00
1bb7b6ff2d
[commands] Make CooldownMapping.get_bucket take Message instead.
...
Requiring a full blown Context might be a bit overkill considering
we only use a single attribute from it.
2017-10-08 07:52:56 -04:00
bae6f80327
[commands] Split Cooldown state processing to two different functions.
...
This allows us to check if we are rate limited without
creating a new cool-down window for the command.
2017-10-03 03:57:06 -04:00
e614f6b4cd
[commands] Add CategoryChannelConverter
2017-09-13 17:19:30 -04:00
e24914be0b
[commands] Fix NameError when given an invalid prefix.
...
Closes #775
2017-09-12 04:22:13 -04:00