Commit Graph

409 Commits

Author SHA1 Message Date
d9a8ae9c78 [commands] Add predicate attribute to checks to get inner function 2019-12-18 01:20:50 -05:00
1179df7e29 [commands] Make Greedy ignore parsing errors. 2019-12-17 00:27:56 -05:00
e79ccf3f4c [commands] check if prefix is None in .pages 2019-12-17 00:12:42 -05:00
Xua
7972570eb6 [commands] Add guild-based permission checks 2019-12-17 00:11:39 -05:00
dc86670d7f Fix typo in help.py docs
Changed "intend" to "indent"
2019-11-26 05:16:53 -05:00
e1a237a0d3 Revert "[tasks] Add Loop.exception for more reliable exception retrieval."
This reverts commit 7a8c9e66d9.
2019-11-19 21:59:39 -05:00
071c5b89e0 Revert "[tasks] Add support for explicit time parameter when running."
This reverts commit 9f822a1e6d.
2019-11-19 21:59:27 -05:00
7cde9febcf [commands] Add Command/Group.add/remove_check 2019-11-15 04:29:52 -05:00
bc642ded6e [commands] Allow converters from custom discord.ext extensions
Originally the converting of an argument with type in the discord.*
package would try to use the predefined converters, even if there were
none present. This is fixed by supplying a default argument to getattr

Fixes #2369
2019-10-20 05:19:03 -04:00
07840db053 Document Command.cog property 2019-10-17 05:56:01 -04:00
1dddb66a1e [commands] default Bot.owner_ids to a set
This appears to be a typo, as everywhere else, owner_ids is set to a set.
2019-09-10 21:10:59 -04:00
7f65d9a8b1 [tasks] Add support for passing an argument list of exceptions. 2019-09-10 21:10:59 -04:00
ceaba01776 Add version information from missing PRs. 2019-08-11 19:04:39 -04:00
9f822a1e6d [tasks] Add support for explicit time parameter when running.
Fixes #2159
2019-08-11 18:57:49 -04:00
c7d3ebb400 [commands] Add role cooldown bucket 2019-08-11 18:44:16 -04:00
7a8c9e66d9 [tasks] Add Loop.exception for more reliable exception retrieval. 2019-07-27 23:07:48 -04:00
dd12fbf73d [commands] Properly load the original module when reloading fails.
Fix #2291
2019-07-27 22:37:55 -04:00
042a234eac [commands] update sys.modules in load_extension again
6f71552c50 introduced a regression: loading a module that is not in a package
does not add it to sys.modules. Updating sys.modules is required after all.
2019-07-18 18:06:43 -04:00
c6133ef881 [commands] Bot.is_owner should be marked as coroutine 2019-07-18 18:06:27 -04:00
2e6882bd8c [commands] Fall back to using Message.mentions in converters
Useful if there's no cache.
2019-07-10 04:51:27 -04:00
6f71552c50 [commands] Don't update sys.modules with a stale reference. 2019-07-07 20:17:44 -04:00
d4b13bd32b [commands] Fix up Paginator documentation.
These aren't optional.
2019-06-29 20:29:13 -04:00
391ff7a486 [commands] Calculate suffix length at each add_line 2019-06-29 20:28:32 -04:00
68342db04d [commands] Properly raise the correct exception for owner_ids
Also some minor nits with documentation.
2019-06-29 19:26:45 -04:00
9687740217 [tasks] Removed Returns from decorator docstring 2019-06-29 19:15:06 -04:00
0a21591d0c [commands] Don't raise ExtensionNotFound for ImportErrors in modules
Now loading an extension that _contains_ a failed import will fail
with ExtensionFailed, rather than ExtensionNotFound.
2019-06-29 19:15:05 -04:00
3961e7ef6d Support team members data in application info 2019-06-29 19:14:24 -04:00
94c0cb0d5c [commands] Add missing word in HelpCommand documentation 2019-06-20 22:52:47 -04:00
671a19a24a [commands] Ensure cooldowns are properly copied. 2019-06-12 23:40:43 -04:00
af4e3ad79b Some documentation touch-ups and missing stuff in the changelog. 2019-06-09 01:24:41 -04:00
991140eebe Replace Enum with an internal one for significant speed improvements.
This has been a massive pain point for me personally due to the poor
design of the Enum class leading to the common use cases used in the
library being significantly slow. Since this Enum is not public facing
in terms of *creation*, I can only implement the APIs that are used
when *accessing* them.

This Enum is a drop-in replacement to the pre-existing enum.Enum class
except it comes with significant speed-ups. Since this is a lot to go
over, I will let the numbers speak for themselves:

In [4]: %timeit enums.try_enum(enums.Status, 'offline')
263 ns ± 34.3 ns per loop (7 runs, 1000000 loops each)
In [5]: %timeit NeoStatus.try_value('offline')
134 ns ± 0.859 ns per loop (7 runs, 10000000 loops each)

In [6]: %timeit enums.Status.offline
116 ns ± 0.378 ns per loop (7 runs, 10000000 loops each)
In [7]: %timeit NeoStatus.offline
31.6 ns ± 0.327 ns per loop (7 runs, 10000000 loops each)

In [8]: %timeit enums.Status.offline.value
382 ns ± 15.2 ns per loop (7 runs, 1000000 loops each)
In [9]: %timeit NeoStatus.offline.value
65.5 ns ± 0.953 ns per loop (7 runs, 10000000 loops each)

In [10]: %timeit str(enums.Status.offline)
630 ns ± 14.8 ns per loop (7 runs, 1000000 loops each)
In [11]: %timeit str(NeoStatus.offline)
253 ns ± 3.53 ns per loop (7 runs, 1000000 loops each)

In [12]: %timeit enums.Status('offline')
697 ns ± 8.42 ns per loop (7 runs, 1000000 loops each)
In [13]: %timeit NeoStatus('offline')
182 ns ± 1.83 ns per loop (7 runs, 10000000 loops each)
2019-06-09 00:06:34 -04:00
3c9bcc2851 Improve documentation 2019-06-07 19:27:46 -04:00
92731bbf5f [commands] Fixed extra "only" in dm_only docs 2019-05-19 20:04:42 -07:00
82b54933e2 Add asyncio.Task subclass for better __repr__ for events. 2019-05-19 19:17:29 -04:00
db9a293f14 [tasks] Add version added note to Loop.change_interval 2019-05-19 19:17:28 -04:00
1fac7a7e71 [commands] Add missing backtick for is_nsfw docs 2019-05-17 15:25:45 -07:00
aadb6953ff [tasks] Add way to change interval at run-time
PR: #2162 
Fixes: #2158
2019-05-17 18:25:21 -04:00
6bc9d7c01a [tasks] Add indicator for internal task failure
Fixes #2151
2019-05-13 22:10:38 -04:00
a4a362b4c7 [tasks] Log exception when something failed to logging. 2019-05-13 22:08:31 -04:00
859ee751f9 [tasks] Return coro from before and after decorators 2019-05-13 20:29:07 -04:00
49a7e58d17 [tasks] Keep retrying before gracefully exiting. 2019-05-12 01:31:09 -04:00
4eead39b3c [tasks] Add Loop.stop to gracefully stop a task.
Updated docs will follow shortly.
2019-05-12 01:04:24 -04:00
bcdecd4e07 [tasks] Reset iteration count when loop terminates. 2019-05-12 00:49:19 -04:00
f74d73327b [commands] Explicitly assign invoked_subcommand to None before invoking
This should fix instances of it not working as expected in nested
groups.
2019-05-11 18:17:57 -04:00
8f111c521c Fix typo in Loop.restart documentation 2019-05-10 18:44:07 -04:00
47808a7e96 [tasks] Add Loop.restart
This implementation waits until the task is done before starting it
again.

Closes #2075
2019-05-10 18:37:37 -04:00
0a0c43321b [commands] MinimalHelpCommand: add cog description 2019-05-09 06:11:21 -04:00
bdea50e1db [commands] Better note for Command.invoke 2019-05-05 03:15:38 -04:00
91e00d8426 [tasks] Add way to query cancellation state for Loop.after_loop
Fixes #2121
2019-04-30 01:45:15 -04:00
40cac30da1 [commands] Fix MessageConverter not inheriting from Converter
Closes #2126
2019-04-29 23:37:27 -04:00