Milo Mirate
21c88cf727
Make Permissions partially-ordered.
...
Specifically:
* P1 <= P2 iff P1 expresses a subset of the permissions expressed by P2.
* P1 < P2 iff P1 <= P2 and P1 != P2
* vice versa for P1 >= P2 and P1 > P2
2016-04-30 23:00:22 -04:00
Khazhismel Kumykov
7bae6dc5bc
Fix changing own nickname without manage_nicknames
...
Use @me/nick rather than id when changing own nickname - this only
requires change_nicknames rather than manage.
2016-04-30 20:34:02 -04:00
Rapptz
5e8c79bf76
Attempt to consistently sort of all Member.roles
2016-04-29 22:44:25 -04:00
Rapptz
47cccba946
Remove setting read-only __doc__ in Member overrides.
2016-04-29 22:30:51 -04:00
Rapptz
ebaf74e784
Sort member.roles by ID but keep the default role in index 0.
...
This should make the events checking if `before` and `after` roles
are equivalent more sane for users.
2016-04-29 22:29:56 -04:00
Rapptz
e2bfa90eef
Add User.mentioned_in helper to check if a message mentions you.
2016-04-29 20:11:13 -04:00
Rapptz
3758c0aa83
Member.mention now uses nickname hint if needed.
2016-04-29 19:29:48 -04:00
Rapptz
196e9463f5
Add Role.mentionable attribute.
2016-04-29 19:29:29 -04:00
Khazhismel Kumykov
29b01f20ba
Fix Member.display_name returning None
...
If Member.nick was None, getattr would happily return None, not the
default value.
2016-04-29 15:13:15 -04:00
Rapptz
7f09acf871
[commands] Allow role mentions to work with discord.Role params.
...
This also fixes the Member regex to support the new <@!user_id> syntax
and allows colours to have a leading # before the number.
2016-04-29 08:45:12 -04:00
Rapptz
e112536ce2
Simplify User.display_name a bit.
2016-04-29 08:27:19 -04:00
Rapptz
85806ef1d6
Handle nicknames in Server.get_member_named
2016-04-29 08:20:16 -04:00
Rapptz
79f6554289
Add Message.role_mentions and handle them in Message.clean_content
2016-04-29 07:54:49 -04:00
Rapptz
abb955fdaa
Add Role.mention property
2016-04-29 07:24:32 -04:00
Rapptz
07adb1d5e9
Add ability to change nicknames via Client.change_nickname
2016-04-29 07:18:01 -04:00
Rapptz
133e8d3a44
Add support for server specific nicknames.
2016-04-29 06:39:21 -04:00
Rapptz
cc78cfedb6
Add permissions for changing or managing nicknames.
2016-04-29 06:23:09 -04:00
Rapptz
c1b5a52823
Refactor voice websocket into gateway.py
2016-04-27 18:36:24 -04:00
Rapptz
1c623ccf11
Begin working on gateway v4 support.
...
Bump websockets requirement to v3.1
Should be squashed...
2016-04-27 18:36:13 -04:00
Rapptz
fda0c8cea0
Add compatibility layer for run_coroutine_threadsafe
.
...
This is a breaking change, since discord.utils.create_task is moved
to discord.compat.create_task.
2016-04-25 20:52:16 -04:00
Rapptz
e0ca746ad4
[commands] Make sure that mentions are the entire string.
2016-04-23 02:13:34 -04:00
Rapptz
54e9be7aed
Message.clean_content now takes into consideration @here mentions.
2016-04-23 02:13:33 -04:00
Daniel
5a2b8e2ce6
Properly close session if client failed to start
...
`keep_alive` was not defined until it was created in `received_message`, `ws` is `None` until its actually connected, which doesn't always happen. If an error happens before things start up properly, the client should now clean its objects up (fixes `unclosed client session` warning).
2016-04-22 22:40:25 -04:00
cookie
bd5effeb68
Add optional redirect_uri parameter to utils.oauth_url
2016-04-18 00:47:55 -04:00
Rapptz
8d7dd79673
Fix deadlock issue when joining large guilds.
2016-04-15 23:27:23 -04:00
Khazhismel Kumykov
a2a5dc5997
Add optional server parameter to utils.oauth_url
2016-04-15 21:04:33 -04:00
Rapptz
03862a7145
Add a None check when setting status in Client.change_status.
2016-04-14 20:38:13 -04:00
Rapptz
7adf761a35
Retry if send_message or edit_message encounter a 502.
2016-04-14 13:16:27 -04:00
Rapptz
054c9c7109
[commands] CommandError derived exceptions in checks don't crash help.
2016-04-13 14:25:45 -04:00
Rapptz
7eb9a7dfdc
Handle bot tag updates in GUILD_MEMBER_UPDATE.
2016-04-12 18:19:02 -04:00
Rapptz
53bc9a3007
Yield from parser coroutine instead of making it a task.
...
This should give us a bit better sequential message processing.
2016-04-12 18:18:03 -04:00
Rapptz
03041bdb0a
Add Channel.overwrites_for function to get allow/deny pairs.
2016-04-12 13:10:43 -04:00
Rapptz
7023b353f6
User JSON object has 'username' keys not 'name'.
2016-04-11 14:39:04 -04:00
Rapptz
5c407df2b7
Fix Client.login documentation to showcase email/password login.
2016-04-11 14:30:44 -04:00
Rapptz
28b3d375e9
Check the right status code for improper token being passed.
2016-04-11 14:25:20 -04:00
Rapptz
6076c8c671
Better chunking behaviour and add members on PRESENCE_UPDATE.
...
This should hopefully cover all cases where members are added.
There was a bug where an array of chunks received would get entirely
processed if only a single chunk was received. This was fixed by
explicitly bailing early if we're requesting for chunks.
2016-04-11 14:24:15 -04:00
Khazhismel
84f1342b85
Fix chunk requests not actually being batched.
2016-04-11 11:53:54 -04:00
Rapptz
0401ab561b
Proper chunking for unavailable guilds.
...
This will also delay on_ready until all chunking is complete.
2016-04-10 00:47:00 -04:00
Rapptz
29d3f5a886
Allow Client.edit_profile to work with bot accounts.
2016-04-09 21:42:26 -04:00
Rapptz
fa14c72836
Add User.bot attribute to check if a user is a bot account.
2016-04-09 21:42:25 -04:00
Khazhismel Kumykov
9f722731dd
Fix typo in Role.created_at
2016-04-09 02:33:09 -04:00
Rapptz
eedad13ac1
Add utility function for generating OAuth2 urls.
2016-04-08 22:51:57 -04:00
Rapptz
72e84a1b47
Change all email/password pair examples to use token.
2016-04-08 22:02:38 -04:00
Rapptz
93edf88ee4
Change login, start and run to be variadic.
2016-04-08 22:00:06 -04:00
Rapptz
222a89a653
Fix unclosed response and document token login a bit better.
2016-04-08 21:16:30 -04:00
Max Gurela
7f340f88ad
Add support for token login (for bots)
2016-04-08 21:11:22 -04:00
Rapptz
e64787a415
Guard against AttributeErrors when clearing cached slot cache.
2016-04-05 18:22:44 -04:00
Rapptz
dfd51b95d6
Make Message.clean_content a cached property again.
...
Instead, clear the cached properties so they will be re-cached when
invoked again.
2016-04-05 18:01:55 -04:00
Zeta
f235dc5ca4
Fix handling of message update in MESSAGE_UPDATE
2016-04-05 18:01:54 -04:00
Khazhismel Kumykov
160cbc81e7
Clarify channel-specific permissions documentation.
...
Manage Roles and Manage Channels is renamed to "Manage Permissions" and
"Manage Channel" in the discord UI, clarify which fields in the Permission
object those map to.
2016-04-05 14:30:04 -04:00