Commit Graph
100 Commits
Author SHA1 Message Date
Rapptz 2fe42d5e81 Remove Python 3.5 check in __main__.py 2019-04-16 17:35:04 -04:00
Rapptz 6f26a4aad8 Improve performance of value -> enum by about 5x. 2019-04-15 21:30:47 -04:00
Rapptz f71fd33eba Fix UnboundLocalError when RequestsWebhookAdapter raises an error. 2019-04-15 07:16:23 -04:00
Rapptz cc68cfb896 Add notes to all relationship endpoints that they don't work on bots. 2019-04-14 22:18:14 -04:00
Rapptz 14d66e7b9c Internal consistency with message related HTTPClient methods 2019-04-14 21:05:20 -04:00
Rapptz 14a593b026 Bump version to 1.1.0a 2019-04-14 17:58:56 -04:00
Rapptz 519f0c07ea Add compute_prune_count to Guild.prune_members
Fix #2085
2019-04-14 17:33:57 -04:00
Rapptz 7a1102ccf0 [commands] Use message creation as the reference time in cooldowns 2019-04-14 17:33:56 -04:00
Rapptz ec7a701ceb [commands] Allow passing reference time to update_rate_limit 2019-04-14 16:57:47 -04:00
Rapptz 9b089c9a7b Fix abc.GuildChannel.overwrites returning None keys.
This has potential for data loss as a consequence of how the function
works.
2019-04-14 07:19:22 -04:00
Rapptz 321efb11ed Fix typo in on_raw_reaction_remove docs. 2019-04-14 06:05:11 -04:00
Rapptz e3631ade4c Fix attribute error in Widget.__repr__ 2019-04-13 18:13:53 -04:00
Rapptz 7c091282ce Add equality comparisons between two assets and hashing an asset. 2019-04-13 17:22:25 -04:00
Rapptz 6574c97a8b [commands] Support callables in Greedy converter 2019-04-13 07:28:26 -04:00
Rapptz ac1b9f5628 [commands] Fix lambda converters in non-module contexts.
Not sure why anyone would do this but might as well fix it.
2019-04-13 07:15:54 -04:00
Rapptz e46842a7cd [tasks] Add before_loop and after_loop decorators 2019-04-12 04:08:42 -04:00
Rapptz 4770f5a958 Export tasks extension 2019-04-12 03:22:50 -04:00
Rapptz 015404b01c [commands] Add versionadded to dm_only 2019-04-12 03:21:49 -04:00
Rapptz 4cf96107ae [tasks] Document version added 2019-04-11 08:26:46 -04:00
Rapptz 4513dac7a3 [tasks] Ensure total number of seconds is not less than 0. 2019-04-11 08:21:45 -04:00
Rapptz 10bc939348 [tasks] Rename Loop.run to Loop.start to avoid blocking connotations 2019-04-11 08:19:32 -04:00
Rapptz b0c7f48caf [tasks] Add a new background helper 'tasks' extension. 2019-04-11 08:04:26 -04:00
Rapptz ec1b3434a2 [commands] Fix erroneous string in dm_only check 2019-04-11 00:55:32 -04:00
Rapptz 50dcdac5ca [commands] Fix references in Bot to actually link.
Exceptions can't seem to link due to a bug in Sphinx.
2019-04-10 05:13:30 -04:00
Rapptz 5b99e7d6f4 Update changelog 2019-04-10 01:05:47 -04:00
Rapptz 37e6b53216 Version bump to v1.0.1 2019-04-10 00:59:43 -04:00
Rapptz ef0b2a1092 [commands] Properly name heading for ExtensionError 2019-04-10 00:59:02 -04:00
Rapptz 407d18a30d Fix various bugs with Asset._url None handling. 2019-04-09 05:17:29 -04:00
Rapptz e77dec85e9 Fix cleanup code on Linux not working properly. 2019-04-09 00:56:36 -04:00
Rapptz dcdcf1adac Stop the event loop if it's running during cleanup.
Also handle the coroutine directly instead of using run_until_complete
2019-04-09 00:14:42 -04:00
Rapptz 67ec59caea Fix issue with speaking state causing an error. 2019-04-08 23:08:43 -04:00
Rapptz d37839f38a Update classifier in setup.py 2019-04-08 18:54:40 -04:00
Rapptz 4a4db1a02c Version bump to v1.0.0 2019-04-08 18:38:51 -04:00
Rapptz 3e2e6ad502 Update Japanese translation files. 2019-04-08 18:38:10 -04:00
Rapptz 51c64a3b73 Fix documentation so Sphinx can build semi-cleanly. 2019-04-08 18:17:15 -04:00
Rapptz bb79f2ae81 Bump PyNaCl to 1.3.0 2019-04-08 17:51:16 -04:00
Rapptz 04262b9371 Wording nit, library -> function in load_opus 2019-04-08 17:51:15 -04:00
Rapptz 0ddc6867e9 Change all IntEnum to Enum
A testament to how many 3.5 users there are.
2019-04-08 17:51:14 -04:00
Rapptz 1da624a8b5 Remove manual documentation for AppInfo 2019-04-08 17:27:31 -04:00
Rapptz bb5aaf2ab3 Missing a word in Attachment.save 2019-04-08 17:19:11 -04:00
Rapptz 61ee88b0fc Fix oversight where on_disconnect did not get called on WS termination. 2019-04-08 07:45:05 -04:00
Rapptz f8999b63ae Fix long-standing issue with user updates not dispatching properly.
This fix is long coming. For a long time due to the addition of a
global user cache, the on_member_update event would only have the
updated user in the very first dispatch due to a quirk in the reference
only being updated once.

In order to fix this issue two things had to change:

1. There had to be a new event, `on_user_update` to complement
   the equivalent member event.
2. Unnecessary copies of User had to be removed to compensate for the
   performance hit from the diffing.

While doing these two fixes I also re-evaluated some more unnecessary
copies done during the PRESENCE_UPDATE to add member case while
fetch_offline_members=False is set or due to chunking issues. The
number of copies was brought down from 2 to 1, discounting the original
Member creation. Unsure on the benefits of this one, however.

N.B: this doesn't change the pre-existing behaviour of on_member_update
2019-04-08 07:45:04 -04:00
Rapptz 1a9726087a GUILD_MEMBER_UPDATE no longer does actual user updates.
This had been delegated to PRESENCE_UPDATE a long time ago,
unfortunately.
2019-04-08 06:34:28 -04:00
Rapptz c9fd092476 Don't use an enum when unnecessary in Member._client_status 2019-04-08 04:06:01 -04:00
Rapptz c904e4f25b Add a note to load_opus that it's auto loaded on Windows. 2019-04-08 02:34:26 -04:00
Rapptz 1243298b34 Add some version guarantees to the documentation. 2019-04-08 02:18:48 -04:00
Rapptz 72b6152e96 Client.event raises TypeError instead of ClientException. 2019-04-07 22:33:38 -04:00
Rapptz aeabd0761e [commands] Raise TypeError instead of ClientException in some places
Certain decorators and functions expect coroutines and raise an
exception when this is not met. Change these to raise the appropriate
TypeError since they can't actually be handled by the user gracefully
anyway.
2019-04-07 22:31:05 -04:00
Rapptz 84c1eac62a Don't raise an exception during the signal handlers. 2019-04-07 16:10:44 -04:00
Rapptz 7b95611e62 Forgot to escape backticks. 2019-04-07 00:46:15 -04:00
Rapptz 4d06879669 Add ignore_links and as_needed options to utils.escape_markdown.
This allows for URLs to be left alone since they can include markdown
characters and allows for total escaping of all markdown characters
by default to prevent some form of data manipulation.
2019-04-07 00:24:34 -04:00
Rapptz d68af294a2 Fix regex substitution in utils.escape_mentions 2019-04-06 23:02:49 -04:00
Rapptz 47ab24991f [commands] Remove extraneous or 2019-04-06 22:02:58 -04:00
Rapptz 79a8249bc7 Add note about escape_markdown in Message.clean_content
Fix #1911
2019-04-06 21:50:56 -04:00
Rapptz ee81f0614e [commands] Fix HelpCommand.invoked_with when used in events. 2019-04-06 21:33:21 -04:00
Rapptz 239d430539 Simplify bot loop cleanup routine.
Attempted solution for #2040
2019-04-06 21:29:57 -04:00
Rapptz 7d385b23a1 Fix copy paste error in ClientUser.edit_settings 2019-04-06 20:19:16 -04:00
Rapptz 9248ff306c Use explicit __eq__ call to be consistent with other methods. 2019-04-06 20:18:10 -04:00
Rapptz 7c5a4b67d7 Fix Attachment.save wording nit. 2019-04-06 20:17:12 -04:00
Rapptz 9833ea82e2 Add helpers to escape markdown and mentions from text.
Fixes #1673
2019-04-06 20:14:05 -04:00
Rapptz 743a5a218f [commands] Disallow bot_ or cog_ commands or listeners in cogs. 2019-04-06 19:46:22 -04:00
Rapptz 79183846dc Make abc.GuildChannel.overwrites return a dictionary
Fix #2016
2019-04-06 19:33:31 -04:00
Rapptz e4de25eaab [commands] Raise BadArgument in ColourConverter when using from_hsv/rgb
Fixes #2043
2019-04-06 19:29:21 -04:00
Rapptz dea3ba5eb7 Propagate Cloudflare 429 HTML text. 2019-03-31 05:44:00 -04:00
Rapptz 43b44751af [commands] Fix MinimalHelpCommand opening note signature consistency 2019-03-24 14:46:55 -04:00
Rapptz 548b9d5693 Double underscore HTTPClient's internal session. 2019-03-24 14:45:18 -04:00
Rapptz e567b59fea [commands] Double underscore some attributes. 2019-03-24 14:33:51 -04:00
Rapptz 8c0c410d0e [commands] Add HelpCommand.invoked_with
This fixes an issue where the context invoked_with does not match the
actual invoked with behaviour (e.g. using Context.send_help).
2019-03-24 14:27:37 -04:00
Rapptz b41a29a889 Get cached message in reverse order for improved performance.
Most embed-only edits happen for the newest message.
2019-03-23 00:57:50 -04:00
Rapptz c96642860c [commands] Add Command.cooldown_after_parsing keyword argument.
This controls the behaviour of cooldown execution order. This does
not change the default behaviour however.
2019-03-22 22:23:07 -04:00
Rapptz d48a424f6f Fix mistake in documentation. 2019-03-20 23:29:04 -04:00
Rapptz 72b6b67cf4 Add back PartialEmoji.__hash__ that was deleted due to __eq__. 2019-03-20 22:54:53 -04:00
Rapptz 64d749a13f [commands] Ensure handlers are copied even during update.
Fix #2001
2019-03-20 22:38:00 -04:00
Rapptz 5fe1ab279a Drop websockets version due to issues. 2019-03-20 22:33:20 -04:00
Rapptz 35c0476dbb Add TextChannel.last_message_id and TextChannel.last_message 2019-03-20 22:30:23 -04:00
Rapptz c30a366106 Try to consistently use "inherit" vs "derive" in documentation. 2019-03-19 09:23:12 -04:00
Rapptz d9e54d7dd3 [commands] Redesign extension exception flow.
Instead of raising a whole variety of exceptions, they are now wrapped
into ExtensionError derived classes.

* ExtensionAlreadyLoaded
	* Raised when an extension is already loaded in Bot.load_extension
* ExtensionNotLoaded
	* Raised when an extension is not loaded, e.g. Bot.unload_extension
* NoEntryPointError
	* Raised when an extension does not have a `setup` function.
* ExtensionFailed
	* Raised when an extension's `setup` function fails.
* ExtensionNotFound
	* Raised when an extension's module import fails.
2019-03-19 09:23:11 -04:00
Rapptz 26e9b5bfac [commands] Add Bot.reload_extension for atomic loading.
Also do atomic loading in Bot.load_extension
2019-03-19 09:23:10 -04:00
Rapptz 2ce42b5b50 Some widget fixes. 2019-03-19 09:23:09 -04:00
Rapptz 5e65ec978c Take back ownership of files from aiohttp for retrying requests.
Fix #1809
2019-03-18 07:54:36 -04:00
Rapptz 8ba48c14a7 Minor typo fix. 2019-03-18 05:34:20 -04:00
Rapptz 963cf4b34e Add on_disconnect event.
I assume this is where it has to be. Fix #1937
2019-03-18 05:29:38 -04:00
Rapptz f43690bde8 [commands] Walk through MRO for Cog derived classes.
This should support cog subclasses in a relatively consistent way in
terms of expectations. Hopefully nothing is broken.

Fixes #1950
2019-03-17 22:04:05 -04:00
Rapptz cb9ae7bd76 Sorting bucket requires an integer. 2019-03-17 15:16:46 -04:00
Rapptz f3f2f882fd Fix typo in private property name. 2019-03-17 15:14:58 -04:00
Rapptz f26a27dc98 [commands] Make Bot.cogs and Bot.extensions read-only mappings.
This also has the side effect of effectively documenting them for
public use.
2019-03-17 14:53:56 -04:00
Rapptz 5061915b2a Add support for store channels. 2019-03-17 14:32:51 -04:00
Rapptz 4bd4c23694 Fix NameError in Embed.to_dict 2019-03-17 11:51:54 -04:00
Rapptz 053e2f5b9a Fix documentation linking issue in Messageables and Context 2019-03-16 09:55:29 -04:00
Rapptz cc3b6bdd72 [commands] Rename it to Context.send_help for consistency. 2019-03-16 09:37:47 -04:00
Rapptz ed5fcb320e [commands] Add Context.show_help helper to use the HelpCommand set.
Fixes #1983
2019-03-16 09:33:05 -04:00
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
Rapptz 8466250bcc [commands] Assign context inside HelpCommand.prepare_help_command 2019-03-16 09:24:17 -04:00
Rapptz b728061522 [commands] Add HelpCommand.get_bot_mapping helper. 2019-03-16 09:23:34 -04:00
Rapptz 7a5102ece9 [commands] Return result of send_group_help and send_command_help 2019-03-16 07:33:12 -04:00
Rapptz 0063fffb1a Update URL in embed badge. 2019-03-16 07:10:16 -04:00
Rapptz f37bc22054 Update Japanese .po files 2019-03-16 05:49:10 -04:00
Rapptz 36ac1720d8 Update README 2019-03-16 05:09:50 -04:00
Rapptz 61f63a9346 [commands] Add back dm_help tribool for the provided HelpCommands
Also add a dm_help_threshold integer to control the length.
2019-03-16 03:50:30 -04:00
Rapptz 25acad5de3 [commands] Add commands.Paginator.__len__ 2019-03-16 03:38:51 -04:00