diff --git a/ExampleBots/ModerationBot/Commands/BanMediaCommand.cs b/ExampleBots/ModerationBot/Commands/BanMediaCommand.cs
index 21e0a94..9e49b22 100644
--- a/ExampleBots/ModerationBot/Commands/BanMediaCommand.cs
+++ b/ExampleBots/ModerationBot/Commands/BanMediaCommand.cs
@@ -20,7 +20,7 @@ public class BanMediaCommand(IServiceProvider services, HomeserverProviderServic
//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())!.UserHasPermission(ctx.MessageEvent.Sender, "m.room.ban");
+ 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(
@@ -31,7 +31,7 @@ public class BanMediaCommand(IServiceProvider services, HomeserverProviderServic
}
public async Task Invoke(CommandContext ctx) {
-
+
var botData = await ctx.Homeserver.GetAccountDataAsync<BotData>("gay.rory.moderation_bot_data");
var policyRoom = ctx.Homeserver.GetRoom(botData.DefaultPolicyRoom ?? botData.ControlRoom);
var logRoom = ctx.Homeserver.GetRoom(botData.LogRoom ?? botData.ControlRoom);
diff --git a/ExampleBots/ModerationBot/Commands/DbgAllRoomsArePolicyListsCommand.cs b/ExampleBots/ModerationBot/Commands/DbgAllRoomsArePolicyListsCommand.cs
index 09d3caf..327a9a4 100644
--- a/ExampleBots/ModerationBot/Commands/DbgAllRoomsArePolicyListsCommand.cs
+++ b/ExampleBots/ModerationBot/Commands/DbgAllRoomsArePolicyListsCommand.cs
@@ -26,7 +26,7 @@ public class DbgAllRoomsArePolicyListsCommand
//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())!.UserHasPermission(ctx.MessageEvent.Sender, "m.room.ban");
+ 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(
@@ -39,9 +39,9 @@ public class DbgAllRoomsArePolicyListsCommand
public async Task Invoke(CommandContext ctx) {
var botData = await ctx.Homeserver.GetAccountDataAsync<BotData>("gay.rory.moderation_bot_data");
logRoom = ctx.Homeserver.GetRoom(botData.LogRoom ?? botData.ControlRoom);
-
+
var joinedRooms = await ctx.Homeserver.GetJoinedRooms();
-
+
await ctx.Homeserver.SetAccountDataAsync("gay.rory.moderation_bot.policy_lists", joinedRooms.ToDictionary(x => x.RoomId, x => new PolicyList() {
Trusted = true
}));
@@ -60,4 +60,4 @@ public class DbgAllRoomsArePolicyListsCommand
return true;
}
-}
\ No newline at end of file
+}
diff --git a/ExampleBots/ModerationBot/Commands/DbgDumpActivePoliciesCommand.cs b/ExampleBots/ModerationBot/Commands/DbgDumpActivePoliciesCommand.cs
index 395c87c..35c95f8 100644
--- a/ExampleBots/ModerationBot/Commands/DbgDumpActivePoliciesCommand.cs
+++ b/ExampleBots/ModerationBot/Commands/DbgDumpActivePoliciesCommand.cs
@@ -26,7 +26,7 @@ public class DbgDumpActivePoliciesCommand
//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())!.UserHasPermission(ctx.MessageEvent.Sender, "m.room.ban");
+ 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(
@@ -40,4 +40,4 @@ public class DbgDumpActivePoliciesCommand
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");
}
-}
\ No newline at end of file
+}
diff --git a/ExampleBots/ModerationBot/Commands/DbgDumpAllStateTypesCommand.cs b/ExampleBots/ModerationBot/Commands/DbgDumpAllStateTypesCommand.cs
index e9a645e..0013065 100644
--- a/ExampleBots/ModerationBot/Commands/DbgDumpAllStateTypesCommand.cs
+++ b/ExampleBots/ModerationBot/Commands/DbgDumpAllStateTypesCommand.cs
@@ -26,7 +26,7 @@ public class DbgDumpAllStateTypesCommand
//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())!.UserHasPermission(ctx.MessageEvent.Sender, "m.room.ban");
+ 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(
@@ -58,7 +58,7 @@ public class DbgDumpAllStateTypesCommand
return (memberRoom, SummariseStateTypeCounts(states));
}
-
+
private static (string Raw, string Html) SummariseStateTypeCounts(IList<StateEventResponse> states) {
string raw = "Count | State type | Mapped type", html = "<table><tr><th>Count</th><th>State type</th><th>Mapped type</th></tr>";
var groupedStates = states.GroupBy(x => x.Type).ToDictionary(x => x.Key, x => x.ToList()).OrderByDescending(x => x.Value.Count);
@@ -70,4 +70,4 @@ public class DbgDumpAllStateTypesCommand
html += "</table>";
return (raw, html);
}
-}
\ No newline at end of file
+}
diff --git a/ExampleBots/ModerationBot/Commands/JoinRoomCommand.cs b/ExampleBots/ModerationBot/Commands/JoinRoomCommand.cs
index 19a2c54..7496a07 100644
--- a/ExampleBots/ModerationBot/Commands/JoinRoomCommand.cs
+++ b/ExampleBots/ModerationBot/Commands/JoinRoomCommand.cs
@@ -19,7 +19,7 @@ public class JoinRoomCommand(IServiceProvider services, HomeserverProviderServic
//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())!.UserHasPermission(ctx.MessageEvent.Sender, "m.room.ban");
+ 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(
@@ -30,16 +30,16 @@ public class JoinRoomCommand(IServiceProvider services, HomeserverProviderServic
}
public async Task Invoke(CommandContext ctx) {
-
+
var botData = await ctx.Homeserver.GetAccountDataAsync<BotData>("gay.rory.moderation_bot_data");
var policyRoom = ctx.Homeserver.GetRoom(botData.DefaultPolicyRoom ?? botData.ControlRoom);
var logRoom = ctx.Homeserver.GetRoom(botData.LogRoom ?? botData.ControlRoom);
await logRoom.SendMessageEventAsync(MessageFormatter.FormatSuccess($"Joining room {ctx.Args[0]} with reason: {string.Join(' ', ctx.Args[1..])}"));
var roomId = ctx.Args[0];
- var servers = new List<string>() {ctx.Homeserver.ServerName};
+ var servers = new List<string>() { ctx.Homeserver.ServerName };
if (roomId.StartsWith('[')) {
-
+
}
if (roomId.StartsWith('#')) {
diff --git a/ExampleBots/ModerationBot/Commands/JoinSpaceMembersCommand.cs b/ExampleBots/ModerationBot/Commands/JoinSpaceMembersCommand.cs
index c3b7d12..6e64f6f 100644
--- a/ExampleBots/ModerationBot/Commands/JoinSpaceMembersCommand.cs
+++ b/ExampleBots/ModerationBot/Commands/JoinSpaceMembersCommand.cs
@@ -21,7 +21,7 @@ public class JoinSpaceMembersCommand(IServiceProvider services, HomeserverProvid
//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())!.UserHasPermission(ctx.MessageEvent.Sender, "m.room.ban");
+ 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(
@@ -37,9 +37,9 @@ public class JoinSpaceMembersCommand(IServiceProvider services, HomeserverProvid
await logRoom.SendMessageEventAsync(MessageFormatter.FormatSuccess($"Joining space children of {ctx.Args[0]} with reason: {string.Join(' ', ctx.Args[1..])}"));
var roomId = ctx.Args[0];
- var servers = new List<string>() {ctx.Homeserver.ServerName};
+ var servers = new List<string>() { ctx.Homeserver.ServerName };
if (roomId.StartsWith('[')) {
-
+
}
if (roomId.StartsWith('#')) {
|