Skip to content

Commit e69b90c

Browse files
committed
[Core] Fix Sequence exceeds int in certain cases And ReSharper Shut Up
1 parent a55157a commit e69b90c

9 files changed

Lines changed: 16 additions & 16 deletions

File tree

Lagrange.Core/Events/EventArgs/BotGroupNudgeEvent.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
namespace Lagrange.Core.Events.EventArgs;
22

3-
public class BotGroupNudgeEvent(Int64 groupUin, Int64 operatorUin, Int64 targetUin) : EventBase
3+
public class BotGroupNudgeEvent(long groupUin, long operatorUin, long targetUin) : EventBase
44
{
5-
public Int64 GroupUin { get; } = groupUin;
5+
public long GroupUin { get; } = groupUin;
66

7-
public Int64 OperatorUin { get; } = operatorUin;
7+
public long OperatorUin { get; } = operatorUin;
88

9-
public Int64 TargetUin { get; } = targetUin;
9+
public long TargetUin { get; } = targetUin;
1010

1111
public override string ToEventMessage()
1212
{

Lagrange.Core/Internal/Events/Message/SendMessageEvent.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@ internal class SendFriendFileEventReq(BotFriend friend, FileUploadEventReq reque
2222
public uint Sequence { get; } = sequence;
2323
}
2424

25-
internal class SendMessageEventResp(int result, long sendTime, int sequence) : ProtocolEvent
25+
internal class SendMessageEventResp(int result, long sendTime, ulong sequence) : ProtocolEvent
2626
{
2727
public int Result { get; } = result;
2828

2929
public long SendTime { get; } = sendTime;
3030

31-
public int Sequence { get; } = sequence;
31+
public ulong Sequence { get; } = sequence;
3232
}

Lagrange.Core/Internal/Logic/PushLogic.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ public async ValueTask Incoming(ProtocolEvent e)
174174
case Event0x2DCSubType.GroupGreyTipNotice20 when messageEvent.MsgPush.CommonMessage.MessageBody.MsgContent is { } content:
175175
{
176176
var packet = new BinaryPacket(content);
177-
Int64 groupUin = packet.Read<Int32>(); // group uin
177+
long groupUin = packet.Read<int>(); // group uin
178178
_ = packet.Read<byte>(); // unknown byte
179179
var proto = packet.ReadBytes(Prefix.Int16 | Prefix.LengthOnly);
180180
var greyTip = ProtoHelper.Deserialize<NotifyMessageBody>(proto);

Lagrange.Core/Internal/Packets/Message/Elem.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,7 @@ internal partial class VideoFile
278278
[ProtoPackable]
279279
internal partial class SourceMsg
280280
{
281-
[ProtoMember(1)] public uint[] OrigSeqs { get; set; } // 原消息seq
281+
[ProtoMember(1)] public ulong[] OrigSeqs { get; set; } // 原消息seq
282282

283283
[ProtoMember(2)] public ulong SenderUin { get; set; } // 所属发送者uin
284284

Lagrange.Core/Internal/Packets/Message/NTMessageCommon.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ internal partial class ContentHead
2525

2626
[ProtoMember(4)] public uint Random { get; set; }
2727

28-
[ProtoMember(5)] public int Sequence { get; set; } // msg_seq
28+
[ProtoMember(5)] public ulong Sequence { get; set; } // msg_seq
2929

3030
[ProtoMember(6)] public long Time { get; set; }
3131

Lagrange.Core/Internal/Packets/Message/NTSendMessage.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ internal partial class PbSendMsgResp
2929

3030
[ProtoMember(10)] public uint MsgInfoFlag { get; set; }
3131

32-
[ProtoMember(11)] public int Sequence { get; set; }
32+
[ProtoMember(11)] public ulong Sequence { get; set; }
3333

34-
[ProtoMember(14)] public int ClientSequence { get; set; }
34+
[ProtoMember(14)] public ulong ClientSequence { get; set; }
3535
}
3636

3737
[ProtoPackable]

Lagrange.Core/Internal/Services/Message/SendMessageService.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ protected override ValueTask<ReadOnlyMemory<byte>> Build(ProtocolEvent input, Bo
3535
protected override ValueTask<ProtocolEvent> Parse(ReadOnlyMemory<byte> input, BotContext context)
3636
{
3737
var response = ProtoHelper.Deserialize<PbSendMsgResp>(input.Span);
38-
int sequence = response.ClientSequence == 0 ? response.Sequence : response.ClientSequence;
38+
ulong sequence = response.ClientSequence == 0 ? response.Sequence : response.ClientSequence;
3939
return new ValueTask<ProtocolEvent>(new SendMessageEventResp(response.Result, response.SendTime, sequence));
4040
}
4141
}

Lagrange.Core/Message/BotMessage.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ internal BotMessage(MessageChain chain, BotContact contact, BotContact receiver,
3939

4040
internal uint Random { get; init; }
4141

42-
public int Sequence { get; set; }
42+
public ulong Sequence { get; set; }
4343

4444
public int ClientSequence { get; init; } = new Random().Next(10000, 99999);
4545
}

Lagrange.Core/Message/Entities/ReplyEntity.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ public class ReplyEntity : IMessageEntity
88
{
99
public ulong SrcUid { get; private init; }
1010

11-
public int SrcSequence { get; private init; }
11+
public ulong SrcSequence { get; private init; }
1212

1313
public BotContact? Source { get; private set; }
1414

@@ -46,7 +46,7 @@ Elem[] IMessageEntity.Build()
4646
{
4747
SrcMsg = new SourceMsg
4848
{
49-
OrigSeqs = [(uint)SrcSequence],
49+
OrigSeqs = [SrcSequence],
5050
SenderUin = 0,
5151
Time = (uint)DateTimeOffset.Now.ToUnixTimeSeconds(),
5252
Flag = 0, // intentional, force the client to fetch the original message
@@ -82,7 +82,7 @@ Elem[] IMessageEntity.Build()
8282
return new ReplyEntity
8383
{
8484
SrcUid = resvAttr.SourceMsgId,
85-
SrcSequence = (int)srcMsg.OrigSeqs[0],
85+
SrcSequence = srcMsg.OrigSeqs[0],
8686
Elems = (srcMsg.Elems ?? []).Select(x => ProtoHelper.Deserialize<Elem>(x.Span)).ToList(),
8787
SourceUin = (long)srcMsg.SenderUin,
8888
};

0 commit comments

Comments
 (0)