Commit Graph
100 Commits
Author SHA1 Message Date
Rapptz e75c248a9a Properly populate __slots__ for derived user types.
Fixes #2265
2019-07-09 22:51:49 -04:00
Rapptz 6f71552c50 [commands] Don't update sys.modules with a stale reference. 2019-07-07 20:17:44 -04:00
Rapptz 70e62e8fe4 Fix regression where Message.edited_at would not update during edits 2019-07-05 23:52:47 -04:00
Rapptz 4c917d10de Use the standard way of detecting RTD 2019-07-01 00:37:35 -04:00
Rapptz ac00fcad77 Flatten genindex to not group names.
Also better width in the tables.
2019-06-30 18:59:19 -04:00
Rapptz b31028fa19 Fix some linking issues with TeamMembershipState 2019-06-30 02:38:56 -04:00
Rapptz 604e9dfc67 Remove constructibility from certain classes in documentation. 2019-06-30 02:37:59 -04:00
Rapptz ccb26018ab Export Team related stuff from __init__ 2019-06-30 02:34:42 -04:00
Rapptz ba7a319ab0 Team.owner should return a TeamMember.
Should always be available but who knows.
2019-06-30 02:34:42 -04:00
Rapptz c4d1bd7899 TeamMember inherits from BaseUser instead of attribute. 2019-06-30 02:34:42 -04:00
Rapptz d4b13bd32b [commands] Fix up Paginator documentation.
These aren't optional.
2019-06-29 20:29:13 -04:00
Rapptz 0cca3ca5c6 Add support for suppressing embeds. 2019-06-29 20:26:47 -04:00
Rapptz 203d702d46 Add unused Guild.preferred_locale 2019-06-29 20:17:18 -04:00
Rapptz 2c16e43e8a Fix regression with unresolved channels due to reordering.
Channels are meant to fallback to Object if the message is out of
order. Somewhere along the commit line this got removed despite the
issue still existing.
2019-06-29 19:41:38 -04:00
Rapptz 68342db04d [commands] Properly raise the correct exception for owner_ids
Also some minor nits with documentation.
2019-06-29 19:26:45 -04:00
Rapptz d747f2c88b Use a new scorer to improve search results.
This makes the other pages take less priority than the API results.
It's kind of biased, but hopefully it helps out.
2019-06-29 02:36:26 -04:00
Rapptz c26797d808 Proper RTD detection. 2019-06-29 02:34:11 -04:00
Rapptz 1652539d40 Disable RTD search.
It's completely broken anyway.
2019-06-29 01:31:00 -04:00
Rapptz ab00bc0686 Strip discord.ext in genindex page and unbreak PEP links. 2019-06-28 21:29:43 -04:00
Rapptz acda808803 Make the generated index page more useful for Ctrl + F. 2019-06-28 21:04:43 -04:00
Rapptz db67c79dbc Downgrade to Sphinx 1.8.5
For some reason 2.1.2 breaks localization.
2019-06-28 09:00:17 -04:00
Rapptz 7523f86006 Translation sync with Crowdin 2019-06-28 08:59:21 -04:00
Rapptz a129b4bb7e Make more use of screen space in the documentation.
Basically move from a 940px system to 1200px grid system.
Hopefully future DOM modifications will make this better.
2019-06-28 02:11:22 -04:00
Rapptz 7543328fe7 Update Sphinx to 2.1.2 2019-06-28 01:43:04 -04:00
Rapptz 0cf38241d0 Version bump to 1.2.3 2019-06-25 21:50:28 -04:00
Rapptz 1e982e0042 Cast activity enumerator to integer instead of accessing value directly
Should make the library more resilient to future changes.
2019-06-25 21:50:06 -04:00
Rapptz a136def52f Translation sync from crowdin 2019-06-22 10:23:38 -04:00
Rapptz 8f691ae775 Only return exception in Client.run when it's not cancelled. 2019-06-20 23:04:38 -04:00
Rapptz b2f247bef3 Propagate exception in Client.run
Fix #2237
2019-06-20 23:00:45 -04:00
Rapptz 671a19a24a [commands] Ensure cooldowns are properly copied. 2019-06-12 23:40:43 -04:00
Rapptz e00635fba7 Version bump to 1.2.2 2019-06-09 21:51:43 -04:00
Rapptz 3730e66d37 Crowdin translation sync 2019-06-09 08:20:43 -04:00
Rapptz 855a6c5b59 Fix descriptor detection in enum code. 2019-06-09 08:13:29 -04:00
Rapptz 7980213745 Version bump to 1.2.1 2019-06-09 02:18:43 -04:00
Rapptz 2b761508f1 Disallow deleting of enum attributes. 2019-06-09 02:13:40 -04:00
Rapptz 6931189b92 Add EnumMeta.__reversed__ just in case someone does this.
I sure hope not.
2019-06-09 02:02:06 -04:00
Rapptz a92b4c2093 Add EnumMeta.__len__ to not break user avatar code. 2019-06-09 01:59:23 -04:00
Rapptz af4e3ad79b Some documentation touch-ups and missing stuff in the changelog. 2019-06-09 01:24:41 -04:00
Rapptz d7814cfb25 Remove unused import. 2019-06-09 01:06:20 -04:00
Rapptz a8f0a03247 Version bump to 1.2.0 2019-06-09 00:39:38 -04:00
Rapptz 655aa39603 Fix reference typo in SystemChannelFlags 2019-06-09 00:38:46 -04:00
Rapptz 7e2da1c93b Publicly expose a type property for all channels.
Fix #2185
2019-06-09 00:23:22 -04:00
Rapptz 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
Rapptz 8bf0482af5 Fix exception hierarchy documentation. 2019-06-08 21:23:42 -04:00
Rapptz c97b097f07 Document new Guild.features 2019-06-07 22:26:05 -04:00
Rapptz f84219c2b2 Improve performance of parsing MESSAGE_UPDATE and MESSAGE_CREATE events
Embed edits are no longer special cased in the dispatch code, which
could lead to on_message_edit being called more often than it used to
be called. I am not sure on the general impact on that being removed.

Fixes #2195
2019-06-07 22:18:01 -04:00
Rapptz 320dbc0618 Add support for system channel flags 2019-06-06 22:30:02 -04:00
Rapptz fcf02414fe Fix stray colon in Asset related docstrings 2019-06-04 19:06:31 -04:00
Rapptz 9674055c2a Add support for animated guild icons. 2019-06-04 19:04:44 -04:00
Rapptz 5dce3410e6 Add support for new message types related to premium guilds. 2019-06-04 18:30:47 -04:00
Rapptz 2b27a7a9d5 Add Member.premium_since to denote member boost date. 2019-06-04 18:30:46 -04:00
Rapptz 8e80eee0d1 Add Emoji.available field 2019-06-04 18:30:46 -04:00
Rapptz a048815c60 Add Guild.premium_subscription_count 2019-06-04 18:30:46 -04:00
Rapptz e40c68b75a Add Guild.premium_tier and corresponding limits. 2019-06-04 18:30:46 -04:00
Rapptz 90ae3f396c Probably fix indentation. 2019-05-30 19:39:50 -04:00
Rapptz bfb1edcc05 Update readthedocs.yml to v2 configuration file. 2019-05-30 19:33:14 -04:00
Rapptz 483aa5465d Properly handle compute_prune_count in prune members endpoint. 2019-05-30 18:01:03 -04:00
Rapptz 00a0856cc4 Use a dict instead of getattr for parsing events.
Probably not a significant difference but might as well use it here.
The basic idea is to cache the getattr calls instead of repeatedly
doing it (since they're around 105ns on my machine). The dictionary
lookup is about 41ns on my machine.

The next step in speeding up library code some more should be in
the parser bodies themselves but that's a problem to tackle another
day.
2019-05-29 01:22:53 -04:00
Rapptz 0622e18cb9 Speed-up utils.get for the common cases 2019-05-29 00:45:48 -04:00
Rapptz 0d72ac3bb6 Ensure message links resolve in the Messageable.pins note. 2019-05-27 04:05:51 -04:00
Rapptz 96dc6f0c11 Add note that Messageable.pins does not contain Message.reactions
Fix for #2189
2019-05-27 04:04:06 -04:00
Rapptz 2cd6d771ec Make __repr__ slightly more detailed and add a few missing ones.
This includes raw events (which didn't have any) and a few other
types that were missing them. Upon review some more useful fields were
added to the repr output which would be more useful during debugging.
2019-05-26 02:32:47 -04:00
Rapptz ab6dd2a27a Add note for Message.tts
Fix #2186
2019-05-25 06:17:52 -04:00
Rapptz 3c387e9031 Use attrgetter to speed up Member attribute access by 2x. 2019-05-25 03:14:35 -04:00
Rapptz d96b8a0b80 Add Discord error code to HTTPException message. 2019-05-24 04:23:06 -04:00
Rapptz 964b97aa30 Add table showing what methods get invite attributes. 2019-05-19 19:17:30 -04:00
Rapptz 82b54933e2 Add asyncio.Task subclass for better __repr__ for events. 2019-05-19 19:17:29 -04:00
Rapptz 6bc9d7c01a [tasks] Add indicator for internal task failure
Fixes #2151
2019-05-13 22:10:38 -04:00
Rapptz a4a362b4c7 [tasks] Log exception when something failed to logging. 2019-05-13 22:08:31 -04:00
Rapptz 49a7e58d17 [tasks] Keep retrying before gracefully exiting. 2019-05-12 01:31:09 -04:00
Rapptz 4eead39b3c [tasks] Add Loop.stop to gracefully stop a task.
Updated docs will follow shortly.
2019-05-12 01:04:24 -04:00
Rapptz bcdecd4e07 [tasks] Reset iteration count when loop terminates. 2019-05-12 00:49:19 -04:00
Rapptz 8c353a5596 Change version to v1.2.0a for development purposes. 2019-05-11 18:20:13 -04:00
Rapptz 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
Rapptz 26a6970882 Version bump to v1.1.1 2019-05-11 15:42:13 -04:00
Rapptz 123e151978 Add back signal handling to Client.run
Apparently Python does not transform SIGTERM to KeyboardInterrupt as
nicely as I thought.
2019-05-11 14:40:31 -04:00
Rapptz 8206982e79 Don't overwrite data parameter in webhooks.
Fixes #2140
2019-05-10 20:54:51 -04:00
Rapptz a54f656e04 Version bump to v1.1.0 2019-05-10 20:20:29 -04:00
Rapptz f8cc64ca7e Add changelog for v1.1.0 2019-05-10 20:19:51 -04:00
Rapptz 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
Rapptz d51f4c2b81 Minor nits in Discord Converters section of the docs. 2019-05-09 07:40:08 -04:00
Rapptz 792b31833a Mention what can be done during initialisation in embeds. 2019-05-07 00:24:25 -04:00
Rapptz bdea50e1db [commands] Better note for Command.invoke 2019-05-05 03:15:38 -04:00
Rapptz 41dee3f401 Translation sync with Crowdin 2019-05-04 02:55:53 -04:00
Rapptz 446b79241c Actually use multiple checks in the examples for checks. 2019-05-01 23:57:50 -04:00
Rapptz abb9c067cc Add log line to show if we disconnected normally. 2019-05-01 02:49:52 -04:00
Rapptz 91e00d8426 [tasks] Add way to query cancellation state for Loop.after_loop
Fixes #2121
2019-04-30 01:45:15 -04:00
Rapptz 4dee175d2a Add support for voice kicking. 2019-04-30 00:34:20 -04:00
Rapptz 40cac30da1 [commands] Fix MessageConverter not inheriting from Converter
Closes #2126
2019-04-29 23:37:27 -04:00
Rapptz 55e3e242ff [tasks] Remove support for awaitables due to gotchas.
Fixes #2079
2019-04-29 23:34:20 -04:00
Rapptz cef8677c68 Proper location of versionadded 2019-04-29 23:34:19 -04:00
Rapptz 05d4f7f962 [commands] Fix Context.send_help to work with the copied HelpCommand 2019-04-29 00:08:08 -04:00
Rapptz ad5beed8dd [commands] Copy HelpCommand instances to prevent race conditions.
Fixes #2123

Slight breaking change if someone had an expectation that no copies
were made behind the scene (which is sensible), however writing code
that relies on this expectation is probably buggy anyway.
2019-04-29 00:05:46 -04:00
Rapptz f9e95a35f9 Fix USER_UPDATE changes not triggering for member instances.
Also add a ClientUser.locale attribute.
2019-04-28 06:36:12 -04:00
Rapptz de6240f1e7 Rewrite loop cleanup code (again...) and remove signal handling.
This should hopefully be the last time I touch this.
2019-04-26 01:57:33 -04:00
Rapptz 439dd24056 voice room → voice channel in event documentation 2019-04-25 23:24:13 -04:00
Rapptz 186d9a7f9c Use a regular boolean instead of asyncio.Event for close status. 2019-04-25 01:57:32 -04:00
Rapptz 6dcd68b8d7 [commands] Allow passing current to more cooldown mapping methods.
Also adds a CooldownMapping.update_rate_limit helper function.
2019-04-24 23:26:33 -04:00
Rapptz 5a7b5cd14b [commands] Allow passing of a message to NoPrivateMessage again.
Prevents an accidental breaking change.
2019-04-20 17:28:44 -04:00
Rapptz 188bd4e708 [commands] DM channels are NSFW in commands.is_nsfw check. 2019-04-20 17:27:04 -04:00