MiraiForum

    • Register
    • Login
    • Search
    • Popular
    • Recent
    • Unsolved
    • Tags
    • Groups
    • 友情链接

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

    其他项目发布
    9
    16
    1362
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      diyigemt last edited by 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 Reply Last reply Reply Quote 0
      • D
        diyigemt last edited by

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

        K 1 Reply Last reply Reply Quote 0
        • K
          kuku @diyigemt last edited by kuku

          得拿望远镜才能看清图

          1 Reply Last reply Reply Quote 0
          • Orisland
            Orisland 摸鱼 last edited by

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

            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 Reply Last reply Reply Quote 0
            • Orisland
              Orisland 摸鱼 @Orisland last edited by

              @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 Reply Last reply Reply Quote 0
              • D
                diyigemt @Orisland last edited by

                @orisland 已于v1.0.4修复

                Orisland 1 Reply Last reply Reply Quote 0
                • Orisland
                  Orisland 摸鱼 @diyigemt last edited by

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

                  D 1 Reply Last reply Reply Quote 0
                  • D
                    diyigemt @Orisland last edited by

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

                    1 Reply Last reply Reply Quote 0
                    • F
                      Fndream last edited by

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

                      D 1 Reply Last reply Reply Quote 0
                      • Q
                        ququ last edited by

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

                        1 Reply Last reply Reply Quote 0
                        • D
                          diyigemt @Fndream last edited by

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

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

                          1 Reply Last reply Reply Quote 0
                          • X
                            XDorz last edited by

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

                            wssy001 1 Reply Last reply Reply Quote 0
                            • wssy001
                              wssy001 ⭐2021⭐ @XDorz last edited by wssy001

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

                              1 Reply Last reply Reply Quote 0
                              • D
                                DingQianJian last edited by

                                启动项目会出错。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 Reply Last reply Reply Quote 0
                                • D
                                  diyigemt @DingQianJian last edited by

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

                                  1 Reply Last reply Reply Quote 0
                                  • 小
                                    小凌乱啊 last edited by

                                    This post is deleted!
                                    1 Reply Last reply Reply Quote 0
                                    • 1 / 1
                                    • First post
                                      Last post
                                    Powered by Mamoe Technologies & NodeBB | 友情链接 | 服务监控 | Contact us