diff --git a/Lagrange.Core/Internal/Context/Logic/Implementation/OperationLogic.cs b/Lagrange.Core/Internal/Context/Logic/Implementation/OperationLogic.cs index c299c4783..0560fd277 100644 --- a/Lagrange.Core/Internal/Context/Logic/Implementation/OperationLogic.cs +++ b/Lagrange.Core/Internal/Context/Logic/Implementation/OperationLogic.cs @@ -39,7 +39,7 @@ public Task> FetchGroups(bool refreshCache) => public async Task SendMessage(MessageChain chain) { - uint clientSeq = chain.ClientSequence; + ulong clientSeq = chain.ClientSequence; ulong messageId = chain.MessageId; var sendMessageEvent = SendMessageEvent.Create(chain); @@ -601,7 +601,7 @@ public async Task SetFriendRequest(string targetUid, bool accept) return results.Count != 0 ? ((MultiMsgUploadEvent)results[0]).ResId : null; } - public async Task MarkAsRead(uint groupUin, string? targetUid, uint startSequence, uint time) + public async Task MarkAsRead(uint groupUin, string? targetUid, ulong startSequence, uint time) { var markAsReadEvent = MarkReadedEvent.Create(groupUin, targetUid, startSequence, time); var results = await Collection.Business.SendEvent(markAsReadEvent); @@ -614,14 +614,14 @@ public async Task SendPoke(bool isGroup, uint peerUin, uint? targetUin = n return results.Count != 0 && results[0].ResultCode == 0; } - public async Task SetEssenceMessage(uint groupUin, uint sequence, uint random) + public async Task SetEssenceMessage(uint groupUin, ulong sequence, uint random) { var setEssenceMessageEvent = SetEssenceMessageEvent.Create(groupUin, sequence, random); var results = await Collection.Business.SendEvent(setEssenceMessageEvent); return results.Count != 0 && ((SetEssenceMessageEvent)results[0]).ResultCode == 0; } - public async Task RemoveEssenceMessage(uint groupUin, uint sequence, uint random) + public async Task RemoveEssenceMessage(uint groupUin, ulong sequence, uint random) { var removeEssenceMessageEvent = RemoveEssenceMessageEvent.Create(groupUin, sequence, random); var results = await Collection.Business.SendEvent(removeEssenceMessageEvent); diff --git a/Lagrange.Core/Internal/Event/Message/GetC2cMessageEvent.cs b/Lagrange.Core/Internal/Event/Message/GetC2cMessageEvent.cs index 0158d4369..5d2a65c85 100644 --- a/Lagrange.Core/Internal/Event/Message/GetC2cMessageEvent.cs +++ b/Lagrange.Core/Internal/Event/Message/GetC2cMessageEvent.cs @@ -6,13 +6,13 @@ internal class GetC2cMessageEvent : ProtocolEvent { public string FriendUid { get; } = string.Empty; - public uint StartSequence { get; } + public ulong StartSequence { get; } - public uint EndSequence { get; } + public ulong EndSequence { get; } public List Chains { get; } = new(); - private GetC2cMessageEvent(string friendUid, uint startSequence, uint endSequence) : base(true) + private GetC2cMessageEvent(string friendUid, ulong startSequence, ulong endSequence) : base(true) { FriendUid = friendUid; StartSequence = startSequence; @@ -24,7 +24,7 @@ private GetC2cMessageEvent(int retcode, List chains) : base(retcod Chains = chains; } - public static GetC2cMessageEvent Create(string friendUid, uint startSequence, uint endSequence) + public static GetC2cMessageEvent Create(string friendUid, ulong startSequence, ulong endSequence) => new(friendUid, startSequence, endSequence); public static GetC2cMessageEvent Result(int retcode, List chains) diff --git a/Lagrange.Core/Internal/Event/Message/GetGroupMessageEvent.cs b/Lagrange.Core/Internal/Event/Message/GetGroupMessageEvent.cs index 47fe65deb..5096983cc 100644 --- a/Lagrange.Core/Internal/Event/Message/GetGroupMessageEvent.cs +++ b/Lagrange.Core/Internal/Event/Message/GetGroupMessageEvent.cs @@ -6,13 +6,13 @@ internal class GetGroupMessageEvent : ProtocolEvent { public uint GroupUin { get; } - public uint StartSequence { get; } + public ulong StartSequence { get; } - public uint EndSequence { get; } + public ulong EndSequence { get; } public List Chains { get; } = new(); - private GetGroupMessageEvent(uint groupUin, uint startSequence, uint endSequence) : base(true) + private GetGroupMessageEvent(uint groupUin, ulong startSequence, ulong endSequence) : base(true) { GroupUin = groupUin; StartSequence = startSequence; @@ -24,7 +24,7 @@ private GetGroupMessageEvent(int resultCode, List chains) : base(r Chains = chains; } - public static GetGroupMessageEvent Create(uint groupUin, uint startSequence, uint endSequence) + public static GetGroupMessageEvent Create(uint groupUin, ulong startSequence, ulong endSequence) => new(groupUin, startSequence, endSequence); public static GetGroupMessageEvent Result(int resultCode, List chains) diff --git a/Lagrange.Core/Internal/Event/Message/MarkReadedEvent.cs b/Lagrange.Core/Internal/Event/Message/MarkReadedEvent.cs index 1a5667626..121a0da56 100644 --- a/Lagrange.Core/Internal/Event/Message/MarkReadedEvent.cs +++ b/Lagrange.Core/Internal/Event/Message/MarkReadedEvent.cs @@ -6,11 +6,11 @@ internal class MarkReadedEvent : ProtocolEvent public string? TargetUid { get; } - public uint StartSequence { get; } + public ulong StartSequence { get; } public uint Time { get; } - private MarkReadedEvent(uint groupUin, string? targetUid, uint startSequence, uint time) : base(true) + private MarkReadedEvent(uint groupUin, string? targetUid, ulong startSequence, uint time) : base(true) { GroupUin = groupUin; TargetUid = targetUid; @@ -20,7 +20,7 @@ private MarkReadedEvent(uint groupUin, string? targetUid, uint startSequence, ui private MarkReadedEvent(int resultCode) : base(resultCode) { } - public static MarkReadedEvent Create(uint groupUin, string? targetUid, uint startSequence, uint time) => + public static MarkReadedEvent Create(uint groupUin, string? targetUid, ulong startSequence, uint time) => new(groupUin, targetUid, startSequence, time); public static MarkReadedEvent Result(int resultCode) => new(resultCode); diff --git a/Lagrange.Core/Internal/Event/Message/RecallFriendMessageEvent.cs b/Lagrange.Core/Internal/Event/Message/RecallFriendMessageEvent.cs index f084fd27c..01fe18c9a 100644 --- a/Lagrange.Core/Internal/Event/Message/RecallFriendMessageEvent.cs +++ b/Lagrange.Core/Internal/Event/Message/RecallFriendMessageEvent.cs @@ -4,15 +4,15 @@ internal class RecallFriendMessageEvent : ProtocolEvent { public string TargetUid { get; } = string.Empty; - public uint ClientSeq { get; } + public ulong ClientSeq { get; } - public uint MessageSeq { get; } + public ulong MessageSeq { get; } public uint Random { get; } public uint Timestamp { get; } - private RecallFriendMessageEvent(string targetUid, uint clientSeq, uint messageSeq, uint random, uint timestamp) : base(true) + private RecallFriendMessageEvent(string targetUid, ulong clientSeq, ulong messageSeq, uint random, uint timestamp) : base(true) { TargetUid = targetUid; MessageSeq = messageSeq; @@ -23,7 +23,7 @@ private RecallFriendMessageEvent(string targetUid, uint clientSeq, uint messageS private RecallFriendMessageEvent(int resultCode) : base(resultCode) { } - public static RecallFriendMessageEvent Create(string targetUid, uint clientSeq, uint messageSeq, uint random, uint timestamp) => + public static RecallFriendMessageEvent Create(string targetUid, ulong clientSeq, ulong messageSeq, uint random, uint timestamp) => new(targetUid, clientSeq, messageSeq, random, timestamp); public static RecallFriendMessageEvent Result(int resultCode) => new(resultCode); diff --git a/Lagrange.Core/Internal/Event/Message/RecallGroupMessageEvent.cs b/Lagrange.Core/Internal/Event/Message/RecallGroupMessageEvent.cs index 6a4c24d2c..46a0e713b 100644 --- a/Lagrange.Core/Internal/Event/Message/RecallGroupMessageEvent.cs +++ b/Lagrange.Core/Internal/Event/Message/RecallGroupMessageEvent.cs @@ -4,9 +4,9 @@ internal class RecallGroupMessageEvent : ProtocolEvent { public uint GroupUin { get; set; } - public uint Sequence { get; set; } + public ulong Sequence { get; set; } - private RecallGroupMessageEvent(uint sequence, uint groupUin) : base(true) + private RecallGroupMessageEvent(ulong sequence, uint groupUin) : base(true) { Sequence = sequence; GroupUin = groupUin; @@ -14,7 +14,7 @@ private RecallGroupMessageEvent(uint sequence, uint groupUin) : base(true) private RecallGroupMessageEvent(int resultCode) : base(resultCode) { } - public static RecallGroupMessageEvent Create(uint groupUin, uint sequence) => + public static RecallGroupMessageEvent Create(uint groupUin, ulong sequence) => new(sequence, groupUin); public static RecallGroupMessageEvent Result(int resultCode) => new(resultCode); diff --git a/Lagrange.Core/Internal/Event/Message/RemoveEssenceMessageEvent.cs b/Lagrange.Core/Internal/Event/Message/RemoveEssenceMessageEvent.cs index cb4b7c27e..99f89a94e 100644 --- a/Lagrange.Core/Internal/Event/Message/RemoveEssenceMessageEvent.cs +++ b/Lagrange.Core/Internal/Event/Message/RemoveEssenceMessageEvent.cs @@ -4,11 +4,11 @@ internal class RemoveEssenceMessageEvent : ProtocolEvent { public uint GroupUin { get; } - public uint Sequence { get; } + public ulong Sequence { get; } public uint Random { get; } - private RemoveEssenceMessageEvent(uint groupUin, uint sequence, uint random) : base(true) + private RemoveEssenceMessageEvent(uint groupUin, ulong sequence, uint random) : base(true) { GroupUin = groupUin; Sequence = sequence; @@ -17,7 +17,7 @@ private RemoveEssenceMessageEvent(uint groupUin, uint sequence, uint random) : b private RemoveEssenceMessageEvent(int resultCode) : base(resultCode) { } - public static RemoveEssenceMessageEvent Create(uint groupUin, uint sequence, uint random) + public static RemoveEssenceMessageEvent Create(uint groupUin, ulong sequence, uint random) => new(groupUin, sequence, random); public static RemoveEssenceMessageEvent Result(int resultCode) diff --git a/Lagrange.Core/Internal/Event/Message/SetEssenceMessageEvent.cs b/Lagrange.Core/Internal/Event/Message/SetEssenceMessageEvent.cs index 36cb14278..73ceffa30 100644 --- a/Lagrange.Core/Internal/Event/Message/SetEssenceMessageEvent.cs +++ b/Lagrange.Core/Internal/Event/Message/SetEssenceMessageEvent.cs @@ -4,11 +4,11 @@ internal class SetEssenceMessageEvent : ProtocolEvent { public uint GroupUin { get; } - public uint Sequence { get; } + public ulong Sequence { get; } public uint Random { get; } - private SetEssenceMessageEvent(uint groupUin, uint sequence, uint random) : base(true) + private SetEssenceMessageEvent(uint groupUin, ulong sequence, uint random) : base(true) { GroupUin = groupUin; Sequence = sequence; @@ -17,7 +17,7 @@ private SetEssenceMessageEvent(uint groupUin, uint sequence, uint random) : base private SetEssenceMessageEvent(int resultCode) : base(resultCode) { } - public static SetEssenceMessageEvent Create(uint groupUin, uint sequence, uint random) + public static SetEssenceMessageEvent Create(uint groupUin, ulong sequence, uint random) => new(groupUin, sequence, random); public static SetEssenceMessageEvent Result(int resultCode) diff --git a/Lagrange.Core/Internal/Packets/Message/Action/SsoGetC2cMsg.cs b/Lagrange.Core/Internal/Packets/Message/Action/SsoGetC2cMsg.cs index 63aedf6b4..60b51f664 100644 --- a/Lagrange.Core/Internal/Packets/Message/Action/SsoGetC2cMsg.cs +++ b/Lagrange.Core/Internal/Packets/Message/Action/SsoGetC2cMsg.cs @@ -10,7 +10,7 @@ internal class SsoGetC2cMsg { [ProtoMember(2)] public string? FriendUid { get; set; } - [ProtoMember(3)] public uint StartSequence { get; set; } + [ProtoMember(3)] public ulong StartSequence { get; set; } - [ProtoMember(4)] public uint EndSequence { get; set; } + [ProtoMember(4)] public ulong EndSequence { get; set; } } \ No newline at end of file diff --git a/Lagrange.Core/Internal/Packets/Message/Action/SsoGetGroupMsg.cs b/Lagrange.Core/Internal/Packets/Message/Action/SsoGetGroupMsg.cs index 13671d4dc..6dc256f7a 100644 --- a/Lagrange.Core/Internal/Packets/Message/Action/SsoGetGroupMsg.cs +++ b/Lagrange.Core/Internal/Packets/Message/Action/SsoGetGroupMsg.cs @@ -20,7 +20,7 @@ internal class SsoGetGroupMsgInfo { [ProtoMember(1)] public uint GroupUin { get; set; } - [ProtoMember(2)] public uint StartSequence { get; set; } + [ProtoMember(2)] public ulong StartSequence { get; set; } - [ProtoMember(3)] public uint EndSequence { get; set; } + [ProtoMember(3)] public ulong EndSequence { get; set; } } \ No newline at end of file diff --git a/Lagrange.Core/Internal/Packets/Message/C2CRecallMsg.cs b/Lagrange.Core/Internal/Packets/Message/C2CRecallMsg.cs index a51c5cdd5..2934da6c5 100644 --- a/Lagrange.Core/Internal/Packets/Message/C2CRecallMsg.cs +++ b/Lagrange.Core/Internal/Packets/Message/C2CRecallMsg.cs @@ -20,7 +20,7 @@ internal class C2CRecallMsg [ProtoContract] internal class C2CRecallMsgInfo { - [ProtoMember(1)] public uint ClientSequence { get; set; } + [ProtoMember(1)] public ulong ClientSequence { get; set; } [ProtoMember(2)] public uint Random { get; set; } @@ -30,7 +30,7 @@ internal class C2CRecallMsgInfo [ProtoMember(5)] public uint Field5 { get; set; } // 0 - [ProtoMember(6)] public uint MessageSequence { get; set; } // 700 + [ProtoMember(6)] public ulong MessageSequence { get; set; } // 700 } [ProtoContract] diff --git a/Lagrange.Core/Internal/Packets/Message/ContentHead.cs b/Lagrange.Core/Internal/Packets/Message/ContentHead.cs index 8bc2c1bb2..1f1c8516e 100644 --- a/Lagrange.Core/Internal/Packets/Message/ContentHead.cs +++ b/Lagrange.Core/Internal/Packets/Message/ContentHead.cs @@ -15,7 +15,7 @@ internal class ContentHead [ProtoMember(4)] public long? Random { get; set; } - [ProtoMember(5)] public uint? Sequence { get; set; } + [ProtoMember(5)] public ulong? Sequence { get; set; } [ProtoMember(6)] public long? Timestamp { get; set; } diff --git a/Lagrange.Core/Internal/Packets/Message/Element/Implementation/SrcMsg.cs b/Lagrange.Core/Internal/Packets/Message/Element/Implementation/SrcMsg.cs index 0fe9651d7..e661c86d4 100644 --- a/Lagrange.Core/Internal/Packets/Message/Element/Implementation/SrcMsg.cs +++ b/Lagrange.Core/Internal/Packets/Message/Element/Implementation/SrcMsg.cs @@ -5,7 +5,7 @@ namespace Lagrange.Core.Internal.Packets.Message.Element.Implementation; [ProtoContract] internal partial class SrcMsg { - [ProtoMember(1)] public List? OrigSeqs { get; set; } + [ProtoMember(1)] public List? OrigSeqs { get; set; } [ProtoMember(2)] public ulong SenderUin { get; set; } diff --git a/Lagrange.Core/Internal/Packets/Message/GroupRecallMsg.cs b/Lagrange.Core/Internal/Packets/Message/GroupRecallMsg.cs index ceddcbd95..6547e5b21 100644 --- a/Lagrange.Core/Internal/Packets/Message/GroupRecallMsg.cs +++ b/Lagrange.Core/Internal/Packets/Message/GroupRecallMsg.cs @@ -21,7 +21,7 @@ internal class GroupRecallMsg [ProtoContract] internal class GroupRecallMsgField3 { - [ProtoMember(1)] public uint Sequence { get; set; } + [ProtoMember(1)] public ulong Sequence { get; set; } [ProtoMember(2)] public uint Random { get; set; } diff --git a/Lagrange.Core/Internal/Packets/Message/Message.cs b/Lagrange.Core/Internal/Packets/Message/Message.cs index b9696d6bb..d25030f32 100644 --- a/Lagrange.Core/Internal/Packets/Message/Message.cs +++ b/Lagrange.Core/Internal/Packets/Message/Message.cs @@ -14,7 +14,7 @@ internal class Message [ProtoMember(3)] public MessageBody? Body { get; set; } - [ProtoMember(4)] public uint? ClientSequence { get; set; } + [ProtoMember(4)] public ulong? ClientSequence { get; set; } [ProtoMember(5)] public uint? Random { get; set; } diff --git a/Lagrange.Core/Internal/Packets/Message/SsoReadedReport.cs b/Lagrange.Core/Internal/Packets/Message/SsoReadedReport.cs index 0ef625975..ec04f59c3 100644 --- a/Lagrange.Core/Internal/Packets/Message/SsoReadedReport.cs +++ b/Lagrange.Core/Internal/Packets/Message/SsoReadedReport.cs @@ -20,7 +20,7 @@ internal class SsoReadedReportC2C [ProtoMember(3)] public uint Time { get; set; } - [ProtoMember(4)] public uint StartSequence { get; set; } + [ProtoMember(4)] public ulong StartSequence { get; set; } } [ProtoContract] @@ -28,5 +28,5 @@ internal class SsoReadedReportGroup { [ProtoMember(1)] public uint GroupUin { get; set; } - [ProtoMember(2)] public uint StartSequence { get; set; } + [ProtoMember(2)] public ulong StartSequence { get; set; } } \ No newline at end of file diff --git a/Lagrange.Core/Internal/Packets/Service/Oidb/Request/OidbSvcTrpcTcp0xEAC.cs b/Lagrange.Core/Internal/Packets/Service/Oidb/Request/OidbSvcTrpcTcp0xEAC.cs index ee81a1772..b12ce7fea 100644 --- a/Lagrange.Core/Internal/Packets/Service/Oidb/Request/OidbSvcTrpcTcp0xEAC.cs +++ b/Lagrange.Core/Internal/Packets/Service/Oidb/Request/OidbSvcTrpcTcp0xEAC.cs @@ -9,7 +9,7 @@ internal class OidbSvcTrpcTcp0xEAC { [ProtoMember(1)] public uint GroupUin { get; set; } - [ProtoMember(2)] public uint Sequence { get; set; } + [ProtoMember(2)] public ulong Sequence { get; set; } [ProtoMember(3)] public uint Random { get; set; } } \ No newline at end of file diff --git a/Lagrange.Core/Message/Entity/ForwardEntity.cs b/Lagrange.Core/Message/Entity/ForwardEntity.cs index 1e22151ee..6b9473e07 100644 --- a/Lagrange.Core/Message/Entity/ForwardEntity.cs +++ b/Lagrange.Core/Message/Entity/ForwardEntity.cs @@ -16,9 +16,9 @@ public class ForwardEntity : IMessageEntity public ulong MessageId { get => Chain.MessageId; } - public uint Sequence { get => Chain.Sequence; } + public ulong Sequence { get => Chain.Sequence; } - public uint ClientSequence { get => Chain.ClientSequence; } + public ulong ClientSequence { get => Chain.ClientSequence; } public string? Uid { get => Chain.Uid; set => Chain.Uid = value; } @@ -47,7 +47,7 @@ IEnumerable PackElement(bool fake) var result = new List { new() { SrcMsg = new SrcMsg { - OrigSeqs = new List { ClientSequence != 0 ? ClientSequence : Sequence }, + OrigSeqs = new List { ClientSequence != 0 ? ClientSequence : Sequence }, SenderUin = TargetUin, Time = (int?)new DateTimeOffset(Time).ToUnixTimeSeconds(), Elems = Chain.Elements, diff --git a/Lagrange.Core/Message/MessageChain.cs b/Lagrange.Core/Message/MessageChain.cs index 7c8602b85..9e471226b 100644 --- a/Lagrange.Core/Message/MessageChain.cs +++ b/Lagrange.Core/Message/MessageChain.cs @@ -24,9 +24,9 @@ public sealed class MessageChain : List public MessageStyle? Style { get; internal set; } - public uint Sequence { get; } // for C2C message, it's the sequence of the message, for group message, it's the sequence of the group message + public ulong Sequence { get; } // for C2C message, it's the sequence of the message, for group message, it's the sequence of the group message - public uint ClientSequence { get; } // only for C2C message + public ulong ClientSequence { get; } // only for C2C message #region Internal Properties @@ -40,7 +40,7 @@ public sealed class MessageChain : List #endregion - internal MessageChain(uint friendUin, string selfUid, string friendUid, uint targetUin = 0, uint sequence = 0, uint clientSequence = 0, ulong? messageId = null, + internal MessageChain(uint friendUin, string selfUid, string friendUid, uint targetUin = 0, ulong sequence = 0, ulong clientSequence = 0, ulong? messageId = null, MessageType type = MessageType.Friend) { GroupUin = null; @@ -65,7 +65,7 @@ internal MessageChain(uint groupUin) Elements = new List(); } - internal MessageChain(uint groupUin, uint friendUin, uint sequence, ulong messageId = 0) + internal MessageChain(uint groupUin, uint friendUin, ulong sequence, ulong messageId = 0) { GroupUin = groupUin; FriendUin = friendUin; diff --git a/Lagrange.Core/Message/MessageResult.cs b/Lagrange.Core/Message/MessageResult.cs index 3a3b130f9..3df49f77b 100644 --- a/Lagrange.Core/Message/MessageResult.cs +++ b/Lagrange.Core/Message/MessageResult.cs @@ -10,5 +10,5 @@ public class MessageResult public uint Timestamp { get; internal set; } - public uint ClientSequence { get; internal set; } + public ulong ClientSequence { get; internal set; } } \ No newline at end of file diff --git a/Lagrange.OneBot/Database/MessageRecord.cs b/Lagrange.OneBot/Database/MessageRecord.cs index e40333c46..c3e23c207 100644 --- a/Lagrange.OneBot/Database/MessageRecord.cs +++ b/Lagrange.OneBot/Database/MessageRecord.cs @@ -67,7 +67,7 @@ public partial class MessageRecord : IRealmObject public byte[] Entities { get; set; } - public static int CalcMessageHash(ulong msgId, uint seq) + public static int CalcMessageHash(ulong msgId, ulong seq) { return ((ushort)seq << 16) | (ushort)msgId; } diff --git a/Lagrange.OneBot/Message/Entity/ReplySegment.cs b/Lagrange.OneBot/Message/Entity/ReplySegment.cs index 7f62b64ef..f3c6008e4 100644 --- a/Lagrange.OneBot/Message/Entity/ReplySegment.cs +++ b/Lagrange.OneBot/Message/Entity/ReplySegment.cs @@ -50,7 +50,7 @@ public override SegmentBase FromEntity(MessageChain chain, IMessageEntity entity { id = Realm.Do(realm => realm.All() .FirstOrDefault(record => record.FromUinLong == chain.FriendUin - && record.ClientSequenceLong == forward.ClientSequence)? + && record.ClientSequenceLong == (long)forward.ClientSequence)? .Id); }