aboutsummaryrefslogtreecommitdiff
path: root/discord/client.py
Commit message (Collapse)AuthorAgeFilesLines
* Add webhook support.Rapptz2017-08-211-0/+24
| | | | | | | Allows for usage of either `requests` and `aiohttp` when used in "Standalone" mode. Fixes #704
* Add Client.latency, AutoShardedClient.latency and latencies.Rapptz2017-08-151-0/+9
| | | | | | This should allow an easier way to query the Discord protocol gateway latency, defined by the difference HEARTBEAT_ACK between and the last sent HEARTBEAT.
* Fix the proxy support for aiohttp>=1.4.PapyrusThePlant2017-08-111-3/+8
|
* Add heartbeat_timeout to the Client options.Rapptz2017-08-081-0/+5
| | | | | | | This setting configures how long before a timeout event is emitted internally and disconnects the websocket. Since some users were experiencing issues with the gateway not responding, this should help mitigate the issue for those with poor PCs.
* Add documentation examples for AsyncIterator and change_presence.Gorialis2017-08-081-0/+5
|
* accept_invite() doesn't exist on rewriteJuan2017-07-251-3/+0
|
* 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
|