diff options
| author | Sho Sakuma <me@m1sk9.dev> | 2026-01-07 12:57:32 +0900 |
|---|---|---|
| committer | Sho Sakuma <me@m1sk9.dev> | 2026-01-07 12:57:38 +0900 |
| commit | f6f2ec77fa773250b2663491628f14e5baa92f5d (patch) | |
| tree | 29ede64472da8c7431bc4515d9f76b610a1a43c6 /engine | |
| parent | 122af44500427cf61c979896149d1f08233a63d4 (diff) | |
| download | LunaticChat-f6f2ec77fa773250b2663491628f14e5baa92f5d.tar.gz LunaticChat-f6f2ec77fa773250b2663491628f14e5baa92f5d.tar.bz2 LunaticChat-f6f2ec77fa773250b2663491628f14e5baa92f5d.zip | |
feat: Add permission collector
Diffstat (limited to 'engine')
2 files changed, 21 insertions, 0 deletions
diff --git a/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/exception/RequirePermissionException.kt b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/exception/RequirePermissionException.kt new file mode 100644 index 0000000..dace909 --- /dev/null +++ b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/exception/RequirePermissionException.kt @@ -0,0 +1,12 @@ +package dev.m1sk9.lunaticChat.engine.exception + +import dev.m1sk9.lunaticChat.engine.permission.LunaticChatPermissionNode + +/** + * Exception thrown when required permissions are missing. + * + * @param permissions The list of missing permissions. + */ +class RequirePermissionException( + permissions: List<LunaticChatPermissionNode>, +) : Exception("Missing required permissions: ${permissions.joinToString { it.permissionNode }}") diff --git a/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/permission/LunaticChatPermissionNode.kt b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/permission/LunaticChatPermissionNode.kt new file mode 100644 index 0000000..c7f4be6 --- /dev/null +++ b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/permission/LunaticChatPermissionNode.kt @@ -0,0 +1,9 @@ +package dev.m1sk9.lunaticChat.engine.permission + +sealed class LunaticChatPermissionNode( + val permissionNode: String, +) { + object Tell : LunaticChatPermissionNode("lunaticchat.command.tell") + + object Reply : LunaticChatPermissionNode("lunaticchat.command.reply") +} |
