请教http-api的两个问题
-
首先感谢论坛的大伙抽空看我的帖子。我看了2小时文档,没太搞清楚怎么用这个插件,现在所在的地方网络环境极差(已购买流量卡了在路上),学习进展很慢。想想还是来伸手吧。
首先,贴一下环境。
我目前的进展就是机器人登录了,控制台能打印出聊天。
我想学习实现的功能有2个。
其一。是我希望按照“日”为单位,把机器人所在群的聊天记录打印到日志。我应该如何配置日志的参数?
其二。是我想通过主动调用http接口,获取某个群某个成员的信息。例如localhost:8080/memberProfile?target=123&memberId=456 我应该如何编写http插件的配置文件?
以下是我目前的配置文件:
-
日志的话你自己建个日志文件,日期命名,然后每接收到内容写入就好了
-
@nambers 啊好的吧,我还以为能在Mirai Class Loader的配置里边直接配出来这个效果
-
@yoonching 日志输出是被core控制吧,mcl只是启动器
-
@nambers Mirai这个生态系统比较庞大,这个下午没能理顺。刚学会在kotlin下直接把mirai作为依赖包开发。
-
-
@nambers 了解了解,多谢
-
我又把这个直接作为配置文件贴到了插件配置,似乎没有成功。https://hub.fastgit.org/project-mirai/mirai-api-http#settingyml模板
判定没有成功的方式: 按照上面的描述修改插件配置,保存。重启mcl。浏览器地址栏输入 http://localhost:8080/about
浏览器返回的提示是拒绝连接。 -
你用的是v1.0版本,https://hub.fastgit.org/project-mirai/mirai-api-http#settingyml模板 是v2.0的配置
-
@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
-
先remove mirai-api-http,然后手动下载v2.0,放到plugins文件夹下
./mcl --remove-package net.mamoe:mirai-api-http
-
@asyfish 在 请教http-api的两个问题 中说:
先remove mirai-api-http,然后手动下载v2.0,放到plugins文件夹下
./mcl --remove-package net.mamoe:mirai-api-http
棒极了!非常感谢!
老哥对控制台输出的聊天内容按日归档有思路吗 -
你都用mirai-api-http这个插件了,http服务端处理消息的时候顺便打印日志不就好了
console貌似不会打印聊天日志 -
@asyfish 其实本并不打算处理消息,只是需要的时候去拿一下。上报处理这个方式,当然也行。
-
拿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。