873 Commits

Author SHA1 Message Date
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
f15cf7c845 [commands] Pass over kwargs to type.__new__ 2019-02-23 05:18:24 -05:00
Rapptz
caf3d17d4a Rework entire cog system and partially document it and extensions. 2019-02-23 04:10:10 -05:00
Rapptz
3f06f247c0 [commands] Fix up wording on HelpFormatter.get_ending_note 2019-02-18 16:29:58 -05:00
cod
262717c7d8 [commands] add document comment to HelpFormatter.get_ending_note 2019-02-19 00:27:05 +09:00
cod
ea0f1ee25f [commands] Add more i18n properties for HelpFormatter
removed fixed strings "Commands:" and help page ending note.
and added properties modify these strings.
default behavior is not changed. fix #1886
2019-02-14 20:21:06 -05:00
cod
d107f485a5 [commands] Fix ext.commands help page full-width indentation
add _string_width function to util. Changed string width calculate
function from len() to util function _string_width().
2019-02-06 02:15:04 -05:00
Skyweb
e53c85110f Clarified add_listener documentation 2019-02-06 01:52:57 -05:00
Benjamin Mintz
bb9f153d29 commands.clean_content: escape || spoilers || 2019-02-06 01:52:12 -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
Dice
bda690c32f [commands] Remove message being required from Role/Member converters.
This allows for easier "mock" context objects, for those who use
converters as utility functions outside of commands, and it's more
straightforward with the rest of the file.
2018-12-14 18:59:47 -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
bmintz
24c0946a93 bot.unload_extension: also allow events with no module
It turns out that events created in an eval command also cause
the issue described in #1506.

Ensure that events we remove are part of a module as well.

Also performs minor comment maintenance
("x", "first y", "then z") -> ("x", "y", "z")
2018-11-24 22:51:16 -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
ed6451b9da [commands] Remove duplicated quote entries
Remove two duplicated entries from the quote mapping in commands.view.
These were introduced at the creation of this mapping in ea061ef.
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
860d6a9ace Revert "Rework documentation to not duplicate inherited members."
This reverts commit 96981210b3415e15446db0b702b07fef25c8b680.
2018-10-11 03:42:01 -04:00
Rapptz
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
Rapptz
96981210b3 Rework documentation to not duplicate inherited members.
This will probably be reverted in 1 week.
2018-10-03 05:45:30 -04:00
Rapptz
45af0c83de [commands] Fix NameError in clean_content converter 2018-09-25 19:48:20 -04:00
Rapptz
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
Rapptz
418048b98a [commands] Fix up Greedy documentation a bit. 2018-09-24 04:22:09 -04: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
zephyrkul
b9ef80b0d0 [commands] Prepend mention prefixes in commands.when_mentioned_or 2018-08-28 23:50:57 -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
Ben Mintz
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
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
3679819c53 [lint] Remove unnecessary lambdas
Lambdas of the form `lambda x: func(x)` are redundant.
2018-08-22 21:43:52 -04:00
Hornwitser
119c5a0618 [lint] Remove unused variables
Left over from various refactoring and rewrites.
2018-08-22 21:43:51 -04:00
Hornwitser
d58fc0ccee [lint] Remove unused imports
Left over from various refactoring and rewrites.
2018-08-22 21:43:50 -04:00
Michael H
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
Rapptz
aa7c5c3ec1 [commands] Ignore bots from Bot.process_commands by default. 2018-08-22 21:06:09 -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