From 90307e1ee92c50c125dbf1f430d61ccd1658be48 Mon Sep 17 00:00:00 2001 From: Grand-cocoa <1075576561@qq.com49111108+grand-cocoa@users.noreply.github.com> Date: Wed, 18 Sep 2024 14:30:47 +0800 Subject: [PATCH] =?UTF-8?q?refactor(miraibot):=20=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E6=B3=A8=E8=A7=A3=E5=92=8C=E6=9C=8D=E5=8A=A1=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修正BotFunction注解中的Service属性值。 - 直接使用KClass初始化functionMap。- 在Initialization类中添加全局事件订阅。 - 重构BotConfig类,增加类型和管理员QQ配置。 --- .../miraibot/annotation/BotFunction.kt | 2 +- .../miraibot/configuration/BotConfig.kt | 17 +++++++++++++++-- .../miraibot/configuration/Initialization.kt | 5 +++++ 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/info/alinadace/miraibot/annotation/BotFunction.kt b/src/main/kotlin/info/alinadace/miraibot/annotation/BotFunction.kt index f948140..d82dc6c 100644 --- a/src/main/kotlin/info/alinadace/miraibot/annotation/BotFunction.kt +++ b/src/main/kotlin/info/alinadace/miraibot/annotation/BotFunction.kt @@ -13,5 +13,5 @@ import kotlin.reflect.KClass */ @Target(AnnotationTarget.CLASS) @Retention(AnnotationRetention.RUNTIME) -@org.springframework.stereotype.Service("BotFunction") +@org.springframework.stereotype.Service annotation class BotFunction(vararg val value: KClass) diff --git a/src/main/kotlin/info/alinadace/miraibot/configuration/BotConfig.kt b/src/main/kotlin/info/alinadace/miraibot/configuration/BotConfig.kt index dd6a933..5162093 100644 --- a/src/main/kotlin/info/alinadace/miraibot/configuration/BotConfig.kt +++ b/src/main/kotlin/info/alinadace/miraibot/configuration/BotConfig.kt @@ -6,17 +6,30 @@ import org.springframework.context.annotation.Configuration /** * 机器人配置 - * @param id 机器人QQ号 - * @param password 机器人密码 * @author Kane * @since 2024/8/29 下午2:39 */ @Configuration @ConfigurationProperties("bot") class BotConfig { + /** + * 机器人QQ号 + */ final var id: Long = 0L + + /** + * 机器人密码 + */ final var password: String = "" + + /** + * 机器人登录方式 + */ final var type: LoginType = LoginType.PASSWORD + + /** + * 管理员QQ + */ final var admin: Long = 0L constructor() diff --git a/src/main/kotlin/info/alinadace/miraibot/configuration/Initialization.kt b/src/main/kotlin/info/alinadace/miraibot/configuration/Initialization.kt index f46bd89..f55e094 100644 --- a/src/main/kotlin/info/alinadace/miraibot/configuration/Initialization.kt +++ b/src/main/kotlin/info/alinadace/miraibot/configuration/Initialization.kt @@ -18,6 +18,7 @@ import kotlin.reflect.KClass */ @org.springframework.stereotype.Service class Initialization { + @Suppress("SpringJavaInjectionPointsAutowiringInspection") @Resource(name = "functionMap") lateinit var functionMap: HashMap, MutableList>> @@ -36,6 +37,10 @@ class Initialization { } } + GlobalEventChannel.subscribeAlways(Event::class) { + log.info("GlobalEvent: {}", this) + } + log.info("Channel complete") log.info("Login: id:{}", bot.id) bot.login()