Commit Graph
2367 Commits
Author SHA1 Message Date
Rapptz 64733c0b19 Version bump to v0.15.1 2016-11-30 17:05:29 -05:00
khazhykandRapptz c8fd8a9e1a Fix crash on duplicate or out of order reactions.
Eventual consistency ftw
2016-11-30 16:47:00 -05:00
Rapptz 59d17e4137 Version bump to v0.15.0 2016-11-22 19:59:28 -05:00
Rapptz 6f2603c049 [commands] Remove slots on Context.
This is to allow people to set temporary local variables by injecting
them directly into the context via some decorator or some other
mechanism. Contexts are not kept alive long enough to warrant being
slotted.
2016-11-22 19:57:19 -05:00
Rapptz c4ee4c1db4 Make discord.Embed builder more strict and easier to use.
Allow for easier use when trying to "reuse" the same discord.Embed
object by providing new methods such as Embed.clear_fields,
Embed.set_field_at, and allowing you to set things to Embed.Empty to
clear out an attribute.

For ease of use, things are automatically casted to ``str`` to prevent
the user from having HTTP 400 errors if they forgot to do so. The new
embed builder also supports "fluent-style" interface to allow you to
chain methods in a single line if necessary.

Certain parameters were removed since they were ignored by Discord
anyway such as `width` and `height` in Embed.set_image and
Embed.set_thumbnail.
2016-11-22 19:30:21 -05:00
Rapptz fb1f9ac659 Add PermissionOverwrite.is_empty to query empty state of an overwrite.
Fixes #382
2016-11-21 03:12:44 -05:00
Rapptz 7ff7b0fb9c Add Permissions.update and PermissionOverwrite.update for bulk edits.
This should satisfy those that have a one-line obsession and make things
a little bit easier if you have a dict.
2016-11-21 03:08:03 -05:00
Rapptz 92c3c2804d Support MESSAGE_REACTION_REMOVE_ALL event. 2016-11-21 02:49:50 -05:00
Rapptz e8905fd41b Add missing bucket for endpoints. 2016-11-17 21:07:54 -05:00
Rapptz 44624b7f44 Documentation fixes. 2016-11-17 20:42:06 -05:00
Rapptz 18178c26aa Add support for clearing a message's reactions. 2016-11-17 20:37:33 -05:00
Rapptz 4c1fd2c9b1 Add atomic add and remove role endpoints to HTTPClient.
These are currently unused since their use is pretty limited.
2016-11-17 20:27:43 -05:00
Rapptz a312f21bc3 Support message editing with rich embeds. 2016-11-13 22:12:16 -05:00
Rapptz af46718460 Add support for rich embeds. 2016-11-13 05:07:58 -05:00
Rapptz a7ba0bb7c4 Version bump to v0.14.3 2016-11-06 01:04:50 -04:00
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 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
2016-11-03 22:28:18 -04:00
Rapptz 0e856494ed Version bump to 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
khazhykandRapptz 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 KampsandGitHub 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 KampsandRapptz 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 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 2016-09-25 19:16:19 -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 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 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