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
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
Rapptz
b5c57fc399
logs_from now works again with limit > 100.
2015-12-12 10:26:30 -05:00
Rapptz
f55d82146e
Remove socket.shutdown and only use socket.close instead.
2015-12-11 03:10:51 -05:00
Rapptz
c4e6a53dfe
Add experimental ytdl player.
2015-12-11 03:10:30 -05:00
Rapptz
3cefa5d65c
ffmpeg process is now properly killed.
...
Two new options are added to the ffmpeg player. `options` and `pipe`.
If `pipe` is True then we can pass in a file-like object to be the
stdin of ffmpeg. `options` allows you to pass extra things to the
ffmpeg command line.
2015-12-11 01:36:41 -05:00
Rapptz
bec7071c48
Add missing implementation for create_stream_player.
2015-12-10 22:39:00 -05:00
Rapptz
98ba68bb66
Simplified permissions bit operations.
2015-12-10 06:08:49 -05:00
Rapptz
7834236044
Close the ClientSession in __del__.
2015-12-10 04:52:20 -05:00
Rapptz
d3fac94e21
Fix bug where Role.is_everyone doesn't propagate in GUILD_ROLE_UPDATE.
2015-12-10 00:10:01 -05:00
Rapptz
f8af89f88c
Add headers to data classes for easier navigation.
2015-12-09 23:35:31 -05:00
Rapptz
993404b7fc
Ignore binary files used for testing.
2015-12-09 23:33:19 -05:00
Rapptz
e4cdbca476
Add missing Role import in Client.
2015-12-09 23:31:18 -05:00
Rapptz
e25cfae31d
I'm being forced to change the user agent string again.
2015-12-09 21:49:39 -05:00
Rapptz
573fa90f1b
Modify User-Agent header to meet React's requirements.
2015-12-09 21:35:06 -05:00
Rapptz
eda3c626db
Client now keeps a reference to the VoiceClient constructed.
2015-12-09 21:32:33 -05:00
Rapptz
5335f468d2
Document discord.__version__ and discord.version_info
2015-12-09 19:56:41 -05:00
Rapptz
2bf527334f
Add discord.version_info
2015-12-09 19:50:17 -05:00
Rapptz
6a4bddd69b
Add ability to pause/resume audio stream from StreamPlayer.
2015-12-09 18:33:39 -05:00
Rapptz
3ca5845566
Close ffmpeg process after stream is finished.
2015-12-09 18:01:14 -05:00
Rapptz
da5d7581ee
Clear up documentation on passing discord.Object
2015-12-09 17:54:34 -05:00
Rapptz
4e3301a57c
Add enums to __init__.py
2015-12-09 07:07:37 -05:00
Rapptz
2747f33ee2
Add Client.wait_for_message
2015-12-09 06:45:30 -05:00
Rapptz
9bec041423
Documentation fixes for opus related import errors.
2015-12-08 19:47:47 -05:00
Rapptz
72f355bb64
Add OpusNotLoaded exception and opus.is_loaded utility function.
2015-12-08 19:37:34 -05:00
Rapptz
9e36047ffb
Explicitly close responses that don't get read.
2015-12-08 19:21:06 -05:00
Rapptz
9deb7796a5
Documentation fixes for opus bindings.
2015-12-08 16:22:01 -05:00
Rapptz
6217076cbf
Fix exception handling having a NameError
2015-12-08 16:12:26 -05:00
Rapptz
60945868b4
Clear up some documentation.
2015-12-08 06:51:46 -05:00
Rapptz
a6d6d832ff
Working voice sending implementation.
...
Currently you can only send from a stream that implements
``read`` and a ``ffmpeg`` or ``avconv``.
2015-12-08 06:37:38 -05:00
Rapptz
cfc26b894f
Fix issue with member.roles being empty.
2015-12-08 00:46:58 -05:00
Rapptz
9102f1ae4f
Work on connecting to a voice channel.
2015-12-07 16:22:56 -05:00
Rapptz
a0423e6245
Use @me endpoint for Client.start_private_message
2015-12-06 04:25:22 -05:00
Rapptz
e87d54dd12
Update example code.
2015-12-06 03:10:18 -05:00
Rapptz
a91dad53a8
Forced keyword argument for allow/deny in edit_channel_permissions
2015-12-06 03:10:18 -05:00
Rapptz
80b32e769e
Handle GUILD_UPDATE
2015-12-06 03:09:55 -05:00
Rapptz
63f4a769c6
Documentation fixes in Client.connect.
2015-12-05 05:48:09 -05:00
Rapptz
161e2ebfb0
Add role management functions.
2015-12-05 05:44:39 -05:00
Rapptz
88c3dae36c
Add Client.delete_invite.
2015-12-05 01:09:45 -05:00
Rapptz
f755c970ab
Add Client.start and Client.run shortcuts.
2015-12-05 01:05:17 -05:00
Rapptz
4287f85ba4
Add _is_logged_in to the constructor.
2015-12-05 00:47:52 -05:00
Rapptz
2f86a853d6
Add invite management functions.
2015-12-05 00:46:19 -05:00
Rapptz
17171aaa60
Switch to NumPy style documentation.
2015-12-04 23:43:31 -05:00
Rapptz
b87dfccfce
Add server management commands.
2015-12-04 23:35:28 -05:00
Rapptz
79bdf2a721
Add enumerators instead of strings.
...
Changes channel type, status and server region into 3.4 enums.
2015-12-04 22:13:17 -05:00
Rapptz
680575bf58
Add channel management functions
2015-12-04 17:48:45 -05:00
Rapptz
7177ddafd2
Add member management functions.
2015-12-04 17:15:24 -05:00
Rapptz
0489fcb481
Update README and setuputils related files to point to async version.
2015-12-04 06:43:04 -05:00
Rapptz
6fb2e35de3
Move async_client.py to client.py
2015-12-04 06:09:56 -05:00
Rapptz
410e41e78d
Implement a bunch of other HTTP request functions.
2015-12-04 06:08:29 -05:00
Rapptz
99254fdf96
Add Forbidden and NotFound exceptions.
2015-12-04 01:23:52 -05:00
Rapptz
f197c34583
Begin working on asyncio port.
2015-12-04 00:16:34 -05:00
Rapptz
5a666c3f0d
Point to the docs in the README and clear up notes on breaking changes
2015-11-30 20:24:41 -05:00
Rapptz
56a71e3166
Don't silently swallow ValueError thrown from on_channel_delete.
2015-11-30 17:55:25 -05:00
Rapptz
e08b278c52
Fix multiple CHANNEL_DELETE. Fixes #51 .
2015-11-30 17:49:51 -05:00
Rapptz
d3ac141b0f
Use copy.copy instead of copy.deepcopy for on_message_edit.
2015-11-30 07:38:48 -05:00
Rapptz
343e3376ea
on_member_update now takes in the older member state as a parameter.
2015-11-30 07:37:48 -05:00
Rapptz
307392ff19
on_status event now has the old game ID and old status as parameters.
2015-11-30 03:31:47 -05:00
Rapptz
31fd5023f1
Miscellaneous documentation fixes.
2015-11-30 03:15:56 -05:00
Rapptz
39988a36c9
Version bump to v0.9.0
2015-11-28 23:08:35 -05:00
Rapptz
c3e7ba3671
Message.channel's Object instance has an is_private attribute now.
...
This was to allow for basic checks such as message.channel.is_private
to succeed at the very least. It is a very small mitigation and not
perfect since it doesn't have every attribute that PrivateChannel
itself has. However you could retrieve the user info through the
Message.author attribute.
2015-11-28 23:06:23 -05:00
Rapptz
ed53f3fb3a
Add caveat note about Message.mention_everyone
2015-11-28 22:35:53 -05:00
Rapptz
5d4c555711
Switch to Sphinx RTD theme.
2015-11-28 21:00:35 -05:00