Commit Graph
100 Commits
Author SHA1 Message Date
Rapptz 59ca5ec386 Initial implementation of commands extension module. 2016-01-04 22:22:52 -05:00
Rapptz 97874293e2 Revert "Use super() in classes that could be subclassed."
This reverts commit 948f565b43.
2016-01-04 20:26:59 -05:00
Rapptz 948f565b43 Use super() in classes that could be subclassed. 2016-01-04 18:25:20 -05:00
Rapptz 5a1d7a2d94 Change permissions to remove the can_ prefix. 2016-01-03 21:45:28 -05:00
Rapptz 18cda5c3ae Document more breaking changes in migrating file. 2016-01-03 17:02:24 -05:00
Rapptz 46be218394 Remove print statement from bytes check. 2016-01-01 21:09:56 -05:00
Rapptz 080b8119ad Implement compressed READY 2016-01-01 21:08:43 -05:00
Rapptz 6d94e68c7a Actually send the payload data in Client.create_server 2015-12-31 20:57:53 -05:00
Rapptz ab9840fcb3 Fix issue with add_roles and friends not working.
Previously it stated that Role object is not serializable due to
passing in Role objects rather than their IDs.
2015-12-30 21:36:56 -05:00
Rapptz 3da6cf5926 Add logs to help debug some voice data. 2015-12-30 20:56:48 -05:00
Rapptz c69a991e46 Maintain order in role related functions. 2015-12-30 16:11:15 -05:00
Rapptz 7765580a14 utils.get now supports nested attribute retrieval. 2015-12-30 14:48:34 -05:00
Rapptz f1480580c1 Changed cache check to be the login endpoint itself. 2015-12-29 18:11:52 -05:00
Rapptz b4dc9f4b62 Fix indentation error 2015-12-29 13:58:02 -05:00
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 33dbd84398 Message no longer upgrades if the channel is an Object 2015-12-29 01:20:36 -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
Rapptz ca450fb0e4 Fix README example code. 2015-12-20 01:47:02 -05:00
Rapptz ba3e00c3bf Add guessing game example to showcase wait_for_message. 2015-12-19 23:57:42 -05:00
Rapptz 9175b83387 Add voice playlist example code. 2015-12-19 23:06:22 -05:00
Rapptz 1ac2f6437f Fix NameError with Permissions missing. 2015-12-19 20:53:31 -05:00
Rapptz bee044629d Add background_task example to showcase background tasks. 2015-12-19 20:40:06 -05:00
Rapptz f0d5d7a490 Rename some listeners to wait_until_.
Mainly login and ready listeners.
2015-12-19 20:31:52 -05:00
Rapptz 6b12ef2a0c Updated examples to use new properties. 2015-12-19 20:27:40 -05:00
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
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