1154 Commits

Author SHA1 Message Date
Rapptz
fd62c8a4f1 Aggregate shard closing futures instead of doing them sequentially. 2017-03-21 03:52:24 -04:00
Rapptz
5461bfb475 Check if we're closed before attempting to do a reconnect. 2017-03-21 03:32:09 -04:00
Rapptz
a0cdb19c5f Eventual consistency fixes. 2017-03-21 03:16:30 -04:00
Rapptz
3087600c8d [commands] Add Command.signature
This replaces HelpFormatter.get_command_signature for the most part.
2017-03-21 00:46:13 -04:00
Rapptz
54fdafb792 [commands] Add BotBase.get_cog_commands to get all a cog's commands.
Self-explanatory. This should help create help commands for a cog
more easily.
2017-03-21 00:46:12 -04:00
Rapptz
fe588a4d52 [commands] Change GroupMixin.commands to all_commands
This is a breaking change as GroupMixin.commands now returns a set
of unique Command objects.
2017-03-21 00:46:12 -04:00
Rapptz
c90e52450a Reconnect on any OSError. 2017-03-20 15:45:44 -04:00
Rapptz
4ffded622a Removing acking on channels. 2017-03-18 11:52:18 -04:00
Rapptz
df0f1bfbdf Fix Client inability to shard by actually propagating the shard_id 2017-03-16 05:51:11 -04:00
Rapptz
0321558dec Handle case when guild owner somehow doesn't exist in permissions_for 2017-03-15 23:13:28 -04:00
Rapptz
51b0baeb9d Speed up message update handling.
Apparently, checking if something is not None and then calling it is
faster than having an identity function that will just return the
original value untransformed, such as a lambda or doing a str(str) call
2017-03-14 19:12:30 -04:00
Rapptz
c089aa199b Remove Message.edited_timestamp in favour of Message.edited_at 2017-03-14 19:07:08 -04:00
Rapptz
1239e88d05 Handle aware datetimes in embeds. 2017-03-13 17:47:46 -04:00
Rapptz
9c6d9f1a84 Remove call handling for now. 2017-03-13 17:07:33 -04:00
Rapptz
058f1f13eb Fix premium key being missing in profile endpoint. 2017-03-13 00:26:43 -04:00
Rapptz
d87d4e716f Retry on more exceptions in auto reconnect code. 2017-03-07 01:12:28 -05:00
Rapptz
ead18e3948 Fix issue with members not copying correctly. 2017-03-05 07:48:15 -05:00
Rapptz
96a43fa9e3 Fix NameError in Role.edit 2017-03-05 06:48:18 -05:00
Rapptz
76e76f2905 Add underscore to HTTPClient.session to imply privateness. 2017-03-04 23:27:57 -05:00
Rapptz
c4c17351c6 Add commit number to pip version for easy identification. 2017-03-04 20:43:05 -05:00
Rapptz
aa41101237 Remove Client.accept_invite 2017-03-04 20:42:21 -05:00
Rapptz
98cfb53d3b [commands] Add Context.me property. 2017-03-01 18:58:56 -05:00
Rapptz
5ce88c8a3f Reconnect even if we close with 1000 since Discord can send it.
Rely on is_closed() instead since this is the true metric of a clean
closure.
2017-03-01 05:10:01 -05:00
Rapptz
e78a5c0643 Remove remaining voice_member tracking. 2017-02-28 18:29:27 -05:00
Rapptz
39d65305a3 Add TextChannel.members to get members that can see a channel. 2017-02-28 17:42:07 -05:00
Rapptz
cf40e94af6 Rename VoiceChannel.voice_members to VoiceChannel.members 2017-02-28 17:40:17 -05:00
Rapptz
aa59762c04 Remove extra space. 2017-02-28 17:39:59 -05:00
Rapptz
8daf411c72 Add Messageable.ack 2017-02-28 00:47:37 -05:00
Rapptz
f7524c9919 Add User.is_blocked and User.is_friend shortcut methods. 2017-02-27 23:29:52 -05:00
Rapptz
9a1215e13b Add support for message acking. 2017-02-27 23:29:52 -05:00
Rapptz
751933f068 Remove nonce when sending messages. 2017-02-27 18:02:07 -05:00
Rapptz
cbbc75cd8d Move purge and delete_messages from Messageable.
This is a breaking change. Move these two to TextChannel since the
other things that implement Messageable cannot reliably do bulk delete
actions in their respective channels.
2017-02-26 21:16:20 -05:00
Rapptz
f6fcb62c7b Check for PrivateChannel before GuildChannel in Client.get_channel 2017-02-25 20:56:09 -05:00
Rapptz
29f676c42e Wrap asyncio.wait into a saner alternative that raises TimeoutError.
Fixes #494
2017-02-25 00:03:43 -05:00
Rapptz
b2ffeac297 Make Guild.large a property instead of an attribute. 2017-02-24 17:51:27 -05:00
Rapptz
1b3234ab64 Add info logging for close codes we cannot handle. 2017-02-24 17:23:46 -05:00
Rapptz
9d4f3ebb43 Miscellaneous documentation fixes in Client.wait_for 2017-02-23 22:19:07 -05:00
Rapptz
e16a1e583e Remove Client.email attribute.
Use ClientUser.email instead.
2017-02-23 22:13:45 -05:00
Rapptz
0e8b260d45 Fall back to single message delete in Messageable.purge
Also make it work on user accounts.

Fixes #456.
2017-02-23 00:23:40 -05:00
Rapptz
2fe5da836c Add User.avatar_url_as to convert a user's avatar. 2017-02-22 23:17:52 -05:00
Rapptz
9cb89f019e [commands] Register cog listeners with the name of the attribute. 2017-02-22 20:11:01 -05:00
Rapptz
67912193ec Forward keyword arguments in Member.ban 2017-02-21 08:38:33 -05:00
Rapptz
b8727fd463 Fix Client.emojis returning a list of IDs. 2017-02-21 08:38:06 -05:00
Rapptz
702d596af9 Check that the type in Colour and Permissions are int. 2017-02-21 08:19:32 -05:00
Rapptz
b7488d7c6e Reconnect when a task times out and propagates. 2017-02-19 17:44:27 -05:00
Rapptz
c6d26216a6 [commands] Fix bad logic in command list filtering. 2017-02-18 02:39:03 -05:00
Rapptz
54f297c24f Fix NameError in GuildChannel.overwrites_for 2017-02-17 22:10:12 -05:00
Rapptz
6516932e67 Fix Guild.bans to return a BanEntry object. 2017-02-16 16:13:20 -05:00
Rapptz
58fa5fdc9a Add experimental reconnection logic. 2017-02-15 19:10:32 -05:00
Rapptz
a6b180b5ad Don't RESUME when given sharding related close codes. 2017-02-15 17:58:57 -05:00