Mirai-CSharp
Mirai-CSharp copied to clipboard
p站图片消息撤回失败
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
似乎是 @GardenHamster 所作 Theresa3rd-Bot 项目中发生的问题 我也调查一下好了
在这之前,麻烦先把环境信息提供一下: mirai版本、mirai-api-http版本、Theresa3rd-Bot版本
mcl-2.1.1 mirai-api-http-2.6.2 Theresa3rd-Bot的版本请问可以在哪里看到?
应该不用了, 这个是由于自 mirai-api-http
2.6.0版本起, 其要求调用获取指定ID消息接口、设置群精华消息接口、撤回消息接口时传入消息所在的群号/好友QQ导致的。
我将为这些方法添加重载,并在原来的方法上添加 ObsoleteAttribute
警告开发者,在原方法的实现中判断 mirai-api-http
的版本号, 若其大于等于2.6.0则抛出 NotSupportedException
好的谢谢
在我发布新版本之前, 你可以考虑降低 mirai-api-http
的版本至 2.6.0 以下来暂时解决此问题。可能也需要降低 mirai 相关组件的版本
应该不用了, 这个是由于自
mirai-api-http
2.6.0版本起, 其要求调用获取指定ID消息接口、设置群精华消息接口、撤回消息接口时传入消息所在的群号/好友QQ导致的。 我将为这些方法添加重载,并在原来的方法上添加ObsoleteAttribute
警告开发者,在原方法的实现中判断mirai-api-http
的版本号, 若其大于等于2.6.0则抛出NotSupportedException
收到,辛苦大佬了
mcl-2.1.1 mirai-api-http-2.6.2 Theresa3rd-Bot的版本请问可以在哪里看到?
等过几天我发一下新的版本,然后更新一下就好了
已在 Executor-Cheng/Mirai-CSharp@ca55af3e94925764e24c7eaacb68c872493795b1 中完成修复
大佬有空发布一下新的包
大佬有空发布一下新的包
2.1.9 的计划尚未完成, 我已发preview版的 2.1.9-preview.1
需要注意的是, 此版本起已从 Mirai-CSharp.HttpApi
中移除对 SkiaSharp
, Mirai-CSharp.NativeAssets.*
的依赖, 用户需自行选择是否加入对图片以及语音的转换功能, 不选择就按原样发送, 可添加 Mirai-CSharp.ImageConverter
, Mirai-CSharp.VoiceConverter
用于处理图片和语音。使用 AddSkiasharpImageConverter
和 AddSilkLameVoiceConverter
即可完成功能注册
使用
Mirai-CSharp.VoiceConverter
包时, 需要自行根据目标操作系统添加Mirai-CSharp.NativeAssets.Win32
,Mirai-CSharp.NativeAssets.Linux
或Mirai-CSharp.NativeAssets.LinuxArm
的依赖
明白了,顺便问一下SkiasharpImageConverter的作用是什么
明白了,顺便问一下SkiasharpImageConverter的作用是什么
使用 SkiaSharp 对非png/jpg/gif的图片转换到png后再进行发送
懂了,谢谢佬
弱弱问下佬,发送临时消息的时候要同时传入目标qq和群号,那么撤回临时消息的时候是传人号还是群号?
弱弱问下佬,发送临时消息的时候要同时传入目标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
字段
弱弱问下佬,发送临时消息的时候要同时传入目标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
谢谢佬
related to #138