diff --git a/Lagrange.Core/Message/Entity/ForwardEntity.cs b/Lagrange.Core/Message/Entity/ForwardEntity.cs index 9db443713..d75eb077c 100644 --- a/Lagrange.Core/Message/Entity/ForwardEntity.cs +++ b/Lagrange.Core/Message/Entity/ForwardEntity.cs @@ -38,13 +38,12 @@ public ForwardEntity(MessageChain chain) Chain = chain; } - IEnumerable IMessageEntity.PackElement() => PackElement(true); + IEnumerable IMessageEntity.PackElement() => PackElement(false); - IEnumerable IMessageEntity.PackFakeElement() => PackElement(false); + IEnumerable IMessageEntity.PackFakeElement() => PackElement(true); - IEnumerable PackElement(bool additional) + IEnumerable PackElement(bool fake) { - byte[] bytes = ProtoExt.SerializeToBytes(MessagePacker.BuildFake(Chain, _selfUid)); var result = new List { new() { SrcMsg = new SrcMsg { @@ -57,13 +56,13 @@ IEnumerable PackElement(bool additional) MessageId = MessageId, SenderUid = Uid, }), - SourceMsg = !additional ? bytes : null, + SourceMsg = fake ? ProtoExt.SerializeToBytes(MessagePacker.BuildFake(Chain, _selfUid)) : null, ToUin = 0 } }, }; - if (additional && ClientSequence != 0) + if (!fake && ClientSequence == 0) { result.Add(new Elem { @@ -72,8 +71,8 @@ IEnumerable PackElement(bool additional) Str = "not null", PbReserve = ProtoExt.SerializeToBytes(new MentionExtra { - Type = 1, - Uin = TargetUin, + Type = 2, + Uid = Chain.Uid!, }) } });