Commit Graph
100 Commits
Author SHA1 Message Date
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