1795 Commits

Author SHA1 Message Date
Hornwitser
51d626eabe [lint] Remove redundant paranthesis
Remove redundant parenthisis around await expressions.  Left over from
f25091ef.
2018-11-24 22:17:58 -05:00
Hornwitser
633192b3cd [lint] Replace equality comparisons to singletons
Restrict the values accepted by comparisons with booleans to be actual
booleans.

Minor breaking of undocumented behaviour in permissions; the value to
set bits to must be booleans (as indicated by the type error thrown).
2018-11-24 22:17:57 -05:00
Hornwitser
fa46b07db1 [lint] Rename exception variables to exc
Use the more explicit (and common) exc instead of e as the variable
holding the exception in except handlers.
2018-11-24 22:17:57 -05:00
Hornwitser
4ae8e81660 [lint] Remove redundant exception variables
Use bare raise statement when reraising the exception that occured, and
remove unused exception variables.  Also remove a pointless exception
handler in discord.opus.
2018-11-24 22:17:57 -05:00
Hornwitser
a71b3b5fa0 [lint] Limit unneccessarily broad except clauses
Add exception qualifier(s) to bare except clauses swallowing exceptions.
2018-11-24 22:17:57 -05:00
Rapptz
860d6a9ace Revert "Rework documentation to not duplicate inherited members."
This reverts commit 96981210b3415e15446db0b702b07fef25c8b680.
2018-10-11 03:42:01 -04:00
Rapptz
e12db3a25d [commands] Add call_once keyword-only parameter for Bot.remove_check
Technically a breaking change. This is to be a parallel with the
Bot.add_check interface.
2018-10-11 02:52:26 -04:00
Matt (IPv4)
3727ea9811 Add Guild.splash_url_as 2018-10-11 02:38:52 -04:00
MusicOnline
fed01c5e15 Remove outdated note about bot accounts.
They can now delete all emoji
2018-10-11 02:36:46 -04:00
MusicOnline
b89e531088 Remove "Is there any documentation for ext.commands?" FAQ 2018-10-05 18:23:27 +08:00
MusicOnline
5ec3875ec8 Update set "Playing" status FAQ 2018-10-05 18:19:18 +08:00
Rapptz
1da6962580 Fix up Guild.create_custom_emoji docstring. 2018-10-03 05:45:55 -04:00
Rapptz
96981210b3 Rework documentation to not duplicate inherited members.
This will probably be reverted in 1 week.
2018-10-03 05:45:30 -04:00
MusicOnline
60d86b6c1a Add note regarding MORE_EMOJI in Guild.create_custom_emoji 2018-10-03 14:42:04 +08:00
MusicOnline
2f84d05f0b Correct Guild.create_custom_emoji documentation 2018-10-02 21:09:07 +08:00
Rapptz
836ae73040 Add support for AuditLogDiff.slowmode_delay. 2018-09-25 21:56:41 -04:00
Rapptz
45af0c83de [commands] Fix NameError in clean_content converter 2018-09-25 19:48:20 -04:00
Gorialis
e29e3438ec
Don't try to close shards if there are none yet. 2018-09-26 02:19:42 +09:00
Rapptz
77239e4f15 Fix NameError and duplicate insertion bug when moving roles. 2018-09-24 23:55:05 -04:00
Rapptz
54e9401a21 Update Japanese documentation strings 2018-09-24 23:42:20 -04:00
Rapptz
99b1390e5a [commands] Elaborate more on disallowed types in Greedy and Optional 2018-09-24 23:39:25 -04:00
Rapptz
2721689254 Optimise tight loops in DiscordGateway.received_message
* type(x) is y is faster than isinstance(x, y)
* Re-arrange if-statements for common statements
* Drop handler getattr for most events that don't  use it
2018-09-24 23:22:49 -04:00
Rapptz
095f0ec2fc Optimise some member and user related routines.
* Skip user update if possible
* Drop copy.copy in favour of manual copy

Credit to Hornwitser for these findings.
2018-09-24 22:50:05 -04:00
Rapptz
95d8bb2e85 Change internal representation of roles in Member and Emoji.
Introduce a new internal type, SnowflakeList, which has better memory
footprint over a regular list or set of roles. It is suspected that
there will be a 9x reduction of memory for every Emoji instance and a
48 byte saving per Member instance. However, these savings will
probably only be evident on larger bots.

As a consequence of this change, Member.roles is now computed lazily.

Currently I am not sure if I want to do the initial sorting on the
SnowflakeList for Member, as this comes with a O(n log n) cost when
creating a Member for little purpose since SnowflakeList.has is not
overly relied on. If CPU time becomes an issue this might change.
2018-09-24 22:19:42 -04:00
Rapptz
3d03dbc451 Change internal role storage in Guild to a dict instead of a list.
This adds the following APIs:

* Guild.get_role

This removes the following APIs:

* Guild.role_hierarchy

To compensate for the removed APIs, Guild.roles is now a sorted list
based on hierarchy. The first element will always be the @everyone
role.

This speeds up access at the cost of some memory, theoretically.
2018-09-24 21:08:48 -04:00
Rapptz
12cb074316 Take the default role property into account when comparing roles. 2018-09-24 20:19:47 -04:00
Rapptz
418048b98a [commands] Fix up Greedy documentation a bit. 2018-09-24 04:22:09 -04:00
Rapptz
21cb700d2c Forgot to add these images. 2018-09-24 04:06:34 -04:00
Rapptz
814b03f5a8 [commands] Add commands.Greedy converter and documentation.
This allows for greedy "consume until you can't" behaviour similar to
typing.Optional but for lists.
2018-09-24 03:56:32 -04:00
Rapptz
00a445310b [commands] Allow for backtracking parsing with typing.Optional
Original code by zephyrkul.

This new parsing mode allows for backtracking in case of failure
when a typing.Union[..., NoneType] or a typing.Optional[...] is used.
This means that if a type would fail to parse, the view is undo'd to
a previous state, passing the default parameter to the callback, and
then continuing on the next parameter as if nothing had happened.
2018-09-23 06:12:26 -04:00
zephyrkul
8ef509883a [commands] Properly parse bool when inside a typing.Union 2018-09-20 23:58:34 -04:00
Vexs
262c0d3a9e Correct note note about editing emoji in Guild.create_custom_emoji.
Remove incorrect note; extension of #1575
2018-09-20 23:45:15 -04:00
MusicOnline
9af0e54cd3 Correct ClientException message raised in invocation hooks.
For when the hooks are not coroutines.
2018-09-20 23:43:07 -04:00
MusicOnline
2c1ba84346 Add colour attribute for BaseUser 2018-09-16 22:46:05 +08:00
Episword
53433bca48 Translate some more files to Japanese 2018-09-15 18:28:57 -04:00
Jeremy Zhang
d092c6635b Fix webhook_update from code review 2018-09-15 18:28:57 -04:00
Jeremy Zhang
17f9916b03 Simple parser for WEBHOOKS_UPDATE 2018-09-15 18:28:57 -04:00
Rapptz
51a03d96e0 Update Japanese string dump. 2018-09-15 09:54:32 -04:00
Rapptz
5c24e69cf2 Fix up the Sphinx strings causing warnings. 2018-09-15 09:54:00 -04:00
Rapptz
0352c80a17 Add support for Discord's slow mode.
Adds the following:

* `slowmode_delay` for `TextChannel.edit`
* `slowmode_delay` attribute for `TextChannel`
2018-09-14 22:55:29 -04:00
Tarek1337
21309c2d72 Removed inaccurate note on emoji.py
In the docs, it says ``Note that bot accounts can only edit custom emojis they own.``

But after testing a bit. My bot was able to edit emojis in any guild that had the permissions `manage_roles`. Even if the bot didn't own the guild. Or was the original emoji uploader.

And I don't see any mentions of this in the API server or in the documentation. So I'm unsure how this ended up in here. It's possible I am misunderstanding the whole note. My bad if that's the case.
2018-09-14 22:55:28 -04:00
ItWasAllIntended
134bc21fda Update PyNaCl dependency to one that works with 3.7
This also adds the 3.7 classifier as with this there are no 3.7 issues
2018-09-14 22:55:28 -04:00
BeatButton
a4d1599ce9 Change docstrings to raw-strings 2018-09-14 22:55:27 -04:00
Toby Harradine
5131acd675
Bump aiohttp contraint to <3.5.0
New version contains many bugfixes, a couple new features and seemingly no breaking changes (for this lib's purposes at least).

Relevant changes: https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst#340-2018-08-25
2018-09-06 01:28:59 +10:00
bmintz
00a659c652 [docs] sort the VoiceRegions
having them appear in the docs ordered by their internal number
is not useful to the user. Sorting them by name
allows one to more quickly locate a voice region in the docs.
2018-08-30 19:20:11 -04:00
bmintz
1d65d6993a document HypeSquadHouse and Profile.hypesquad_houses 2018-08-30 19:20:10 -04:00
Carl Groth
3ccbda928e Fix PartialEmoji._as_reaction() for emojis the bot can't see
If the bot has access to the emoji, you can pass anything for its name
and it will work fine. The name is only required to be correct when
adding a reaction where you do not have access to the emoji,
all other cases ignore the name.
2018-08-30 18:33:51 -04:00
zephyrkul
b9ef80b0d0 [commands] Prepend mention prefixes in commands.when_mentioned_or 2018-08-28 23:50:57 -04:00
Chris
15ca9294e1 Fix typo in on_raw_reaction_add event. 2018-08-28 23:50:56 -04:00
Bryan Forbes
d7218259aa Call Http.start_group() in ClientUser.create_group() 2018-08-28 23:50:55 -04:00