ehForwarderBot / efb-qq-slave

EFB QQ Slave, a channel for EH Forwarder Bot. EFB QQ从端
GNU General Public License v3.0
447 stars 48 forks source link

关于新增功能的咨询及代码贡献问题 | mirai /update_info无法更新群组头像 #87

Closed shejialuo closed 3 years ago

shejialuo commented 3 years ago

首先仍然是感谢作者的贡献,在这儿有几个不情之请:

  1. 能否可以支持文件的上传以及文件的接收。 我在上游看了一些文档,[POST] /uploadFileAndSend,支持文件的上传。 但是似乎没有看见文件的接收。
  2. 能否可以支持语音的上传以及语音的接收。

其次是对代码贡献的一些问题:

  1. 由于目前的主分支源代码,仍然有coolq,所以下手源代码较困难。 作者能否简要地给一个开发手册。
  2. 开发的一个代码风格的要求是什么?
milkice233 commented 3 years ago

我假设你指的都是 mirai 前两个问题

  1. 有段时间没看 mirai-api-http 了,有空我可能会实现一下
  2. 印象里 mirai-api-http 那边之前仅支持群组语音,所以当时没实现,我过会儿去看下

代码贡献问题

  1. 因为是重构过的,客户端核心代码都挪到单独的 repository 里去了,主分支的源码里的 CoolQ 代码暂时保留着是为了防止不经意间依赖了相关代码后导致程序运行错误
  2. 代码风格按照 PEP 的要求就行,没有那么严苛,提交PR后如果需要修改我会单独再交个 commit
shejialuo commented 3 years ago

十分不好意思,那天发issue的时候忘记指明对象了。

我今天去看了一下 python-mirai-core, Bot类目前是没有文件上传的方法的。

目前 mirai 似乎已经能支持文件、语音和视频的上传和下载。(但是不清楚是否支持私聊)相关Issue:

https://github.com/mamoe/mirai/issues/805

实际上感觉 mirai-api-http 2.0 相对于1.0的变化会比较大。

https://github.com/project-mirai/mirai-api-http/issues/215

所以个人觉得作者没必要在这个时候实现这两个功能,上游较不稳定。这个事情我没有调查清楚, 十分不好意思哈。

PS: 我今天看了一下python-mirai-core 及 efb_qq_plugin_mirai的代码,还是理解了不少。 有一个问题就是/update_info在绑定了群组的情况下执行,可以修改群组的名称为备注名,但是无法 修改群组的头像。

image

实际上, python-mirai-core 存在能够获取到头像的方法:

image

有时间,我看能否提交PR,处理一下这个问题。

milkice233 commented 3 years ago

PS: 我今天看了一下python-mirai-core 及 efb_qq_plugin_mirai的代码,还是理解了不少。 有一个问题就是/update_info在绑定了群组的情况下执行,可以修改群组的名称为备注名,但是无法 修改群组的头像。

请问你用的EQS用的是哪个客户端呢,我这边 efb_qq_plugin_mirai 是可以成功获取头像的

shejialuo commented 3 years ago

我使用的是 efb_qq_plugin_mirai。

image

efb-qq-slave版本为2.0.0rc1

image

efb-qq-plugin-mirai版本为

image

操作系统信息

image

执行/update_info操作控制输出: verbose。

image

milkice233 commented 3 years ago

这个我这边真的没能复现…… https://github.com/milkice233/efb-qq-plugin-mirai/blob/2cb0334c8c661b060377eb7d0cd024aa03fa8848/efb_qq_plugin_mirai/mirai.py#L265 这里已经实现了对于头像的获取,而且我这边没能复现所以真的挺奇怪……

你可以试试用 Dev 版本的 EFB + ETM + EQS 看看还有没有问题 pip3 install -U git+https://github.com/milkice233/efb-qq-slave git+https://github.com/milkice233/efb-qq-plugin-mirai git+https://github.com/blueset/ehForwarderBot git+https://github.com/blueset/efb-telegram-master

shejialuo commented 3 years ago

这边更新到了dev版本,仍然是 No profile picture provided from this chat。

image

这是输出,红框部分感觉有问题。太奇怪了。

还有一个我刚才没有注意到的, 'chat'的id是负值?是其本身的机制还是溢出了?

milkice233 commented 3 years ago

那就很奇怪了……我现在只能先放置……可能的猜测是下载文件失败了,然后没有报错,传给ETM的文件为空 chat id 是负值是因为 Telegram 那边的群组 chat id 好像都是负的

milkice233 commented 3 years ago

修了 请 pip3 install -U git+https://github.com/milkice233/efb-qq-plugin-mirai 然后试下

shejialuo commented 3 years ago

已更新版本,问题解决。