820 Commits

Author SHA1 Message Date
Rapptz
ae796e0d01 Change buckets for reactions. 2016-11-06 01:03:57 -04:00
khazhyk
8bd242f00b Fix crash on reaction remove.
Discord can sometimes send integer 0 as the emoji id instead of
null to signify a non-custom emoji, which was causing a crash due
to a 'is not None' check assuming the reaction was for an emoji
with id 0. Probably a discord bug, but preferable to handle here
rather than crash users.
2016-11-05 21:46:07 -07:00
Rapptz
4fa1349869 Version bump to v0.14.2 v0.14.2 2016-11-04 00:14:07 -04:00
Rapptz
edcd1750c9 Make Client.wait_for_reaction return a namedtuple instead.
Also fix a bug in the case that emoji parameter is `None`.
2016-11-04 00:02:25 -04:00
Rapptz
f56dbb0379 Fix Reaction not importing.
Also bump version to v0.14.1
v0.14.1
2016-11-03 22:28:18 -04:00
Rapptz
e68e3f955d Forgot the v0.14.0 heading in the docs. 2016-11-03 22:00:45 -04:00
Rapptz
0e856494ed Version bump to v0.14.0 v0.14.0 2016-11-03 21:52:21 -04:00
Rapptz
0e8a92cbac Add Client.wait_for_reaction to wait for a reaction from a user. 2016-11-03 21:44:24 -04:00
Rapptz
12a3403af3 Change reaction events signature and name.
This changes the event signature to be (reaction, user) instead of
(message, reaction, user) since the reaction data class already has
the message being reacted to as a member.

The name was shortened from on_message_reaction_ to on_reaction_ since
the message prefix was deemed redundant.
2016-11-03 20:16:39 -04:00
khazhyk
4d87b2f817 Inject full Emoji to Reaction if we have it.
Reaction objects with custom Emoji are partial. If we know of this Emoji
(can find it on this client) then inject it. Otherwise, leave it as a
hollow Emoji. We can still react with a hollow Emoji, but can't get other
metadata about it.
2016-11-03 04:39:45 -04:00
khazhyk
c4acc0e1a1 Add support for reactions.
Reactions can be be standard emojis, or custom server emojis.

Adds
 - add/remove_reaction
 - get_reaction_users
 - Messages have new field reactions
 - new events - message_reaction_add, message_reaction_remove
 - new permission - add_reactions
2016-10-27 21:36:32 -07:00
khazhyk
158ac6bb50 Add around parameter to LogsFromIterator. 2016-10-16 18:10:49 -07:00
khazhyk
e2667a6f66 Refactor LogsFromIterator 2016-10-16 17:25:00 -07:00
khazhyk
98d8c855d8 Fix typo in change_presence validation message 2016-10-15 15:54:50 -07:00
Rapptz
14def4b68e Fix Member.server_permissions docstring. 2016-10-04 18:55:34 -04:00
Max Kamps
25c262461e [commands] Fix mistake in Paginator error message. 2016-10-03 13:27:02 +02:00
Rapptz
b39de025c5 Add support for new Manage Webhooks permission. 2016-10-03 00:35:36 -04:00
Max Kamps
8f0d16629f [commands] Fix Paginator still allowing lines which are too long. 2016-10-03 00:32:12 -04:00
Khazhismel
adf74eef76 Update Client documentation. 2016-10-02 14:06:49 -07:00
Rapptz
18a9b75990 Fix Permissions.manage_emojis bit being incorrect. 2016-09-29 18:32:47 -04:00
Rapptz
2927e5fd39 Fix URL pointing to better method in Client.change_status 2016-09-27 01:32:45 -04:00
Rapptz
1a624cd037 Version bump to v0.13.0 v0.13.0 2016-09-26 23:32:33 -04:00
Rapptz
7c0be1cade [commands] Raise exception if Paginator gets a line that is too big.
Fixes #340
2016-09-26 23:26:26 -04:00
Rapptz
5d8d3ab43a Add Permissions.manage_emojis 2016-09-26 23:02:44 -04:00
Rapptz
9322bc78be Add the ability to add, delete, and edit custom emoji. 2016-09-26 23:02:28 -04:00
Rapptz
7272190e2d Add support for "Do Not Disturb" and "Invisible" statuses.
This deprecates Client.change_status in favour of the newer and more
correct Client.change_presence.
2016-09-26 19:55:42 -04:00
Rapptz
fc1155c160 Remove unused endpoints.py file. 2016-09-25 21:54:38 -04:00
Rapptz
1987cd10df Version bump to v0.12.0 v0.12.0 2016-09-25 19:16:19 -04:00
Rapptz
9fddcf0a21 Update What's New page with v0.12.0 changes. 2016-09-25 19:15:48 -04:00
Rapptz
83d3b72566 Document undocumented Server.voice_client property. 2016-09-25 19:00:29 -04:00
Rapptz
6fec17d7d4 Catch Player errors and gracefully stop them.
This also introduces the concept of the after function taking a single
parameter, the current player. This is useful for error handling, e.g.
checking Player.error.

Fixes #291
2016-09-25 05:27:35 -04:00
Rapptz
96ca7cafee Add Client.get_user_info to retrieve a User from ID. 2016-09-25 04:40:31 -04:00
Rapptz
7a2b944b72 Fix 404'd FAQ links. 2016-09-25 03:58:43 -04:00
Rapptz
625ed18cff Add Member.server_permissions to calculate server permissions. 2016-09-21 04:50:22 -04:00
Rapptz
5e20b468c1 Add Server.role_hierarchy to get the current role hierarchy. 2016-09-21 04:22:13 -04:00
Rapptz
13f85b3292 Make Roles totally ordered.
This also fixes a bug with Member.top_role that chose the wrong role
should they have the same position.
2016-09-21 04:22:12 -04:00
Rapptz
09e77e548a Upgrade requirements to stable aiohttp.
Also lighten up on websockets requirements.
2016-09-20 23:08:41 -04:00
Rapptz
967d43c35b [commands] Allow coroutine functions in Bot.command_prefix 2016-09-17 15:01:56 -04:00
Rapptz
203c64a9a4 Add support for server verification levels.
This adds a new enum named VerificationLevel to denote said verification
level. This enum will also be used in the Client.edit_server calls
instead of the undocumented int parameter.
2016-09-12 22:38:06 -04:00
Rapptz
713037836c Document new MessageType.pins_add 2016-09-12 20:25:32 -04:00
Rapptz
da986b2d7c Support for pinned system messages. 2016-09-12 20:22:53 -04:00
Rapptz
1a0182e6eb Fix import for Object.created_at 2016-09-10 23:06:02 -04:00
Rapptz
26f5bcd725 Fix bug when permission overwrites could be applied out of order.
The bug was due to the fact that the way overwrites work is by doing
a loop of all the values and then applying deny first and then allow.
That way the overwrite is defined if role A and role B deny a
permission but role C allows it (and said member has A, B, C roles)
then the resolution should allow it rather than deny it regardless of
the order of the data it is received in.
2016-09-10 16:11:52 -04:00
Rapptz
bca6b2a133 Fix bug that disallowed ServerRegion from being used in edit_server. 2016-09-09 19:24:21 -04:00
Rapptz
8384edb061 Add new EU Central and EU West server regions. 2016-09-09 19:23:55 -04:00
Rapptz
152b3a1125 [commands] Default converters now take in IDs to match against. 2016-09-09 06:53:22 -04:00
Rapptz
b0509a6910 [commands] Cooldowns don't trigger due to user usage error.
Fixes #325
2016-09-08 07:13:22 -04:00
Dan Hess
b7ffbca0c7 [commands] Added a method to reset command cooldown. 2016-09-08 07:02:33 -04:00
Rapptz
a23e51f6c4 Fix gateway code to work with websockets 3.2. 2016-08-25 17:09:34 -04:00
Rapptz
0b6e74ebec Ensure that keep alive threads are closed when a websocket closes.
The library worked with the assumption that whenever the recv call for
the websocket would lead to a closure, the close method would be called
to signal closure and as a result our close method would be called.

This assumption turned out to be false as the websockets library would
instead call an internal function named close_connection instead. So to
solve our problem we need to override this function instead of close.
2016-08-21 11:45:41 -04:00