about summary refs log tree commit diff
path: root/Utilities/LibMatrix.Utilities.Bot/Interfaces/CommandContext.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Utilities/LibMatrix.Utilities.Bot/Interfaces/CommandContext.cs')
-rw-r--r--Utilities/LibMatrix.Utilities.Bot/Interfaces/CommandContext.cs14
1 files changed, 14 insertions, 0 deletions
diff --git a/Utilities/LibMatrix.Utilities.Bot/Interfaces/CommandContext.cs b/Utilities/LibMatrix.Utilities.Bot/Interfaces/CommandContext.cs
index e65f86d..062e99f 100644
--- a/Utilities/LibMatrix.Utilities.Bot/Interfaces/CommandContext.cs
+++ b/Utilities/LibMatrix.Utilities.Bot/Interfaces/CommandContext.cs
@@ -19,4 +19,18 @@ public class CommandContext {
     public required AuthenticatedHomeserverGeneric Homeserver { get; set; }
 
     public async Task<EventIdResponse> Reply(RoomMessageEventContent content) => await Room.SendMessageEventAsync(content);
+}
+
+public class CommandResult {
+    public required bool Success { get; set; }
+    public Exception? Exception { get; set; }
+    public required CommandResultType Result { get; set; }
+    public required CommandContext Context { get; set; }
+
+    public enum CommandResultType {
+        Success,
+        Failure_Exception,
+        Failure_NoPermission,
+        Failure_InvalidCommand
+    }
 }
\ No newline at end of file