613 Commits

Author SHA1 Message Date
Khazhismel Kumykov
a1b5cefc8b Add move_role
move_role will only send changed roles.
discord will accept trying to move to position 0, or trying to move the
everyone role. It will result in unexpected changes, so we prohibit it.
2016-05-20 18:11:55 -04:00
Rapptz
e66b2dce88 Rename threading internal variable conflict. 2016-05-13 20:24:45 -04:00
Rapptz
9077b4e319 Fix Member.colour to use the new algorithm for determining colour. 2016-05-12 22:12:33 -04:00
Rapptz
9176caa355 Fix Channel.permissions_for to work with the new permission system. 2016-05-12 21:25:18 -04:00
Rapptz
dd8a60f743 Add Permissions.administrator and change Permissions.manage_roles 2016-05-12 21:10:02 -04:00
Rapptz
92175ea152 Add example for Client.purge_from 2016-05-12 09:05:51 -04:00
Rapptz
493bffc685 Rework playlist example to work with multi-server voice. 2016-05-12 06:06:39 -04:00
Rapptz
1155a0aaa4 Make Player threads into daemon threads. 2016-05-12 06:06:38 -04:00
Rapptz
3c04ec2af0 Add a way to change the player volume. 2016-05-12 06:06:38 -04:00
Rapptz
339e26275f Add VoiceClient.move_to for quick switching of voice channels. 2016-05-12 06:06:37 -04:00
Twentysix
132873d159 Add clarification for purge_from and delete_messages
Endpoint not usable by non-bot accounts
2016-05-11 17:13:34 +02:00
Rapptz
b8eab5f656 Change second run_until_complete to not be empty.
This should stop the infinite loops in some cases.
2016-05-10 20:21:08 -04:00
Rapptz
0c8d5ee863 Force encoding of text retrieval functions to use utf-8.
Closes #207
2016-05-10 19:52:34 -04:00
Rapptz
1e175f2ab3 Fix issue with Client.purge_from not deleting the 101st message. 2016-05-10 19:39:58 -04:00
Rapptz
1f86a9b795 Add Client.purge_from as a high level interface around bulk delete. 2016-05-10 08:43:09 -04:00
Rapptz
1b601097d2 Add Client.delete_messages for bulk delete. 2016-05-10 07:52:22 -04:00
Rapptz
cf2bee5c43 Fix issue with Member.joined_at being None. 2016-05-10 06:04:44 -04:00
Rapptz
3feba5d1bb Add Game.type and Game.url attributes to change streaming status. 2016-05-06 16:38:22 -04:00
Rapptz
701720a0f8 Add a TimeoutError if VoiceClient.connect fails. 2016-05-06 13:30:44 -04:00
Rapptz
570ccbf753 Suppress ConnectionClosed on sending in the main websocket. 2016-05-06 13:19:41 -04:00
Rapptz
2fc496304c Add libopus DLLs for ease of use. 2016-05-06 12:23:24 -04:00
Jake
7efabce4b2 Enable FEC/PLR
Enable forward error correction + packet loss percent tuning in opus encoder. Additionally, use some sane defaults. This should fix people hearing robo in music when packet loss is happening.
2016-05-03 22:34:30 -07:00
Rapptz
d9c780b8a8 Working multi-server voice support. 2016-05-01 20:54:13 -04:00
Rapptz
5fa715c350 Fix typo in Message.role_mentions documentation. 2016-05-01 07:34:48 -04:00
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