feat: migrate to multi-instance ronebot

This commit is contained in:
2024-10-24 16:55:14 +08:00
parent bc28a4fefc
commit 41463b8b18
30 files changed
+88 -101

No files matched your search

@@ -11,11 +11,11 @@ import cn.rtast.fancybot.configManager
import cn.rtast.fancybot.entity.github.UploadContentPayload
import cn.rtast.fancybot.entity.github.UploadContentResponse
import cn.rtast.fancybot.enums.ImageBedType
import cn.rtast.fancybot.instance
import cn.rtast.fancybot.util.Http
import cn.rtast.fancybot.util.str.encodeToBase64
import cn.rtast.fancybot.util.str.proxy
import cn.rtast.fancybot.util.str.toJson
import cn.rtast.rob.ROneBotFactory
import software.amazon.awssdk.auth.credentials.AwsBasicCredentials
import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider
import software.amazon.awssdk.core.sync.RequestBody
@@ -68,7 +68,7 @@ object ImageBed {
return "${configManager.cloudflareR2PublicUrl}/$key".proxy
}
ImageBedType.QQ -> ROneBotFactory.action.uploadImage(file.encodeToBase64(), true)
ImageBedType.QQ -> instance.action.uploadImage(file.encodeToBase64(), true)
}
}
}
@@ -9,6 +9,7 @@ package cn.rtast.fancybot.util.misc
import cn.rtast.fancybot.*
import cn.rtast.fancybot.util.Http
import cn.rtast.rob.BotInstance
import cn.rtast.rob.ROneBotFactory
import cn.rtast.rob.util.ob.OneBotListener
import java.io.File
@@ -20,13 +21,12 @@ fun randomBooleanWithProbability(probability: Double): Boolean {
}
suspend fun OneBotListener.getUserName(groupId: Long, userId: Long): String {
val info = this.getGroupMemberInfo(groupId, userId)
val info = instance.action.getGroupMemberInfo(groupId, userId)
return info.card ?: info.nickname
}
fun initCommand(rob: ROneBotFactory) {
val commandManager = rob.commandManager
commands.forEach { commandManager.register(it) }
fun initCommand() {
commands.forEach { ROneBotFactory.commandManager.register(it) }
}
fun initFilesDir() {
@@ -47,6 +47,6 @@ fun initItems() {
items.forEach { itemManager.register(it) }
}
fun initBackgroundTasks(rob: ROneBotFactory) {
tasks.forEach { rob.scheduler.scheduleTask(it.value, 1000L, it.key) }
fun initBackgroundTasks(instance: BotInstance) {
tasks.forEach { instance.scheduler.scheduleTask(it.value, 1000L, it.key) }
}