mamoe / mirai

高效率 QQ 机器人支持库
https://mirai.mamoe.net
GNU Affero General Public License v3.0
14.48k stars 2.54k forks source link

无法发送带图片的消息 #1882

Closed skommando closed 2 years ago

skommando commented 2 years ago

问题描述

机器人无法发送带图片的消息。

console有日志,但是qq收不到图片和消息。能收到纯文本,但只要带图片就整条都收不到。 image

复现

回复消息实现:

image

效果:

带图片的整条消息不显示。

image $Y(62YEWALE H8M}SXV1I%6 image

mirai-core 版本

2.7.1-dev-1

bot-protocol

ANDROID_PHONE

其他组件版本

image image image image

系统日志

暂无

网络日志

暂无

补充信息

图片消息发送好友是正常的。 image image image

Him188 commented 2 years ago

换几张图发试试

Him188 commented 2 years ago

不行就试试 2.10.0

skommando commented 2 years ago

换几张图发试试

换过不同图片,fromlocalfile 和 fromNetworkAddress 都试过,不成功。

skommando commented 2 years ago

不行就试试 2.10.0

2.10.0 遇到另一个问题,400 bad request,之前是因为这个才换成 2.7.0。 日志: [2022-02-14 11:27:32,447][INFO]: 3046594859: [test1(471810731)] 你毛(489289314) -> '[mirai:source:2090,1644809252]3' Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/graia/broadcast/init.py", line 204, in Executor result = await run_always_await_safely( File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/graia/broadcast/utilles.py", line 30, in run_always_await_safely return await callable(*args, kwargs) File "/Users/eric.qiu/codes/git-repos/BFserver-Bot/Group.py", line 108, in pixiv_Group_listener await app.sendGroupMessage(group, MessageChain.create([At(member.id), Plain(" BINGO")]), quote=message[Source][0]) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/graia/application/init.py", line 67, in wrapped_network_action_callable return await network_action_callable(self, *args, *kwargs) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/graia/application/utilles.py", line 27, in wrapper return await func(self, args, kwargs) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/graia/application/init.py", line 644, in sendGroupMessage response.raise_for_status() File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/aiohttp/client_reqrep.py", line 1004, in raise_for_status raise ClientResponseError( aiohttp.client_exceptions.ClientResponseError: 400, message='Bad Request', url=URL('http://localhost:8081/sendGroupMessage')

发任何消息都会报这个问题。

我是从这里得到提示降版本的。 https://mirai.mamoe.net/topic/369/python%E6%80%8E%E6%A0%B7-%E5%85%A8%E4%BD%93%E6%88%90%E5%91%98/8?lang=zh-CN

Him188 commented 2 years ago

mirai的更新是向下兼容的, mirai-api-http v1.12 基于 2.7 开发但理论上也会支持所有 2.7 及以后的版本. @ryoii any ideas?

ryoii commented 2 years ago

只有有限情况下会返回 http 400 的状态码,而且这个时候 response body 应该是有数据的。两个方面去调试,试下能否从你使用的SDK内取到报错返回的数据,确定是什么地方导致了请求错误。第二,尝试使用原生的 http 接口发送请求

Karlatemp commented 2 years ago

群图片发送问题早已在 2.8.0-M1, 2.9.1 修复,请更新, 关于 http 400 的问题请开启 mirai-api-http 的 debug log 并报告至 mirai-api-http