From 7bda8f20dd4b1013dd7008c76bdc57a14fb538eb Mon Sep 17 00:00:00 2001 From: Redmomn <109732988+Redmomn@users.noreply.github.com> Date: Mon, 6 Apr 2026 12:29:38 +0800 Subject: [PATCH 1/3] [Core] fix group image send --- .../Services/Message/NTV2RichMediaUploadService.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Lagrange.Core/Internal/Services/Message/NTV2RichMediaUploadService.cs b/Lagrange.Core/Internal/Services/Message/NTV2RichMediaUploadService.cs index 451e7614..85e145fb 100644 --- a/Lagrange.Core/Internal/Services/Message/NTV2RichMediaUploadService.cs +++ b/Lagrange.Core/Internal/Services/Message/NTV2RichMediaUploadService.cs @@ -73,7 +73,7 @@ private protected override Task ProcessRequest(ImageUploadEven Video = new VideoExtBizInfo { BytesPbReserve = [] }, Ptt = new PttExtBizInfo { BytesReserve = [], BytesPbReserve = [], BytesGeneralFlags = [] } }; - return Task.FromResult(NTV2RichMedia.BuildUploadReq(request.Message, request.Entity, ext)); + return Task.FromResult(NTV2RichMedia.BuildUploadReq(request.Message, request.Entity, ext, 1)); } private protected override Task ProcessResponse(NTV2RichMediaResp response, BotContext context) @@ -102,7 +102,7 @@ private protected override Task ProcessRequest(ImageGroupUploa Video = new VideoExtBizInfo { BytesPbReserve = [] }, Ptt = new PttExtBizInfo { BytesReserve = [], BytesPbReserve = [], BytesGeneralFlags = [] } }; - return Task.FromResult(NTV2RichMedia.BuildUploadReq(request.Message, request.Entity, ext)); + return Task.FromResult(NTV2RichMedia.BuildUploadReq(request.Message, request.Entity, ext, 2)); } private protected override Task ProcessResponse(NTV2RichMediaResp response, BotContext context) @@ -132,7 +132,7 @@ private protected override Task ProcessRequest(RecordUploadEve BytesGeneralFlags = [0x9a, 0x01, 0x0b, 0xaa, 0x03, 0x08, 0x08, 0x04, 0x12, 0x04, 0x00, 0x00, 0x00, 0x00] } }; - return Task.FromResult(NTV2RichMedia.BuildUploadReq(request.Message, request.Entity, ext)); + return Task.FromResult(NTV2RichMedia.BuildUploadReq(request.Message, request.Entity, ext, 1)); } private protected override Task ProcessResponse(NTV2RichMediaResp response, BotContext context) @@ -162,7 +162,7 @@ private protected override Task ProcessRequest(RecordGroupUplo BytesGeneralFlags = [0x9a, 0x01, 0x07, 0xaa, 0x03, 0x04, 0x08, 0x08, 0x12, 0x00] } }; - return Task.FromResult(NTV2RichMedia.BuildUploadReq(request.Message, request.Entity, ext)); + return Task.FromResult(NTV2RichMedia.BuildUploadReq(request.Message, request.Entity, ext, 2)); } private protected override Task ProcessResponse(NTV2RichMediaResp response, BotContext context) @@ -189,7 +189,7 @@ private protected override Task ProcessRequest(VideoUploadEven }; var entity = (VideoEntity)request.Entity; ArgumentNullException.ThrowIfNull(entity.ThumbnailEntity); - return Task.FromResult(NTV2RichMedia.BuildUploadReq(request.Message, request.Entity, ext, (100, entity.ThumbnailEntity))); + return Task.FromResult(NTV2RichMedia.BuildUploadReq(request.Message, request.Entity, ext, 1, (100, entity.ThumbnailEntity))); } private protected override Task ProcessResponse(NTV2RichMediaResp response, BotContext context) @@ -216,7 +216,7 @@ private protected override Task ProcessRequest(VideoGroupUploa }; var entity = (VideoEntity)request.Entity; ArgumentNullException.ThrowIfNull(entity.ThumbnailEntity); - return Task.FromResult(NTV2RichMedia.BuildUploadReq(request.Message, request.Entity, ext, (100, entity.ThumbnailEntity))); + return Task.FromResult(NTV2RichMedia.BuildUploadReq(request.Message, request.Entity, ext, 2, (100, entity.ThumbnailEntity))); } private protected override Task ProcessResponse(NTV2RichMediaResp response, BotContext context) From 02451ad5b1fee3851b829b77f56b527a367c5729 Mon Sep 17 00:00:00 2001 From: Redmomn <109732988+Redmomn@users.noreply.github.com> Date: Mon, 6 Apr 2026 12:39:06 +0800 Subject: [PATCH 2/3] Revert "[Core] fix group image send" This reverts commit 7bda8f20dd4b1013dd7008c76bdc57a14fb538eb. --- .../Services/Message/NTV2RichMediaUploadService.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Lagrange.Core/Internal/Services/Message/NTV2RichMediaUploadService.cs b/Lagrange.Core/Internal/Services/Message/NTV2RichMediaUploadService.cs index 85e145fb..451e7614 100644 --- a/Lagrange.Core/Internal/Services/Message/NTV2RichMediaUploadService.cs +++ b/Lagrange.Core/Internal/Services/Message/NTV2RichMediaUploadService.cs @@ -73,7 +73,7 @@ private protected override Task ProcessRequest(ImageUploadEven Video = new VideoExtBizInfo { BytesPbReserve = [] }, Ptt = new PttExtBizInfo { BytesReserve = [], BytesPbReserve = [], BytesGeneralFlags = [] } }; - return Task.FromResult(NTV2RichMedia.BuildUploadReq(request.Message, request.Entity, ext, 1)); + return Task.FromResult(NTV2RichMedia.BuildUploadReq(request.Message, request.Entity, ext)); } private protected override Task ProcessResponse(NTV2RichMediaResp response, BotContext context) @@ -102,7 +102,7 @@ private protected override Task ProcessRequest(ImageGroupUploa Video = new VideoExtBizInfo { BytesPbReserve = [] }, Ptt = new PttExtBizInfo { BytesReserve = [], BytesPbReserve = [], BytesGeneralFlags = [] } }; - return Task.FromResult(NTV2RichMedia.BuildUploadReq(request.Message, request.Entity, ext, 2)); + return Task.FromResult(NTV2RichMedia.BuildUploadReq(request.Message, request.Entity, ext)); } private protected override Task ProcessResponse(NTV2RichMediaResp response, BotContext context) @@ -132,7 +132,7 @@ private protected override Task ProcessRequest(RecordUploadEve BytesGeneralFlags = [0x9a, 0x01, 0x0b, 0xaa, 0x03, 0x08, 0x08, 0x04, 0x12, 0x04, 0x00, 0x00, 0x00, 0x00] } }; - return Task.FromResult(NTV2RichMedia.BuildUploadReq(request.Message, request.Entity, ext, 1)); + return Task.FromResult(NTV2RichMedia.BuildUploadReq(request.Message, request.Entity, ext)); } private protected override Task ProcessResponse(NTV2RichMediaResp response, BotContext context) @@ -162,7 +162,7 @@ private protected override Task ProcessRequest(RecordGroupUplo BytesGeneralFlags = [0x9a, 0x01, 0x07, 0xaa, 0x03, 0x04, 0x08, 0x08, 0x12, 0x00] } }; - return Task.FromResult(NTV2RichMedia.BuildUploadReq(request.Message, request.Entity, ext, 2)); + return Task.FromResult(NTV2RichMedia.BuildUploadReq(request.Message, request.Entity, ext)); } private protected override Task ProcessResponse(NTV2RichMediaResp response, BotContext context) @@ -189,7 +189,7 @@ private protected override Task ProcessRequest(VideoUploadEven }; var entity = (VideoEntity)request.Entity; ArgumentNullException.ThrowIfNull(entity.ThumbnailEntity); - return Task.FromResult(NTV2RichMedia.BuildUploadReq(request.Message, request.Entity, ext, 1, (100, entity.ThumbnailEntity))); + return Task.FromResult(NTV2RichMedia.BuildUploadReq(request.Message, request.Entity, ext, (100, entity.ThumbnailEntity))); } private protected override Task ProcessResponse(NTV2RichMediaResp response, BotContext context) @@ -216,7 +216,7 @@ private protected override Task ProcessRequest(VideoGroupUploa }; var entity = (VideoEntity)request.Entity; ArgumentNullException.ThrowIfNull(entity.ThumbnailEntity); - return Task.FromResult(NTV2RichMedia.BuildUploadReq(request.Message, request.Entity, ext, 2, (100, entity.ThumbnailEntity))); + return Task.FromResult(NTV2RichMedia.BuildUploadReq(request.Message, request.Entity, ext, (100, entity.ThumbnailEntity))); } private protected override Task ProcessResponse(NTV2RichMediaResp response, BotContext context) From 591481a01e5a93530ab0c14cba76bd227c75b52e Mon Sep 17 00:00:00 2001 From: Redmomn <109732988+Redmomn@users.noreply.github.com> Date: Mon, 6 Apr 2026 12:42:56 +0800 Subject: [PATCH 3/3] fix --- Lagrange.Core/Internal/Packets/Service/NTV2RichMedia.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lagrange.Core/Internal/Packets/Service/NTV2RichMedia.cs b/Lagrange.Core/Internal/Packets/Service/NTV2RichMedia.cs index 42e73aae..d5fc857b 100644 --- a/Lagrange.Core/Internal/Packets/Service/NTV2RichMedia.cs +++ b/Lagrange.Core/Internal/Packets/Service/NTV2RichMedia.cs @@ -47,7 +47,7 @@ public static NTV2RichMediaReq BuildUploadReq( TryFastUploadCompleted = true, SrvSendMsg = false, ClientRandomId = (ulong)Random.Shared.Next(), - CompatQMsgSceneType = 1, + CompatQMsgSceneType = @struct.IsGroup()? 2u : 1u , ClientSeq = 10, ExtBizInfo = ext, NoNeedCompatMsg = false