refactor(bot-config): 重构Bot配置并更新初始化
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 5s
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 5s
- 重构BotConfig类并移动至新的package:info.alinadace.miraibot.configuration。 - 从BotConfiguration.kt中移除未使用的imports和函数。 - 在Initialization.kt中添加PostConstruct注解用于服务初始化。 - 更新ExampleService.kt以使用新的配置package。 - 通过更改名称为'functionMap'并使用GlobalEventChannel优化事件处理。 此重构改进了代码结构,更新了配置的初始化,并增强了事件处理机制。
This commit is contained in:
parent
a7aa2bda2b
commit
76d6f849a4
@ -1,10 +1,9 @@
|
|||||||
package info.alinadace.miraibot.bean
|
package info.alinadace.miraibot.bean
|
||||||
|
|
||||||
import info.alinadace.miraibot.annotation.BotFunction
|
import info.alinadace.miraibot.annotation.BotFunction
|
||||||
import info.alinadace.miraibot.config.BotConfig
|
import info.alinadace.miraibot.configuration.BotConfig
|
||||||
import info.alinadace.miraibot.enums.LoginType
|
import info.alinadace.miraibot.enums.LoginType
|
||||||
import info.alinadace.miraibot.service.Service
|
import info.alinadace.miraibot.service.Service
|
||||||
import jakarta.annotation.PostConstruct
|
|
||||||
import jakarta.annotation.Resource
|
import jakarta.annotation.Resource
|
||||||
import net.mamoe.mirai.Bot
|
import net.mamoe.mirai.Bot
|
||||||
import net.mamoe.mirai.BotFactory
|
import net.mamoe.mirai.BotFactory
|
||||||
@ -43,7 +42,7 @@ class BotConfiguration {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean("functionMap")
|
||||||
fun botFunctionMap(): HashMap<KClass<out Event>, MutableList<Service<Event>>> {
|
fun botFunctionMap(): HashMap<KClass<out Event>, MutableList<Service<Event>>> {
|
||||||
val eventMap = HashMap<KClass<out Event>, MutableList<Service<Event>>>();
|
val eventMap = HashMap<KClass<out Event>, MutableList<Service<Event>>>();
|
||||||
for (service in services) {
|
for (service in services) {
|
||||||
@ -67,11 +66,6 @@ class BotConfiguration {
|
|||||||
return eventMap
|
return eventMap
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostConstruct
|
|
||||||
fun init() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun BotConfiguration.extracted() {
|
private fun BotConfiguration.extracted() {
|
||||||
fileBasedDeviceInfo()
|
fileBasedDeviceInfo()
|
||||||
protocol = BotConfiguration.MiraiProtocol.ANDROID_WATCH
|
protocol = BotConfiguration.MiraiProtocol.ANDROID_WATCH
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package info.alinadace.miraibot.config
|
package info.alinadace.miraibot.configuration
|
||||||
|
|
||||||
import info.alinadace.miraibot.enums.LoginType
|
import info.alinadace.miraibot.enums.LoginType
|
||||||
import org.springframework.beans.factory.annotation.Value
|
import org.springframework.beans.factory.annotation.Value
|
@ -0,0 +1,30 @@
|
|||||||
|
package info.alinadace.miraibot.configuration
|
||||||
|
|
||||||
|
import info.alinadace.miraibot.service.Service
|
||||||
|
import jakarta.annotation.PostConstruct
|
||||||
|
import jakarta.annotation.Resource
|
||||||
|
import net.mamoe.mirai.event.Event
|
||||||
|
import net.mamoe.mirai.event.GlobalEventChannel
|
||||||
|
import kotlin.reflect.KClass
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 机器人功能初始化
|
||||||
|
* @author Kane
|
||||||
|
* @since 2024/9/4 18:49
|
||||||
|
*/
|
||||||
|
@org.springframework.stereotype.Service
|
||||||
|
class Initialization {
|
||||||
|
@Resource(name = "functionMap")
|
||||||
|
lateinit var functionMap: HashMap<KClass<out Event>, MutableList<Service<Event>>>;
|
||||||
|
|
||||||
|
@PostConstruct
|
||||||
|
fun initFunction() {
|
||||||
|
functionMap.forEach { v ->
|
||||||
|
GlobalEventChannel.subscribeAlways(v.key) {
|
||||||
|
val filter = v.value.filter { x -> x.entrance(this) }
|
||||||
|
filter.forEach { x -> x.active(this) }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
print("Channel complete")
|
||||||
|
}
|
||||||
|
}
|
@ -1,7 +1,7 @@
|
|||||||
package info.alinadace.miraibot.service
|
package info.alinadace.miraibot.service
|
||||||
|
|
||||||
import info.alinadace.miraibot.annotation.BotFunction
|
import info.alinadace.miraibot.annotation.BotFunction
|
||||||
import info.alinadace.miraibot.config.BotConfig
|
import info.alinadace.miraibot.configuration.BotConfig
|
||||||
import net.mamoe.mirai.event.events.FriendMessageEvent
|
import net.mamoe.mirai.event.events.FriendMessageEvent
|
||||||
import net.mamoe.mirai.message.data.PlainText
|
import net.mamoe.mirai.message.data.PlainText
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user