MiraiForum

    • 注册
    • 登录
    • 搜索
    • 热门
    • 最新
    • 未解决
    • 标签
    • 群组
    • 友情链接

    miraiboot——简单的Java qq机器人开发框架

    其他项目发布
    9
    16
    2654
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • D
      diyigemt 最后由 diyigemt 编辑

      在开发基于指令和权限的机器人的过程中感觉mirai-console-plugin的开发方式很难受(没办法debug) 于是有了开发一个包含mirai-core项目的想法
      然后觉得判断消息事件太麻烦逐渐发展成了一个框架
      在这里感谢以下xiangming-bot这个项目 让这个框架多了一个粗糙的上下文交互的功能
      项目已经发布
      仓库在这里->miraiboot

      介绍

      miraiboot是是对mirai框架的简单Java封装。

      目的是为了让Java开发者更方便地开发基于指令响应的机器人。

      特点

      1. 不用关心mirai-core的代码

        miraiboot提供了一系列方便的工具类对mirai-core的核心功能依赖进行封装,如消息回复、语音、图片等本地文件的发送等,对于简单的qq机器人开发,Java开发者不需要在去接触kotlin代码,更适合于Java初级开发者。

      2. 自带简单的消息过滤器和权限管理模块

        miraiboot提供了一系列的工具,可以方便地对消息事件进行过滤和权限管理。

        权限管理基于SQLite且已经进行了封装,开发者无需考虑实现。

      3. 注解驱动开发

        miraiboot所有的事件和异常处理都通过注解完成,开发者只需要对处理方法加上对应的注解,其余的都交由miraiboot进行管理,让开发者专注于功能的实现。

      版本更新

      v1.0.5:现在支持插件式开发了,不用每次都打包40M+的文件了
      v1.0.6:将mirai核心更新到2.7.1 修复一个没有默认指令头部导致的严重bug

      一些展示

      权限功能:

      权限功能

      ExceptionHandler:

      ExceptionHandler

      上下文交互:

      1

      2

      3

      仓库在这里->miraiboot

      1 条回复 最后回复 回复 引用 0
      • D
        diyigemt 最后由 编辑

        发布了,顺便更新了开发文档

        K 1 条回复 最后回复 回复 引用 0
        • K
          kuku @diyigemt 最后由 kuku 编辑

          得拿望远镜才能看清图

          1 条回复 最后回复 回复 引用 0
          • Orisland
            Orisland 摸鱼 最后由 编辑

            请问这个问题出现的原因是?

            java: 无法访问net.diyigemt.miraiboot.annotation.EventHandler
            错误的类文件: /Users/zhaolong/.m2/repository/net/diyigemt/miraiboot/mirai-boot/1.0.3/mirai-boot-1.0.3.jar!/net/diyigemt/miraiboot/annotation/EventHandler.class
            类文件具有错误的版本 55.0, 应为 52.0
            请删除该文件或确保该文件位于正确的类路径子目录中。

            Orisland 1 条回复 最后回复 回复 引用 0
            • Orisland
              Orisland 摸鱼 @Orisland 最后由 编辑

              @orisland
              另外,似乎出现了一些其他问题?

              文中的qq号和qq密码均为正确值.
              2021-05-29 17:18:17 I/mirai-boot-status:
              2021-05-29 17:18:17 I/mirai-boot-status: 开始读取配置文件
              Exception in thread "main" Cannot create property=miraiboot for JavaBean=ConfigFile(miraiboot=null)
              in 'reader', line 1, column 1:
              miraiboot:
              ^
              Cannot create property=logger for JavaBean=ConfigFileMain(bots=[ConfigFileBot(account=这是bot的qq号, password=ConfigFileBotPassword(kind=PLAIN, value=这是bot的密码啊), configuration=ConfigFileBotConfiguration(protocol=ANDROID_PHONE, device=device.json)), ConfigFileBot(account=123, password=ConfigFileBotPassword(kind=PLAIN, value=pwd), configuration=ConfigFileBotConfiguration(protocol=ANDROID_PHONE, device=device.json))], logger=null, configs=null, alias=null)
              in 'reader', line 2, column 3:
              bots:
              ^

              等等……一大堆错误,似乎都是和配置文件没写入有关。
              “Cannot create property”
              似乎配置文件一个也没写进去。

              D 1 条回复 最后回复 回复 引用 0
              • D
                diyigemt @Orisland 最后由 编辑

                @orisland 已于v1.0.4修复

                Orisland 1 条回复 最后回复 回复 引用 0
                • Orisland
                  Orisland 摸鱼 @diyigemt 最后由 编辑

                  @diyigemt 但是似乎又出现了其他问题,我提交了issue

                  D 1 条回复 最后回复 回复 引用 0
                  • D
                    diyigemt @Orisland 最后由 编辑

                    @orisland
                    好家伙,你好像精准踩到了最新发现的bug,你可以看一下我issue的回复临时解决

                    1 条回复 最后回复 回复 引用 0
                    • Fndream
                      Fndream 最后由 编辑

                      我如何使用更高的mirai-core版本而不是2.6.4

                      D 1 条回复 最后回复 回复 引用 0
                      • Q
                        ququ 最后由 编辑

                        @diyigemt 机器人回复消息带图片的话,群不回复,私聊的可以,但是控制台都有输出,求解惑,谢谢了

                        1 条回复 最后回复 回复 引用 0
                        • D
                          diyigemt @Fndream 最后由 编辑

                          @fndream 在 miraiboot——简单的Java qq机器人开发框架 中说:

                          我如何使用更高的mirai-core版本而不是2.6.4

                          1 条回复 最后回复 回复 引用 0
                          • X
                            XDorz 最后由 编辑

                            我将项目代码克隆下来为啥运行不了QAQ,mirai相关的包全都找不到,好像是kotlin反编译问题?大佬求助啊我真的不会解决啊,捣鼓了一下午了 T_T
                            import net.mamoe.mirai.Bot;
                            import net.mamoe.mirai.BotFactory;
                            像这些包全都找不到,这个问题是从2.7版本开始的,上一个版本2.6.8完全没有问题

                            wssy001 1 条回复 最后回复 回复 引用 0
                            • wssy001
                              wssy001 ⭐2021⭐ @XDorz 最后由 wssy001 编辑

                              @xdorz 2.6.8没问题,但是2.7有问题?检查你的IDEA版本,请确保至少升级到2020.3版本,最好升级到最新版本。别忘了去检查一下你的kotlin插件

                              1 条回复 最后回复 回复 引用 0
                              • D
                                DingQianJian 最后由 编辑

                                启动项目会出错。Exception in thread "main" java.lang.NoSuchMethodError: kotlin.jvm.internal.FunctionReferenceImpl.<init>(ILjava/lang/Class;Ljava/lang/String;Ljava/lang/String;I)V
                                at net.mamoe.mirai.utils.PlatformLogger$1.<init>(PlatformLogger.jvm.kt)
                                at net.mamoe.mirai.utils.PlatformLogger$1.<clinit>(PlatformLogger.jvm.kt)
                                at net.mamoe.mirai.utils.PlatformLogger.<init>(PlatformLogger.jvm.kt:54)
                                at net.mamoe.mirai.utils.DefaultFactory.create(MiraiLogger.kt:572)
                                at net.mamoe.mirai.utils.MiraiLogger$Factory.create(MiraiLogger.kt:64)
                                at net.mamoe.mirai.utils.MiraiLogger$Factory$INSTANCE.create(MiraiLogger.kt)
                                at net.mamoe.mirai.utils.MiraiLogger$Companion.create(MiraiLogger.kt:125)
                                at net.mamoe.mirai.utils.MiraiLogger.create(MiraiLogger.kt)
                                at net.diyigemt.miraiboot.mirai.MiraiMain.<clinit>(MiraiMain.java:22)
                                at net.diyigemt.miraiboot.autoconfig.MiraiApplication.run(MiraiApplication.java:68)
                                求助!

                                D 1 条回复 最后回复 回复 引用 0
                                • D
                                  diyigemt @DingQianJian 最后由 编辑

                                  @dingqianjian
                                  能提供一下主类的main方法,或者整个项目的文件结构吗,可以私聊

                                  1 条回复 最后回复 回复 引用 0
                                  • 小
                                    小凌乱啊 最后由 编辑

                                    此回复已被删除!
                                    1 条回复 最后回复 回复 引用 0
                                    • 1 / 1
                                    • First post
                                      Last post
                                    Powered by Mamoe Technologies & NodeBB | 友情链接 | 服务监控 | Contact