Include federation latency
This commit is contained in:
parent
24d2ce2dcc
commit
3cc5b5cea3
1 changed files with 16 additions and 1 deletions
|
@ -1,4 +1,6 @@
|
|||
import niobot
|
||||
import time
|
||||
import httpx
|
||||
|
||||
|
||||
class LatencyModule(niobot.Module):
|
||||
|
@ -6,4 +8,17 @@ class LatencyModule(niobot.Module):
|
|||
async def latency(self, ctx: niobot.Context):
|
||||
"""See the bot's latency."""
|
||||
latency = ctx.latency
|
||||
return await ctx.respond("Latency: {:,.2f}ms".format(latency))
|
||||
|
||||
homeserver = await niobot.resolve_homeserver(ctx.message.sender.split(":")[1])
|
||||
async with httpx.AsyncClient(headers={"User-Agent": niobot.__user_agent__}) as client:
|
||||
timings = []
|
||||
for rnd in range(5):
|
||||
start = time.time()
|
||||
await client.get(f"{homeserver}/_matrix/client/v1/ping")
|
||||
end = time.time()
|
||||
timings.append(end - start)
|
||||
fed_latency = sum(timings) / len(timings) * 1000
|
||||
|
||||
return await ctx.respond(
|
||||
"Latency: {:,.2f}ms (federation latency to your homeserver: {:,.2f})".format(latency, fed_latency)
|
||||
)
|
||||
|
|
Loading…
Reference in a new issue