Rapptz
1acf478fb7
Make Permissions an iterable class.
2016-05-01 07:22:45 -04:00
Rapptz
fdaa4299a3
[commands] Fix when_mentioned when handling nicknames.
2016-05-01 07:06:19 -04:00
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