Commit Graph

568 Commits

Author SHA1 Message Date
bf650297a1 Only trigger on_voice_state_update if the member actually exists. 2016-05-20 19:22:22 -04:00
a31188c966 Fix bug where members leaving will stay in Channel.voice_members. 2016-05-20 19:21:06 -04:00
e3c4daf717 Add __slots__ for discord.Channel.
Not sure why this was missing.
2016-05-20 18:11:58 -04:00
fe1b5b2941 Add support for voice channel user limits. 2016-05-20 18:11:58 -04:00
492c9afffb logs_from improvements for after param.
- Properly support 'after' alone
- Properly support both 'before' and 'after'
- Add optional 'reverse' parameter to sort messages oldest->newest to
  1) provide a sorted result set for 'after'
  2) give flexibility when using both 'before' and 'after'
2016-05-20 18:11:57 -04:00
8e5347f4ed Allow datetime in limit parameters for logs_from.
Add time_snowflake to convert a datetime to a "snowflake".
2016-05-20 18:11:56 -04:00
7bdddc37a0 Retry send_file on 502.
Rename _rate_limit_helper to _retry_helper
2016-05-20 18:11:56 -04:00
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
e66b2dce88 Rename threading internal variable conflict. 2016-05-13 20:24:45 -04:00
9077b4e319 Fix Member.colour to use the new algorithm for determining colour. 2016-05-12 22:12:33 -04:00
9176caa355 Fix Channel.permissions_for to work with the new permission system. 2016-05-12 21:25:18 -04:00
dd8a60f743 Add Permissions.administrator and change Permissions.manage_roles 2016-05-12 21:10:02 -04:00
92175ea152 Add example for Client.purge_from 2016-05-12 09:05:51 -04:00
1155a0aaa4 Make Player threads into daemon threads. 2016-05-12 06:06:38 -04:00
3c04ec2af0 Add a way to change the player volume. 2016-05-12 06:06:38 -04:00
339e26275f Add VoiceClient.move_to for quick switching of voice channels. 2016-05-12 06:06:37 -04:00
132873d159 Add clarification for purge_from and delete_messages
Endpoint not usable by non-bot accounts
2016-05-11 17:13:34 +02:00
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
0c8d5ee863 Force encoding of text retrieval functions to use utf-8.
Closes #207
2016-05-10 19:52:34 -04:00
1e175f2ab3 Fix issue with Client.purge_from not deleting the 101st message. 2016-05-10 19:39:58 -04:00
1f86a9b795 Add Client.purge_from as a high level interface around bulk delete. 2016-05-10 08:43:09 -04:00
1b601097d2 Add Client.delete_messages for bulk delete. 2016-05-10 07:52:22 -04:00
cf2bee5c43 Fix issue with Member.joined_at being None. 2016-05-10 06:04:44 -04:00
3feba5d1bb Add Game.type and Game.url attributes to change streaming status. 2016-05-06 16:38:22 -04:00
701720a0f8 Add a TimeoutError if VoiceClient.connect fails. 2016-05-06 13:30:44 -04:00
570ccbf753 Suppress ConnectionClosed on sending in the main websocket. 2016-05-06 13:19:41 -04:00
2fc496304c Add libopus DLLs for ease of use. 2016-05-06 12:23:24 -04:00
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
d9c780b8a8 Working multi-server voice support. 2016-05-01 20:54:13 -04:00
5fa715c350 Fix typo in Message.role_mentions documentation. 2016-05-01 07:34:48 -04:00
1acf478fb7 Make Permissions an iterable class. 2016-05-01 07:22:45 -04:00
fdaa4299a3 [commands] Fix when_mentioned when handling nicknames. 2016-05-01 07:06:19 -04:00
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
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
5e8c79bf76 Attempt to consistently sort of all Member.roles 2016-04-29 22:44:25 -04:00
47cccba946 Remove setting read-only __doc__ in Member overrides. 2016-04-29 22:30:51 -04:00
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
e2bfa90eef Add User.mentioned_in helper to check if a message mentions you. 2016-04-29 20:11:13 -04:00
3758c0aa83 Member.mention now uses nickname hint if needed. 2016-04-29 19:29:48 -04:00
196e9463f5 Add Role.mentionable attribute. 2016-04-29 19:29:29 -04:00
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
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
e112536ce2 Simplify User.display_name a bit. 2016-04-29 08:27:19 -04:00
85806ef1d6 Handle nicknames in Server.get_member_named 2016-04-29 08:20:16 -04:00
79f6554289 Add Message.role_mentions and handle them in Message.clean_content 2016-04-29 07:54:49 -04:00
abb955fdaa Add Role.mention property 2016-04-29 07:24:32 -04:00
07adb1d5e9 Add ability to change nicknames via Client.change_nickname 2016-04-29 07:18:01 -04:00
133e8d3a44 Add support for server specific nicknames. 2016-04-29 06:39:21 -04:00
cc78cfedb6 Add permissions for changing or managing nicknames. 2016-04-29 06:23:09 -04:00
c1b5a52823 Refactor voice websocket into gateway.py 2016-04-27 18:36:24 -04:00