From 52d9c3e78d202ce7473bd6b0e422f8067229d054 Mon Sep 17 00:00:00 2001 From: RTAkland Date: Thu, 19 Sep 2024 15:11:40 +0800 Subject: [PATCH] feat: auto save files --- .gitignore | 1 + gradle/libs.versions.toml | 2 +- src/main/kotlin/cn/rtast/fancybot/FancyBot.kt | 11 +++++++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index e0b243c..8e00b04 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ **/build **/.kotlin /data +/files \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 890a1f0..9696032 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,6 +1,6 @@ [versions] kotlinVersion = "2.0.10" -ronebotVersion = "1.8.4" +ronebotVersion = "1.8.6" shadowVersion = "8.3.0" okhttpVersion = "5.0.0-alpha.14" exposedVersion = "0.53.0" diff --git a/src/main/kotlin/cn/rtast/fancybot/FancyBot.kt b/src/main/kotlin/cn/rtast/fancybot/FancyBot.kt index ad4c0fe..005fd61 100644 --- a/src/main/kotlin/cn/rtast/fancybot/FancyBot.kt +++ b/src/main/kotlin/cn/rtast/fancybot/FancyBot.kt @@ -46,12 +46,14 @@ import cn.rtast.fancybot.util.item.ItemManager import cn.rtast.fancybot.util.str.fromJson import cn.rtast.rob.ROneBotFactory import cn.rtast.rob.entity.AddFriendRequest +import cn.rtast.rob.entity.FileEvent import cn.rtast.rob.entity.GetMessage import cn.rtast.rob.entity.GroupMessage import cn.rtast.rob.entity.GroupRevokeMessage import cn.rtast.rob.enums.ArrayMessageType import cn.rtast.rob.util.ob.MessageChain import cn.rtast.rob.util.ob.OneBotListener +import java.io.File class FancyBot : OneBotListener { @@ -135,6 +137,10 @@ class FancyBot : OneBotListener { override suspend fun onAddFriendRequest(event: AddFriendRequest) { event.approve() } + + override suspend fun onGroupFileUpload(event: FileEvent) { + event.saveTo("./files") + } } val configManager = ConfigManager() @@ -168,6 +174,10 @@ val commands = listOf( UnsetZiBiCommand() ) +fun initFilesDir() { + File("./files").also { it.mkdir() } +} + suspend fun main() { val fancyBot = FancyBot() val workType = configManager.wsType @@ -180,6 +190,7 @@ suspend fun main() { ROneBotFactory.createServer(port, accessToken, fancyBot) } initDatabase() + initFilesDir() val commandManager = rob.commandManager commands.forEach { commandManager.register(it) } items.forEach { itemManager.register(it) }