Mirai-CSharp icon indicating copy to clipboard operation
Mirai-CSharp copied to clipboard

p站图片消息撤回失败

Open ptlsp123 opened this issue 2 years ago • 17 comments

Log文件记录如下:

2022-10-05 18:25:44,392 [10] ERROR RollingLog [(null)] - sendGeneralPixivImageAsync消息撤回失败
System.ArgumentException: 调用http-api失败, 参数错误, 请到 https://github.com/Executor-Cheng/Mirai-CSharp/issues 下提交issue。
   at Mirai.CSharp.HttpApi.Extensions.ApiResponseExtensions.AsApiRespAsync(Task`1 responseTask, CancellationToken token)
   at Theresa3rd_Bot.Handler.PixivHandler.sendGeneralPixivImageAsync(IMiraiHttpSession session, IGroupMessageEventArgs args, String message) in D:\project\Theresa3rd-Bot\Theresa3rd-Bot\Handler\PixivHandler.cs:line 185

ptlsp123 avatar Oct 05 '22 10:10 ptlsp123

似乎是 @GardenHamster 所作 Theresa3rd-Bot 项目中发生的问题 我也调查一下好了

Executor-Cheng avatar Oct 05 '22 10:10 Executor-Cheng

在这之前,麻烦先把环境信息提供一下: mirai版本、mirai-api-http版本、Theresa3rd-Bot版本

Executor-Cheng avatar Oct 05 '22 10:10 Executor-Cheng

mcl-2.1.1 mirai-api-http-2.6.2 Theresa3rd-Bot的版本请问可以在哪里看到?

ptlsp123 avatar Oct 05 '22 10:10 ptlsp123

应该不用了, 这个是由于自 mirai-api-http 2.6.0版本起, 其要求调用获取指定ID消息接口、设置群精华消息接口、撤回消息接口时传入消息所在的群号/好友QQ导致的。 我将为这些方法添加重载,并在原来的方法上添加 ObsoleteAttribute 警告开发者,在原方法的实现中判断 mirai-api-http 的版本号, 若其大于等于2.6.0则抛出 NotSupportedException

Executor-Cheng avatar Oct 05 '22 10:10 Executor-Cheng

好的谢谢

ptlsp123 avatar Oct 05 '22 10:10 ptlsp123

在我发布新版本之前, 你可以考虑降低 mirai-api-http 的版本至 2.6.0 以下来暂时解决此问题。可能也需要降低 mirai 相关组件的版本

Executor-Cheng avatar Oct 05 '22 10:10 Executor-Cheng

应该不用了, 这个是由于自 mirai-api-http 2.6.0版本起, 其要求调用获取指定ID消息接口、设置群精华消息接口、撤回消息接口时传入消息所在的群号/好友QQ导致的。 我将为这些方法添加重载,并在原来的方法上添加 ObsoleteAttribute 警告开发者,在原方法的实现中判断 mirai-api-http 的版本号, 若其大于等于2.6.0则抛出 NotSupportedException

收到,辛苦大佬了

GardenHamster avatar Oct 05 '22 10:10 GardenHamster

mcl-2.1.1 mirai-api-http-2.6.2 Theresa3rd-Bot的版本请问可以在哪里看到?

等过几天我发一下新的版本,然后更新一下就好了

GardenHamster avatar Oct 05 '22 11:10 GardenHamster

已在 Executor-Cheng/Mirai-CSharp@ca55af3e94925764e24c7eaacb68c872493795b1 中完成修复

Executor-Cheng avatar Oct 08 '22 13:10 Executor-Cheng

大佬有空发布一下新的包

GardenHamster avatar Oct 17 '22 02:10 GardenHamster

大佬有空发布一下新的包

2.1.9 的计划尚未完成, 我已发preview版的 2.1.9-preview.1 需要注意的是, 此版本起已从 Mirai-CSharp.HttpApi 中移除对 SkiaSharp, Mirai-CSharp.NativeAssets.* 的依赖, 用户需自行选择是否加入对图片以及语音的转换功能, 不选择就按原样发送, 可添加 Mirai-CSharp.ImageConverter, Mirai-CSharp.VoiceConverter 用于处理图片和语音。使用 AddSkiasharpImageConverterAddSilkLameVoiceConverter 即可完成功能注册

使用 Mirai-CSharp.VoiceConverter 包时, 需要自行根据目标操作系统添加 Mirai-CSharp.NativeAssets.Win32, Mirai-CSharp.NativeAssets.LinuxMirai-CSharp.NativeAssets.LinuxArm 的依赖

Executor-Cheng avatar Oct 18 '22 01:10 Executor-Cheng

明白了,顺便问一下SkiasharpImageConverter的作用是什么

GardenHamster avatar Oct 18 '22 07:10 GardenHamster

明白了,顺便问一下SkiasharpImageConverter的作用是什么

使用 SkiaSharp 对非png/jpg/gif的图片转换到png后再进行发送

Executor-Cheng avatar Oct 18 '22 14:10 Executor-Cheng

懂了,谢谢佬

GardenHamster avatar Oct 18 '22 15:10 GardenHamster

弱弱问下佬,发送临时消息的时候要同时传入目标qq和群号,那么撤回临时消息的时候是传人号还是群号?

Alex1911-Jiang avatar Oct 27 '22 11:10 Alex1911-Jiang

弱弱问下佬,发送临时消息的时候要同时传入目标qq和群号,那么撤回临时消息的时候是传人号还是群号?

翻了翻应该是传来源QQ号 https://github.com/mamoe/mirai/blob/73293251d1ba265fe6d3529110f58b1ee038dd73/mirai-core-api/src/commonMain/kotlin/event/events/MessageEvent.kt#L104

https://github.com/mamoe/mirai/blob/73293251d1ba265fe6d3529110f58b1ee038dd73/mirai-core-api/src/commonMain/kotlin/event/events/MessageEvent.kt#L214-L218

https://github.com/project-mirai/mirai-api-http/blob/e224ec4bd9d8ef3d8fede1298f739266087c3fda/mirai-api-http/src/main/kotlin/net/mamoe/mirai/api/http/spi/persistence/builtinPersistence.kt#L60

TempMessageEvent 实现 UserMessageEvent, UserMessageEvent 覆写 subjectUser, mirai-api-http 获取缓存消息使用其 subject 字段

Executor-Cheng avatar Oct 28 '22 03:10 Executor-Cheng

弱弱问下佬,发送临时消息的时候要同时传入目标qq和群号,那么撤回临时消息的时候是传人号还是群号?

翻了翻应该是传源QQ号 https://github.com/mamoe/mirai/blob/73293251d1ba265fe6d3529110f58b1ee038dd73/mirai-core-api/src/commonMain/kotlin/event/events/MessageEvent.kt#L104

https://github.com/mamoe/mirai/blob/73293251d1ba265fe6d3529110f58b1ee038dd73/mirai-core-api/src/commonMain/kotlin/event/events/MessageEvent.kt#L214-L218

https://github.com/project-mirai/mirai-api-http/blob/e224ec4bd9d8ef3d8fede1298f739266087c3fda/mirai-api-http/src/main/kotlin/net/mamoe/mirai/api/http/spi/persistence/builtinPersistence.kt#L60

TempMessageEvent 实现 , 覆写 为 , 获取缓存消息使用其 字段UserMessageEvent``UserMessageEvent``subject``User``mirai-api-http``subject

谢谢佬

Alex1911-Jiang avatar Oct 29 '22 01:10 Alex1911-Jiang

related to #138

Executor-Cheng avatar Dec 31 '22 16:12 Executor-Cheng