|
| 1 | +using Lagrange.Core.Common; |
| 2 | +using Lagrange.Core.Internal.Events.Message; |
| 3 | +using Lagrange.Core.Internal.Packets.Service; |
| 4 | +using Lagrange.Core.Services; |
| 5 | + |
| 6 | +namespace Lagrange.Core.Internal.Services.Message; |
| 7 | + |
| 8 | +[EventSubscribe<RecallPokeEventReq>(Protocols.All)] |
| 9 | +[Service("OidbSvcTrpcTcp.0xf51_1")] |
| 10 | +internal class RecallPokeService : OidbService<RecallPokeEventReq, RecallPokeEventResp, DF51ReqBody, DF51RspBody> |
| 11 | +{ |
| 12 | + protected override uint Command => 0xf51; |
| 13 | + |
| 14 | + protected override uint Service => 1; |
| 15 | + |
| 16 | + protected override Task<DF51ReqBody> ProcessRequest(RecallPokeEventReq request, BotContext context) |
| 17 | + { |
| 18 | + ulong messageUid = request.IsGroup |
| 19 | + ? (ulong)Random.Shared.NextInt64(7_580_000_000_000_000_000, 7_580_099_999_999_999_999) |
| 20 | + : (ulong)Random.Shared.NextInt64(7_500_000_000_000_000_000, 7_509_999_999_999_999_999); |
| 21 | + |
| 22 | + return Task.FromResult(new DF51ReqBody |
| 23 | + { |
| 24 | + C2CMsgInfo = request.IsGroup ? null : new F51C2CMsgInfo |
| 25 | + { |
| 26 | + AioUin = request.PeerUin, |
| 27 | + MsgType = 5, |
| 28 | + MsgSeq = request.MessageSequence, |
| 29 | + MsgTime = request.MessageTime, |
| 30 | + MsgUid = messageUid |
| 31 | + }, |
| 32 | + GroupMsgInfo = request.IsGroup ? new F51GroupMsgInfo |
| 33 | + { |
| 34 | + GroupCode = request.PeerUin, |
| 35 | + MsgType = 5, |
| 36 | + MsgSeq = request.MessageSequence, |
| 37 | + MsgTime = request.MessageTime, |
| 38 | + MsgUid = messageUid, |
| 39 | + MsgId = messageUid |
| 40 | + } : null, |
| 41 | + CommGrayTipsInfo = new F51CommGrayTipsInfo |
| 42 | + { |
| 43 | + BusiId = 1061, |
| 44 | + TipsSeqId = request.TipsSeqId |
| 45 | + } |
| 46 | + }); |
| 47 | + } |
| 48 | + |
| 49 | + protected override Task<RecallPokeEventResp> ProcessResponse(DF51RspBody response, BotContext context) => |
| 50 | + Task.FromResult(new RecallPokeEventResp()); |
| 51 | +} |
0 commit comments