Add Client.latency, AutoShardedClient.latency and latencies.

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.
This commit is contained in:
Rapptz
2017-08-15 23:41:11 -04:00
parent 63231ef033
commit 0f7482ed6e
3 changed files with 29 additions and 0 deletions

View File

@ -346,6 +346,8 @@ class DiscordWebSocket(websockets.client.WebSocketClientProtocol):
if op == self.HELLO:
interval = data['heartbeat_interval'] / 1000.0
self._keep_alive = KeepAliveHandler(ws=self, interval=interval, shard_id=self.shard_id)
# send a heartbeat immediately
yield from self.send_as_json(self._keep_alive.get_payload())
self._keep_alive.start()
return