Rapptz
dd0bb3baa1
Add ability to move members to a different voice channel.
2015-12-29 13:29:39 -05:00
Rapptz
ae0cce26ee
Remove Client.voice_channel
2015-12-29 12:39:58 -05:00
Rapptz
61464194be
Client.join_voice_channel now accepts an Object.
...
Fixes #62 .
2015-12-29 12:17:10 -05:00
Rapptz
436d10ef39
Simplify parser event check with hasattr rather than tuples.
2015-12-29 12:06:00 -05:00
Rapptz
e9b771adc7
Add missing ` in documentation for create_server
2015-12-29 12:02:25 -05:00
Rapptz
c11bd9b8f4
ConnectionState is now constructed in Client.__init__.
...
This should reduce the amount of checks for None if someone doesn't
want a websocket connection. The connection state is instead cleared
rather than reconstructed.
2015-12-29 11:59:18 -05:00
Rapptz
7696a566e1
Raise ClientException if an unexpected websocket close happens
2015-12-29 01:21:10 -05:00
Rapptz
2cd1ec3066
Client.create_invite now works without a websocket connection
2015-12-29 01:18:28 -05:00
Rapptz
43ee53fa99
Client.get_invite now works without a websocket connection
2015-12-29 00:01:59 -05:00
Rapptz
5d2f107070
Client.email is now set when using the cache
2015-12-28 23:56:16 -05:00
Khazhismel
ac3e583b05
Add missing argument in _rate_limit_helper
2015-12-26 17:01:35 -05:00
SamSchlegel
740b9a95c2
Added missing Member import to client.py
2015-12-24 08:40:00 -05:00
Khazhismel
0aa46e6def
Add game data class, replace game_id.
2015-12-23 21:28:18 -05:00
Khazhismel
ec23434162
Mentions are now <@id> *only* - remove mentions array on send and edit message
2015-12-23 20:59:41 -05:00
Khazhismel
bb433990e8
None author param in wait_for_message allows any author
2015-12-22 03:51:45 -05:00
Rapptz
1ac2f6437f
Fix NameError with Permissions missing.
2015-12-19 20:53:31 -05:00
Rapptz
f0d5d7a490
Rename some listeners to wait_until_
.
...
Mainly login and ready listeners.
2015-12-19 20:31:52 -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
78e95ef755
Documentation fixes.
2015-12-17 04:11:38 -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
f78e3c9f0b
Fix Client.logs_from failing if no more messages are found.
2015-12-16 22:44:45 -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
6d26d73e24
Client.run now does cleanup when KeyboardInterrupt is encountered.
2015-12-14 16:26:15 -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
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
Rapptz
b5c57fc399
logs_from now works again with limit > 100.
2015-12-12 10:26:30 -05:00