329 Commits

Author SHA1 Message Date
Rapptz
7258a9e700 Delete messages from message cache when you leave the server. 2015-12-19 10:36:11 -05:00
Rapptz
f1f0e169e4 Add __slots__ where appropriate to data classes. 2015-12-19 06:18:12 -05:00
Rapptz
4fa5b50d2b Add listener for on_ready event for easier background tasks. 2015-12-19 03:56:07 -05:00
Rapptz
a1693a8c9d Make is_logged_in and is_closed into Events internally. 2015-12-19 03:32:35 -05:00
Rapptz
cf56ddfe4c Release connection when error occurs during login. 2015-12-18 21:18:22 -05:00
Rapptz
037d3ab08a Move email out of ConnectionState. 2015-12-18 21:16:55 -05:00
Rapptz
f5b927f01c Fix GUILD_MEMBER_UPDATE and GUILD_UPDATE not triggering. 2015-12-18 20:59:56 -05:00
Rapptz
070015e408 Disallow duplicates when adding or removing roles. 2015-12-18 20:13:04 -05:00
Rapptz
8a4e2ba958 Fix Client.replace_roles having hashable errors. 2015-12-18 20:08:25 -05:00
Rapptz
2c246a0aa7 Add first support for gateway redirects and reconnects. 2015-12-17 20:30:48 -05:00
Rapptz
9075d46efd Add on_member_ban and on_member_unban events.
Fixes #58.
2015-12-17 18:22:16 -05:00
Rapptz
253e2b1f64 Add way to delete messages after a user is banned.
Fixes #59.
2015-12-17 17:39:30 -05:00
Rapptz
00c9ac59c1 Fix consistency issue with migrating page. 2015-12-17 16:58:01 -05:00
Rapptz
00c8dae88d Add migrating guide for migrating to v0.10.0. 2015-12-17 07:12:18 -05:00
Rapptz
63565026c4 Remove on_status event. Superseded by on_member_update. 2015-12-17 06:18:08 -05:00
Rapptz
49d78c69c7 All update related events now pass in the previous state. 2015-12-17 06:05:35 -05:00
Rapptz
78e95ef755 Documentation fixes. 2015-12-17 04:11:38 -05:00
Rapptz
5f4e13df96 Fix Channel.permissions_for attribute error. 2015-12-17 01:29:20 -05:00
Rapptz
51d91c2a82 Most data classes now support hashing. 2015-12-17 00:32:54 -05:00
Rapptz
613214f197 Add Message.clean_content property to get prettified mentions. 2015-12-17 00:15:41 -05:00
Rapptz
ebcb532c38 Change regex from \d+ to [0-9]+ for performance reasons.
\d+ includes unicode characters while [0-9]+ doesn't.
2015-12-16 23:46:02 -05:00
Rapptz
4f66d41ca3 Add Server.me attribute to access the Member version of Client.user. 2015-12-16 23:35:05 -05:00
Rapptz
f78e3c9f0b Fix Client.logs_from failing if no more messages are found. 2015-12-16 22:44:45 -05:00
Rapptz
434fc5c79e Remove the non-classmethod attributes in Permissions. 2015-12-16 22:21:09 -05:00
Rapptz
9f92536441 Clean-up documentation to use NumPy style docs on remaining classes. 2015-12-16 22:20:54 -05:00
Rapptz
de1c74a399 Make more things into properties.
A lot of the expensive getters were transformed into cached properties
instead. A lot of things that were properties were transformed into
properties as well.
2015-12-16 22:03:16 -05:00
Rapptz
f484a5c023 Channel.is_default_channel is now a property named is_default. 2015-12-16 19:54:26 -05:00
Rapptz
271c7565fc Make Client.unban actually useful. 2015-12-16 19:32:08 -05:00
Rapptz
7d08a07cb9 Fix issue with roles being passed in being strings.
Client.add_roles and Client.remove_roles would dispatch to the
Client.replace_roles function. However, replace_roles expects Role
objects while the dispatching involved string IDs. So as a result this
needed another layer of dispatch into a _replace_roles function to do
the actual call that all three of them dispatch to.
2015-12-16 00:14:58 -05:00
Rapptz
658090f129 Fix NameError with itertools in client. 2015-12-16 00:04:15 -05:00
Rapptz
491d508a97 Cast Retry-After header into a float. 2015-12-15 21:00:11 -05:00
Rapptz
00a98a76fd Add a way to get all active invites from a server. 2015-12-15 20:19:37 -05:00
Rapptz
42c67e3605 Add a way to get bans from a server. 2015-12-15 19:59:41 -05:00
Rapptz
7f0a048299 Fix GUILD_ROLE_DELETE triggering ValueError. 2015-12-14 23:26:22 -05:00
Rapptz
6d26d73e24 Client.run now does cleanup when KeyboardInterrupt is encountered. 2015-12-14 16:26:15 -05:00
Rapptz
9137d92f67 All data classes now support !=, == and str(obj). 2015-12-13 22:53:48 -05:00
Rapptz
ab46afee1d Changed functions that return a constant value into properties. 2015-12-13 20:05:58 -05:00
Rapptz
c52e552888 Editing profile now writes to the cache. 2015-12-13 16:24:23 -05:00
Rapptz
3dc2177ce8 Change the login cache check call to be the gateway retrieval. 2015-12-13 14:45:59 -05:00
Steven Berler
037da750dd avoid potential bug when creating new private msgs
It probably isn't good to rely on an item that was added to a list to
still be the last item, especially if we could have other async
coroutines modify the list. This may not be an actual issue, but having
the function explicitly return the object that it just added to the list
should guarantee that we don't accidentally pull the wrong item from the
end of the list later.
2015-12-13 13:01:05 -05:00
Rapptz
0215345abb Remove uses of ClientSession. 2015-12-13 02:32:53 -05:00
Rapptz
e39ba00dcf Client.logout now properly cleans up the response. 2015-12-13 02:13:09 -05:00
Rapptz
338fb3e504 Add discord.utils.get helper. 2015-12-13 02:13:08 -05:00
Rapptz
29ea58d008 Implement cache of login credentials.
Also add endpoints.ME to easily access the @me endpoint.
2015-12-13 02:12:06 -05:00
Rapptz
fa3e5c8d77 Client.login no longer calls resp.json()
aiohttp didn't like it.
2015-12-12 17:47:27 -05:00
Rapptz
2b6bdf7c82 Fix bug where PMs would be sent to the wrong person.
This bug triggered because we did not call `yield from` to the
coroutine that starts the private message if it isn't found in cache.
Obviously the fix for that is to make the destination resolution a
coroutine and thus it'll be invoked correctly.
2015-12-12 13:37:58 -05:00
Rapptz
0009225d08 Fix send_file to actually work with aiohttp. 2015-12-12 11:39:16 -05:00
Rapptz
92212a4f2a Proper keyword argument for send_file 2015-12-12 11:16:35 -05:00
Rapptz
2a3610de2f Implement fix for future rate limiting change in discord. 2015-12-12 11:14:32 -05:00
Rapptz
b5a40b545e Websocket now uses the event loop passed in. 2015-12-12 10:30:56 -05:00