llonebot-dist 8.0.5 → 8.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/llbot.js CHANGED
@@ -12531,14 +12531,15 @@ var Oidb;
12531
12531
  msgSeq: ProtoField(3, "uint32"),
12532
12532
  chatType: ProtoField(4, "uint32"),
12533
12533
  emojiCode: ProtoField(5, "string"),
12534
- cookie: ProtoField(6, "bytes"),
12534
+ cookie: ProtoField(6, "string"),
12535
12535
  field7: ProtoField(7, "uint32"),
12536
12536
  count: ProtoField(8, "uint32")
12537
12537
  });
12538
12538
  _Oidb.FetchEmojiLikesResp = ProtoMessage.of({
12539
12539
  users: ProtoField(1, { uin: ProtoField(1, "uint32") }, "repeated"),
12540
- totalCount: ProtoField(3, "uint32", "optional"),
12541
- hasMore: ProtoField(4, "uint32", "optional")
12540
+ cookie: ProtoField(2, "string"),
12541
+ isLastPage: ProtoField(3, "bool"),
12542
+ isFirstPage: ProtoField(4, "bool")
12542
12543
  });
12543
12544
  _Oidb.FlashFileSetIdByCodeReq = ProtoMessage.of({ code: ProtoField(1, "string") });
12544
12545
  _Oidb.FlashFileSetIdByCodeResp = ProtoMessage.of({ fileSetId: ProtoField(1, "string") });
@@ -19144,7 +19145,17 @@ function parseElements(elems, isGroup) {
19144
19145
  const svcType = elem.commonElem.serviceType;
19145
19146
  const bizType = elem.commonElem.businessType;
19146
19147
  const pbElem = elem.commonElem.pbElem;
19147
- if (svcType === 37) {
19148
+ if (svcType === 33) {
19149
+ const ext = Msg.QSmallFaceExtra.decode(pbElem);
19150
+ result.push({
19151
+ elementType: ElementType.Face,
19152
+ faceElement: {
19153
+ faceIndex: ext.faceId,
19154
+ faceType: 2,
19155
+ faceText: ext.text
19156
+ }
19157
+ });
19158
+ } else if (svcType === 37) {
19148
19159
  const ext = Msg.LargeFaceExtra.decode(pbElem);
19149
19160
  const faceIndex = Number(ext.faceId ?? 0);
19150
19161
  const face = face_config_default.sysface.find((f) => f.QSid === String(faceIndex));
@@ -19262,13 +19273,6 @@ function registerDispatcher(ctx) {
19262
19273
  try {
19263
19274
  switch (cmd) {
19264
19275
  case MSG_PUSH_CMD:
19265
- if (process.env.DEBUG_RAW_PUSH) try {
19266
- const m = Msg.PushMsg.decode(payload).message;
19267
- const rh = m?.routingHead;
19268
- console.log(`[RawPush] MsgPush msgType=${m?.contentHead.msgType} subType=${m?.contentHead.subType} fromUid=${rh?.fromUid ?? "?"} fromUin=${rh?.fromUin ?? "?"} groupCode=${rh?.group?.groupCode ?? "?"}`);
19269
- } catch (e) {
19270
- console.log(`[RawPush] MsgPush decode failed: ${e.message}`);
19271
- }
19272
19276
  handleMsgPush(ctx, payload);
19273
19277
  break;
19274
19278
  case KICK_CMD:
@@ -19285,6 +19289,11 @@ function registerDispatcher(ctx) {
19285
19289
  }
19286
19290
  function handleMsgPush(ctx, payload) {
19287
19291
  const msg = Msg.PushMsg.decode(payload).message;
19292
+ if (process.env.DEBUG_RAW_PUSH) {
19293
+ const m = msg;
19294
+ const rh = m?.routingHead;
19295
+ console.log(`[RawPush] MsgPush msgType=${m?.contentHead.msgType} subType=${m?.contentHead.subType} fromUid=${rh?.fromUid ?? "?"} fromUin=${rh?.fromUin ?? "?"} groupCode=${rh?.group?.groupCode ?? "?"}`);
19296
+ }
19288
19297
  if (!msg) return;
19289
19298
  const msgType = msg.contentHead.msgType;
19290
19299
  const subType = msg.contentHead.subType;
@@ -19740,7 +19749,7 @@ async function handleGroupJoinRequest(ctx, msg) {
19740
19749
  initiatorUid: decoded.memberUid,
19741
19750
  notificationSeq,
19742
19751
  isDoubt,
19743
- comment: commit
19752
+ comment: commit ?? ""
19744
19753
  });
19745
19754
  } catch (e) {
19746
19755
  ctx.logger.warn("Failed to parse GroupJoinRequest:", e.message);
@@ -20669,7 +20678,7 @@ var OB11HeartbeatEvent = class extends OB11BaseMetaEvent {
20669
20678
  };
20670
20679
  //#endregion
20671
20680
  //#region src/version.ts
20672
- var version$3 = "8.0.5";
20681
+ var version$3 = "8.0.7";
20673
20682
  //#endregion
20674
20683
  //#region node_modules/sift/es5m/index.js
20675
20684
  /******************************************************************************
@@ -31370,24 +31379,27 @@ var GetProfileLikeMe = class extends BaseAction {
31370
31379
  var FetchEmojiLike = class extends BaseAction {
31371
31380
  actionName = ActionName.FetchEmojiLike;
31372
31381
  payloadSchema = lib_default$1.object({
31373
- emoji_id: lib_default$1.string().required(),
31374
31382
  message_id: lib_default$1.union([Number, String]).required(),
31375
- count: lib_default$1.union([Number, String]).default(20)
31383
+ emoji_id: lib_default$1.union([Number, String]),
31384
+ emojiId: lib_default$1.union([Number, String]),
31385
+ count: lib_default$1.union([Number, String]).default(20),
31386
+ cookie: lib_default$1.string()
31376
31387
  });
31377
31388
  async _handle(payload) {
31378
31389
  const msgInfo = await this.ctx.store.getMsgInfoByShortId(+payload.message_id);
31379
31390
  if (!msgInfo) throw new Error("消息不存在");
31380
- const result = await this.ctx.ntMsgApi.getMsgReactionList(msgInfo.peer, msgInfo.msgSeq, payload.emoji_id, +payload.count);
31391
+ const emojiId = payload.emoji_id ?? payload.emojiId;
31392
+ if (!emojiId) throw new Error("未指定表情 ID");
31393
+ const result = await this.ctx.ntMsgApi.getMsgReactionList(msgInfo.peer, msgInfo.msgSeq, emojiId.toString(), +payload.count, payload.cookie ?? "");
31381
31394
  return {
31382
- emojiLikesList: await Promise.all(result.users.map(async (u) => ({
31383
- uid: await this.ctx.ntUserApi.getUidByUin(u.uin, +msgInfo.peer.peerUid),
31384
- uin: u.uin.toString(),
31395
+ emojiLikesList: result.users.map((u) => ({
31396
+ tinyId: u.uin.toString(),
31385
31397
  nickName: "",
31386
31398
  headUrl: `https://q1.qlogo.cn/g?b=qq&nk=${u.uin}&s=640`
31387
- }))),
31388
- cookie: "",
31389
- isLastPage: !result.hasMore,
31390
- isFirstPage: true
31399
+ })),
31400
+ cookie: result.cookie,
31401
+ isLastPage: result.isLastPage,
31402
+ isFirstPage: result.isFirstPage
31391
31403
  };
31392
31404
  }
31393
31405
  };
@@ -31546,7 +31558,7 @@ var UploadPrivateFile$1 = class extends BaseAction {
31546
31558
  if (name.includes("/") || name.includes("\\")) throw new Error(`文件名 ${name} 不合法`);
31547
31559
  const uid = await this.ctx.ntUserApi.getUidByUin(+payload.user_id);
31548
31560
  if (!uid) throw new Error("无法获取用户信息");
31549
- const info = await this.ctx.ntFileApi.uploadPrivateFile(uid, path, name);
31561
+ const info = await this.ctx.ntFileApi.uploadPrivateFile(ChatType.C2C, uid, path, name);
31550
31562
  if (!isLocal) unlink(path).catch(noop);
31551
31563
  const result = await this.ctx.ntMsgApi.sendPrivateFileMessage({
31552
31564
  toUin: +payload.user_id,
@@ -31671,7 +31683,7 @@ var OCRImage = class extends BaseAction {
31671
31683
  const { errMsg, isLocal, path, success } = await uri2local(this.ctx, payload.image);
31672
31684
  if (!success) throw new Error(errMsg);
31673
31685
  const size = await getImageSize(path);
31674
- const result = await this.ctx.ntFileApi.uploadPrivateImage(selfInfo.uid, path, size.width, size.height, "", 0);
31686
+ const result = await this.ctx.ntFileApi.uploadPrivateImage(ChatType.C2C, selfInfo.uid, path, size.width, size.height, "", 0);
31675
31687
  if (!isLocal) unlink(path).catch(noop);
31676
31688
  const msgInfoBytes = result.msgInfo instanceof Uint8Array || Buffer.isBuffer(result.msgInfo) ? Buffer.from(result.msgInfo) : null;
31677
31689
  if (!msgInfoBytes) throw new Error("uploadC2CImage 返回的 msgInfo 不是 bytes");
@@ -50920,7 +50932,7 @@ var FileApi = [
50920
50932
  await writeFile(tempPath, data);
50921
50933
  const uid = await ctx.ntUserApi.getUidByUin(payload.user_id);
50922
50934
  if (!uid) return Failed(-404, "User not found");
50923
- const info = await ctx.ntFileApi.uploadPrivateFile(uid, tempPath, payload.file_name);
50935
+ const info = await ctx.ntFileApi.uploadPrivateFile(ChatType.C2C, uid, tempPath, payload.file_name);
50924
50936
  unlink(tempPath).catch(noop);
50925
50937
  const result = await ctx.ntMsgApi.sendPrivateFileMessage({
50926
50938
  toUin: payload.user_id,
@@ -56211,7 +56223,7 @@ var MessageBuilding = class MessageBuilding {
56211
56223
  }
56212
56224
  async [ElementType.Face](data) {
56213
56225
  const { faceElement } = data;
56214
- if (faceElement.stickerType && faceElement.stickerId) {
56226
+ if (faceElement.faceType === 3) {
56215
56227
  const f = faceElement;
56216
56228
  const pbElem = Msg.LargeFaceExtra.encode({
56217
56229
  aniStickerPackId: f.packId ? String(f.packId) : "1",
@@ -56225,9 +56237,19 @@ var MessageBuilding = class MessageBuilding {
56225
56237
  pbElem,
56226
56238
  businessType: f.stickerType ?? 1
56227
56239
  } });
56228
- return;
56229
- }
56230
- this.outputElems.push({ face: { index: faceElement.faceIndex } });
56240
+ } else if (faceElement.faceType === 2) {
56241
+ const f = faceElement;
56242
+ const pbElem = Msg.QSmallFaceExtra.encode({
56243
+ faceId: f.faceIndex,
56244
+ text: f.faceText,
56245
+ compatText: f.faceText
56246
+ });
56247
+ this.outputElems.push({ commonElem: {
56248
+ serviceType: 33,
56249
+ pbElem,
56250
+ businessType: f.stickerType ?? 1
56251
+ } });
56252
+ } else this.outputElems.push({ face: { index: faceElement.faceIndex } });
56231
56253
  }
56232
56254
  async [ElementType.MarketFace](data) {
56233
56255
  const { marketFaceElement } = data;
@@ -56513,13 +56535,8 @@ var NTMsgApi = class extends Service {
56513
56535
  async setGroupMsgReaction(groupCode, msgSeq, emojiId, setEmoji, emojiType) {
56514
56536
  return await this.ctx.qqProtocol.setGroupReaction(groupCode, msgSeq, emojiId, setEmoji, emojiType);
56515
56537
  }
56516
- async getMsgReactionList(peer, msgSeq, emojiId, count) {
56517
- const resp = await this.ctx.qqProtocol.fetchMsgEmojiLikes(+peer.peerUid, msgSeq, emojiId, count);
56518
- return {
56519
- users: resp.users ?? [],
56520
- totalCount: resp.totalCount ?? 0,
56521
- hasMore: !!resp.hasMore
56522
- };
56538
+ async getMsgReactionList(peer, msgSeq, emojiId, count, cookie) {
56539
+ return await this.ctx.qqProtocol.fetchMsgEmojiLikes(+peer.peerUid, msgSeq, emojiId, count, cookie);
56523
56540
  }
56524
56541
  async recallMsg(peer, msgSeq, clientSeq, msgRandom, msgTime) {
56525
56542
  if (peer.chatType === ChatType.Group) await this.ctx.qqProtocol.recallGroupMessage(+peer.peerUid, msgSeq);
@@ -59371,6 +59388,10 @@ function isDockerEnvironment() {
59371
59388
  return false;
59372
59389
  }
59373
59390
  }
59391
+ /** PMHQ 模式必须传 --pmhq-port (CLI/Desktop/docker 启动脚本都会带), 以此区分直连模式 */
59392
+ function isPmhqMode() {
59393
+ return process.argv.some((arg) => arg.startsWith("--pmhq-port="));
59394
+ }
59374
59395
  //#endregion
59375
59396
  //#region src/webui/BE/routes/config.ts
59376
59397
  function isListenAllInterfaces(host) {
@@ -59755,7 +59776,7 @@ function createMessagesRoutes(ctx, createPicElement) {
59755
59776
  }, 500);
59756
59777
  sentMsgIds.push(info.fileId);
59757
59778
  } else {
59758
- const info = await ctx.ntFileApi.uploadPrivateFile(peerUid, f.filePath, f.fileName);
59779
+ const info = await ctx.ntFileApi.uploadPrivateFile(ChatType.C2C, peerUid, f.filePath, f.fileName);
59759
59780
  const result = await ctx.ntMsgApi.sendPrivateFileMessage({
59760
59781
  toUin: +peerId,
59761
59782
  toUid: peerUid,
@@ -73412,13 +73433,12 @@ async function requestSign(cmd, src, seq, guid, qua, uin, protocolToken12B) {
73412
73433
  }
73413
73434
  async function acquireSignToken(uin, qua) {
73414
73435
  if (!inited) throw new Error("sign not initialized");
73415
- const r = await acquireSignToken$1({
73416
- uin,
73417
- qua
73418
- });
73419
73436
  return {
73420
- token: r.token.toString("utf-8"),
73421
- ttlSecs: r.ttlSecs
73437
+ token: (await acquireSignToken$1({
73438
+ uin,
73439
+ qua
73440
+ })).token.toString("utf-8"),
73441
+ ttlSecs: 1440 * 60
73422
73442
  };
73423
73443
  }
73424
73444
  function formatNativeSignError(cmd, qua, e) {
@@ -73579,39 +73599,538 @@ var DirectProtocolClient = class extends EventEmitter {
73579
73599
  };
73580
73600
  }
73581
73601
  SIGN_ALLOWLIST = new Set([
73582
- "wtlogin.trans_emp",
73583
- "wtlogin.login",
73584
- "trpc.o3.ecdh_access.EcdhAccess.SsoEstablishShareKey",
73585
- "trpc.o3.ecdh_access.EcdhAccess.SsoSecureAccess",
73602
+ "AvatarInfoSvr.QQHeadUrlReq",
73603
+ "CertifiedAccountSvc.certified_account_read.GetFollowList",
73604
+ "ConfigPushSvc.PushResp",
73605
+ "ConnAuthSvr.fast_qq_login",
73606
+ "ConnAuthSvr.get_app_info",
73607
+ "ConnAuthSvr.get_app_info_emp",
73608
+ "ConnAuthSvr.get_auth_api_list",
73609
+ "ConnAuthSvr.get_auth_api_list_emp",
73610
+ "ConnAuthSvr.sdk_auth_api",
73611
+ "ConnAuthSvr.sdk_auth_api_emp",
73612
+ "FeedCloudSvr.trpc.circlesearch.exhibition.ExhibitionSvr.ExhibitionSuggestion",
73613
+ "FeedCloudSvr.trpc.feedcloud.commreader.ComReader.GetBusiInfo",
73614
+ "FeedCloudSvr.trpc.feedcloud.commreader.ComReader.GetCommentList",
73615
+ "FeedCloudSvr.trpc.feedcloud.commreader.ComReader.GetFeedList",
73616
+ "FeedCloudSvr.trpc.feedcloud.commreader.ComReader.GetMainPageBasicData",
73617
+ "FeedCloudSvr.trpc.feedcloud.commreader.ComReader.GetMainPageCommData",
73618
+ "FeedCloudSvr.trpc.feedcloud.commreader.ComReader.GetRelationGroupList",
73619
+ "FeedCloudSvr.trpc.feedcloud.commreader.ComReader.GetReplyList",
73620
+ "FeedCloudSvr.trpc.feedcloud.commreader.ComReader.GetRerankedFeedList",
73621
+ "FeedCloudSvr.trpc.feedcloud.commwriter.ComWriter.DoBarrage",
73622
+ "FeedCloudSvr.trpc.feedcloud.commwriter.ComWriter.DoComment",
73623
+ "FeedCloudSvr.trpc.feedcloud.commwriter.ComWriter.DoFollow",
73624
+ "FeedCloudSvr.trpc.feedcloud.commwriter.ComWriter.DoLike",
73625
+ "FeedCloudSvr.trpc.feedcloud.commwriter.ComWriter.DoPush",
73626
+ "FeedCloudSvr.trpc.feedcloud.commwriter.ComWriter.DoReply",
73627
+ "FeedCloudSvr.trpc.feedcloud.commwriter.ComWriter.PublishFeed",
73628
+ "FeedCloudSvr.trpc.videocircle.circleprofile.CircleProfile.SetProfile",
73629
+ "GameCenterMsg.GetUserInfo",
73630
+ "HttpConn.0x6ff_501",
73631
+ "IncreaseURLSvr.QQHeadUrlReq",
73632
+ "LightAppSvc.mini_app_cloudstorage.GetUserCloudStorage",
73633
+ "LightAppSvc.mini_app_privacy.GetPrivacyInfo",
73634
+ "LightAppSvc.mini_app_userapp.GetDropdownAppList",
73635
+ "MQUpdateSvc_com_qq_qzone_act.web.OidbSvcTrpcJsapiTcp.0x9377_0",
73636
+ "MQUpdateSvc_com_qq_ti.web.OidbSvcTrpcJsapiTcp.0x9044_0",
73637
+ "MQUpdateSvc_com_qq_ti.web.OidbSvcTrpcJsapiTcp.0x9047_0",
73638
+ "MQUpdateSvc_com_qq_ti.web.OidbSvcTrpcJsapiTcp.0x9172_0",
73639
+ "MessageSvc.PbBindUinGetMsg",
73640
+ "MessageSvc.PbGetGroupMsg",
73641
+ "MessageSvc.PbGetMsg",
73642
+ "MessageSvc.PbGetRoamMsg",
73586
73643
  "MessageSvc.PbSendMsg",
73587
- "OidbSvcTrpcTcp.0x6d9_4",
73588
- "OidbSvcTrpcTcp.0x929b_0",
73589
- "OidbSvcTrpcTcp.0xfe1_2",
73590
- "OidbSvcTrpcTcp.0xfe1_8",
73591
- "OidbSvcTrpcTcp.0x102a_1",
73644
+ "MsgProxy.SendMsg",
73645
+ "NowSummaryCard.NearbyMiniCardReq",
73646
+ "OidbSvc.0x42d",
73647
+ "OidbSvc.0x42d_4",
73648
+ "OidbSvc.0x480_9",
73649
+ "OidbSvc.0x480_9_IMCore",
73650
+ "OidbSvc.0x4ff_9",
73651
+ "OidbSvc.0x4ff_9_IMCore",
73652
+ "OidbSvc.0x515_2",
73653
+ "OidbSvc.0x53c_2",
73654
+ "OidbSvc.0x56c_6",
73655
+ "OidbSvc.0x570_8",
73656
+ "OidbSvc.0x580_1",
73657
+ "OidbSvc.0x587_123",
73658
+ "OidbSvc.0x587_normalNightSet",
73659
+ "OidbSvc.0x58b",
73660
+ "OidbSvc.0x592",
73661
+ "OidbSvc.0x592_1",
73662
+ "OidbSvc.0x592_10",
73663
+ "OidbSvc.0x592_11",
73664
+ "OidbSvc.0x592_12",
73665
+ "OidbSvc.0x592_13",
73666
+ "OidbSvc.0x592_15",
73667
+ "OidbSvc.0x592_16",
73668
+ "OidbSvc.0x592_17",
73669
+ "OidbSvc.0x592_18",
73670
+ "OidbSvc.0x592_19",
73671
+ "OidbSvc.0x592_2",
73672
+ "OidbSvc.0x592_3",
73673
+ "OidbSvc.0x592_4",
73674
+ "OidbSvc.0x592_5",
73675
+ "OidbSvc.0x592_6",
73676
+ "OidbSvc.0x592_7",
73677
+ "OidbSvc.0x592_8",
73678
+ "OidbSvc.0x592_9",
73679
+ "OidbSvc.0x59f",
73680
+ "OidbSvc.0x5d0_1",
73681
+ "OidbSvc.0x5eb_15",
73682
+ "OidbSvc.0x5eb_22",
73683
+ "OidbSvc.0x5eb_42073",
73684
+ "OidbSvc.0x5eb_42261",
73685
+ "OidbSvc.0x5eb_43",
73686
+ "OidbSvc.0x5eb_96",
73687
+ "OidbSvc.0x5eb_99",
73688
+ "OidbSvc.0x5eb_ForTheme",
73689
+ "OidbSvc.0x5eb_cn_switch",
73690
+ "OidbSvc.0x5eb_common",
73691
+ "OidbSvc.0x6d6_0",
73692
+ "OidbSvc.0x6d6_2",
73693
+ "OidbSvc.0x6d6_3",
73694
+ "OidbSvc.0x6d7_0",
73695
+ "OidbSvc.0x6d9_4",
73696
+ "OidbSvc.0x6de",
73697
+ "OidbSvc.0x758",
73698
+ "OidbSvc.0x758_0",
73699
+ "OidbSvc.0x758_1",
73700
+ "OidbSvc.0x787_0",
73701
+ "OidbSvc.0x787_1",
73702
+ "OidbSvc.0x787_11",
73703
+ "OidbSvc.0x7a2_0",
73704
+ "OidbSvc.0x7df_3",
73705
+ "OidbSvc.0x852_35",
73706
+ "OidbSvc.0x852_48",
73707
+ "OidbSvc.0x88d_0",
73708
+ "OidbSvc.0x88d_1",
73709
+ "OidbSvc.0x88d_1_2",
73710
+ "OidbSvc.0x88d_7",
73711
+ "OidbSvc.0x899_0",
73712
+ "OidbSvc.0x899_9",
73713
+ "OidbSvc.0x89a_0",
73714
+ "OidbSvc.0x89b_1",
73715
+ "OidbSvc.0x8a0_0",
73716
+ "OidbSvc.0x8a1_0",
73717
+ "OidbSvc.0x8a1_7",
73718
+ "OidbSvc.0x8a4",
73719
+ "OidbSvc.0x8a8",
73720
+ "OidbSvc.0x8ba",
73721
+ "OidbSvc.0x8f1",
73722
+ "OidbSvc.0x9fa",
73723
+ "OidbSvc.0xb3c",
73724
+ "OidbSvc.0xb3c_1",
73725
+ "OidbSvc.0xb3c_2",
73726
+ "OidbSvc.0xb3c_3",
73727
+ "OidbSvc.0xb3c_4",
73728
+ "OidbSvc.0xb3c_5",
73729
+ "OidbSvc.0xb3c_6",
73730
+ "OidbSvc.0xb3c_7",
73731
+ "OidbSvc.0xb3c_8",
73732
+ "OidbSvc.0xb3c_add",
73733
+ "OidbSvc.0xb3c_delete",
73734
+ "OidbSvc.0xb3c_get_by_id",
73735
+ "OidbSvc.0xb3c_get_done",
73736
+ "OidbSvc.0xb3c_get_done_count",
73737
+ "OidbSvc.0xb3c_get_undone",
73738
+ "OidbSvc.0xb3c_share",
73739
+ "OidbSvc.0xb3c_update",
73740
+ "OidbSvc.0xb3c_update_5",
73741
+ "OidbSvc.0xb77_34",
73742
+ "OidbSvc.0xb77_46",
73743
+ "OidbSvc.0xb77_48",
73744
+ "OidbSvc.0xb77_9",
73745
+ "OidbSvc.0xbbb",
73746
+ "OidbSvc.0xbcb",
73747
+ "OidbSvc.0xbe8",
73748
+ "OidbSvc.0xc26_0",
73749
+ "OidbSvc.0xc33_42220",
73750
+ "OidbSvc.0xc6b",
73751
+ "OidbSvc.0xcd5",
73752
+ "OidbSvc.0xcdd",
73753
+ "OidbSvc.0xd69",
73754
+ "OidbSvc.0xdc2_34",
73755
+ "OidbSvc.0xdc2_9",
73756
+ "OidbSvc.0xe27",
73757
+ "OidbSvc.0xe3e",
73758
+ "OidbSvc.0xe61",
73759
+ "OidbSvc.0xe63_1",
73760
+ "OidbSvc.0xe72",
73761
+ "OidbSvc.0xef0_1",
73762
+ "OidbSvc.0xf7e_1",
73763
+ "OidbSvc.oidb_0x758",
73764
+ "OidbSvcTRPCTcp.0x758_1",
73765
+ "OidbSvcTRPCTcp.0xf67_1",
73766
+ "OidbSvcTcp.0x102a",
73767
+ "OidbSvcTcp.0x88d_0",
73768
+ "OidbSvcTcp.0x88d_1",
73769
+ "OidbSvcTcp.0xef0_1",
73770
+ "OidbSvcTrpcTcp.0x1017_1",
73771
+ "OidbSvcTrpcTcp.0x101b_1",
73772
+ "OidbSvcTrpcTcp.0x101e_1",
73773
+ "OidbSvcTrpcTcp.0x101e_2",
73592
73774
  "OidbSvcTrpcTcp.0x102a_0",
73593
- "OidbSvcTrpcTcp.0xfd4_1",
73594
- "OidbSvcTrpcTcp.0xfe5_2",
73595
- "OidbSvcTrpcTcp.0x5cf_11",
73775
+ "OidbSvcTrpcTcp.0x102a_1",
73776
+ "OidbSvcTrpcTcp.0x102a_3",
73777
+ "OidbSvcTrpcTcp.0x105b_1",
73778
+ "OidbSvcTrpcTcp.0x1092_0",
73596
73779
  "OidbSvcTrpcTcp.0x10c0_1",
73597
73780
  "OidbSvcTrpcTcp.0x10c0_2",
73598
73781
  "OidbSvcTrpcTcp.0x10c8_1",
73599
- "OidbSvcTrpcTcp.0x972_6",
73600
- "OidbSvcTrpcTcp.0x8fc_3",
73601
- "OidbSvcTrpcTcp.0x6d6_2",
73602
- "OidbSvcTrpcTcp.0x6d6_3",
73603
- "OidbSvcTrpcTcp.0xe37_1700",
73604
- "OidbSvcTrpcTcp.0xe37_1200",
73605
- "OidbSvcTrpcTcp.0x11c5_100",
73606
- "OidbSvcTrpcTcp.0x11c5_200",
73782
+ "OidbSvcTrpcTcp.0x10c8_2",
73783
+ "OidbSvcTrpcTcp.0x10d8_1",
73784
+ "OidbSvcTrpcTcp.0x10db_1",
73785
+ "OidbSvcTrpcTcp.0x10e4_1",
73786
+ "OidbSvcTrpcTcp.0x10ed_1",
73787
+ "OidbSvcTrpcTcp.0x10f4_1",
73788
+ "OidbSvcTrpcTcp.0x1100_1",
73789
+ "OidbSvcTrpcTcp.0x1102_1",
73790
+ "OidbSvcTrpcTcp.0x1103_1",
73791
+ "OidbSvcTrpcTcp.0x1105_1",
73792
+ "OidbSvcTrpcTcp.0x1107_1",
73793
+ "OidbSvcTrpcTcp.0x110d_1",
73794
+ "OidbSvcTrpcTcp.0x112a_1",
73795
+ "OidbSvcTrpcTcp.0x112a_2",
73796
+ "OidbSvcTrpcTcp.0x112e_1",
73797
+ "OidbSvcTrpcTcp.0x1130_1",
73798
+ "OidbSvcTrpcTcp.0x116c_1",
73799
+ "OidbSvcTrpcTcp.0x116d_1",
73800
+ "OidbSvcTrpcTcp.0x1194_1",
73607
73801
  "OidbSvcTrpcTcp.0x11c4_100",
73608
73802
  "OidbSvcTrpcTcp.0x11c4_200",
73803
+ "OidbSvcTrpcTcp.0x11c5_100",
73804
+ "OidbSvcTrpcTcp.0x11c5_200",
73609
73805
  "OidbSvcTrpcTcp.0x11e9_100",
73610
73806
  "OidbSvcTrpcTcp.0x11e9_200",
73807
+ "OidbSvcTrpcTcp.0x11ea_200",
73808
+ "OidbSvcTrpcTcp.0x11ec_1",
73809
+ "OidbSvcTrpcTcp.0x121e_0",
73810
+ "OidbSvcTrpcTcp.0x1224_0",
73811
+ "OidbSvcTrpcTcp.0x1225_0",
73812
+ "OidbSvcTrpcTcp.0x123c_1",
73813
+ "OidbSvcTrpcTcp.0x1250_0",
73814
+ "OidbSvcTrpcTcp.0x1258_1",
73815
+ "OidbSvcTrpcTcp.0x125b_500",
73816
+ "OidbSvcTrpcTcp.0x1262_19",
73611
73817
  "OidbSvcTrpcTcp.0x126d_200",
73612
73818
  "OidbSvcTrpcTcp.0x126e_200",
73819
+ "OidbSvcTrpcTcp.0x1277_0",
73820
+ "OidbSvcTrpcTcp.0x127a_0",
73821
+ "OidbSvcTrpcTcp.0x1289_1",
73822
+ "OidbSvcTrpcTcp.0x12a9_200",
73823
+ "OidbSvcTrpcTcp.0x12b1_0",
73824
+ "OidbSvcTrpcTcp.0x55f_0",
73825
+ "OidbSvcTrpcTcp.0x587_74",
73826
+ "OidbSvcTrpcTcp.0x5cf_11",
73827
+ "OidbSvcTrpcTcp.0x644_1",
73828
+ "OidbSvcTrpcTcp.0x6d6_2",
73829
+ "OidbSvcTrpcTcp.0x6d6_3",
73830
+ "OidbSvcTrpcTcp.0x6d8_1",
73831
+ "OidbSvcTrpcTcp.0x6d9_2",
73832
+ "OidbSvcTrpcTcp.0x6d9_4",
73833
+ "OidbSvcTrpcTcp.0x758_1",
73834
+ "OidbSvcTrpcTcp.0x787_1",
73835
+ "OidbSvcTrpcTcp.0x7c1_1",
73836
+ "OidbSvcTrpcTcp.0x7c2_5",
73837
+ "OidbSvcTrpcTcp.0x88d_0",
73838
+ "OidbSvcTrpcTcp.0x88d_111",
73839
+ "OidbSvcTrpcTcp.0x88d_14",
73840
+ "OidbSvcTrpcTcp.0x899_0",
73841
+ "OidbSvcTrpcTcp.0x899_1",
73842
+ "OidbSvcTrpcTcp.0x899_9",
73843
+ "OidbSvcTrpcTcp.0x89a_0",
73844
+ "OidbSvcTrpcTcp.0x89a_15",
73845
+ "OidbSvcTrpcTcp.0x8a0_1",
73846
+ "OidbSvcTrpcTcp.0x8a1_7",
73847
+ "OidbSvcTrpcTcp.0x8f9_14",
73848
+ "OidbSvcTrpcTcp.0x8fc_3",
73849
+ "OidbSvcTrpcTcp.0x901f_1",
73850
+ "OidbSvcTrpcTcp.0x902e_1",
73851
+ "OidbSvcTrpcTcp.0x9076_1",
73852
+ "OidbSvcTrpcTcp.0x9078_1",
73853
+ "OidbSvcTrpcTcp.0x9079_1",
73854
+ "OidbSvcTrpcTcp.0x911a_19",
73855
+ "OidbSvcTrpcTcp.0x911a_22",
73856
+ "OidbSvcTrpcTcp.0x9124_0",
73857
+ "OidbSvcTrpcTcp.0x9127_1",
73858
+ "OidbSvcTrpcTcp.0x9144_1",
73859
+ "OidbSvcTrpcTcp.0x9176_1",
73860
+ "OidbSvcTrpcTcp.0x917b_1",
73861
+ "OidbSvcTrpcTcp.0x91b6_1",
73862
+ "OidbSvcTrpcTcp.0x929b_0",
73863
+ "OidbSvcTrpcTcp.0x92d5_0",
73864
+ "OidbSvcTrpcTcp.0x92e3_0",
73865
+ "OidbSvcTrpcTcp.0x92e4_0",
73866
+ "OidbSvcTrpcTcp.0x92eb_0",
73867
+ "OidbSvcTrpcTcp.0x930d_0",
73868
+ "OidbSvcTrpcTcp.0x930e_0",
73869
+ "OidbSvcTrpcTcp.0x93d7_1",
73870
+ "OidbSvcTrpcTcp.0x9409_10",
73871
+ "OidbSvcTrpcTcp.0x9409_11",
73872
+ "OidbSvcTrpcTcp.0x9409_12",
73873
+ "OidbSvcTrpcTcp.0x9409_13",
73874
+ "OidbSvcTrpcTcp.0x9409_14",
73875
+ "OidbSvcTrpcTcp.0x9409_15",
73876
+ "OidbSvcTrpcTcp.0x9409_16",
73877
+ "OidbSvcTrpcTcp.0x9409_18",
73878
+ "OidbSvcTrpcTcp.0x9409_7",
73879
+ "OidbSvcTrpcTcp.0x9559_0",
73880
+ "OidbSvcTrpcTcp.0x955f_1",
73881
+ "OidbSvcTrpcTcp.0x9560_1",
73882
+ "OidbSvcTrpcTcp.0x962a_1",
73883
+ "OidbSvcTrpcTcp.0x9689_1",
73884
+ "OidbSvcTrpcTcp.0x972_6",
73885
+ "OidbSvcTrpcTcp.0x9a2_12",
73886
+ "OidbSvcTrpcTcp.0x9a2_8",
73887
+ "OidbSvcTrpcTcp.0xa80_1",
73888
+ "OidbSvcTrpcTcp.0xaf6_0",
73889
+ "OidbSvcTrpcTcp.0xb77_57",
73890
+ "OidbSvcTrpcTcp.0xcd5",
73891
+ "OidbSvcTrpcTcp.0xdc2_34",
73892
+ "OidbSvcTrpcTcp.0xe37_1200",
73893
+ "OidbSvcTrpcTcp.0xe37_1700",
73894
+ "OidbSvcTrpcTcp.0xe37_700",
73895
+ "OidbSvcTrpcTcp.0xe37_800",
73896
+ "OidbSvcTrpcTcp.0xf55_1",
73897
+ "OidbSvcTrpcTcp.0xf57_1",
73898
+ "OidbSvcTrpcTcp.0xf57_106",
73899
+ "OidbSvcTrpcTcp.0xf57_9",
73900
+ "OidbSvcTrpcTcp.0xf59_1",
73901
+ "OidbSvcTrpcTcp.0xf59_2",
73902
+ "OidbSvcTrpcTcp.0xf5b_1",
73903
+ "OidbSvcTrpcTcp.0xf5d_1",
73904
+ "OidbSvcTrpcTcp.0xf5d_11",
73905
+ "OidbSvcTrpcTcp.0xf65_1",
73906
+ "OidbSvcTrpcTcp.0xf65_10",
73907
+ "OidbSvcTrpcTcp.0xf67_1",
73908
+ "OidbSvcTrpcTcp.0xf67_5",
73909
+ "OidbSvcTrpcTcp.0xf6e_1",
73910
+ "OidbSvcTrpcTcp.0xf88_1",
73911
+ "OidbSvcTrpcTcp.0xf89_1",
73912
+ "OidbSvcTrpcTcp.0xfa5_1",
73913
+ "OidbSvcTrpcTcp.0xfc9_1",
73914
+ "OidbSvcTrpcTcp.0xfd4_1",
73915
+ "OidbSvcTrpcTcp.0xfe1",
73916
+ "OidbSvcTrpcTcp.0xfe1_2",
73917
+ "OidbSvcTrpcTcp.0xfe1_8",
73918
+ "OidbSvcTrpcTcp.0xfe4_2",
73919
+ "OidbSvcTrpcTcp.0xfe5_2",
73920
+ "OidbSvcTrpcTcp.0xfe7_2",
73921
+ "OidbSvcTrpcTcp.0xfe7_3",
73922
+ "OidbSvcTrpcTcp.0xfe7_4",
73923
+ "OidbSvc_device.0x633",
73924
+ "OidbSvc_device.0x9f5",
73925
+ "PbMessageSvc.PbUnReadMsgSeq",
73926
+ "ProfileService.GetSimpleInfo",
73927
+ "ProfileService.GroupMngReq",
73928
+ "ProfileService.Pb.ReqSystemMsgAction.Group",
73929
+ "ProfileService.Pb.ReqSystemMsgNew.Group",
73930
+ "ProfileService.ReqBatchProcess",
73931
+ "ProfileService.SimpleInfo",
73932
+ "ProfileService.getGroupInfoReq",
73933
+ "PttStore.GroupPttDown",
73934
+ "PubAccountSvc.get_follow_list",
73935
+ "PushService.settoken",
73936
+ "QChannelSvr.trpc.qchannel.commreader.ComReader.BatchGetFeedDetail",
73937
+ "QChannelSvr.trpc.qchannel.commwriter.ComWriter.DoComment",
73938
+ "QChannelSvr.trpc.qchannel.commwriter.ComWriter.DoReply",
73939
+ "QChannelSvr.trpc.qchannel.commwriter.ComWriter.PublishFeed",
73940
+ "QQAIOMediaSvc.share_trans_check",
73941
+ "QQConnectLogin.auth",
73942
+ "QQConnectLogin.auth_emp",
73943
+ "QQConnectLogin.get_promote_page",
73944
+ "QQConnectLogin.get_promote_page_emp",
73945
+ "QQConnectLogin.pre_auth",
73946
+ "QQConnectLogin.pre_auth_emp",
73947
+ "QQConnectLogin.submit_promote_page",
73948
+ "QQConnectLogin.submit_promote_page_emp",
73949
+ "QQLBSShareSvc.room_operation",
73950
+ "QQRTCSvc.RoomManager-GetRoomInfo",
73951
+ "QQStranger.FeedPlazaSvr.SsoFeedPublish",
73952
+ "QQStranger.FeedSvr.SsoFeedPublish",
73953
+ "QQStranger.InteractiveMsgSvr.SsoSendInterMsg",
73954
+ "QQStranger.UserInfo.SsoBatchGetMiniUserInfo",
73955
+ "QQStranger.UserInfo.SsoGetMiniUserInfo",
73956
+ "QQStranger.UserInfo.SsoSetMiniUserInfo",
73957
+ "QQStranger.login_svr.SsoLoginInfoReport",
73958
+ "QSec.AVEng",
73959
+ "RegPrxySvc.infoLogin",
73960
+ "RegPrxySvc.infoSync",
73961
+ "ResourceConfig.ClientReq",
73962
+ "ResourceConfig.GetResourceReq",
73963
+ "SQQzoneSvc.Custom.getFacade",
73964
+ "SQQzoneSvc.GetCate",
73965
+ "SQQzoneSvc.addComment",
73966
+ "SQQzoneSvc.addReply",
73967
+ "SQQzoneSvc.elaborateFeedReport",
73968
+ "SQQzoneSvc.forward",
73969
+ "SQQzoneSvc.get",
73970
+ "SQQzoneSvc.getAIONewestFeeds",
73971
+ "SQQzoneSvc.getActiveFeeds",
73972
+ "SQQzoneSvc.getMainPage",
73973
+ "SQQzoneSvc.getPhotoComment",
73974
+ "SQQzoneSvc.getPhotoWall",
73975
+ "SQQzoneSvc.getProfile",
73976
+ "SQQzoneSvc.getProfileFeeds",
73977
+ "SQQzoneSvc.getUndealCount",
73978
+ "SQQzoneSvc.getVisitorNotify",
73979
+ "SQQzoneSvc.get_all_feedsphoto_ex",
73980
+ "SQQzoneSvc.like",
73981
+ "SQQzoneSvc.mobileqboss.get",
73982
+ "SQQzoneSvc.photo",
73983
+ "SQQzoneSvc.preGetPassiveFeeds",
73984
+ "SQQzoneSvc.publishmood",
73985
+ "SQQzoneSvc.shuoshuo",
73986
+ "SecuritySvc.GetConfig",
73987
+ "SsoSnsSession.Cmd0x3_SubCmd0x1_FuncGetBlockList",
73988
+ "StatSvc.GetDevLoginInfo",
73989
+ "StatSvc.GetOnlineStatus",
73990
+ "StatSvc.SetStatusFromClient",
73991
+ "StatSvc.SimpleGet",
73992
+ "StatSvc.register",
73993
+ "SummaryCard.ReqSummaryCard",
73994
+ "VisitorSvc.ReqDeleteVisitorRecord",
73995
+ "VisitorSvc.ReqFavorite",
73996
+ "WalletGestureSvc.GetPassword",
73997
+ "WalletGestureSvc.GetSignV2",
73998
+ "WalletGestureSvc.SetPassword",
73999
+ "account.RequestQueryQQMobileContactsV3",
74000
+ "friendlist.AddFriendReq",
74001
+ "friendlist.GetFriendListReq",
74002
+ "friendlist.GetLastLoginInfoReq",
74003
+ "friendlist.GetMultiTroopInfoReq",
74004
+ "friendlist.GetSimpleOnlineFriendInfoReq",
74005
+ "friendlist.GetTroopAppointRemarkReq",
74006
+ "friendlist.GetTroopListReqV2",
74007
+ "friendlist.GetTroopMemberList",
74008
+ "friendlist.GetTroopMemberListReq",
74009
+ "friendlist.ModifyGroupInfoReq",
74010
+ "friendlist.addFriend",
74011
+ "friendlist.getFriendGroupList",
74012
+ "friendlist.getTroopMemberList",
74013
+ "gcbindgroupsso.get_appid",
74014
+ "gcbindgroupsso.unbind_group",
74015
+ "group_member_card.get_group_member_card_info",
74016
+ "group_member_statistic.get_group_member_statistic",
74017
+ "miniapp.trpc.minigame.sdk_qgroup_svr.sdk_qgroup_svr.JoinGroup",
74018
+ "oidb_0x42e_3",
74019
+ "oidb_0x43c_4",
74020
+ "oidb_0x43c_5",
74021
+ "oidb_0x5d0_1",
74022
+ "oidb_0x5d6_19",
74023
+ "oidb_0x5d6_21",
74024
+ "oidb_0x7a2_0",
74025
+ "oidb_0x7c4_0",
74026
+ "oidb_0x7df_3",
74027
+ "oidb_0x9045_1",
74028
+ "oidb_0x9072_0",
74029
+ "oidb_0xcf3_0",
74030
+ "oidb_0xcf4_0",
74031
+ "oidb_0xd9c_11",
74032
+ "oidb_0xdc2_34",
74033
+ "oidb_0xe37_1200",
74034
+ "oidb_0xe37_800",
74035
+ "oidb_0xe61_1",
74036
+ "oidb_0xe8c_0",
74037
+ "oidb_0xeb1_1",
74038
+ "oidb_0xf7e_1",
74039
+ "oidb_0xfd4_1",
74040
+ "qidianservice.135",
74041
+ "qidianservice.207",
74042
+ "qidianservice.269",
74043
+ "qidianservice.290",
74044
+ "qzoneh5.h5.wnshtml",
74045
+ "trpc.QQService.CommonLogic.StatusService.SsoGetLikeList",
74046
+ "trpc.commercial.dataworks.UserActionReport_sso.SsoReport",
74047
+ "trpc.down.intercept.Intercept.SsoGetDownloadTips",
74048
+ "trpc.down.intercept.Intercept.SsoGetInterceptFile",
74049
+ "trpc.down.joint_operation_game_intercept.JointOperationGameIntercept.SsoCheck",
74050
+ "trpc.down.joint_operation_game_intercept.JointOperationGameIntercept.SsoQueryConfig",
74051
+ "trpc.ecom.api_gateway.ApiGateway.SsoForward",
74052
+ "trpc.g_qqrtc.qq_mav_room_state_read.GetRoomState.SsoGetInfoByUin",
74053
+ "trpc.gc_indust.device_report.SsoHome.SsoHomeReport",
73613
74054
  "trpc.group.long_msg_interface.MsgService.SsoRecvLongMsg",
73614
- "OidbSvcTrpcTcp.0x88d_0"
74055
+ "trpc.group.long_msg_interface.MsgService.SsoSendLongMsg",
74056
+ "trpc.group_pro.msgproxy.sendmsg",
74057
+ "trpc.group_pro.synclogic.SyncLogic.SyncFirstView",
74058
+ "trpc.login.ecdh.EcdhService.SsoKeyExchange",
74059
+ "trpc.login.ecdh.EcdhService.SsoNTLoginAuthCodeLogin",
74060
+ "trpc.login.ecdh.EcdhService.SsoNTLoginAuthLogin",
74061
+ "trpc.login.ecdh.EcdhService.SsoNTLoginAuthNewDevice",
74062
+ "trpc.login.ecdh.EcdhService.SsoNTLoginCheckA1List",
74063
+ "trpc.login.ecdh.EcdhService.SsoNTLoginCheckGateWayCode",
74064
+ "trpc.login.ecdh.EcdhService.SsoNTLoginCheckSms",
74065
+ "trpc.login.ecdh.EcdhService.SsoNTLoginCheckThirdCode",
74066
+ "trpc.login.ecdh.EcdhService.SsoNTLoginEasyLogin",
74067
+ "trpc.login.ecdh.EcdhService.SsoNTLoginEasyLoginUnusualDevice",
74068
+ "trpc.login.ecdh.EcdhService.SsoNTLoginGetSaltList",
74069
+ "trpc.login.ecdh.EcdhService.SsoNTLoginGetSms",
74070
+ "trpc.login.ecdh.EcdhService.SsoNTLoginOptimusLogin",
74071
+ "trpc.login.ecdh.EcdhService.SsoNTLoginPasswordLogin",
74072
+ "trpc.login.ecdh.EcdhService.SsoNTLoginPasswordLoginNewDevice",
74073
+ "trpc.login.ecdh.EcdhService.SsoNTLoginPasswordLoginUnusualDevice",
74074
+ "trpc.login.ecdh.EcdhService.SsoNTLoginRapidLogin",
74075
+ "trpc.login.ecdh.EcdhService.SsoNTLoginRefreshA2",
74076
+ "trpc.login.ecdh.EcdhService.SsoNTLoginRefreshTicket",
74077
+ "trpc.login.ecdh.EcdhService.SsoNTLoginTGTExchangeFastLogin",
74078
+ "trpc.login.ecdh.EcdhService.SsoOIDB0x916a",
74079
+ "trpc.login.ecdh.EcdhService.SsoOIDB0x916b",
74080
+ "trpc.login.ecdh.EcdhService.SsoOIDB0x916c",
74081
+ "trpc.login.ecdh.EcdhService.SsoOIDB0x916d",
74082
+ "trpc.login.ecdh.EcdhService.SsoQRLoginAuthQr",
74083
+ "trpc.login.ecdh.EcdhService.SsoQRLoginCancleQr",
74084
+ "trpc.login.ecdh.EcdhService.SsoQRLoginGenQr",
74085
+ "trpc.login.ecdh.EcdhService.SsoQRLoginRejectQr",
74086
+ "trpc.login.ecdh.EcdhService.SsoQRLoginScanQr",
74087
+ "trpc.lplan.feed_svr.StatusWrite.SsoComment",
74088
+ "trpc.lplan.feed_svr.StatusWrite.SsoPostStatus",
74089
+ "trpc.lplan.feed_svr.StatusWrite.SsoReply",
74090
+ "trpc.lplan.like_svr.Like.SsoDoLike",
74091
+ "trpc.lplan.map_svr.Map.SsoReportLocation",
74092
+ "trpc.lplan.user_manager_svr.User.SsoLogin",
74093
+ "trpc.lplan.user_manager_svr.User.SsoSetProfile",
74094
+ "trpc.metaverse.mob_proxy_svr.MobProxy.SsoHandle",
74095
+ "trpc.msg.msg_svc.MsgService.SsoC2CRecallMsg",
74096
+ "trpc.msg.msg_svc.MsgService.SsoGetPeerSeq",
74097
+ "trpc.msg.msg_svc.MsgService.SsoReadedReport",
74098
+ "trpc.msg.olpush.OlPushService.SsoPushAck",
74099
+ "trpc.msg.register_proxy.RegisterProxy.PushParams",
74100
+ "trpc.msg.register_proxy.RegisterProxy.SsoInfoSync",
74101
+ "trpc.o3.ecdh_access.EcdhAccess.SsoEstablishShareKey",
74102
+ "trpc.o3.ecdh_access.EcdhAccess.SsoSecureA2Access",
74103
+ "trpc.o3.ecdh_access.EcdhAccess.SsoSecureA2Establish",
74104
+ "trpc.o3.ecdh_access.EcdhAccess.SsoSecureAccess",
74105
+ "trpc.o3.report.Report.SsoReport",
74106
+ "trpc.passwd.manager.PasswdManager.SetPasswd",
74107
+ "trpc.passwd.manager.PasswdManager.VerifyPasswd",
74108
+ "trpc.qlive.qlive_proxy_svr.TrpcProxy.*",
74109
+ "trpc.qlive.relationchain_svr.RelationchainSvr.Follow",
74110
+ "trpc.qlive.word_svr.WordSvr.NewPublicChat",
74111
+ "trpc.qmeta.mob_proxy_svr.MobProxy.SsoHandle",
74112
+ "trpc.qpay.encryptedtransfer.Encryption.SsoUINEncrypt",
74113
+ "trpc.qpay.midas_order.Order.SsoMakeOrder",
74114
+ "trpc.qpay.red_pack_skin.Skin.SsoAddSkin",
74115
+ "trpc.qpay.sso.web.Do",
74116
+ "trpc.qq_new_tech.status_svc.StatusService.Register",
74117
+ "trpc.qq_new_tech.status_svc.StatusService.SetStatus",
74118
+ "trpc.qq_new_tech.status_svc.StatusService.SsoHeartBeat",
74119
+ "trpc.qq_new_tech.status_svc.StatusService.UnRegister",
74120
+ "trpc.qqhb.qqhb_proxy.Handler.sso_handle",
74121
+ "trpc.qqstranger.common_proxy.CommonProxy.SsoHandle",
74122
+ "trpc.qqva.vipdata.Vipdata.SsoGetUserData",
74123
+ "trpc.springfestival.redpacket.LuckyBag.SsoSubmitGrade",
74124
+ "wtlogin.device_lock",
74125
+ "wtlogin.exchange_emp",
74126
+ "wtlogin.log_report",
74127
+ "wtlogin.login",
74128
+ "wtlogin.name2uin",
74129
+ "wtlogin.qrlogin",
74130
+ "wtlogin.register",
74131
+ "wtlogin.trans_emp",
74132
+ "wtlogin_device.login",
74133
+ "wtlogin_device.tran_sim_emp"
73615
74134
  ]);
73616
74135
  async sendCommand(cmd, payload, encryptType, timeout = 15e3) {
73617
74136
  const seq = this.nextSeq();
@@ -73719,10 +74238,9 @@ var DirectProtocolClient = class extends EventEmitter {
73719
74238
  this.signTokenLastFetchAt = Date.now();
73720
74239
  const { token, ttlSecs } = await acquireSignToken(uin, AppInfo.qua);
73721
74240
  if (this.session) {
73722
- const ttlMs = ttlSecs > 0 ? ttlSecs * 1e3 : 1200 * 1e3;
73723
74241
  this.session.signToken12B = token;
73724
- this.session.signTokenExpiresAt = Date.now() + ttlMs;
73725
- console.log(`[SignToken] acquired "${token}" ttl=${ttlSecs > 0 ? ttlSecs + "s" : "default"}`);
74242
+ this.session.signTokenExpiresAt = Date.now() + ttlSecs * 1e3;
74243
+ console.log(`[SignToken] acquired "${token}" ttl=${ttlSecs}s`);
73726
74244
  }
73727
74245
  } catch (e) {
73728
74246
  console.warn(`[SignToken] acquire failed: ${e.message}`);
@@ -74763,7 +75281,7 @@ var QQProtocolBase = class extends Service {
74763
75281
  const { pmhqHost, pmhqPort } = this.getPMHQHostPort();
74764
75282
  this.httpUrl = `http://${pmhqHost}:${pmhqPort}/`;
74765
75283
  this.wsUrl = `ws://${pmhqHost}:${pmhqPort}/ws`;
74766
- if (process.env.QQ_USE_PMHQ) this.connectWebSocket().then();
75284
+ if (isPmhqMode()) this.connectWebSocket().then();
74767
75285
  }
74768
75286
  maybeEmitOnline() {
74769
75287
  if (this.onlineEmitted) return;
@@ -74773,6 +75291,25 @@ var QQProtocolBase = class extends Service {
74773
75291
  this.ctx.parallel("qq/online");
74774
75292
  }
74775
75293
  /**
75294
+ * emit qq/online 之后 ntUserApi 才会随插件加载. 用 ctx.inject 等它 ready 再拉一次 nick;
75295
+ * 拿到就写 selfInfo.nick, 失败就 warn 一下留空。
75296
+ */
75297
+ scheduleFetchSelfNick(myToken) {
75298
+ this.ctx.inject(["ntUserApi"], async (ctx) => {
75299
+ if (this.pmhqProbeToken !== myToken) return;
75300
+ try {
75301
+ const nick = await ctx.ntUserApi.getSelfNick(false);
75302
+ this.logger.info(`getSelfNick -> ${JSON.stringify(nick)}`);
75303
+ if (nick) {
75304
+ selfInfo.nick = nick;
75305
+ ctx.parallel("llbot/self-nick-changed", { nick });
75306
+ }
75307
+ } catch (e) {
75308
+ this.logger.warn(`getSelfNick threw: ${e.message}`);
75309
+ }
75310
+ });
75311
+ }
75312
+ /**
74776
75313
  * PMHQ 模式下 LLBot 是寄生在 QQ NT 上的,QQ NT 早就登录过了,开机时的 InfoSyncPush 也早处理完。
74777
75314
  * LLBot 想要群最新 seq(拉历史用)就得自己主动触发一次:发 SsoInfoSync,server 看到注册请求就回一发 InfoSyncPush。
74778
75315
  * isFirstRegisterProxyOnline=0 + 派生 guid(基于 uid,每个号固定)尽量避免和 QQ NT 的注册项冲突。
@@ -74794,7 +75331,9 @@ var QQProtocolBase = class extends Service {
74794
75331
  if (wasOnline) this.ctx.parallel("protocol/disconnect");
74795
75332
  }
74796
75333
  /**
74797
- * PMHQ 模式:周期 SsoHeartBeat 探测登录;同时挂 recv listener self uid/uin
75334
+ * PMHQ 模式:轮询 /health self uin/uid(DLL QQ 内存直接读 uin,
75335
+ * injector 侧扫 recv pb 抠 uid, 都写到 /health)。拿到 uin+uid 立即 emit online,
75336
+ * nick 通过 scheduleFetchSelfNick 异步等 ntUserApi 服务 ready 后再拉。
74798
75337
  * 重连后会被 onopen 再次调用,所以必须先 reset 旧状态再启动新一轮。
74799
75338
  */
74800
75339
  startPmhqLoginProbe() {
@@ -74803,20 +75342,27 @@ var QQProtocolBase = class extends Service {
74803
75342
  let warnedNotLoggedIn = false;
74804
75343
  const probe = async () => {
74805
75344
  if (this.pmhqProbeToken !== myToken) return;
74806
- const ntFriendApi = this.ctx.get("ntFriendApi");
74807
- if (ntFriendApi) try {
74808
- const info = (await ntFriendApi.getFriends(true)).friends.find((e) => e.isSelf);
75345
+ try {
75346
+ const resp = await fetch(`${this.httpUrl}health`);
75347
+ if (!resp.ok) throw new Error(`HTTP ${resp.status}`);
75348
+ const health = await resp.json();
74809
75349
  if (this.pmhqProbeToken !== myToken) return;
74810
- selfInfo.uid = info.uid;
74811
- selfInfo.uin = info.uin.toString();
74812
- selfInfo.nick = info.nick;
74813
- if (!selfInfo.online) this.logger.info("QQ 登录成功");
74814
- selfInfo.online = true;
74815
- this.maybeEmitOnline();
75350
+ if (health.uin && health.uid) {
75351
+ selfInfo.uid = health.uid;
75352
+ selfInfo.uin = String(health.uin);
75353
+ this.ctx.logger.info(`Self info ${selfInfo.nick || "<pending>"}(${selfInfo.uin}) uid=${selfInfo.uid}`);
75354
+ if (!selfInfo.online) this.logger.info("QQ 登录成功");
75355
+ selfInfo.online = true;
75356
+ this.maybeEmitOnline();
75357
+ this.scheduleFetchSelfNick(myToken);
75358
+ } else if (!warnedNotLoggedIn) {
75359
+ this.logger.info("QQ 未登录,等待登录中...");
75360
+ warnedNotLoggedIn = true;
75361
+ }
74816
75362
  } catch (e) {
74817
75363
  if (this.pmhqProbeToken !== myToken) return;
74818
- if (!warnedNotLoggedIn && !e.message.includes("(QQ DLL not connected)")) {
74819
- this.logger.info("QQ 未登录,等待登录中...");
75364
+ if (!warnedNotLoggedIn) {
75365
+ this.logger.info("PMHQ /health probe failed (QQ 未启动?), 继续等待: %s", e.message);
74820
75366
  warnedNotLoggedIn = true;
74821
75367
  }
74822
75368
  }
@@ -77497,13 +78043,13 @@ function MessageMixin(Base) {
77497
78043
  };
77498
78044
  }
77499
78045
  /** 拉取消息表情回应用户列表 (OidbSvcTrpcTcp.0x9083_1) */
77500
- async fetchMsgEmojiLikes(groupCode, msgSeq, emojiCode, count) {
78046
+ async fetchMsgEmojiLikes(groupCode, msgSeq, emojiCode, count, cookie) {
77501
78047
  const body = Oidb.FetchEmojiLikesReq.encode({
77502
78048
  groupCode,
77503
78049
  msgSeq,
77504
78050
  chatType: 1,
77505
78051
  emojiCode,
77506
- cookie: Buffer.alloc(0),
78052
+ cookie,
77507
78053
  field7: 0,
77508
78054
  count
77509
78055
  });
@@ -78040,7 +78586,7 @@ async function onLoad() {
78040
78586
  };
78041
78587
  let lastQrCodeTime = 0;
78042
78588
  isDockerEnvironment();
78043
- const useDirectProtocol = !process.env.QQ_USE_PMHQ;
78589
+ const useDirectProtocol = !isPmhqMode();
78044
78590
  const printLoginQrCode = async () => {
78045
78591
  try {
78046
78592
  const data = await ctx.qqProtocol.getDirectLoginQrCode();
@@ -78122,6 +78668,9 @@ async function onLoad() {
78122
78668
  };
78123
78669
  ctx.on("qq/online", handleOnline);
78124
78670
  if (selfInfo.online && selfInfo.uid) handleOnline();
78671
+ ctx.on("llbot/self-nick-changed", (info) => {
78672
+ setLoginState({ nickname: info.nick });
78673
+ });
78125
78674
  ctx.on("protocol/disconnect", () => {
78126
78675
  ctx.logger.info("协议层断开,等待重连…");
78127
78676
  });
@@ -78134,13 +78683,13 @@ async function onLoad() {
78134
78683
  });
78135
78684
  else ctx.qqProtocol.startHook();
78136
78685
  });
78686
+ process.on("unhandledRejection", (reason) => {
78687
+ ctx.logger.error("[unhandledRejection]", reason);
78688
+ });
78689
+ process.on("uncaughtException", (err) => {
78690
+ ctx.logger.error("[uncaughtException]", err);
78691
+ });
78137
78692
  }
78138
- process.on("unhandledRejection", (reason) => {
78139
- console.error("[unhandledRejection]", reason);
78140
- });
78141
- process.on("uncaughtException", (err) => {
78142
- console.error("[uncaughtException]", err);
78143
- });
78144
78693
  onLoad().catch((e) => console.error(e));
78145
78694
  //#endregion
78146
78695
  export {};