Skip to content

Conversation

vintcessun
Copy link
Contributor

在开发时发现ToReadableStringEle函数没有对于所有类型进行枚举,这里修改了部分顺序,添加了两个没有枚举的类型,以保持和这个一样的枚举方向:
const (
Text ElementType = iota // 文本
Image // 图片
Face // 表情
At // 艾特
Reply // 回复
Service // 服务
Forward // 转发
File // 文件
Voice // 语音
Video // 视频
LightApp // 轻应用
RedBag // 红包
MarketFace // 魔法表情
)

@vintcessun vintcessun changed the title [FIX] ToReadableStringEle函数的枚举没有包含所有类型的消息 [FIX] ToReadableStringEle函数的枚举没有包含所有类型的消息、添加了能够JSON序列化群聊、私聊、临时消息的接口 Oct 1, 2025
@vintcessun vintcessun changed the title [FIX] ToReadableStringEle函数的枚举没有包含所有类型的消息、添加了能够JSON序列化群聊、私聊、临时消息的接口 [FIX] 修复了ToReadableStringEle函数的枚举没有包含所有类型的消息、添加了能够JSON序列化群聊、私聊、临时消息的接口 Oct 1, 2025
@vintcessun
Copy link
Contributor Author

在开发的时候发现go的interface{}方式对于JSON反射的序列化和反序列化添加了不便使得不能直接的使用JSON进行序列化和反序列化,所以考虑添加一个接口代替原本默认的反射以使得类型能够被识别,但是代价是略微增加JSON体积

@vintcessun vintcessun changed the title [FIX] 修复了ToReadableStringEle函数的枚举没有包含所有类型的消息、添加了能够JSON序列化群聊、私聊、临时消息的接口 [FIX] 添加JSON序列化反序列化接口,修复若干问题 Oct 4, 2025
@vintcessun
Copy link
Contributor Author

vintcessun commented Oct 4, 2025

现在修复了FetchForwardMsg函数的问题:传递的Uin不对

@vintcessun
Copy link
Contributor Author

另外还有一个问题:FetchFriend函数已经保持了和Lagrange.Core完全相同的逻辑为什么还是获得消息失败?
https://github.com/LagrangeDev/Lagrange.Core/blob/master/Lagrange.Core/Internal/Packets/Service/Oidb/Request/OidbSvcTrpcTcp0xFD4_1.cs#L14
https://github.com/LagrangeDev/Lagrange.Core/blob/master/Lagrange.Core/Internal/Service/System/FetchFriendsService.cs#L23
已经保持了和这两个文件完全相同的协议了但是还是还是无法获得消息,感觉可能和这个相似:LagrangeDev/Lagrange.Core#889

@vintcessun
Copy link
Contributor Author

并且我发现PreprocessPrivateMessageEvent函数不及时返回也和这个有关系,如果这个确实无法正常的请求能否考虑使用别的方法来修复这个底层协议?

@vintcessun
Copy link
Contributor Author

还有两个协议我修改为和Lagrange.Core相同的形式仍然无法正常请求:BuildGroupRecordDownloadReq、BuildGroupVideoDownloadReq

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant