560 Commits

Author SHA1 Message Date
Rapptz
c90e52450a Reconnect on any OSError. 2017-03-20 15:45:44 -04:00
Rapptz
df0f1bfbdf Fix Client inability to shard by actually propagating the shard_id 2017-03-16 05:51:11 -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
aa41101237 Remove Client.accept_invite 2017-03-04 20:42:21 -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
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
b7488d7c6e Reconnect when a task times out and propagates. 2017-02-19 17:44:27 -05:00
Rapptz
58fa5fdc9a Add experimental reconnection logic. 2017-02-15 19:10:32 -05:00
Rapptz
8727472b85 Add Client.get_user_profile to get an arbitrary user's profile. 2017-02-10 17:07:08 -05:00
Rapptz
0dac5e3139 Add Client.emojis to get all emojis.
This removes the older get_all_emojis generator.
2017-02-10 16:43:33 -05:00
Rapptz
c16a515e50 Fix NameError in Client.get_invite 2017-02-10 00:22:14 -05:00
Rapptz
274e6af0dd Fix support for instant invites. 2017-02-08 22:47:52 -05:00
Rapptz
dc486980f8 Rewrite RESUME logic to be more in line with what is requested.
Apparently we should always try to RESUME first and if we get
INVALIDATE_SESSION then we should IDENTIFY instead. This is the
preferred way to do RESUMEs.
2017-02-08 04:37:16 -05:00
Rapptz
e77012f4d9 Make all public is_ functions into methods instead of properties. 2017-01-29 20:53:17 -05:00
Rapptz
8c896e9fbc Re-add Client.wait_until_ready 2017-01-29 20:33:48 -05:00
Rapptz
e5cb7d295c Replace wait_for_* with a generic Client.wait_for 2017-01-25 22:26:49 -05:00
Rapptz
b876133e87 Add compatibility shim for asyncio.Future creation.
Should provide better support for uvloop.
2017-01-25 21:38:50 -05:00
Rapptz
62f43889c0 Remove unused ChannelPermissions namedtuple. 2017-01-25 05:58:15 -05:00
Rapptz
c80cbf1931 Remove Client.__getattr__ and Client.__setattr__ shims.
We should use properties instead.
2017-01-25 05:50:35 -05:00
Rapptz
234fd5180f Optimise attribute access when dispatching. 2017-01-25 05:31:53 -05:00
Rapptz
e1aaf74fa7 Add option to disable auto member chunking. 2017-01-23 07:07:42 -05:00
Rapptz
1ffb2ca7ac Allow unique invites for Client.create_invite. 2017-01-21 16:23:14 -05:00
Rapptz
ff9f5749e1 Update copyright year to 2017. 2017-01-20 23:19:19 -05:00
Rapptz
fa384f2114 Make ClientUser separate from a regular User.
This removes Client.edit_profile in favour of ClientUser.edit.
2017-01-19 19:37:11 -05:00
Rapptz
4b6b5bd35e Remove email/password based login. 2017-01-19 18:32:17 -05:00
Rapptz
33450cd1b6 Fix documentation to properly use Messageable.send 2017-01-13 20:35:44 -05:00
Rapptz
92c1637921 Allow overriding the shard_ids used for initial shard launch. 2017-01-08 02:05:21 -05:00
Rapptz
4bc6625739 Add AutoShardedClient.change_presence. 2017-01-08 01:51:10 -05:00
Rapptz
20041ea756 Implement AutoShardedClient for transparent sharding.
This allows people to run their >2,500 guild bot in a single process
without the headaches of IPC/RPC or much difficulty.
2017-01-07 23:19:39 -05:00
Rapptz
808a05ff2d Move global user cache to a WeakValueDictionary. 2017-01-04 05:16:59 -05:00
Rapptz
98b981848d Move message creation to a factory method inside ConnectionState. 2017-01-03 09:52:10 -05:00
Rapptz
5e6bfecb07 Move away from StateContext and use ConnectionState directly. 2017-01-03 09:52:10 -05:00
Rapptz
633eacc982 Add permission overwrites to GuildChannel. 2017-01-03 09:52:08 -05:00
Rapptz
a557858742 Remove chunks of the voice code to redesign later. 2017-01-03 09:52:07 -05:00
Rapptz
79a49f9145 Absolute import some circular dependencies to appease Python 3.4. 2017-01-03 09:52:02 -05:00
Rapptz
30394d03f2 Remove no longer used functions in Client. 2017-01-03 09:52:00 -05:00
Rapptz
2c50c18ca3 Change dict value views into lists. 2017-01-03 09:51:59 -05:00
Rapptz
59a0df5f98 Rename try_insert_user to store_user 2017-01-03 09:51:56 -05:00
Rapptz
d1d54a468a Rename Server to Guild everywhere. 2017-01-03 09:51:54 -05:00
Rapptz
53ab263125 Split channel types.
This splits them into the following:

* DMChannel
* GroupChannel
* VoiceChannel
* TextChannel

This also makes the channels "stateful".
2017-01-03 09:51:52 -05:00
Rapptz
044b0824e6 Begin working on the rewrite. 2017-01-03 09:51:47 -05:00
Rapptz
bed2e90e82 Properly propagate loop. Fixes #420. 2016-12-21 00:06:19 -05:00
Rapptz
6302ef8094 Add support for partnered servers. Fixes #387.
This commit allows you to edit a server's invite splash, query if
something has partnered features, and retrieve the invite splash + URL.
2016-12-17 13:34:19 -05:00
Rapptz
51fda76555 Fix typo in wait_for_reaction documentation. 2016-12-07 07:23:12 -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
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