diff --git a/src/main/kotlin/cn/rtast/fancybot/Const.kt b/src/main/kotlin/cn/rtast/fancybot/Const.kt index 8c29abd..0319afb 100644 --- a/src/main/kotlin/cn/rtast/fancybot/Const.kt +++ b/src/main/kotlin/cn/rtast/fancybot/Const.kt @@ -24,7 +24,8 @@ val DEFAULT_CONFIG = Config( wsAddress = "ws://127.0.0.1", wsType = WSType.Client, accessToken = "114514", - port = 6760 + port = 6760, + listeningGroups = listOf(114514, 1919810) ) val ADMINS = listOf( diff --git a/src/main/kotlin/cn/rtast/fancybot/FancyBot.kt b/src/main/kotlin/cn/rtast/fancybot/FancyBot.kt index 508b7c8..e427b20 100644 --- a/src/main/kotlin/cn/rtast/fancybot/FancyBot.kt +++ b/src/main/kotlin/cn/rtast/fancybot/FancyBot.kt @@ -92,8 +92,9 @@ suspend fun main() { val port = configManager.wsPort ROneBotFactory.createServer(port, accessToken, fancyBot) } - val commandManager = rob.commandManager initDatabase() + val commandManager = rob.commandManager commands.forEach { commandManager.register(it) } items.forEach { itemManager.register(it) } + rob.addListeningGroups(*configManager.listeningGroups.toLongArray()) } \ No newline at end of file diff --git a/src/main/kotlin/cn/rtast/fancybot/commands/RedeemCommand.kt b/src/main/kotlin/cn/rtast/fancybot/commands/RedeemCommand.kt index 9261a3a..4f1e46e 100644 --- a/src/main/kotlin/cn/rtast/fancybot/commands/RedeemCommand.kt +++ b/src/main/kotlin/cn/rtast/fancybot/commands/RedeemCommand.kt @@ -17,6 +17,18 @@ class RedeemCommand : BaseCommand() { override val commandNames = listOf("/redeem", "/兑换", "/rdm") override suspend fun executeGroup(listener: OBMessage, message: GroupMessage, args: List) { + if (args.isEmpty()) { + val msg = MessageChain.Builder() + .addAt(message.sender.userId) + .addText("发送 /rdm <物品名称> 即可兑换哦!") + .addNewLine() + .addText("发送 /rdm list 即可查看所有可兑换的物品~") + .addNewLine() + .addText("发送 /mp 可以查看自己拥有的点数~") + .build() + listener.sendGroupMessage(message.groupId, msg) + return + } val status = signManager.getStatus(message.sender.userId) if (status == null) { val msg = MessageChain.Builder() @@ -44,7 +56,7 @@ class RedeemCommand : BaseCommand() { .addAt(message.sender.userId) .addText("没有找到你想兑换的东西呢") .addNewLine() - .addText("你可以输入/兑换 list来查看所有可兑换的物品") + .addText("你可以发送 /rdm list来查看所有可兑换的物品") .build() listener.sendGroupMessage(message.groupId, msg) return diff --git a/src/main/kotlin/cn/rtast/fancybot/commands/SignCommand.kt b/src/main/kotlin/cn/rtast/fancybot/commands/SignCommand.kt index 2fb8822..8628d26 100644 --- a/src/main/kotlin/cn/rtast/fancybot/commands/SignCommand.kt +++ b/src/main/kotlin/cn/rtast/fancybot/commands/SignCommand.kt @@ -44,19 +44,21 @@ class MyPointCommand : BaseCommand() { override val commandNames = listOf("/我的点数", "/mp") override suspend fun executeGroup(listener: OBMessage, message: GroupMessage, args: List) { + // query target's point if (args.isNotEmpty() && (message.sender.role == UserRole.admin || message.sender.userId in ADMINS)) { val targetId = args.first().toLong() val targetData = signManager.getStatus(targetId) val msg = MessageChain.Builder().addAt(message.sender.userId) if (targetData == null) { - msg.addText("用户不存在, 你需要先签到一次才能查询点数呢~") + msg.addText("用户不存在, 需要先签到一次才能查询点数呢~") } else { msg.addText("用户: ${targetData.id} 的点数有: ${targetData.points}") } listener.sendGroupMessage(message.groupId, msg.build()) return } + // query self point val status = signManager.getStatus(message.sender.userId) if (status == null) { val msg = MessageChain.Builder() diff --git a/src/main/kotlin/cn/rtast/fancybot/entity/Config.kt b/src/main/kotlin/cn/rtast/fancybot/entity/Config.kt index bd53419..9462568 100644 --- a/src/main/kotlin/cn/rtast/fancybot/entity/Config.kt +++ b/src/main/kotlin/cn/rtast/fancybot/entity/Config.kt @@ -15,4 +15,5 @@ data class Config( val wsAddress: String, val accessToken: String, val port: Int, + val listeningGroups: List ) \ No newline at end of file diff --git a/src/main/kotlin/cn/rtast/fancybot/util/file/ConfigManager.kt b/src/main/kotlin/cn/rtast/fancybot/util/file/ConfigManager.kt index 91f53df..9ed69bd 100644 --- a/src/main/kotlin/cn/rtast/fancybot/util/file/ConfigManager.kt +++ b/src/main/kotlin/cn/rtast/fancybot/util/file/ConfigManager.kt @@ -16,4 +16,5 @@ class ConfigManager : JsonFileHandler("config.json") { val wsPort get() = this.read().port val accessToken get() = this.read().accessToken val wsType get() = this.read().wsType + val listeningGroups get() = this.read().listeningGroups } \ No newline at end of file diff --git a/src/main/resources/config.json b/src/main/resources/config.json index fbc3ecf..6dddf0d 100644 --- a/src/main/resources/config.json +++ b/src/main/resources/config.json @@ -3,5 +3,9 @@ "wsType": "Client", "wsAddress": "ws://127.0.0.1", "accessToken": "114514", - "port": 6760 + "port": 6760, + "listeningGroups": [ + 114514, + 1919810 + ] } \ No newline at end of file