summaryrefslogtreecommitdiff
path: root/engine
diff options
context:
space:
mode:
authorSho Sakuma <me@m1sk9.dev>2026-01-26 03:52:29 +0900
committerSho Sakuma <me@m1sk9.dev>2026-01-26 03:52:29 +0900
commit817eb7bc479fa55bda106aa1f6c5bd8dc9fbbe4c (patch)
treedde37372880748ace9e2f5b9de762214d1d04b3f /engine
parent18a4bbc4ba1a6766af920fb0849215f058ff260e (diff)
downloadLunaticChat-817eb7bc479fa55bda106aa1f6c5bd8dc9fbbe4c.tar.gz
LunaticChat-817eb7bc479fa55bda106aa1f6c5bd8dc9fbbe4c.tar.bz2
LunaticChat-817eb7bc479fa55bda106aa1f6c5bd8dc9fbbe4c.zip
feat: Add channel-chat configuration
Diffstat (limited to 'engine')
-rw-r--r--engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/exception/ChannelLimitExceededException.kt7
-rw-r--r--engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/exception/ChannelMemberLimitExceededException.kt8
-rw-r--r--engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/exception/PlayerChannelLimitExceededException.kt10
-rw-r--r--engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/permission/LunaticChatPermissionNode.kt6
4 files changed, 30 insertions, 1 deletions
diff --git a/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/exception/ChannelLimitExceededException.kt b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/exception/ChannelLimitExceededException.kt
new file mode 100644
index 0000000..c111ab4
--- /dev/null
+++ b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/exception/ChannelLimitExceededException.kt
@@ -0,0 +1,7 @@
+package dev.m1sk9.lunaticChat.engine.exception
+
+class ChannelLimitExceededException(
+ val limit: Int,
+) : Exception(
+ "Channel creation failed: server has reached the maximum limit of $limit channels",
+ )
diff --git a/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/exception/ChannelMemberLimitExceededException.kt b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/exception/ChannelMemberLimitExceededException.kt
new file mode 100644
index 0000000..7e080dc
--- /dev/null
+++ b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/exception/ChannelMemberLimitExceededException.kt
@@ -0,0 +1,8 @@
+package dev.m1sk9.lunaticChat.engine.exception
+
+class ChannelMemberLimitExceededException(
+ val channelId: String,
+ val limit: Int,
+) : Exception(
+ "Cannot join channel '$channelId': channel has reached the maximum member limit of $limit",
+ )
diff --git a/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/exception/PlayerChannelLimitExceededException.kt b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/exception/PlayerChannelLimitExceededException.kt
new file mode 100644
index 0000000..0820d8c
--- /dev/null
+++ b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/exception/PlayerChannelLimitExceededException.kt
@@ -0,0 +1,10 @@
+package dev.m1sk9.lunaticChat.engine.exception
+
+import java.util.UUID
+
+class PlayerChannelLimitExceededException(
+ val playerId: UUID,
+ val limit: Int,
+) : Exception(
+ "Player $playerId has reached the maximum channel membership limit of $limit",
+ )
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
index 838a48b..c20d636 100644
--- a/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/permission/LunaticChatPermissionNode.kt
+++ b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/permission/LunaticChatPermissionNode.kt
@@ -27,6 +27,8 @@ sealed class LunaticChatPermissionNode(
object ChannelStatus : LunaticChatPermissionNode("lunaticchat.command.lc.channel.status")
+ object ChannelInfo : LunaticChatPermissionNode("lunaticchat.command.lc.channel.info")
+
object ChannelDelete : LunaticChatPermissionNode("lunaticchat.command.lc.channel.delete")
object ChatMode : LunaticChatPermissionNode("lunaticchat.command.lc.chatmode")
@@ -35,5 +37,7 @@ sealed class LunaticChatPermissionNode(
object Spy : LunaticChatPermissionNode("lunaticchat.spy")
- object NoticeUpdate : LunaticChatPermissionNode("lunaticchat.noticeUpdate")
+ object NoticeUpdate : LunaticChatPermissionNode("lunaticchat.noticeupdate")
+
+ object ChannelBypass: LunaticChatPermissionNode("lunaticchat.channelbypass")
}