Rapptz
661645ac97
[commands] Add Command.qualified_name to get the full command name.
...
This also sets `__str__` to do the same thing.
2016-06-04 22:31:00 -04:00
Rapptz
37dfe38af5
[commands] Fix bug where Context.command would not update.
2016-06-04 22:29:50 -04:00
Rapptz
9d9a20c128
[commands] Fix bug where subgroups would be repeatedly called.
...
This happened due to not resetting the `invoked_subcommand` state
tracking. Since the `invoked_subcommand` was not reset, it would always
assume that it was valid and repeatedly call it when passed invalid
subcommands/arguments.
2016-06-04 22:04:05 -04:00
Rapptz
24a9da04db
[commands] Cleanup Command.invoke code due to exception propagation.
2016-06-04 21:41:01 -04:00
Rapptz
329f916e10
Add bot keyword argument to login via static token.
2016-06-03 02:12:39 -04:00
Rapptz
f6fa1e837a
Actually use v4 gateway and fixes thanks to Jake.
2016-06-02 07:32:35 -04:00
Rapptz
c97e5a17e6
Update positions when a role is added or removed.
2016-06-01 21:06:04 -04:00
Rapptz
b6492a4124
Clarify Role.position documentation.
2016-06-01 20:47:33 -04:00
Rapptz
9a6234961f
Make Channel.changed_roles into an on-the-fly property instead.
2016-06-01 20:33:38 -04:00
Rapptz
5016f12079
Add Role.server attribute.
...
This breaks events that expected a server parameter for the role events.
2016-06-01 19:27:48 -04:00
Rapptz
8638ff4414
Update voice client main ws references when reconnecting.
2016-06-01 05:20:22 -04:00
Rapptz
e0a91df32b
Add RESUME support.
2016-06-01 05:13:15 -04:00
Rapptz
20e86973ea
[commands] Delete frame objects when done using them.
2016-05-31 23:22:53 -04:00
Rapptz
bbc78b29ae
Fix discord.Object documentation.
2016-05-31 20:39:12 -04:00
Rapptz
3c8fcd3584
[commands] Add support for self-bots.
2016-05-31 20:30:17 -04:00
Rapptz
13a9a7520c
Fix ytdl documentation link.
2016-05-27 15:00:50 -04:00
Rapptz
70cc5eb1bb
Allow to edit mentionable property in Client.edit_role.
2016-05-27 14:03:50 -04:00
Rapptz
f3f3ab1cd4
Reference the Discord UI in the permission documentation.
2016-05-23 15:06:09 -04:00
Rapptz
aa45bce212
Documentation fixes for role related functions.
2016-05-23 15:03:22 -04:00
Rapptz
8f4816ddae
Close voice connections before closing the websocket.
2016-05-22 00:58:27 -04:00
Rapptz
bf650297a1
Only trigger on_voice_state_update if the member actually exists.
2016-05-20 19:22:22 -04:00
Rapptz
a31188c966
Fix bug where members leaving will stay in Channel.voice_members.
2016-05-20 19:21:06 -04:00
Rapptz
e3c4daf717
Add __slots__ for discord.Channel.
...
Not sure why this was missing.
2016-05-20 18:11:58 -04:00
Rapptz
fe1b5b2941
Add support for voice channel user limits.
2016-05-20 18:11:58 -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
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
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
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
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
Rapptz
8d7dd79673
Fix deadlock issue when joining large guilds.
2016-04-15 23:27:23 -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
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
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
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
Rapptz
82b2421ac7
[commands] Add deterministic cog unloading.
...
The special function is `__unload` to prevent with name conflicts with
existing or future cogs.
2016-04-04 04:45:15 -04:00
Rapptz
8b7f15ef8d
Skip member_update event when a member is not in a guild.
2016-04-02 23:38:45 -04:00
Rapptz
4451091c91
[commands] Fix pagination logic a little inside HelpFormatter.
...
This should prevent pages accidentally reaching >2k chars.
2016-04-02 08:15:34 -04:00
Rapptz
d79a13d7bc
[commands] Refactor special cased discord.py converters.
...
Code is a little more straightforward. The Member and Channel special
cases will now work in private message contexts when given a name. The
Member special case will also work if you pass in a name and
discriminator combo.
2016-04-01 07:27:39 -04:00
Rapptz
1a202bb6eb
Add Server.get_member_named to help with name + discriminator lookups.
2016-04-01 05:59:58 -04:00
Rapptz
f93fa8a0b2
User.__str__ now includes the discriminator.
2016-04-01 05:48:31 -04:00
Rapptz
7fe5a54183
Clarify that linux users need libffi for PyNaCl.
2016-04-01 05:10:43 -04:00
Rapptz
ee4574a5e1
Drop voice packets when it can be potentially blocking.
2016-03-31 23:44:22 -04:00
Rapptz
10cb16a450
Add PyNaCl to the list of requirements.
2016-03-31 23:18:35 -04:00
Rapptz
c015e492d7
[commands] Don't yield from inside bot utility functions.
2016-03-31 20:09:20 -04:00
Rapptz
7dcf0c059c
Clarify that Client.close is a coroutine.
2016-03-29 20:44:33 -04:00
Rapptz
53a240e0d3
Add Member.colour property to get rendered role colour of a member.
2016-03-27 15:12:05 -04:00
Rapptz
1a98e9235a
Clarify Channel.position documentation.
2016-03-25 22:51:03 -04:00
Rapptz
0ad1cb95a3
Server.icon_url uses API url instead of the CDN.
2016-03-25 19:13:06 -04:00