simple-robot / simpler-robot

Simple Robot,一个bot风格的Kotlin多平台事件调度框架,异步高效、Java友好!/ A Bot-style Kotlin Multiplatform event scheduling framework, asynchronous and high-performance, java-friendly! 🐱😼😻😸
https://simbot.forte.love
GNU Lesser General Public License v3.0
521 stars 43 forks source link

使用simbot核心库注册bot后能否使用springboot中的注解方法 #674

Closed worklia closed 1 year ago

worklia commented 1 year ago

版本号

simboot-core-spring-boot-starter3.0.0-RC.3 +mirai-core-jvm2.15.0-M1

涉及的编程语言

Java

涉及的组件库

mirai(QQ)

疑问描述

**使用核心库注册了一个bot使用的是mirai的扫码登录可是无法使用springboot下的注解比如@Listener和@Filter 请问有什么方法可以解决这个问题吗

ForteScarlet commented 1 year ago

我猜你大概率是使用了 "mirai的核心库" 注册了一个bot而并非使用了 "simbot核心库"。直接使用mirai肯定是无法被simbot管理的。

simbot核心库、simbot的mirai组件库的依赖可简单参考 mirai组件手册#快速开始 至于对mirai核心库的引用(或升级)参考 组件库 的README中有关 "变更mirai版本" 的内容。

直接通过 "mirai的bot" 注册作为一个 "simbot的MiraiBot" 可以参考 https://github.com/simple-robot/simbot-component-mirai/pull/134


@Autowired
private Application application;

public void doIt() { // 一个注册bot的地方、并且生命周期应当处于Spring管辖范围内
    BotManagers managers = application.getBotManagers();
    for (BotManager manager : managers) {
        if (manager instanceof MiraiBotManager miraiBotManager) { // 寻找simbot的 Application 中的MiraiBotManager
               // 构建bot、注册为simbot的MiraiBot等操作

              break;
         }

    }
}