about summary refs log tree commit diff
path: root/ExampleBots/ModerationBot/Commands/DbgDumpActivePoliciesCommand.cs
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2024-01-31 18:50:16 +0100
committerRory& <root@rory.gay>2024-01-31 18:50:16 +0100
commitd133a168c17d605236e967ff63728420ddb0ed98 (patch)
treeac467c42591db6fb6b920682dd54da1f707f8c0c /ExampleBots/ModerationBot/Commands/DbgDumpActivePoliciesCommand.cs
parentCapabilities (diff)
downloadLibMatrix-d133a168c17d605236e967ff63728420ddb0ed98.tar.xz
Repo split
Diffstat (limited to 'ExampleBots/ModerationBot/Commands/DbgDumpActivePoliciesCommand.cs')
-rw-r--r--ExampleBots/ModerationBot/Commands/DbgDumpActivePoliciesCommand.cs38
1 files changed, 0 insertions, 38 deletions
diff --git a/ExampleBots/ModerationBot/Commands/DbgDumpActivePoliciesCommand.cs b/ExampleBots/ModerationBot/Commands/DbgDumpActivePoliciesCommand.cs
deleted file mode 100644

index 285d792..0000000 --- a/ExampleBots/ModerationBot/Commands/DbgDumpActivePoliciesCommand.cs +++ /dev/null
@@ -1,38 +0,0 @@ -using ArcaneLibs.Extensions; -using LibMatrix.EventTypes.Spec; -using LibMatrix.RoomTypes; -using LibMatrix.Services; -using LibMatrix.Utilities.Bot.Interfaces; -using ModerationBot.AccountData; - -namespace ModerationBot.Commands; - -public class DbgDumpActivePoliciesCommand - (IServiceProvider services, HomeserverProviderService hsProvider, HomeserverResolverService hsResolver, PolicyEngine engine) : ICommand { - public string Name { get; } = "dbg-dumppolicies"; - public string Description { get; } = "[Debug] Dump all active policies"; - private GenericRoom logRoom { get; set; } - - public async Task<bool> CanInvoke(CommandContext ctx) { -#if !DEBUG - return false; -#endif - - //check if user is admin in control room - var botData = await ctx.Homeserver.GetAccountDataAsync<BotData>("gay.rory.moderation_bot_data"); - var controlRoom = ctx.Homeserver.GetRoom(botData.ControlRoom); - var isAdmin = (await controlRoom.GetPowerLevelsAsync())!.UserHasStatePermission(ctx.MessageEvent.Sender, "m.room.ban"); - if (!isAdmin) { - // await ctx.Reply("You do not have permission to use this command!"); - await ctx.Homeserver.GetRoom(botData.LogRoom!).SendMessageEventAsync( - new RoomMessageEventContent(body: $"User {ctx.MessageEvent.Sender} tried to use command {Name} but does not have permission!", messageType: "m.text")); - } - - return isAdmin; - } - - public async Task Invoke(CommandContext ctx) { - await ctx.Room.SendFileAsync("all.json", new MemoryStream(engine.ActivePolicies.ToJson().AsBytes().ToArray()), contentType: "application/json"); - await ctx.Room.SendFileAsync("by-type.json", new MemoryStream(engine.ActivePoliciesByType.ToJson().AsBytes().ToArray()), contentType: "application/json"); - } -}