From 1c30aec46b495f1da87c3a6adbda3e19e014b557 Mon Sep 17 00:00:00 2001 From: Rory& Date: Thu, 24 Apr 2025 11:32:31 +0200 Subject: Extensible message relations, mauping support --- Utilities/LibMatrix.Utilities.Bot/Commands/PingCommand.cs | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'Utilities/LibMatrix.Utilities.Bot/Commands/PingCommand.cs') 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 } } }); -- cgit 1.5.1