MiraiForum

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

    Hammer Mirai Help —— 组织你开发的和你使用的插件的帮助信息

    插件发布
    help 帮助 kotlin jvm
    4
    9
    1481
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • ArgonarioD
      ArgonarioD 最后由 ArgonarioD 编辑

      Hammer Mirai Help

      一个用以组织 Mirai Console 装载的插件们的帮助信息的 Mirai Console 插件;
      为 Mirai Console 的用户提供统一的、简单的、可高度自定义的帮助信息展示方式;
      为 Mirai Console 的插件开发者提供简单且统一的帮助信息展示方式和接口。
      详细信息请查看 GitHub 页面 。

      本插件针对的一些问题

      • 用一个帮助指令显示机器人所有功能会让对话十分冗余;
      • 自行编写并维护一个帮助指令比较麻烦,且可能容易漏掉新加的插件,对于硬编码实现的帮助指令每次需要重新构建部署;
      • 大部分自动生成的帮助指令只能对插件注册的命令进行帮助提示,无法对基于事件系统的指令进行提示;
      • 需要修改其他插件提供的帮助信息;
      • 可能需要使用自定义图片的作为帮助指令,并且需要热重载来实时进行修改;
      • 等。

      功能

      • 安装新插件后,用户只需要执行一行指令即可自动配置该插件的帮助信息:
        • 对于接入本插件接口的插件,本插件会按照其配置的帮助信息进行配置;
        • 对于未接入本插件接口的插件,本插件会依据其注册的指令自动生成帮助信息。
      • 对于用户来说,只需要通过修改配置文件就可以修改如下的信息:
        • 触发帮助的指令前缀(可以使用正则表达式匹配);
        • 指定插件的帮助信息是否启用;
        • 指定插件的名称以及别名;
        • 指定插件的详细帮助信息内容(可以设置为图片);
        • 用户想要看到指定插件的帮助信息所需要的权限(可以为空)。
      • 对于插件开发者来说,接入本插件十分简单:
        • 对于 JVM 插件,通过本插件提供的 SDK 在插件代码添加几行代码即可进行配置;
        • 对于其他插件,只需要在指定目录生成一个配置文件即可。
      • 无插件依赖要求,接入本插件的接口后不安装本插件无法使用 help 功能,但可以正常运行。

      效果图

      preview1.png
      preview2.png
      preview3.png


      如果觉得有用的话求个Star和回帖啵啵QwQ

      1 条回复 最后回复 回复 引用 3
      • shenleqinau
        shenleqinau 摸鱼 最后由 编辑

        希望能更新一个help消息以转发的方式发送不然的话还是比较刷屏的

        ArgonarioD 1 条回复 最后回复 回复 引用 0
        • ArgonarioD
          ArgonarioD @shenleqinau 最后由 编辑

          @shenleqinau 年底考研初试结束后会考虑更新一些新功能,不过会不会用图片的形式会比用转发的形式更好呢?()

          Bilibili-Initial-heart 1 条回复 最后回复 回复 引用 0
          • Bilibili-Initial-heart
            Bilibili-Initial-heart @ArgonarioD 最后由 编辑

            @ArgonarioD 图片对于低性能及低带宽服务器是一个比较影响性能的选择,相较于转发来说耗费不是一个量级的。当然图片可以做的更美观,可以考虑都实现。当然只是建议,仅供参考。

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

              此回复已被删除!
              1 条回复 最后回复 回复 引用 0
              • ArgonarioD
                ArgonarioD @Bilibili-Initial-heart 最后由 编辑

                @Bilibili-Initial-heart

                我的库不会每次都上传图片,会将已上传过的图片的ID cache下来,这样来说不需要花那么多带宽,只需要每次mirai启动以后图片第一次被请求的时候上传;
                顺便 help 信息发送图片的功能在目前发布的版本已经实现了,在上面的例子中有((

                Bilibili-Initial-heart 1 条回复 最后回复 回复 引用 0
                • Bilibili-Initial-heart
                  Bilibili-Initial-heart @ArgonarioD 最后由 编辑

                  @ArgonarioD 存在一个古老而现实的问题,就是有时一张图片发送时会变成“裂开”的状态,无法正常显示和访问。如果出现这种情况,使用cache发送会导致服务完全不可用。

                  ArgonarioD 1 条回复 最后回复 回复 引用 0
                  • ArgonarioD
                    ArgonarioD @Bilibili-Initial-heart 最后由 编辑

                    @Bilibili-Initial-heart 嘶,确实没考虑到这样的问题,不过我的bot这么久了暂时还没遇到过这种情况,可能考虑加一个手动刷新cache的指令好了,虽然本来我的cache就有一个并不算长的过期时间()
                    感觉没必要为了这个概率比较低的特殊情况改成每次都重新上传图片()

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

                      顶一下 ,祝佬考研顺利!!

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