Commit Graph

762 Commits

Author SHA1 Message Date
504fbaafd5 Clean up Emoji documentation. 2016-08-01 21:05:51 -07:00
45083a6f15 Document the new emoji stuff. 2016-08-01 18:52:34 -04:00
c72c23278d [commands] Add custom emoji converter. 2016-07-31 22:39:45 -07:00
c5a989eeb2 Add custom emoji support. 2016-07-31 22:39:43 -07:00
fd3d775271 Version bump to v0.11.0 2016-07-30 14:02:12 -04:00
3ec9b7fb97 [commands] Make HelpFormatter ignore hidden commands for max_width. 2016-07-30 13:27:41 -04:00
cfca7eb1f8 Rename Permissions.change_nicknames to change_nickname to match UI.
This is a breaking change.
2016-07-30 13:11:16 -04:00
0c95edab8c Handle receiving HEARTBEAT opcode. 2016-07-30 13:03:22 -04:00
667d2b384b Add functions to query and actually prune members from a server. 2016-07-29 14:40:30 -04:00
feeff2b848 Clarify that Client.purge_from requires Manage Messages for anything. 2016-07-29 09:59:28 -04:00
fbd628fae3 Fix KeyError when creating private channels in start_private_message.
I was not passing the full updated v6 payload.
2016-07-25 06:16:22 -04:00
ad226f2020 Add new External Emojis permission. 2016-07-24 07:56:48 -04:00
66875fbb0a Document VoiceState class. 2016-07-24 04:54:00 -04:00
b0e5357716 Fix voice state update issue in on_voice_state_update
Bug was caused to the shallow copy not copying over the VoiceState
information embedded into the copy. This would mean that when the event
is called, before and after voice state information is essentially
equivalent.

The solution to fix this is to also copy the VoiceState objects.
2016-07-23 05:18:56 -04:00
b862223a1f Fix TypeError when constructing a channel in start_private_message. 2016-07-23 02:14:02 -04:00
1a186c5a55 [commands] Fix cooldown decorator to work regardless of order. 2016-07-22 18:37:23 -04:00
b13029b993 Remove unused internal code in Member. 2016-07-22 18:09:53 -04:00
cd0de57d13 [commands] Implement a command cooldown system.
The way the command cooldown works is using a windowed way of doing it.
That is, if we have a cooldown of 2 commands every 30 seconds then if we
do a single command, we have 30 seconds to do the second command or else
we will get rate limited. This more or less matches the common
expectations on how cooldowns should be.

These cooldowns can be bucketed up to a single dimension of depth for
a per-user, per-guild, or per-channel basis. Of course, a global bucket
is also provided. These cannot be mixed, e.g. no per-channel per-user
cooldowns.

When a command cooldown is triggered, the error handlers will receive a
an exception of type CommandOnCooldown with proper information regarding
the cooldown such as retry_after and the bucket information itself.
2016-07-22 18:05:38 -04:00
5010e7dc55 [commands] Add UserInputError into the exception hierarchy.
This is for exceptions that are inherently based on user errors and not
permission based. e.g. passing incorrect number of arguments, too many
arguments, or an invalid argument. CommandNotFound is not classified
under this since it isn't inherently a user input error in all cases.

Some invalid commands can simply be due to an odd bot prefix. It would
also diminish the usefulness of the new parent class if CommandNotFound
was included.
2016-07-21 23:53:16 -04:00
0000b2576e Fix SyntaxError in constructing VoiceState for Python 3.4
Generalised unpacking is 3.5 only.
2016-07-21 22:09:38 -04:00
b0f5584961 Add AppInfo.owner attribute. 2016-07-21 01:16:29 -04:00
3cd9f80854 Fix bug where discriminators would not update in PRESENCE_UPDATE. 2016-07-21 01:09:12 -04:00
d961bc4da0 Add ourselves into the ringing lookup cache. 2016-07-15 23:43:40 -04:00
bd39c3ef45 Add utility properties to CallMessage to query information. 2016-07-15 23:42:53 -04:00
1c8ab25917 Add support for querying information about group calls. 2016-07-15 22:46:00 -04:00
33eba31aac Fix the displaying of Message.system_content 2016-07-15 22:11:56 -04:00
91351a3238 Handle adding and removal of group members. 2016-07-15 22:03:22 -04:00
18bdd3e7dd Make PrivateChannel.__str__ more useful for groups.
Also demote is_private to a property instead of a slot.
2016-07-15 21:45:23 -04:00
c7f99afe7e Handle private channel CHANNEL_CREATE better. 2016-07-15 21:34:39 -04:00
e60047b756 Add remaining server regions to the enum. 2016-07-14 15:03:43 -04:00
a128249b63 Add support for different message types and call message. 2016-07-13 20:11:18 -04:00
69c506d7ae Handle CHANNEL_UPDATE for group direct messages. 2016-07-13 17:23:35 -04:00
ddd3fd0a3d Begin working on gateway v6 changes.
The first batch of changes are related to channel types and group
direct messages. Support these first so READY begins parsing.
2016-07-13 00:10:16 -04:00
e977bddc1f Add stderr arg to create_ffmpeg_player 2016-07-08 14:48:04 -04:00
cd87f247d3 [commands] Make Bot.check decorator an actual decorator. 2016-07-08 04:29:11 -04:00
1aaeeff02b [commands] Added missing parenthesis in examples 2016-07-08 04:29:05 -04:00
18e77f356d Save email when login with a token on a user account 2016-07-06 17:38:41 +02:00
166d8257ec [commands] Refactor pagination into its own class.
This change allows users to more easily create their own formatters
without having to reinvent the pagination logic themselves. Hopefully
this makes it less of a pain for people to create custom help pages.
2016-07-05 21:44:14 -04:00
6f3bd7c0e6 Fix issue with removing roles out of order.
Fixes #250.
2016-07-04 08:01:57 -04:00
1500001b04 [commands] Fix error in converters in a private message context.
I was referencing a member function that did not actually exist. So I
ported it over to a free function that could be used.
2016-07-02 23:39:29 -04:00
4d71b3fe7d [commands] Do not lower-case the function name for default command names
There are some badlets out there that apparently violate PEP-8.
2016-07-01 22:12:57 -04:00
a2b053a517 [commands] Make GroupMixin.remove_command return None.
This is for cases where the command has been removed already. This will
make the function have a somewhat no exception guarantee.
2016-06-30 15:15:49 -04:00
0eccd85711 Add implicit cases to permission resolution in Channel.permissions_for 2016-06-28 20:34:03 -04:00
30d623cd46 Add Server.mfa_level to query a server's 2FA requirement. 2016-06-28 19:25:50 -04:00
d87d11c5a6 Fix voice states being overwritten after a GUILD_SYNC.
This was a two-fold problem. The first of which involved the overwriting
of members during a GUILD_SYNC. Since we are requesting a chunk anyway,
we have all the member references we need without actually chunking. The
second problem came from the order. We were doing a GUILD_SYNC and then
doing the chunking requests. We should do the GUILD_SYNC after the
chunking in order to just update presences.
2016-06-28 19:07:56 -04:00
PC
1aceb4ee8d Change max_length to max_messages 2016-06-28 18:23:25 +02:00
3cad1aeb59 Version bump to v0.10.0 2016-06-28 01:24:55 -04:00
e68e167048 Update installation instructions. 2016-06-28 01:18:44 -04:00
4c1b8d1de1 Add PyNaCl to setuptool's extras requirements. 2016-06-28 00:59:12 -04:00
e1f8bdc440 Make PyNaCl optional 2016-06-28 00:58:11 -04:00