Rapptz
2f97678a79
First pass at commands narrative documentation.
2017-07-08 00:28:23 -04:00
Rapptz
c2544b9101
Handle everyone role having top priority in permission resolution.
...
In Discord, if the @everyone role has an explicit allow but a later
role has an explicit deny, the permission is denied rather than allowed
despite the fact that on Discord, allows have a higher priority than
denies.
This is because the @everyone role is supposed to be the first role to
be applied, while the rest could be applied in an aggregate fashion.
Fixes #630 .
2017-07-07 17:53:38 -04:00
Rapptz
bd67cb5137
Hide constructor for objects that shouldn't be created by users.
2017-07-05 17:30:36 -04:00
Rapptz
b88cc8156c
Accidentally left a print statement.
2017-07-05 00:48:27 -04:00
Rapptz
ea078f1c68
Fix TextChannel.purge not working.
2017-07-04 21:59:44 -04:00
Rapptz
3bd0c2120c
Implement a LRU cache for private channels.
...
Another fix related to the discord issue[1].
[1]: https://github.com/hammerandchisel/discord-api-docs/issues/184
2017-07-04 20:02:17 -04:00
Rapptz
169f3a8322
Don't unnecessarily re-create private channels.
...
New API change[1] will make it so CHANNEL_CREATE will keep getting
sent for private channels, so might as well avoid the overhead of
constantly creating the channel if we can avoid it.
[1]: https://github.com/hammerandchisel/discord-api-docs/issues/184
2017-07-04 20:02:11 -04:00
Rapptz
e0f02f1775
Rename AsyncIterator.get to next to prevent shadowing.
2017-07-04 10:45:38 -04:00
Rapptz
c98443e9aa
Fix wrong order in migrating docs.
2017-07-02 17:49:56 -04:00
Rapptz
8caa088d25
Allow PartialReactionEmoji in add_reaction and remove_reaction.
2017-07-02 01:43:45 -04:00
Rapptz
f607febaf7
Fix Message.remove_reaction and Message.add_reaction taking in Reaction
2017-07-02 01:40:13 -04:00
Rapptz
da6ced72c9
Bump requirements to aiohttp 2.2 and PyNaCl 1.1.2
2017-07-01 16:56:39 -04:00
Rapptz
0b9d402272
[commands] Improve commands.when_mentioned_or documentation.
2017-07-01 16:32:36 -04:00
Rapptz
867d918e30
Add when_mentioned and when_mentioned_or to the documentation.
2017-07-01 16:18:07 -04:00
Rapptz
25a1d8c300
Add support for user flags in Profile.
2017-06-30 18:49:49 -04:00
Rapptz
77f04539b1
Typo in docstring for TextChannel.delete_messages
2017-06-29 20:33:19 -04:00
Rapptz
51429f98e8
Fix typo in migrating page.
2017-06-29 20:25:40 -04:00
Rapptz
64cba11656
Allow TextChannel.delete_messages to take lists of 0 or 1 element.
2017-06-29 14:06:12 -04:00
Rapptz
ce34713c45
[commands] Do not take up 'command' keyword-argument in Context.invoke.
...
It was annoying when commands would have a keyword-only argument
named 'command', such as a help command or a disable command.
2017-06-27 04:58:20 -04:00
Rapptz
ad20e3066e
[commands] Add parameter that failed in fall-back BadArgument error.
2017-06-26 18:13:46 -04:00
Rapptz
649e4de149
Add Reaction.__str__
2017-06-26 01:27:09 -04:00
Rapptz
723e392c95
Properly sort roles and discard everyone role in Member.colour.
2017-06-24 20:55:47 -04:00
Rapptz
4ee90cd6e4
Fix missing lazy logging format calls.
...
Not sure how I missed these.
2017-06-24 20:52:19 -04:00
Rapptz
72780e7737
Actually expose Message.webhook_id.
2017-06-24 20:26:58 -04:00
Rapptz
3618f51f97
[commands] Ensure that Context.command is the command in Command.can_run
...
Previously, Context.command was not guaranteed to be the actual command
being checked if it can run. This could be troublesome when
implementing help commands or when using the default help command.
This new change allows at least for the guarantee that Context.command
to be technically correct in Command.can_run.
2017-06-21 02:30:24 -04:00
Rapptz
c23ef9e8a4
[commands] Add __global_check_once to list of cog functions.
2017-06-20 23:55:17 -04:00
Rapptz
717f11d635
[commands] Add Bot.check_once for a global check that is called once.
...
There is a counterpart for this in cogs, called __global_check_once.
This allows for predicates that would filter a command globally that
do not necessarily require rechecking in the case of e.g. the help
command such as blocking users or blocking channels.
2017-06-20 23:41:13 -04:00
Rapptz
06c99533de
Fix passing None to afk_channel in Guild.edit.
2017-06-19 04:22:42 -04:00
Rapptz
7d001ef46e
[commands] Try to use the proper name when conversion fails.
2017-06-17 21:16:10 -04:00
Rapptz
851d4ce22a
Properly quote reason header so non-ASCII works in audit log reasons.
2017-06-17 01:04:38 -04:00
Rapptz
15edfc2b26
Make checking for truth-ness of EmbedProxy easier.
2017-06-16 22:17:24 -04:00
Rapptz
e62e2c7cc6
[commands] Fix cog error detection in the default global error handler.
2017-06-13 23:51:11 -04:00
Rapptz
7d6435fa9c
[commands] Don't display default error handler if a cog local exists.
2017-06-12 17:44:05 -04:00
Rapptz
efe8fbf6ed
Fix format string in documentation.
2017-06-12 17:39:12 -04:00
Rapptz
c1dad43f9d
Downgrade PartialReactionEmoji to str in non-raw reaction events.
2017-06-09 22:01:31 -04:00
Rapptz
b06899e7d4
Defer logging formatting until the logger is actually called.
...
This would cause unnecessary format calls even if you didn't have
logging enabled.
2017-06-09 18:53:24 -04:00
Rapptz
d239cc2666
Implement "partial" message events.
...
These are events that get triggered regardless of the state of the
message cache. Useful for getting data from before the bot was booted.
2017-06-09 18:36:59 -04:00
Rapptz
0f7c1e09b0
Fix mixed order in migrating docs.
2017-06-05 23:15:29 -04:00
Rapptz
83dc93559c
[commands] Add docstrings for extension loading.
2017-06-05 22:55:57 -04:00
Rapptz
1cf50f8054
Fix AuditLogDiff.__iter__ to return an actual iterable.
...
Fixes #589 .
2017-06-04 20:32:09 -04:00
Rapptz
6135d4cd45
Fix typing/history showing up twice in the documentation.
2017-06-03 02:46:20 -04:00
Rapptz
bef636e1e3
Fix mistake in migrating docs.
2017-06-02 16:51:58 -04:00
Rapptz
daf066dd39
Log when a player's after function fails.
2017-06-02 06:43:33 -04:00
Rapptz
a18267ca49
Fix FAQ to showcase that there is a single parameter, the error.
2017-06-02 06:25:39 -04:00
Rapptz
5e6491c3fe
[commands] Allow inline advanced converters via classmethods.
...
That way you don't need to have, e.g. Foo and FooConverter and can
do it inline via Foo instead.
2017-06-01 03:32:18 -04:00
Rapptz
d85e479be6
Minor fix in migrating page.
2017-05-31 15:28:54 -04:00
Rapptz
fb7689f8ea
Add some margin for supported operations sections.
2017-05-31 14:50:31 -04:00
Rapptz
3330a19f35
Support for sending a nonce.
2017-05-31 07:34:59 -04:00
Rapptz
b13d437bb9
Don't assume the inviter is always there.
2017-05-31 05:01:19 -04:00
Rapptz
95451c35e7
Document Message.embeds and Message.attachments changes.
2017-05-31 01:57:18 -04:00
Rapptz
fc0b90582d
Writing to files is 'wb' not 'rb'.
2017-05-30 22:32:03 -04:00
Rapptz
af58e45e14
Export Attachment class.
2017-05-30 22:30:05 -04:00
Rapptz
8d3279b291
Implement an Attachment model.
2017-05-30 22:27:45 -04:00
Rapptz
d21fb780fd
Remove unused functions in HTTPClient.
2017-05-30 20:00:46 -04:00
Rapptz
b2cf11fe9d
[commands] Add escape_markdown parameter for clean_content.
2017-05-28 23:18:54 -04:00
Rapptz
34815a43f4
Permissions.view_audit_logs -> Permissions.view_audit_log
2017-05-28 22:00:43 -04:00
Rapptz
83f86f902a
Rename verification level to extreme due to demand.
2017-05-27 22:19:31 -04:00
Rapptz
ee3c77353f
Add highest verification level.
2017-05-27 01:12:06 -04:00
Rapptz
093d888173
[commands] Fix EmojiConverter not working with underscore names.
2017-05-26 18:58:56 -04:00
Rapptz
a47ded6e49
Don't expose Client.messages
...
Not entirely sure why it was exposed in the first place. Most uses with
it essentially boiled down to mis-usage when they meant to use the
/messages endpoint (via Client.logs_from or Messageable.history) or
complaining about the partial data woes that came from it.
2017-05-26 07:17:52 -04:00
Rapptz
9074bea234
Less unnecessary padding around functions.
2017-05-25 22:33:01 -04:00
Rapptz
497be35d5f
Log when a KeyboardInterrupt is met in Client.run
2017-05-25 21:30:22 -04:00
Rapptz
e1263a585a
Mention User.avatar_url change in migration page.
2017-05-25 21:29:45 -04:00
Rapptz
a8474ed6d3
Document that exceptions happen in Guild.audit_logs.
2017-05-25 20:16:03 -04:00
Rapptz
1f1ac8f750
Mention on_member_ban event change.
2017-05-23 21:25:16 -04:00
Rapptz
37288412ed
Working fix for one of the bullet points.
...
Thanks Pirate.
2017-05-23 11:31:41 -04:00
Rapptz
5a56e3fda1
Don't dispatch on_voice_state_update when Member is not found.
2017-05-22 22:28:19 -04:00
Rapptz
c3da6cdbd3
Add ref links to the commands API page.
2017-05-22 21:18:45 -04:00
Rapptz
f588876587
Use Python3Lexer instead of PythonLexer for pygments.
2017-05-22 07:21:23 -04:00
Rapptz
d672f84932
Raise when an invalid permission is passed to PermissionOverwrite.
2017-05-20 15:34:41 -04:00
Rapptz
3436792614
Allow setting a presence upon logging in.
2017-05-20 15:19:47 -04:00
Rapptz
9e24d43c63
Rewrite Client.run yet again.
...
This time it should definitely fix #545 .
2017-05-20 14:29:33 -04:00
Rapptz
6e2ecbc167
Re-raise exceptions from Client.start in Client.run.
2017-05-20 12:58:29 -04:00
Rapptz
f3eb039c4b
Re-implement how Client.run is done by using run_forever instead.
2017-05-20 12:46:26 -04:00
Rapptz
4dfaffd5f2
Only do loop cleanup in finally block when on windows.
...
Should also fix #545 .
2017-05-20 12:08:02 -04:00
Rapptz
1e1b02c630
Check if we're closing the event loop before using it.
...
Should fix #545 .
2017-05-20 11:58:29 -04:00
Rapptz
6119f280c5
Warnings are yellow.
2017-05-20 09:15:57 -04:00
Rapptz
229c471106
More broken Channel references.
2017-05-20 08:48:04 -04:00
Rapptz
bd7b2e2d35
Oversight in Permissions still having a table.
2017-05-20 08:47:08 -04:00
Rapptz
969bb085cb
Slightly different styling for supported operations.
2017-05-20 08:39:52 -04:00
Rapptz
f4e01b3a92
Make supported operations stand out more than attributes.
2017-05-20 02:08:34 -04:00
Rapptz
3727618b65
Kill remaining references to discord.Channel in documentation.
2017-05-19 21:58:02 -04:00
Rapptz
8a49a3a74f
Update migrating page with new extension information.
2017-05-19 21:56:16 -04:00
Rapptz
b81fbb5a7f
[commands] Add Context.reinvoke and Command.root_parent
...
Context.reinvoke would be the new way to bypass checks and cooldowns.
However, with its addition comes a change in the invocation order of
checks, callbacks, and cooldowns. While previously cooldowns would
trigger after command argument parsing, the new behaviour parses
cooldowns before command argument parsing.
The implication of this change is that Context.args and Context.kwargs
will no longer be filled properly.
2017-05-19 21:33:39 -04:00
Rapptz
c3e39cd722
[commands] Fix Context.command_failed from being incorrect.
...
When used, it would be set to False after the invoke was done. Ideally
it should report to False during invoke but True during any error
case.
2017-05-18 20:48:38 -04:00
Rapptz
8526995004
Minor speedup when doing comparisons.
...
Shred 2 getattr calls + 1 global lookup to 1 global lookup.
2017-05-18 05:15:06 -04:00
Rapptz
8e34a256a4
Fix User == Member comparisons.
2017-05-18 05:12:48 -04:00
Rapptz
026e526817
Lazy fix for active class when viewport is too small for sidebar.
2017-05-17 20:10:58 -04:00
Rapptz
02d854a99c
Fix format string in new bot template.
2017-05-17 19:48:51 -04:00
Rapptz
8aa04b7084
First pass at having a __main__ file.
...
This allows you to generate templates and projects easily. Its main
purpose is to be easy to use for beginners in the upcoming
documentation.
Two new commands are added:
* newbot
* creates a new bot template using a name and optional directory
* newcog
* creates a new cog template using a name and optional directory
2017-05-17 05:53:24 -04:00
Rapptz
3cb680159e
Add __unload to the special cog method list.
2017-05-17 00:57:21 -04:00
Rapptz
df90aaa610
Rename internal ConnectionState attribute to have an underscore.
...
Some people like to use that variable name apparently.
See #568 and #569 .
2017-05-16 20:20:39 -04:00
Rapptz
9cbbd8af65
Highlight currently visited section.
2017-05-16 03:12:43 -04:00
Rapptz
7a06f0f3bf
Client.get_user_info uses int for IDs not str.
...
Realistically both will work but let's not say that.
2017-05-15 21:31:38 -04:00
Rapptz
20949fc70e
Add helpful admonition CSS.
2017-05-15 20:47:49 -04:00
Rapptz
7a84661312
Rename Colour.to_tuple to Colour.to_rgb.
2017-05-15 03:40:27 -04:00
Rapptz
6f53491f9a
Add Colour.from_rgb.
2017-05-15 03:37:21 -04:00
Rapptz
c1130d2879
[commands] Update check examples to work with rewrite.
2017-05-15 02:52:20 -04:00
Rapptz
4023510032
Use describe for Colour documentation.
2017-05-15 02:29:03 -04:00
Rapptz
d80e08c1c6
Fix all broken cross references in the migrating page... again.
2017-05-15 02:08:56 -04:00