Rapptz
3326adf63b
[commands] Optimise GroupMixin.get_command for the no space case.
...
Comes at a 30ns slowdown for the space case, however.
2019-03-16 09:27:59 -04:00
Kaeptm Blaubaer
b506ee1b8e
Change superclass to subclass in some documentation
2019-03-16 05:32:59 -04:00
Rapptz
3527203e07
[commands] Redesign HelpFormatter into HelpCommand
...
Part of #1938
2019-03-15 05:54:23 -04:00
Harmon
0513ea1f53
[commands] Properly handle typing.Optional as last positional parameter
2019-03-13 10:05:08 -05:00
Rapptz
8a153bfaad
[commands] Refactor quoted_word free function to a StringView method.
...
Technically a breaking change, however this interface was not
documented or guaranteed to exist.
2019-03-12 05:37:34 -04:00
Skyweb
84a48c9056
Small inconsistency in documentation
...
:)
2019-03-08 19:59:20 -05:00
Myst(MysterialPy)
63c5892b43
Fix Signature for Greedy/Optional converters
...
Change Greedy to `[a]...` | `[a=1]...`
2019-03-02 06:16:50 -05:00
Rapptz
9827d6eeaf
[commands] Fix issue with decorator order with checks and cooldowns
...
Now they're just explicitly copied.
2019-02-23 07:41:25 -05:00
Rapptz
04ee10adc4
[commands] Fix bug with local checks and cooldowns not applying.
2019-02-23 05:38:35 -05:00
Rapptz
ac6e55353a
[commands] Copy on_error handlers in Command.copy
...
This fixes the issue of error handlers not applying.
2019-02-23 05:31:05 -05:00
Rapptz
caf3d17d4a
Rework entire cog system and partially document it and extensions.
2019-02-23 04:10:10 -05:00
Dante Dam
9656a21ebe
Bumped copyright years to 2019.
2019-01-28 22:22:50 -05:00
Devon R
e1c94a3b1c
Do None instead of falsy checks on Command attributes
2019-01-28 22:22:44 -05:00
MusicOnline
dc8aa7c35b
Change Greedy behaviour slightly during conversion errors.
...
Make Greedy swallow conversion errors and return the default if there
are no convertible args
2019-01-28 21:57:29 -05:00
Xua
016963500b
[commands] Add support for IDs in the role related checks.
...
This affects:
* commands.has_role
* commands.has_any_role
* commands.bot_has_role
* commands.bot_has_any_role
2018-11-24 23:02:47 -05:00
Dice
5a585ebf20
Add channel category cooldown bucket type
2018-11-24 22:51:18 -05:00
Hornwitser
efb4ff850e
[lint] Fix import order
...
Reorder imports to be consistenly grouped by standard library, third
party library, and local modules in that order thoughout the library.
2018-11-24 22:17:58 -05:00
Hornwitser
51d626eabe
[lint] Remove redundant paranthesis
...
Remove redundant parenthisis around await expressions. Left over from
f25091ef.
2018-11-24 22:17:58 -05:00
Hornwitser
fa46b07db1
[lint] Rename exception variables to exc
...
Use the more explicit (and common) exc instead of e as the variable
holding the exception in except handlers.
2018-11-24 22:17:57 -05:00
Hornwitser
4ae8e81660
[lint] Remove redundant exception variables
...
Use bare raise statement when reraising the exception that occured, and
remove unused exception variables. Also remove a pointless exception
handler in discord.opus.
2018-11-24 22:17:57 -05:00
Hornwitser
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
Rapptz
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
Rapptz
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
zephyrkul
8ef509883a
[commands] Properly parse bool when inside a typing.Union
2018-09-20 23:58:34 -04:00
MusicOnline
9af0e54cd3
Correct ClientException message raised in invocation hooks.
...
For when the hooks are not coroutines.
2018-09-20 23:43:07 -04:00
BeatButton
a4d1599ce9
Change docstrings to raw-strings
2018-09-14 22:55:27 -04:00
SilicalNZ
52e8c06aed
Fix typo in core.Command docstring
2018-08-24 06:24:04 +12:00
Rapptz
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
Bryan Forbes
ef89d3aa22
Add support for converters working with PEP-563
2018-08-22 21:53:47 -04:00
Hornwitser
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
Hornwitser
119c5a0618
[lint] Remove unused variables
...
Left over from various refactoring and rewrites.
2018-08-22 21:43:51 -04:00
Clement
00a14a46f3
[commands] Added BucketType.members for cooldowns
2018-08-22 21:06:08 -04:00
Rapptz
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
Rapptz
69ca675ca0
[commands] Fix typing.Union converters for 3.7
...
Guido please don't break this
2018-07-20 18:01:48 -04:00
Rapptz
da5776a358
[commands] Make ConversionError have the original error as an attribute
2018-07-20 05:54:51 -04:00
Rapptz
92dde9aef9
[commands] Add support for typing.Union as a converter
2018-07-20 05:51:43 -04:00
khazhyk
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
Harmon
bf9ca405e3
Fix case insensitive command removal
2018-06-21 07:44:00 -04:00
Rapptz
f25091efe1
Drop support for Python 3.4 and make minimum version 3.5.2.
2018-06-10 18:10:00 -04:00
Rapptz
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
Eli
ad7506050c
[commands] Allow builtin unbound method converters
2018-02-10 22:07:44 -08:00
Tobotimus
3112e1c17e
Add intersphinx
2018-01-06 17:23:59 -05:00
Rapptz
3a8b97ffb0
[commands] Document that can_run can raise.
2017-12-29 06:00:25 -05:00
Rapptz
e61ac8e60f
[commands] Forbid passing a string to aliases in Command.
...
Fixes #974
2017-12-29 01:42:45 -05:00
Rapptz
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
MysterialPy
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
ReinaSakuraba
10696a275b
[commands] Have (bot_)has_permissions provide better failure responses
2017-08-30 23:20:59 -04:00
Rapptz
a7f846b37f
[commands] Fix Command.root_parent not properly working.
2017-07-19 05:14:23 -04:00
Rapptz
bcaee518a1
[commands] Remove support for pass_context=False in Command.
2017-07-18 17:58:38 -04:00
Rapptz
ad20e3066e
[commands] Add parameter that failed in fall-back BadArgument error.
2017-06-26 18:13:46 -04:00