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
Rapptz
70c5f1723f
Fix Embed.to_dict to work with TZ aware datetime objects.
2019-03-15 05:56:01 -04:00
Rapptz
3527203e07
[commands] Redesign HelpFormatter into HelpCommand
...
Part of #1938
2019-03-15 05:54:23 -04:00
Rapptz
27c6d2c923
[commands] Add Cog.description to get the clean docstring.
2019-03-14 11:42:09 -04:00
Rapptz
c4a21cc1d4
[commands] Add Cog.qualified_name to query the specified cog name.
2019-03-13 23:43:29 -04:00
Rapptz
6ffd079cb9
Support path-like objects in Attachment.save.
...
Fix #1958
2019-03-13 22:04:51 -04:00
Rapptz
7fbdc6e83f
Add Embed.copy to do a copy on an embed object.
2019-03-13 06:08:21 -04:00
Rapptz
35a330c5d3
Add Embed.__len__ to query total character size of an embed.
2019-03-13 06:07:57 -04:00
Rapptz
73aca4d4d3
Expose Embed.from_data as Embed.from_dict
...
This is a breaking change.
2019-03-13 06:02:56 -04:00
Rapptz
a70db36cfc
Handle type updates in TextChannel._update for news channels.
2019-03-12 23:13:22 -04:00
Rapptz
e1d9f8f59f
[commands] Support staticmethod listeners and disallow them in commands
2019-03-12 11:54:45 -04: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
Rapptz
560783c3d2
[commands] Separate view parsing errors from BadArgument.
...
This causes them to be raised from a new exception named
ArgumentParsingError with 3 children for ease with i18n. This is
technically a breaking change since it no longer derives from
BadArgument, though catching UserInputError will prevent this change
from affecting the user.
2019-03-12 05:27:34 -04:00
Rapptz
13b23963ec
Add exception hierarchy to the documentation.
2019-03-12 01:15:24 -04:00
Rapptz
e15b4ef8e4
Revert default parameter use_cached of Attachment.save back to False.
...
Fix #1973
2019-03-10 20:12:24 -04:00
Rapptz
5ea84fb971
Add support for guild news channels.
2019-03-08 21:40:43 -05:00
Rapptz
e87ca143d3
Bump websockets version to 7.0
...
Should be fine. Hopefully. Fix #1787
2019-03-08 20:18:05 -05:00
Rapptz
03fdd81531
Remove outdated playlist.py example.
...
Fixes #1870
2019-03-08 20:04:21 -05:00
Rapptz
52e17d1c2d
Add github templates and CONTRIBUTING.md file.
...
Fix for #1685
2019-03-08 19:59:19 -05:00
Rapptz
aceec2009a
Have use_cached=True by default for Attachment.save.
...
Also touch up the documentation a bit.
2019-03-06 20:07:38 -05:00
Rapptz
d124daef33
Fix non-working example in commands documentation.
2019-03-06 02:37:02 -05:00
Rapptz
78459f3ed0
Don't reconnect during 4014/4015 in voice websocket.
2019-03-05 19:45:13 -05:00
Rapptz
45af9fa40b
[commands] Allow passing of typing.Union into Greedy. Fix #1951
2019-03-03 06:24:35 -05:00
Rapptz
97de4542f7
Add project URLs to setup.py
2019-03-02 16:51:09 -05:00
Rapptz
df130e10f0
Prevent AttributeError when closing HTTPClient early.
2019-03-02 16:48:40 -05:00
Rapptz
c960465366
Mock a ConnectionState object to fix wait=True errors in webhooks.
...
Fixes #1898
2019-03-02 06:14:10 -05:00
Rapptz
311788c7cb
Properly clean-up file objects when necessary instead of instantly.
...
Fix #1770
2019-03-02 05:52:22 -05:00
Rapptz
076f9bcac7
[commands] Fix name clash overwriting T.__class__.__name__
...
Fixes #1944
2019-02-28 19:47:25 -05:00
Rapptz
69f5a70eeb
[commands] Allow Converter instances in Greedy. Fix #1939 .
2019-02-27 21:38:55 -05:00
Rapptz
21a296d538
[commands] Error out when someone passes plain Cog.listener decorator.
...
Should make this error easier to catch rather than silent failure.
2019-02-27 21:38:55 -05:00
Rapptz
48b60b2eac
Prepare fix for aiohttp 4.0 breaking change with session creation.
2019-02-27 06:34:30 -05:00
Rapptz
7240d170c1
Update Member.joined_at on MESSAGE_CREATE and document it can be None.
...
Fixes #1638
2019-02-27 06:23:08 -05:00
Rapptz
757584e651
[commands] Add support for stacking Cog.listener decorator.
...
Fix #1926
2019-02-27 04:29:54 -05:00
Rapptz
bbc4460c38
Fix Emoji.__hash__ being None.
...
When a type defines __eq__, Python removes its __hash__ function.
Fixes #1933
2019-02-26 08:44:25 -05:00
Rapptz
f6869242ca
Update Japanese .po files.
2019-02-24 04:10:48 -05:00
Rapptz
d5d9164810
[commands] Fix special method detection for regular function objects.
...
Fixes #1920
2019-02-24 00:24:31 -05:00
Rapptz
3a8214a115
[commands] Remove Bot.get_cog_commands
2019-02-23 11:02:19 -05:00
Rapptz
ab8e7b7732
[commands] Fix bug in behaviour in the cog inspection methods.
2019-02-23 10:51:23 -05:00
Rapptz
7d877e9067
Better jpeg detection in utils._get_mime_type_for_image
...
Fixes #1901
2019-02-23 10:25:05 -05:00
Rapptz
7ad4425c57
Update copyright years.
2019-02-23 09:26:39 -05:00
Rapptz
d3bc35a573
[commands] Update stale parent references in subcommands.
...
This bug was kind of a long one to figure out, as per #1918 documents
the issue had to do with subcommands but the actual adventure in
finding this one was a long one.
The first problem was that Command.cog was for some reason None, which
indicated that a copy was happening somewhere along the way. After some
fiddling I discovered that due to the copies of `Cog.__cog_commands__`
the groups pointed to out-dated versions that got overriden by the new
copies.
The first attempt at fixing this was straightforward -- just remove the
subcommand from the parent and replace it with the newer reference that
we just received. However, this ended up not working due to a strange
mystery where the subcommand being invoked was neither the original
copy nor the new copy residing in `Cog.__cog_commands__`.
Some more investigation later pointed out to me that a copy occurs
during the `Group.copy` stage which calls `Command.copy` for all its
subcommands. After spotting this out I had realised where the
discrepancy comes from. As it turns out, the subcommand copy that was
being invoked was actually a stale one created from `Group.copy`.
The question remained, how come that one was being called? The problem
stemmed from the fact that when the subcommand was copied, the parent
reference pointed to the old parent. Since the old parent was the one
that was getting the new reference, it went practically untouched. This
is because the calling code fetches the child from the parent and the
old parent is nowhere in the call chain.
To fix this issue we needed to update the parent reference, and in
order to do that a temporary lookup table is required pointing to the
latest copies that we have made.
Thus ends a 3.5 hour bug hunting adventure.
2019-02-23 09:26:01 -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
10ed41d8a0
[commands] Fix bug with cog bot check once not being unloaded properly.
2019-02-23 07:40:00 -05:00