aboutsummaryrefslogtreecommitdiff
path: root/discord/client.py
Commit message (Collapse)AuthorAgeFilesLines
* Don't re-raise in Client.connect if it's a clean close code.Rapptz2017-07-141-0/+3
|
* Implement a LRU cache for private channels.Rapptz2017-07-041-1/+7
| | | | | | Another fix related to the discord issue[1]. [1]: https://github.com/hammerandchisel/discord-api-docs/issues/184
* Add support for user flags in Profile.Rapptz2017-06-301-2/+3
|
* Defer logging formatting until the logger is actually called.Rapptz2017-06-091-2/+2
| | | | | This would cause unnecessary format calls even if you didn't have logging enabled.
* Don't expose Client.messagesRapptz2017-05-261-12/+1
| | | | | | | Not entirely sure why it was exposed in the first place. Most uses with it essentially boiled down to mis-usage when they meant to use the /messages endpoint (via Client.logs_from or Messageable.history) or complaining about the partial data woes that came from it.
* Log when a KeyboardInterrupt is met in Client.runRapptz2017-05-251-1/+1
|
* Allow setting a presence upon logging in.Rapptz2017-05-201-0/+4
|
* Rewrite Client.run yet again.Rapptz2017-05-201-16/+32
| | | | This time it should definitely fix #545.
* Re-raise exceptions from Client.start in Client.run.Rapptz2017-05-201-15/+18
|
* Re-implement how Client.run is done by using run_forever instead.Rapptz2017-05-201-4/+18
|
* Only do loop cleanup in finally block when on windows.Rapptz2017-05-201-2/+4
| | | | Should also fix #545.
* Check if we're closing the event loop before using it.Rapptz2017-05-201-1/+5
| | | | Should fix #545.
* Kill remaining references to discord.Channel in documentation.Rapptz2017-05-191-3/+3
|
* Rename internal ConnectionState attribute to have an underscore.Rapptz2017-05-161-23/+23
| | | | | | Some people like to use that variable name apparently. See #568 and #569.
* Client.get_user_info uses int for IDs not str.Rapptz2017-05-151-1/+1
| | | | Realistically both will work but let's not say that.
* Add back Client.create_guild.Rapptz2017-05-091-1/+47
|
* Replace hasattr with try except in chunker.Rapptz2017-05-051-2/+2
|
* Change some format usage to use %-formatting.Rapptz2017-05-041-1/+1
| | | | | Minor speed increase when we're not doing excessive attribute access or any type of formatting.
* Add Client.get_emoji to get an Emoji from an ID.Rapptz2017-04-301-0/+4
|
* Fix some linting errors.Rapptz2017-04-221-1/+1
|
* Timeout when doing initial connection.Rapptz2017-04-221-6/+7
|
* Remove unused imports.Rapptz2017-04-181-7/+2
|
* Properly cleanup of VoiceClients in cache.Rapptz2017-04-181-3/+1
|
* Re-implement voice sending.Rapptz2017-04-181-3/+5
| | | | | | | | | | | | | | | | | | | | This is a complete redesign of the old voice code. A list of major changes is as follows: * The voice websocket will now automatically reconnect with exponential back-off just like the regular Client does. * Removal of the stream player concept. * Audio now gracefully pauses and resumes when a disconnect is found. * Introduce a discord.AudioSource concept to abstract streams * Flatten previous stream player functionality with the VoiceClient, e.g. player.stop() is now voice_client.stop() * With the above re-coupling this means you no longer have to store players anywhere. * The after function now requires a single parameter, the error, if any existed. This will typically be None. A lot of this design is experimental.
* Remove unnecessary shielding.Rapptz2017-03-251-1/+1
| | | | | This was causing the exception to be suppressed and print 'NoneType' instead.
* Set closed state before actually finishing cleaning up.Rapptz2017-03-241-1/+2
|
* More robust cleanup for Client.run.Rapptz2017-03-241-13/+24
| | | | | | | | | This should prevent asyncio.CancelledError from being propagated more and suppressed "Task was destroyed but was pending!" warnings when doing graceful closes outside of using a KeyboardInterrupt. To make clean up a bit more robust, also add signal handlers for POSIX systems.
* Check if we're closed before attempting to do a reconnect.Rapptz2017-03-211-0/+3
|
* Reconnect on any OSError.Rapptz2017-03-201-3/+1
|
* Fix Client inability to shard by actually propagating the shard_idRapptz2017-03-161-1/+1
|
* Fix premium key being missing in profile endpoint.Rapptz2017-03-131-2/+3
|
* Retry on more exceptions in auto reconnect code.Rapptz2017-03-071-1/+4
|
* Remove Client.accept_inviteRapptz2017-03-041-27/+0
|
* Reconnect even if we close with 1000 since Discord can send it.Rapptz2017-03-011-7/+10
| | | | | Rely on is_closed() instead since this is the true metric of a clean closure.
* Miscellaneous documentation fixes in Client.wait_forRapptz2017-02-231-4/+7
|
* Remove Client.email attribute.Rapptz2017-02-231-5/+0
| | | | Use ClientUser.email instead.
* Reconnect when a task times out and propagates.Rapptz2017-02-191-0/+1
|
* Add experimental reconnection logic.Rapptz2017-02-151-12/+50
|
* Add Client.get_user_profile to get an arbitrary user's profile.Rapptz2017-02-101-1/+38
|
* Add Client.emojis to get all emojis.Rapptz2017-02-101-6/+5
| | | | This removes the older get_all_emojis generator.
* Fix NameError in Client.get_inviteRapptz2017-02-101-1/+1
|
* Fix support for instant invites.Rapptz2017-02-081-91/+1
|
* Rewrite RESUME logic to be more in line with what is requested.Rapptz2017-02-081-8/+3
| | | | | | Apparently we should always try to RESUME first and if we get INVALIDATE_SESSION then we should IDENTIFY instead. This is the preferred way to do RESUMEs.
* Make all public is_ functions into methods instead of properties.Rapptz2017-01-291-4/+2
|
* Re-add Client.wait_until_readyRapptz2017-01-291-0/+22
|
* Replace wait_for_* with a generic Client.wait_forRapptz2017-01-251-288/+84
|
* Add compatibility shim for asyncio.Future creation.Rapptz2017-01-251-2/+2
| | | | Should provide better support for uvloop.
* Remove unused ChannelPermissions namedtuple.Rapptz2017-01-251-3/+0
|
* Remove Client.__getattr__ and Client.__setattr__ shims.Rapptz2017-01-251-25/+28
| | | | We should use properties instead.
* Optimise attribute access when dispatching.Rapptz2017-01-251-7/+15
|