about summary refs log tree commit diff
path: root/LibMatrix.ExampleBot/Bot/Commands
diff options
context:
space:
mode:
authorTheArcaneBrony <myrainbowdash949@gmail.com>2023-08-14 19:46:11 +0200
committerTheArcaneBrony <myrainbowdash949@gmail.com>2023-08-14 19:46:11 +0200
commitcb8846a7a3310f8513989da5aadb5202f048a1b3 (patch)
treecfbcf2506947d0f820208dd4cdb7a56c660ef0f9 /LibMatrix.ExampleBot/Bot/Commands
parentUpdate dependencies (diff)
downloadLibMatrix-bak-cb8846a7a3310f8513989da5aadb5202f048a1b3.tar.xz
Code cleanup
Diffstat (limited to 'LibMatrix.ExampleBot/Bot/Commands')
-rw-r--r--LibMatrix.ExampleBot/Bot/Commands/CmdCommand.cs18
-rw-r--r--LibMatrix.ExampleBot/Bot/Commands/HelpCommand.cs18
-rw-r--r--LibMatrix.ExampleBot/Bot/Commands/PingCommand.cs10
3 files changed, 20 insertions, 26 deletions
diff --git a/LibMatrix.ExampleBot/Bot/Commands/CmdCommand.cs b/LibMatrix.ExampleBot/Bot/Commands/CmdCommand.cs

index 7b54b0c..ca10326 100644 --- a/LibMatrix.ExampleBot/Bot/Commands/CmdCommand.cs +++ b/LibMatrix.ExampleBot/Bot/Commands/CmdCommand.cs
@@ -1,23 +1,23 @@ using LibMatrix.ExampleBot.Bot.Interfaces; +using LibMatrix.StateEventTypes.Spec; namespace LibMatrix.ExampleBot.Bot.Commands; public class CmdCommand : ICommand { - public string Name { get; } = "cmd"; - public string Description { get; } = "Runs a command on the host system"; + public string Name => "cmd"; + public string Description => "Runs a command on the host system"; - public async Task<bool> CanInvoke(CommandContext ctx) { - return ctx.MessageEvent.Sender.EndsWith(":rory.gay"); + public Task<bool> CanInvoke(CommandContext ctx) { + return Task.FromResult(ctx.MessageEvent.Sender.EndsWith(":rory.gay")); } public async Task Invoke(CommandContext ctx) { - var cmd = "\""; - foreach (var arg in ctx.Args) cmd += arg + " "; + var cmd = ctx.Args.Aggregate("\"", (current, arg) => current + arg + " "); cmd = cmd.Trim(); cmd += "\""; - await ctx.Room.SendMessageEventAsync("m.room.message", new() { + await ctx.Room.SendMessageEventAsync("m.room.message", new RoomMessageEventData { Body = $"Command being executed: `{cmd}`" }); @@ -34,7 +34,7 @@ public class CmdCommand : ICommand { msg += output[0] + "\n"; output.RemoveAt(0); if ((output.Count > 0 && (msg + output[0]).Length > 64000) || output.Count == 0) { - await ctx.Room.SendMessageEventAsync("m.room.message", new() { + await ctx.Room.SendMessageEventAsync("m.room.message", new RoomMessageEventData { FormattedBody = $"```ansi\n{msg}\n```", // Body = Markdig.Markdown.ToHtml(msg), Format = "org.matrix.custom.html" @@ -43,4 +43,4 @@ public class CmdCommand : ICommand { } } } -} \ No newline at end of file +} diff --git a/LibMatrix.ExampleBot/Bot/Commands/HelpCommand.cs b/LibMatrix.ExampleBot/Bot/Commands/HelpCommand.cs
index a259b3e..69766d1 100644 --- a/LibMatrix.ExampleBot/Bot/Commands/HelpCommand.cs +++ b/LibMatrix.ExampleBot/Bot/Commands/HelpCommand.cs
@@ -1,28 +1,24 @@ using System.Text; using LibMatrix.ExampleBot.Bot.Interfaces; +using LibMatrix.StateEventTypes.Spec; using Microsoft.Extensions.DependencyInjection; -namespace LibMatrix.ExampleBot.Bot.Commands; - -public class HelpCommand : ICommand { - private readonly IServiceProvider _services; - public HelpCommand(IServiceProvider services) { - _services = services; - } +namespace LibMatrix.ExampleBot.Bot.Commands; +public class HelpCommand(IServiceProvider services) : ICommand { public string Name { get; } = "help"; public string Description { get; } = "Displays this help message"; public async Task Invoke(CommandContext ctx) { var sb = new StringBuilder(); sb.AppendLine("Available commands:"); - var commands = _services.GetServices<ICommand>().ToList(); + var commands = services.GetServices<ICommand>().ToList(); foreach (var command in commands) { sb.AppendLine($"- {command.Name}: {command.Description}"); } - await ctx.Room.SendMessageEventAsync("m.room.message", new() { - Body = sb.ToString(), + await ctx.Room.SendMessageEventAsync("m.room.message", new RoomMessageEventData { + Body = sb.ToString() }); } -} \ No newline at end of file +} diff --git a/LibMatrix.ExampleBot/Bot/Commands/PingCommand.cs b/LibMatrix.ExampleBot/Bot/Commands/PingCommand.cs
index 664dc53..a7c65b5 100644 --- a/LibMatrix.ExampleBot/Bot/Commands/PingCommand.cs +++ b/LibMatrix.ExampleBot/Bot/Commands/PingCommand.cs
@@ -1,17 +1,15 @@ using LibMatrix.ExampleBot.Bot.Interfaces; +using LibMatrix.StateEventTypes.Spec; -namespace LibMatrix.ExampleBot.Bot.Commands; +namespace LibMatrix.ExampleBot.Bot.Commands; public class PingCommand : ICommand { - public PingCommand() { - } - public string Name { get; } = "ping"; public string Description { get; } = "Pong!"; public async Task Invoke(CommandContext ctx) { - await ctx.Room.SendMessageEventAsync("m.room.message", new() { + await ctx.Room.SendMessageEventAsync("m.room.message", new RoomMessageEventData { Body = "pong!" }); } -} \ No newline at end of file +}