MiraiForum

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

    请教http-api的两个问题

    HTTP API和第三方SDK
    3
    15
    996
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • yoonching
      yoonching 最后由 编辑

      首先感谢论坛的大伙抽空看我的帖子。我看了2小时文档,没太搞清楚怎么用这个插件,现在所在的地方网络环境极差(已购买流量卡了在路上),学习进展很慢。想想还是来伸手吧。

      首先,贴一下环境。
      微信截图_20210722162242.png

      我目前的进展就是机器人登录了,控制台能打印出聊天。

      我想学习实现的功能有2个。

      其一。是我希望按照“日”为单位,把机器人所在群的聊天记录打印到日志。我应该如何配置日志的参数?

      其二。是我想通过主动调用http接口,获取某个群某个成员的信息。例如localhost:8080/memberProfile?target=123&memberId=456 我应该如何编写http插件的配置文件?

      以下是我目前的配置文件:
      log1.png

      log2.png

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

        日志的话你自己建个日志文件,日期命名,然后每接收到内容写入就好了

        yoonching 1 条回复 最后回复 回复 引用 0
        • yoonching
          yoonching @Nambers 最后由 编辑

          @nambers 啊好的吧,我还以为能在Mirai Class Loader的配置里边直接配出来这个效果

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

            @yoonching 日志输出是被core控制吧,mcl只是启动器

            yoonching 1 条回复 最后回复 回复 引用 0
            • yoonching
              yoonching @Nambers 最后由 编辑

              @nambers Mirai这个生态系统比较庞大,这个下午没能理顺。刚学会在kotlin下直接把mirai作为依赖包开发。

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

                @yoonching 你可以去看看 https://github.com/mamoe/mirai/blob/dev/docs/mirai-ecology.md

                yoonching 1 条回复 最后回复 回复 引用 0
                • yoonching
                  yoonching @Nambers 最后由 编辑

                  @nambers 了解了解,多谢

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

                    我又把这个直接作为配置文件贴到了插件配置,似乎没有成功。https://hub.fastgit.org/project-mirai/mirai-api-http#settingyml模板

                    判定没有成功的方式: 按照上面的描述修改插件配置,保存。重启mcl。浏览器地址栏输入 http://localhost:8080/about
                    浏览器返回的提示是拒绝连接。

                    1 条回复 最后回复 回复 引用 0
                    • ?
                      老用户 最后由 编辑

                      你用的是v1.0版本,https://hub.fastgit.org/project-mirai/mirai-api-http#settingyml模板 是v2.0的配置

                      yoonching 1 条回复 最后回复 回复 引用 0
                      • yoonching
                        yoonching @游客 最后由 编辑

                        @asyfish 在 请教http-api的两个问题 中说:

                        你用的是v1.0版本,https://hub.fastgit.org/project-mirai/mirai-api-http#settingyml模板 是v2.0的配置

                        谢谢。看起来我目前还无法接触到v2版本。似乎修改mcl目录下的config.json内http-api的版本号为2.1.0并不管用。

                        我查看了http-api项目readme文件的修改记录,似乎找到了1.0版本的配置文件。粘过去,重启mcl,用刚刚的方法判定,还是拒绝连接。telnet 127.0.0.1 8080 是不通的。

                        https://github.com/project-mirai/mirai-api-http/commit/87e7f59aff60d2c8cd184499ca1a7ad224637d7e

                        0 PeratX committed to project-mirai/mirai-api-http
                        Update readme
                        1 条回复 最后回复 回复 引用 0
                        • ?
                          老用户 最后由 老用户 编辑

                          先remove mirai-api-http,然后手动下载v2.0,放到plugins文件夹下

                          ./mcl --remove-package net.mamoe:mirai-api-http
                          

                          https://github.com/project-mirai/mirai-api-http/releases

                          yoonching 1 条回复 最后回复 回复 引用 0
                          • yoonching
                            yoonching @游客 最后由 编辑

                            @asyfish 在 请教http-api的两个问题 中说:

                            先remove mirai-api-http,然后手动下载v2.0,放到plugins文件夹下

                            ./mcl --remove-package net.mamoe:mirai-api-http
                            

                            https://github.com/project-mirai/mirai-api-http/releases

                            棒极了!非常感谢!
                            老哥对控制台输出的聊天内容按日归档有思路吗

                            1 条回复 最后回复 回复 引用 0
                            • ?
                              老用户 最后由 编辑

                              你都用mirai-api-http这个插件了,http服务端处理消息的时候顺便打印日志不就好了
                              console貌似不会打印聊天日志

                              yoonching 1 条回复 最后回复 回复 引用 0
                              • yoonching
                                yoonching @游客 最后由 编辑

                                @asyfish 其实本并不打算处理消息,只是需要的时候去拿一下。上报处理这个方式,当然也行。

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

                                  拿spring boot写了个接收上报请求体的小工具,配合它自带的日志工具,现在能把mirai http api上报的聊天内容打印出来了。

                                  问题全部解决。

                                  总结:
                                  1、插件文档的安装方法(一)安装的结果是1.x版本,查看插件库内提供的mirai http api的stable版本号,没有2系列的版本。插件下方的配置文件,对应的是2.x版本的文档,导致配置不生效,无法提供http等服务。

                                  2、可以先卸载1.x系列版本,再到插件的项目页面进release板块,自行下载2.x系列的jar包,放入plugin文件夹。方法请爬楼,感谢Asyfish 提供方案。

                                  3、如需使用插件的上报功能,需要配置webhook这个adapter。

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