about summary refs log tree commit diff
path: root/Utilities
diff options
context:
space:
mode:
Diffstat (limited to 'Utilities')
-rw-r--r--Utilities/LibMatrix.Utilities.Bot/Commands/PingCommand.cs15
1 files changed, 12 insertions, 3 deletions
diff --git a/Utilities/LibMatrix.Utilities.Bot/Commands/PingCommand.cs b/Utilities/LibMatrix.Utilities.Bot/Commands/PingCommand.cs

index 4719c1e..ff41b70 100644 --- a/Utilities/LibMatrix.Utilities.Bot/Commands/PingCommand.cs +++ b/Utilities/LibMatrix.Utilities.Bot/Commands/PingCommand.cs
@@ -5,18 +5,27 @@ namespace LibMatrix.Utilities.Bot.Commands; public class PingCommand : ICommand { public string Name { get; } = "ping"; - public string[]? Aliases { get; } = [ ]; + public string[]? Aliases { get; } = []; public string Description { get; } = "Pong!"; public bool Unlisted { get; } public async Task Invoke(CommandContext ctx) { - await ctx.Room.SendMessageEventAsync(new RoomMessageEventContent(body: "pong!") { + var latency = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() - ctx.MessageEvent.OriginServerTs; + await ctx.Room.SendMessageEventAsync(new RoomMessageEventContent(body: $"Pong! ({latency} ms)") { AdditionalData = new() { // maubot ping compatibility ["pong"] = new { - ms = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() - ctx.MessageEvent.OriginServerTs, + ms = latency, from = ctx.Homeserver.ServerName, ping = ctx.MessageEvent.EventId + }, + }, + RelatesTo = new() { + RelationType = "xyz.maubot.pong", + EventId = ctx.MessageEvent.EventId, + AdditionalData = new() { + ["ms"] = latency!, + ["from"] = ctx.Homeserver.ServerName } } });