Compare commits

..

107 Commits

Author SHA1 Message Date
手瓜一十雪
e53c37adc9 release: v1.6.0 2024-06-21 22:43:19 +08:00
手瓜一十雪
c37539354c docs: update 2024-06-21 22:35:10 +08:00
手瓜一十雪
ae0277f33c release: 1.5.8 2024-06-19 23:34:09 +08:00
手瓜一十雪
b863896249 refactor: log file limit 2024-06-19 23:26:05 +08:00
手瓜一十雪
5b42f8b743 refactor: qqmusic card & requests 2024-06-19 23:06:57 +08:00
手瓜一十雪
3883fab614 remove: debug 2024-06-19 21:37:13 +08:00
手瓜一十雪
61d6bcec4b refactor: qqmusic card & requests 2024-06-19 21:33:31 +08:00
手瓜一十雪
3b5902b033 refactor: requests 2024-06-19 16:45:20 +08:00
手瓜一十雪
3a88c21a3b refactor: 整理action & data 2024-06-19 13:35:42 +08:00
手瓜一十雪
91a5055dee refactor: qqmusic sign & http post 2024-06-19 13:20:52 +08:00
手瓜一十雪
7befd1469f Merge branch 'main' of https://github.com/NapNeko/NapCatQQ 2024-06-19 10:01:37 +08:00
手瓜一十雪
c72ebe495c refactor: remove debug 2024-06-19 10:01:24 +08:00
手瓜一十雪
19e06b97e6 docs: update 2024-06-18 23:57:47 +08:00
手瓜一十雪
7519825303 refactor: test 2024-06-18 23:23:19 +08:00
手瓜一十雪
d9315bf309 refactor: project 2024-06-18 22:49:06 +08:00
手瓜一十雪
8c36c809a0 docs: extend 2024-06-18 11:22:35 +08:00
手瓜一十雪
8138aa3cb2 docs: v1.5.8 2024-06-18 11:21:52 +08:00
手瓜一十雪
87aef3ca78 feat: Util HttpUploadFile 2024-06-18 11:17:09 +08:00
手瓜一十雪
a3f1d26d6b feat: refactor miniapp 2024-06-18 11:08:51 +08:00
手瓜一十雪
06cebc5670 build: try support ia32 2024-06-17 10:03:59 +08:00
手瓜一十雪
867fd62d77 fix: typo 2024-06-16 20:54:52 +08:00
手瓜一十雪
650cdf2916 feat: test 2024-06-16 19:24:42 +08:00
手瓜一十雪
ebf461f2fd feat: 加了一些暂时不能使用的代码 2024-06-16 16:35:09 +08:00
手瓜一十雪
27fa319b2a release: LinuxAppid 24568 2024-06-14 18:43:56 +08:00
手瓜一十雪
d95ac894f4 release: 1.5.6-复活下win 2024-06-14 17:00:35 +08:00
手瓜一十雪
ae84a8dd11 docs: v1.5.6 change 2024-06-14 16:53:26 +08:00
手瓜一十雪
2fc963f986 build: v1.5.6-紧急测试 2024-06-14 16:43:32 +08:00
手瓜一十雪
be1f938ebd fix 2024-06-14 16:42:39 +08:00
手瓜一十雪
cccf4d503d docs: v1.5.6 2024-06-14 15:50:22 +08:00
手瓜一十雪
9dad2a8ac6 remove: debug 2024-06-11 18:11:32 +08:00
手瓜一十雪
75af104f07 release: v1.5.5 2024-06-11 18:10:22 +08:00
手瓜一十雪
76ecba245b fix: error 2024-06-11 18:09:46 +08:00
手瓜一十雪
3697c2ced8 refactor: 移除无缝升级函数 2024-06-11 15:46:27 +08:00
手瓜一十雪
b9d1d84716 release: v1.5.4 2024-06-11 15:20:11 +08:00
手瓜一十雪
64b2d547ce refactor: friend 2024-06-11 12:34:04 +08:00
手瓜一十雪
d8d2ff7e4e chore:appid 2024-06-10 19:00:05 +08:00
手瓜一十雪
8aa5dc6482 Merge pull request #62 from NapNeko/dependabot/npm_and_yarn/uuid-10.0.0
build(deps): bump uuid from 9.0.1 to 10.0.0
2024-06-10 16:46:05 +08:00
dependabot[bot]
474ba20e61 build(deps): bump uuid from 9.0.1 to 10.0.0
Bumps [uuid](https://github.com/uuidjs/uuid) from 9.0.1 to 10.0.0.
- [Changelog](https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/uuidjs/uuid/compare/v9.0.1...v10.0.0)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-10 08:12:09 +00:00
手瓜一十雪
bdea2d02a9 release: v1.5.3 2024-06-09 20:09:14 +08:00
手瓜一十雪
c4307481f1 build: 1.5.3-beta4 2024-06-09 19:47:16 +08:00
手瓜一十雪
b8ac1b28bd build: v1.5.3-beta3 2024-06-09 19:41:27 +08:00
手瓜一十雪
24038cda95 refactor: video url 2024-06-09 19:40:34 +08:00
手瓜一十雪
86c82e9608 build: 1.5.3-beta2 2024-06-09 19:14:27 +08:00
手瓜一十雪
daab5d150b refactor: friend add 2024-06-09 19:13:49 +08:00
手瓜一十雪
9ff82bdb90 feat: support SetLongNick 2024-06-09 18:28:09 +08:00
手瓜一十雪
c6d70ef1cf build: 1.5.3-beta1 2024-06-09 17:46:32 +08:00
手瓜一十雪
15d4bb3c76 feat: new api 2024-06-09 17:30:30 +08:00
手瓜一十雪
3e698981fd chore: sync core 2024-06-09 14:26:02 +08:00
手瓜一十雪
9d45c934a5 chore: sync core 2024-06-08 22:13:05 +08:00
手瓜一十雪
c2bf9cf93e chore: sync core 2024-06-08 12:11:04 +08:00
手瓜一十雪
b3c6fd7f26 chore: sync core 2024-06-07 17:59:33 +08:00
手瓜一十雪
ccd155de71 feat: 推荐联系人ArkJson 2024-06-07 17:57:33 +08:00
手瓜一十雪
1f90d2e46b feat: 支持专属头衔获取 2024-06-07 17:26:00 +08:00
手瓜一十雪
4c5d974c22 feat: 支持专属头衔获取 2024-06-07 17:25:34 +08:00
手瓜一十雪
392eda1cbc fix: typo 2024-06-07 13:19:22 +08:00
手瓜一十雪
a9da3279e8 docs: change 2024-06-07 13:01:15 +08:00
手瓜一十雪
1ce8351180 docs: develop 2024-06-07 09:49:31 +08:00
手瓜一十雪
96c334478a docs: todo 2024-06-07 00:39:09 +08:00
手瓜一十雪
f1b0875b05 feat: ArkJsonGroupShare 2024-06-06 17:20:34 +08:00
手瓜一十雪
cea9e11c83 docs: add 2024-06-06 14:31:45 +08:00
手瓜一十雪
f098b39200 refactor: uins 2024-06-06 13:34:05 +08:00
手瓜一十雪
012d948b59 chore: sync 2024-06-06 13:23:15 +08:00
手瓜一十雪
3334cd0a71 docs: change 2024-06-06 12:18:17 +08:00
手瓜一十雪
d63d53fd88 docs: move 2024-06-06 11:05:30 +08:00
手瓜一十雪
a7fa39b2fd fix: message_id error 2024-06-06 11:03:29 +08:00
Version
40bb42e193 chore:version change 2024-06-05 10:30:26 +00:00
手瓜一十雪
9c382c639b build: v1.5.2-api兼容 2024-06-05 15:04:04 +08:00
手瓜一十雪
a43cde38f1 refactor: SetMsgEmojiLike 2024-06-05 15:03:14 +08:00
手瓜一十雪
c35d2e08cd refactor: reboot req params 2024-06-05 14:25:21 +08:00
手瓜一十雪
3377c383c1 build: v1.5.2 - GetMsg兼容 2024-06-05 12:14:41 +08:00
手瓜一十雪
c00e6d95cd build: v1.5.2-beta3 2024-06-05 11:23:42 +08:00
手瓜一十雪
725fccf4ed refactor: GoCQHTTP_GetStrangerInfo 2024-06-05 11:19:34 +08:00
手瓜一十雪
13129bd219 build: v1.5.2-beta2 2024-06-05 10:41:40 +08:00
手瓜一十雪
4561977bcf chore: sync core 2024-06-05 10:36:39 +08:00
手瓜一十雪
40be8a91f5 fix 2024-06-05 10:33:36 +08:00
手瓜一十雪
2a04d5830b fix: kick member 2024-06-04 23:52:46 +08:00
手瓜一十雪
82a38574f3 build: v1.5.2-beta 2024-06-04 23:16:33 +08:00
手瓜一十雪
fea3a33c2b refactor: Uid <-> Uin & Remove Cached 2024-06-04 23:13:18 +08:00
手瓜一十雪
9a502cdf6f refactor: uin - > uid 2024-06-04 23:06:53 +08:00
手瓜一十雪
4b616299cf refactor: uin -> uid 2024-06-04 22:50:16 +08:00
手瓜一十雪
102243e064 sync: core 2024-06-04 21:15:29 +08:00
手瓜一十雪
4b21ac5ebe fix: nt event 2024-06-04 21:09:19 +08:00
手瓜一十雪
4dd7363dd3 Merge branch 'main' of https://github.com/NapNeko/NapCatQQ 2024-06-04 12:39:08 +08:00
手瓜一十雪
3d5e5ab78f release: v1.5.1 2024-06-04 12:38:54 +08:00
手瓜一十雪
73045a1b21 Merge pull request #57 from Icexbb/main
fix: 整理日志、添加颜色、使用统一的日志函数以提高日志可读性
2024-06-04 12:37:54 +08:00
手瓜一十雪
871173a7cf fix: 二维码显示 2024-06-04 12:37:35 +08:00
手瓜一十雪
0002313093 Merge branch 'main' into pr/57 2024-06-04 12:31:43 +08:00
手瓜一十雪
948cf5cca6 refactror: cpmoudle
此处非NC运行时的代码 用于打包时运行
2024-06-04 12:26:19 +08:00
手瓜一十雪
d40230879c fix: 玄学的问题 2024-06-04 12:20:42 +08:00
XBB
ab22b775f1 fix: 整理日志、添加颜色、使用统一的日志函数以提高日志可读性 2024-06-04 02:59:35 +08:00
手瓜一十雪
42c85224ba build: v1.5.1-beta1 2024-06-03 21:18:24 +08:00
手瓜一十雪
e57444a353 sync: core 2024-06-03 21:11:21 +08:00
手瓜一十雪
3c6503d495 feat: support SetSelfProfile 2024-06-03 21:02:43 +08:00
手瓜一十雪
149b518f48 release: v1.5.0 2024-06-03 17:15:43 +08:00
手瓜一十雪
74621447ff fix: 提高兼容性 2024-06-03 17:12:53 +08:00
手瓜一十雪
3280952931 fix: 提高Api兼容性 2024-06-03 17:09:23 +08:00
手瓜一十雪
9e670e2736 Merge branch 'main' of https://github.com/NapNeko/NapCatQQ 2024-06-03 16:56:28 +08:00
手瓜一十雪
9fc6347a2f fix: 进一步标准化 2024-06-03 16:56:08 +08:00
Version
ec7a15a192 chore:version change 2024-06-03 08:50:25 +00:00
手瓜一十雪
7f99982810 release: v1.4.9 2024-06-03 16:49:08 +08:00
Version
935d83aaf8 chore:version change 2024-06-02 13:01:32 +00:00
手瓜一十雪
0ff6edd546 style: lint 2024-06-02 20:49:09 +08:00
手瓜一十雪
94f629585a build: v1.4.8-beta2 2024-06-02 20:40:41 +08:00
手瓜一十雪
89c04be02f fix 2024-06-02 13:58:51 +08:00
手瓜一十雪
3151965ea8 build: 1.3.8-beta1 2024-06-02 13:45:48 +08:00
手瓜一十雪
bdf5159be1 refactor: guid 2024-06-02 13:38:33 +08:00
手瓜一十雪
0499ebbea3 release: v1.4.7 2024-06-01 15:52:06 +08:00
195 changed files with 4056 additions and 2342 deletions

View File

@@ -47,7 +47,7 @@ jobs:
fail-fast: false
matrix:
target_platform: [win32]
target_arch: [x64]
target_arch: [x64,ia32]
steps:
- name: Clone Main Repository
uses: actions/checkout@v4

View File

@@ -72,7 +72,7 @@ jobs:
fail-fast: false
matrix:
target_platform: [win32]
target_arch: [x64]
target_arch: [x64,ia32]
steps:
- name: Clone Main Repository
uses: actions/checkout@v4

View File

@@ -0,0 +1,11 @@
# v1.6.0
QQ Version: Windows 9.9.11-24815 / Linux 3.2.9-24815
## 修复与优化
## 新增与调整
* 新增图片subtype属性 区分表情图片与商城图片
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,11 @@
# v1.4.7
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
## 修复与优化
* 临时扩展 Api: GoCQHTTPUploadGroupFile folder_id字段 用于选择文件夹
## 新增与调整
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,12 @@
# v1.4.8
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
## 修复与优化
* 优化Guid的生成方式
* 支持临时消息获取群来源
## 新增与调整
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,11 @@
# v1.4.9
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
## 修复与优化
* 修复接口调用问题 接口标准化 APIset_group_add_request
## 新增与调整
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,11 @@
# v1.5.0
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
## 修复与优化
* 修正各Api默认值
## 新增与调整
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,12 @@
# v1.5.1
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
## 修复与优化
* 支持 新Api: set_self_profile 可设置个性签名
* 修复 Api: get_group_system_msg
* 整理日志、添加颜色、使用统一的日志函数以提高日志可读性
## 新增与调整
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,13 @@
# v1.5.2
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
## 修复与优化
* 替换Uid/Uin为内部实现
* 增加HttpApi调用稳定性
* 修复 GetMsg 兼容性
## 新增与调整
* 支持真正意义上的陌生人信息获取 Api: GoCQHTTP_GetStrangerInfo
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,15 @@
# v1.5.3
QQ Version: Windows 9.9.11-24568 / Linux 3.2.9-23568
## 修复与优化
* 修复引用消息id问题
* 修复添加好友的通知
## 新增与调整
* 扩展群分享Json生成
* 扩展关于收藏的一系列接口
* 支持专属群头衔获取
* 支持视频获取直链
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,11 @@
# v1.5.4
QQ Version: Windows 9.9.11-24568 / Linux 3.2.9-23568
## 修复与优化
* 紧急修复视频与文件问题
## 新增与调整
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,11 @@
# v1.5.5
QQ Version: Windows 9.9.11-24568 / Linux 3.2.9-23568
## 修复与优化
* 紧急修复一些问题
## 新增与调整
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,11 @@
# v1.5.6
QQ Version: Windows 9.9.11-24568 / Linux 3.2.9-24568
## 修复与优化
* 修复一些问题
## 新增与调整
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,11 @@
# v1.5.7
QQ Version: Windows 9.9.11-24568 / Linux 3.2.9-24568
## 修复与优化
* 修复一些问题
## 新增与调整
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,14 @@
# v1.5.8
QQ Version: Windows 9.9.11-24568 / Linux 3.2.9-24568
## 修复与优化
* 修复视频文件残留问题
* 重构 getcookies接口 支持大部分常见域
## 新增与调整
* 日志大小限制
* 支持 QQ音乐 卡片 无签名支持时 启用内置方法(缺点没有封面 限速1min/条)
* 支持Window X86-32机器
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,12 @@
# v1.5.9
QQ Version: Windows 9.9.11-24815 / Linux 3.2.9-24815
## 修复与优化
* 优化缓存问题
* 修复poke异常上报
## 新增与调整
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

2
docs/develop/Android.md Normal file
View File

@@ -0,0 +1,2 @@
# 开始
jadx 跳转于 `com.tencent.qqnt.kernel.*`

View File

@@ -0,0 +1,42 @@
# Android
```java
GroupMemberExtReq groupMemberExtReq = new GroupMemberExtReq();
groupMemberExtReq.sourceType = MemberExtSourceType.TITLETYPE.ordinal();
groupMemberExtReq.groupCode = longOrNull.longValue();
groupMemberExtReq.beginUin = "0";
groupMemberExtReq.dataTime = "0";
Long[] lArr = new Long[1];
AppInterface a2 = dVar.a();
lArr[0] = Long.valueOf(a2 != null ? a2.getLongAccountUin() : 0L);
arrayListOf = CollectionsKt__CollectionsKt.arrayListOf(lArr);
groupMemberExtReq.uinList = arrayListOf;
MemberExtInfoFilter memberExtInfoFilter = new MemberExtInfoFilter();
memberExtInfoFilter.memberLevelInfoUin = 1;
memberExtInfoFilter.memberLevelInfoPoint = 1;
memberExtInfoFilter.memberLevelInfoActiveDay = 1;
memberExtInfoFilter.memberLevelInfoLevel = 1;
memberExtInfoFilter.levelName = 1;
memberExtInfoFilter.dataTime = 1;
memberExtInfoFilter.sysShowFlag = 1;
memberExtInfoFilter.userShowFlag = 1;
memberExtInfoFilter.userShowFlagNew = 1;
memberExtInfoFilter.levelNameNew = 1;
Unit unit = Unit.INSTANCE;
groupMemberExtReq.memberExtFilter = memberExtInfoFilter;
troopLevelFrequencyControl.f(troopUin, new TroopListRepo$fetchTroopLevelInfo$2(b2, groupMemberExtReq, troopUin, new com.tencent.qqnt.troopmemberlist.report.c("fetchTroopLevelInfo")));
```
# Win
参数解析位于 sub_181456A10(24108) -> wrapper.node(24108)+1456A10
IGroupService.GetMemberExt(param: object);
param展开如下
```
groupCode string
beginUin string
dataTime string
uinList Array<string>
uinNum string
groupType string
richCardNameVer string
sourceType number
memberExtFilter object// 参数解析位于 sub_18145A6D0(24108) -> wrapper.node(24108)+145A6D0
```

View File

@@ -0,0 +1,48 @@
public static final int C2C_PIC_DOWNLOAD = 1004;
public static final String C2C_PIC_DOWNLOAD_DOMAIN = "c2cpicdw.qpic.cn";
public static final String C2C_PIC_DOWNLOAD_QUIC_DOMAIN = "c2cpicdw.quic.qpic.cn";
public static final int FLAG_NOT_UPLOAD = 3;
public static final int FLAG_UPLOADINFO_ERROR = 4;
public static final int GROUP_PIC_DOWNLOAD = 1000;
public static final String GROUP_PIC_DOWNLOAD_DOMAIN = "gchat.qpic.cn";
public static final String GROUP_PIC_DOWNLOAD_QUIC_DOMAIN = "gchat.quic.qpic.cn";
public static final String GUILD_PIC_DOWNLOAD_DOMAIN = "gchat.qpic.cn/qmeetpic";
public static final boolean NEW_STORE_FLAG = true;
public static final String PTT_VIDEO_DOWNLOAD_DOMAIN = "grouptalk.c2c.qq.com";
protected static final int AVIF_DECODE_EXCEPTION = 4;
protected static final int AVIF_DECODE_FAIL = 1;
protected static final int AVIF_DECODE_FAIL_SO_FAIL = 2;
protected static final int AVIF_DECODE_FAIL_UNKNOWN = 6;
protected static final int AVIF_DECODE_FILETYPE_ERROR = 5;
protected static final int AVIF_DECODE_OOM = 3;
protected static final int AVIF_DECODE_RENAME_FAIL = 7;
protected static final int AVIF_DECODE_SUC = 0;
public static final String AVIF_FILE_SUFFIX = ".avif";
public static final int AVIF_REQ_APPRUNTIME_NULL = 12;
public static final int AVIF_REQ_CODEC_UNSURPPORT = 5;
protected static final int AVIF_REQ_DENSITY_UNSURPPORT = 10;
protected static final int AVIF_REQ_FLASH_PHOTO = 9;
protected static final int AVIF_REQ_HAS_TMP_AVIF = 7;
protected static final int AVIF_REQ_INVALID_MSG_RECORD = 2;
protected static final int AVIF_REQ_IS_RAW_PHOTO = 3;
protected static final int AVIF_REQ_OUTPUTSTREAM_UNSURPPORT = 11;
protected static final int AVIF_REQ_OVERSIZE = 6;
protected static final int AVIF_REQ_RETRY = 1;
public static final int AVIF_REQ_SO_DOWNLOAD_FAILED = 8;
protected static final int AVIF_REQ_SUC = 0;
public static final int AVIF_REQ_SWITCH_CLOSE = 4;
public static final String C2C_PIC_DOWNLOAD_ERROR_CODE = "C2CPicDownloadErrorCode";
static final int DOWNLOAD_ST_COMPLETE = 1;
static final int DOWNLOAD_ST_HEAD = 2;
static final int DOWNLOAD_ST_LEFT = 4;
static final int DOWNLOAD_ST_PART = 3;
private static final int ENCRYPT_APPID = 1600000226;
public static final String GROUP_PIC_DOWNLOAD_ERROR_CODE = "GroupPicDownloadErrorCode";
public static final String KEY_PIC_DOWNLOAD_ERROR_CODE = "param_detail_code";
protected static final int QUIC_FAIL_IP_LIST_EMPTY = 1;
protected static final int QUIC_FAIL_REQUEST_HTTPS = 3;
protected static final int QUIC_FAIL_REQUEST_QUIC = 2;
protected static final int QUIC_FAIL_SO_LOAD = 4;
public static final String REPORT_TAG_DIRECT_DOWNLOAD_FAIL = "report_direct_download_fail";
public static final String REQ_PARAM_AVIF = "tp=avif";

View File

@@ -0,0 +1,444 @@
```java
MsgConstant
int ARKSTRUCTELEMENTSUBTYPETENCENTDOCFROMMINIAPP = 1;
int ARKSTRUCTELEMENTSUBTYPETENCENTDOCFROMPLUSPANEL = 2;
int ARKSTRUCTELEMENTSUBTYPEUNKNOWN = 0;
int ATTYPEALL = 1;
int ATTYPECATEGORY = 512;
int ATTYPECHANNEL = 16;
int ATTYPEME = 4;
int ATTYPEONE = 2;
int ATTYPEONLINE = 64;
int ATTYPEROLE = 8;
int ATTYPESUMMON = 32;
int ATTYPESUMMONONLINE = 128;
int ATTYPESUMMONROLE = 256;
int ATTYPEUNKNOWN = 0;
int CALENDARELEMSUBTYPECOMMON = 3;
int CALENDARELEMSUBTYPESTRONG = 1;
int CALENDARELEMSUBTYPEUNKNOWN = 0;
int CALENDARELEMSUBTYPEWEAK = 2;
int FACEBUBBLEELEMSUBTYPENORMAL = 1;
int FACEBUBBLEELEMSUBTYPEUNKNOWN = 0;
int FETCHLONGMSGERRCODEMSGEXPIRED = 196;
int FILEELEMENTSUBTYPEAI = 16;
int FILEELEMENTSUBTYPEAPP = 11;
int FILEELEMENTSUBTYPEAUDIO = 3;
int FILEELEMENTSUBTYPEDOC = 4;
int FILEELEMENTSUBTYPEEMOTICON = 15;
int FILEELEMENTSUBTYPEEXCEL = 6;
int FILEELEMENTSUBTYPEFOLDER = 13;
int FILEELEMENTSUBTYPEHTML = 10;
int FILEELEMENTSUBTYPEIPA = 14;
int FILEELEMENTSUBTYPENORMAL = 0;
int FILEELEMENTSUBTYPEPDF = 7;
int FILEELEMENTSUBTYPEPIC = 1;
int FILEELEMENTSUBTYPEPPT = 5;
int FILEELEMENTSUBTYPEPSD = 12;
int FILEELEMENTSUBTYPETXT = 8;
int FILEELEMENTSUBTYPEVIDEO = 2;
int FILEELEMENTSUBTYPEZIP = 9;
int GRAYTIPELEMENTSUBTYPEAIOOP = 15;
int GRAYTIPELEMENTSUBTYPEBLOCK = 14;
int GRAYTIPELEMENTSUBTYPEBUDDY = 5;
int GRAYTIPELEMENTSUBTYPEBUDDYNOTIFY = 9;
int GRAYTIPELEMENTSUBTYPEEMOJIREPLY = 3;
int GRAYTIPELEMENTSUBTYPEESSENCE = 7;
int GRAYTIPELEMENTSUBTYPEFEED = 6;
int GRAYTIPELEMENTSUBTYPEFEEDCHANNELMSG = 11;
int GRAYTIPELEMENTSUBTYPEFILE = 10;
int GRAYTIPELEMENTSUBTYPEGROUP = 4;
int GRAYTIPELEMENTSUBTYPEGROUPNOTIFY = 8;
int GRAYTIPELEMENTSUBTYPEJSON = 17;
int GRAYTIPELEMENTSUBTYPELOCALMSG = 13;
int GRAYTIPELEMENTSUBTYPEPROCLAMATION = 2;
int GRAYTIPELEMENTSUBTYPEREVOKE = 1;
int GRAYTIPELEMENTSUBTYPEUNKNOWN = 0;
int GRAYTIPELEMENTSUBTYPEWALLET = 16;
int GRAYTIPELEMENTSUBTYPEXMLMSG = 12;
int INLINEKEYBOARDBUTTONRENDERSTYLEBLUEBLACKGROUND = 4;
int INLINEKEYBOARDBUTTONRENDERSTYLEBLUEBORDER = 1;
int INLINEKEYBOARDBUTTONRENDERSTYLEGRAYBORDER = 0;
int INLINEKEYBOARDBUTTONRENDERSTYLENOBORDER = 2;
int INLINEKEYBOARDBUTTONRENDERSTYLEREDCHARACTER = 3;
int INPUTSTATUSTYPECANCEL = 2;
int INPUTSTATUSTYPESPEAK = 3;
int INPUTSTATUSTYPETEXT = 1;
int KACTIVITYMSG = 22;
int KADDLOCALMSGEXTINFOTYPEPROLOGUEMSG = 1;
int KANONYMOUSATMEMSGTYPEINMSGBOX = 1001;
int KANONYMOUSFLAGFROMOTHERPEOPLE = 1;
int KANONYMOUSFLAGFROMOWN = 2;
int KANONYMOUSFLAGINVALID = 0;
int KAPPCHANNELMSG = 16;
int KATALLMSGTYPEINMSGBOX = 2000;
int KATMEMSGTYPEINMSGBOX = 1000;
int KATTRIBUTETYPEADELIEMSG = 16;
int KATTRIBUTETYPEEXTENDBUSINESS = 13;
int KATTRIBUTETYPEFEEDBACKSTATE = 17;
int KATTRIBUTETYPEGROUPHONOR = 2;
int KATTRIBUTETYPEKINGHONOR = 3;
int KATTRIBUTETYPELONGMSG = 8;
int KATTRIBUTETYPEMEMORYSTATEMSGINFO = 18;
int KATTRIBUTETYPEMSG = 0;
int KATTRIBUTETYPEMSGBOXEVENTTYPE = 14;
int KATTRIBUTETYPEPERSONAL = 1;
int KATTRIBUTETYPEPUBLICACCOUNT = 4;
int KATTRIBUTETYPEQQCONNECT = 12;
int KATTRIBUTETYPESENDMSGRSPTRANSSVRINFO = 15;
int KATTRIBUTETYPESHAREDMSGINFO = 5;
int KATTRIBUTETYPETEMPCHATGAMESESSION = 6;
int KATTRIBUTETYPETOROBOTMSG = 9;
int KATTRIBUTETYPEUININFO = 7;
int KATTRIBUTETYPEZPLAN = 11;
int KAUTOREPLYTEXTNONEINDEX = -1;
int KAVRECORDMSG = 19;
int KBUSINESSTYPGUILD = 1;
int KBUSINESSTYPNT = 0;
int KCHATTYPEADELIE = 42;
int KCHATTYPEBUDDYNOTIFY = 5;
int KCHATTYPEC2C = 1;
int KCHATTYPECIRCLE = 113;
int KCHATTYPEDATALINE = 8;
int KCHATTYPEDATALINEMQQ = 134;
int KCHATTYPEDISC = 3;
int KCHATTYPEFAV = 41;
int KCHATTYPEGAMEMESSAGE = 105;
int KCHATTYPEGAMEMESSAGEFOLDER = 116;
int KCHATTYPEGROUP = 2;
int KCHATTYPEGROUPBLESS = 133;
int KCHATTYPEGROUPGUILD = 9;
int KCHATTYPEGROUPHELPER = 7;
int KCHATTYPEGROUPNOTIFY = 6;
int KCHATTYPEGUILD = 4;
int KCHATTYPEGUILDMETA = 16;
int KCHATTYPEMATCHFRIEND = 104;
int KCHATTYPEMATCHFRIENDFOLDER = 109;
int KCHATTYPENEARBY = 106;
int KCHATTYPENEARBYASSISTANT = 107;
int KCHATTYPENEARBYFOLDER = 110;
int KCHATTYPENEARBYHELLOFOLDER = 112;
int KCHATTYPENEARBYINTERACT = 108;
int KCHATTYPEQQNOTIFY = 132;
int KCHATTYPERELATEACCOUNT = 131;
int KCHATTYPESERVICEASSISTANT = 118;
int KCHATTYPESERVICEASSISTANTSUB = 201;
int KCHATTYPESQUAREPUBLIC = 115;
int KCHATTYPESUBSCRIBEFOLDER = 30;
int KCHATTYPETEMPADDRESSBOOK = 111;
int KCHATTYPETEMPBUSSINESSCRM = 102;
int KCHATTYPETEMPC2CFROMGROUP = 100;
int KCHATTYPETEMPC2CFROMUNKNOWN = 99;
int KCHATTYPETEMPFRIENDVERIFY = 101;
int KCHATTYPETEMPNEARBYPRO = 119;
int KCHATTYPETEMPPUBLICACCOUNT = 103;
int KCHATTYPETEMPWPA = 117;
int KCHATTYPEUNKNOWN = 0;
int KCHATTYPEWEIYUN = 40;
int KCOMMONREDENVELOPEMSGTYPEINMSGBOX = 1007;
int KDOWNSOURCETYPEAIOINNER = 1;
int KDOWNSOURCETYPEBIGSCREEN = 2;
int KDOWNSOURCETYPEHISTORY = 3;
int KDOWNSOURCETYPEUNKNOWN = 0;
int KELEMTYPEACTIVITY = 25;
int KELEMTYPEACTIVITYSTATE = 41;
int KELEMTYPEACTIVITYSUBTYPECREATEMOBATEAM = 12;
int KELEMTYPEACTIVITYSUBTYPEDISBANDMOBATEAM = 11;
int KELEMTYPEACTIVITYSUBTYPEFEEDSQUARE = 10001;
int KELEMTYPEACTIVITYSUBTYPEFINISHGAME = 16;
int KELEMTYPEACTIVITYSUBTYPEFINISHMATCHTEAM = 14;
int KELEMTYPEACTIVITYSUBTYPEHOTCHAT = 10000;
int KELEMTYPEACTIVITYSUBTYPEMINIGAME = 18;
int KELEMTYPEACTIVITYSUBTYPEMUSICPLAY = 17;
int KELEMTYPEACTIVITYSUBTYPENEWSMOBA = 9;
int KELEMTYPEACTIVITYSUBTYPENOLIVE = 2;
int KELEMTYPEACTIVITYSUBTYPENOSCREENSHARE = 7;
int KELEMTYPEACTIVITYSUBTYPENOVOICE = 3;
int KELEMTYPEACTIVITYSUBTYPEONLIVE = 1;
int KELEMTYPEACTIVITYSUBTYPEONSCREENSHARE = 6;
int KELEMTYPEACTIVITYSUBTYPEONVOICE = 4;
int KELEMTYPEACTIVITYSUBTYPESTARTMATCHTEAM = 13;
int KELEMTYPEACTIVITYSUBTYPETARTGAME = 15;
int KELEMTYPEACTIVITYSUBTYPEUNKNOWN = 0;
int KELEMTYPEADELIEACTIONBAR = 44;
int KELEMTYPEADELIERECOMMENDEDMSG = 43;
int KELEMTYPEARKSTRUCT = 10;
int KELEMTYPEAVRECORD = 21;
int KELEMTYPECALENDAR = 19;
int KELEMTYPEFACE = 6;
int KELEMTYPEFACEBUBBLE = 27;
int KELEMTYPEFEED = 22;
int KELEMTYPEFILE = 3;
int KELEMTYPEGIPHY = 15;
int KELEMTYPEGRAYTIP = 8;
int KELEMTYPEINLINEKEYBOARD = 17;
int KELEMTYPEINTEXTGIFT = 18;
int KELEMTYPELIVEGIFT = 12;
int KELEMTYPEMARKDOWN = 14;
int KELEMTYPEMARKETFACE = 11;
int KELEMTYPEMULTIFORWARD = 16;
int KELEMTYPEONLINEFILE = 23;
int KELEMTYPEPIC = 2;
int KELEMTYPEPROLOGUE = 46;
int KELEMTYPEPTT = 4;
int KELEMTYPEREPLY = 7;
int KELEMTYPESHARELOCATION = 28;
int KELEMTYPESTRUCTLONGMSG = 13;
int KELEMTYPETASKTOPMSG = 29;
int KELEMTYPETEXT = 1;
int KELEMTYPETOFU = 26;
int KELEMTYPEUNKNOWN = 0;
int KELEMTYPEVIDEO = 5;
int KELEMTYPEWALLET = 9;
int KELEMTYPEYOLOGAMERESULT = 20;
int KENTERAIO = 1;
int KEXITAIO = 2;
int KFEEDBACKBUTTONTYPEDISLIKE = 2;
int KFEEDBACKBUTTONTYPELIKE = 1;
int KFEEDBACKBUTTONTYPEPROMPTCLICK = 5;
int KFEEDBACKBUTTONTYPEREGENERATE = 4;
int KFEEDBACKBUTTONTYPEUNKNOWN = 0;
int KFEEDBACKOPTLIKE = 1;
int KFEEDBACKOPTUNKNOWN = 0;
int KFEEDBACKOPTUNLIKE = 2;
int KFRIENDNEWADDEDMSGTYPEINMSGBOX = 1008;
int KGAMEBOXNEWMSGTYPEINMSGBOX = 3000;
int KGIFTATMEMSGTYPEINMSGBOX = 1005;
int KGROUPFILEATALLMSGTYPEINMSGBOX = 2001;
int KGROUPHOMEWORK = 20000;
int KGROUPHOMEWORKTASK = 20001;
int KGROUPKEYWORDMSGTYPEINMSGBOX = 2006;
int KGROUPMANNOUNCEATALLMSGTYPEINMSGBOX = 2004;
int KGROUPTASKATALLMSGTYPEINMSGBOX = 2003;
int KGROUPUNREADTYPEINMSGBOX = 2007;
int KGUILDCHANNELLIST = 10;
int KHIGHLIGHTWORDINTEMPCHATTYPEINMSGBOX = 1009;
int KHOMEWORKREMINDER = 10000;
int KLIKEORDISLIKESTATEDISLIKE = 2;
int KLIKEORDISLIKESTATELIKE = 1;
int KLIKEORDISLIKESTATENONESELECTED = 0;
int KMARKETFACE = 17;
int KMEMORYSTATEMSGTYPEADELIEWELCOME = 1;
int KMEMORYSTATEMSGTYPEUNKNOWN = 0;
int KMINIPROGRAMNOTICE = 114;
int KMSGSUBTYPEARKGROUPANNOUNCE = 3;
int KMSGSUBTYPEARKGROUPANNOUNCECONFIRMREQUIRED = 4;
int KMSGSUBTYPEARKGROUPGIFTATME = 5;
int KMSGSUBTYPEARKGROUPTASKATALL = 6;
int KMSGSUBTYPEARKMULTIMSG = 7;
int KMSGSUBTYPEARKNORMAL = 0;
int KMSGSUBTYPEARKTENCENTDOCFROMMINIAPP = 1;
int KMSGSUBTYPEARKTENCENTDOCFROMPLUSPANEL = 2;
int KMSGSUBTYPEEMOTICON = 15;
int KMSGSUBTYPEFILEAPP = 11;
int KMSGSUBTYPEFILEAUDIO = 3;
int KMSGSUBTYPEFILEDOC = 4;
int KMSGSUBTYPEFILEEXCEL = 6;
int KMSGSUBTYPEFILEFOLDER = 13;
int KMSGSUBTYPEFILEHTML = 10;
int KMSGSUBTYPEFILEIPA = 14;
int KMSGSUBTYPEFILENORMAL = 0;
int KMSGSUBTYPEFILEPDF = 7;
int KMSGSUBTYPEFILEPIC = 1;
int KMSGSUBTYPEFILEPPT = 5;
int KMSGSUBTYPEFILEPSD = 12;
int KMSGSUBTYPEFILETXT = 8;
int KMSGSUBTYPEFILEVIDEO = 2;
int KMSGSUBTYPEFILEZIP = 9;
int KMSGSUBTYPELINK = 5;
int KMSGSUBTYPEMARKETFACE = 1;
int KMSGSUBTYPEMIXEMOTICON = 7;
int KMSGSUBTYPEMIXFACE = 3;
int KMSGSUBTYPEMIXMARKETFACE = 2;
int KMSGSUBTYPEMIXPIC = 1;
int KMSGSUBTYPEMIXREPLY = 4;
int KMSGSUBTYPEMIXTEXT = 0;
int KMSGSUBTYPETENCENTDOC = 6;
int KMSGTYPEARKSTRUCT = 11;
int KMSGTYPEFACEBUBBLE = 24;
int KMSGTYPEFILE = 3;
int KMSGTYPEGIFT = 14;
int KMSGTYPEGIPHY = 13;
int KMSGTYPEGRAYTIPS = 5;
int KMSGTYPEMIX = 2;
int KMSGTYPEMULTIMSGFORWARD = 8;
int KMSGTYPENULL = 1;
int KMSGTYPEONLINEFILE = 21;
int KMSGTYPEONLINEFOLDER = 27;
int KMSGTYPEPROLOGUE = 29;
int KMSGTYPEPTT = 6;
int KMSGTYPEREPLY = 9;
int KMSGTYPESHARELOCATION = 25;
int KMSGTYPESTRUCT = 4;
int KMSGTYPESTRUCTLONGMSG = 12;
int KMSGTYPETEXTGIFT = 15;
int KMSGTYPEUNKNOWN = 0;
int KMSGTYPEVIDEO = 7;
int KMSGTYPEWALLET = 10;
int KNEEDCONFIRMGROUPMANNOUNCEATALLMSGTYPEINMSGBOX = 2005;
int KNOTPASSTHROUGHEVENTTYPEUPPERBOUNDARY = 9999;
int KPTTFORMATTYPEAMR = 0;
int KPTTFORMATTYPESILK = 1;
int KPTTTRANSLATESTATUSFAIL = 3;
int KPTTTRANSLATESTATUSSUC = 2;
int KPTTTRANSLATESTATUSTRANSLATING = 1;
int KPTTTRANSLATESTATUSUNKNOWN = 0;
int KPTTVIPLEVELTYPENONE = 0;
int KPTTVIPLEVELTYPEQQVIP = 0;
int KPTTVIPLEVELTYPESVIP = 0;
int KPTTVOICECHANGETYPEBEASTMACHINE = 7;
int KPTTVOICECHANGETYPEBOY = 2;
int KPTTVOICECHANGETYPECATCHCOLD = 13;
int KPTTVOICECHANGETYPEECHO = 5;
int KPTTVOICECHANGETYPEFATGUY = 16;
int KPTTVOICECHANGETYPEFLASHING = 9;
int KPTTVOICECHANGETYPEGIRL = 1;
int KPTTVOICECHANGETYPEHORRIBLE = 3;
int KPTTVOICECHANGETYPEKINDERGARTEN = 6;
int KPTTVOICECHANGETYPEMEDAROT = 15;
int KPTTVOICECHANGETYPENONE = 0;
int KPTTVOICECHANGETYPEOPTIMUSPRIME = 8;
int KPTTVOICECHANGETYPEOUTOFDATE = 14;
int KPTTVOICECHANGETYPEPAPI = 11;
int KPTTVOICECHANGETYPEQUICK = 4;
int KPTTVOICECHANGETYPESTUTTER = 10;
int KPTTVOICECHANGETYPETRAPPEDBEAST = 12;
int KPTTVOICETYPEINTERCOM = 1;
int KPTTVOICETYPESOUNDRECORD = 2;
int KPTTVOICETYPEUNKNOW = 0;
int KPTTVOICETYPEVOICECHANGE = 3;
int KPUBLICACCOUNTTIANSHUHIGHLIGHTWORDTYPEINMSGBOX = 1010;
int KREPLYABSELEMTYPEFACE = 2;
int KREPLYABSELEMTYPEPIC = 3;
int KREPLYABSELEMTYPETEXT = 1;
int KREPLYABSELEMTYPEUNKNOWN = 0;
int KREPLYATMEMSGTYPEINMSGBOX = 1002;
int KRMDOWNTYPEORIG = 1;
int KRMDOWNTYPETHUMB = 2;
int KRMDOWNTYPEUNKNOWN = 0;
int KRMFILETHUMBSIZE128 = 128;
int KRMFILETHUMBSIZE320 = 320;
int KRMFILETHUMBSIZE384 = 384;
int KRMFILETHUMBSIZE750 = 750;
int KRMPICAIOTHUMBSIZE = 0;
int KRMPICTHUMBSIZE198 = 198;
int KRMPICTHUMBSIZE720 = 720;
int KRMPICTYPEBMP = 3;
int KRMPICTYPECHECKOTHER = 900;
int KRMPICTYPEGIF = 2;
int KRMPICTYPEJPG = 0;
int KRMPICTYPENEWPICAPNG = 2001;
int KRMPICTYPENEWPICBMP = 1005;
int KRMPICTYPENEWPICGIF = 2000;
int KRMPICTYPENEWPICJPEG = 1000;
int KRMPICTYPENEWPICPNG = 1001;
int KRMPICTYPENEWPICPROGERSSIVJPEG = 1003;
int KRMPICTYPENEWPICSHARPP = 1004;
int KRMPICTYPENEWPICWEBP = 1002;
int KRMPICTYPEPNG = 1;
int KRMPICTYPEUNKOWN = 0;
int KRMTHUMBSIZEZERO = 0;
int KRMTRNASFERSTATUSDOWNLOADING = 3;
int KRMTRNASFERSTATUSFAIL = 5;
int KRMTRNASFERSTATUSINIT = 1;
int KRMTRNASFERSTATUSSUC = 4;
int KRMTRNASFERSTATUSUNKOW = 0;
int KRMTRNASFERSTATUSUPLOADING = 2;
int KRMTRNASFERSTATUSUSERCANCEL = 6;
int KSEEKINGPARTNERFLAGSEEKING = 1;
int KSEEKINGPARTNERFLAGUNKNOWN = 0;
int KSENDSTATUSFAILED = 0;
int KSENDSTATUSSENDING = 1;
int KSENDSTATUSSUCCESS = 2;
int KSENDSTATUSSUCCESSNOSEQ = 3;
int KSENDTYPEDROPPED = 6;
int KSENDTYPELOCAL = 3;
int KSENDTYPEOTHERDEVICE = 2;
int KSENDTYPERECV = 0;
int KSENDTYPESELF = 1;
int KSENDTYPESELFFORWARD = 4;
int KSENDTYPESELFMULTIFORWARD = 5;
int KSESSIONTYPEADDRESSBOOK = 5;
int KSESSIONTYPEC2C = 1;
int KSESSIONTYPEDISC = 3;
int KSESSIONTYPEFAV = 41;
int KSESSIONTYPEGROUP = 2;
int KSESSIONTYPEGROUPBLESS = 52;
int KSESSIONTYPEGUILD = 4;
int KSESSIONTYPEGUILDMETA = 16;
int KSESSIONTYPENEARBYPRO = 54;
int KSESSIONTYPEQQNOTIFY = 51;
int KSESSIONTYPERELATEACCOUNT = 50;
int KSESSIONTYPESERVICEASSISTANT = 19;
int KSESSIONTYPESUBSCRIBEFOLDER = 30;
int KSESSIONTYPETYPEBUDDYNOTIFY = 7;
int KSESSIONTYPETYPEGROUPHELPER = 9;
int KSESSIONTYPETYPEGROUPNOTIFY = 8;
int KSESSIONTYPEUNKNOWN = 0;
int KSESSIONTYPEWEIYUN = 40;
int KSPECIALCAREMSGTYPEINMSGBOX = 1006;
int KSPECIFIEDREDENVELOPEATMEMSGTYPEINMSGBOX = 1004;
int KSPECIFIEDREDENVELOPEATONEMSGTYPEINMSGBOX = 1003;
int KTENCENTDOCTYPEADDON = 110;
int KTENCENTDOCTYPEDOC = 0;
int KTENCENTDOCTYPEDRAWING = 89;
int KTENCENTDOCTYPEDRIVE = 101;
int KTENCENTDOCTYPEFILE = 100;
int KTENCENTDOCTYPEFLOWCHART = 91;
int KTENCENTDOCTYPEFOLDER = 3;
int KTENCENTDOCTYPEFORM = 2;
int KTENCENTDOCTYPEMIND = 90;
int KTENCENTDOCTYPENOTES = 5;
int KTENCENTDOCTYPEPDF = 6;
int KTENCENTDOCTYPEPROGRAM = 7;
int KTENCENTDOCTYPESHEET = 1;
int KTENCENTDOCTYPESLIDE = 4;
int KTENCENTDOCTYPESMARTCANVAS = 8;
int KTENCENTDOCTYPESMARTSHEET = 9;
int KTENCENTDOCTYPESPEECH = 102;
int KTENCENTDOCTYPEUNKNOWN = 10;
int KTOFURECORDMSG = 23;
int KTOPMSGTYPETASK = 1;
int KTOPMSGTYPEUNKNOWN = 0;
int KTRIGGERTYPEAUTO = 1;
int KTRIGGERTYPEMANUAL = 0;
int KUNKNOWN = 0;
int KUNKNOWNTYPEINMSGBOX = 0;
int KUNREADCNTUPTYPEALLDIRECTSESSION = 4;
int KUNREADCNTUPTYPEALLFEEDSINGUILD = 6;
int KUNREADCNTUPTYPEALLGUILD = 3;
int KUNREADCNTUPTYPECATEGORY = 5;
int KUNREADCNTUPTYPECHANNEL = 1;
int KUNREADCNTUPTYPECONTACT = 0;
int KUNREADCNTUPTYPEGUILD = 2;
int KUNREADCNTUPTYPEGUILDGROUP = 7;
int KUNREADSHOWTTYPEGRAYPOINT = 2;
int KUNREADSHOWTYPEREDPOINT = 1;
int KUNREADSHOWTYPESMALLGRAYPOINT = 4;
int KUNREADSHOWTYPESMALLREDPOINT = 3;
int KUNREADSHOWTYPEUNKNOWN = 0;
int KVASGIFTCOINTYPECOIN = 0;
int KVASGIFTCOINTYPEMARKETCOIN = 1;
int KYOLOGAMERESULTMSG = 18;
int PIC_800_RECOMMENDED = 7;
int PIC_AIGC_EMOJI = 14;
int PIC_ALBUM_GIF = 11;
int PIC_COMMERCIAL_ADVERTISING = 9;
int PIC_FIND = 10;
int PIC_HOT = 2;
int PIC_HOT_EMOJI = 13;
int PIC_NORMAL = 0;
int PIC_PK = 3;
int PIC_QQZONE = 5;
int PIC_SELFIE_GIF = 8;
int PIC_SEND_FROM_TAB_SEARCH_BOX = 12;
int PIC_USER = 1;
int PIC_WISDOM_FIGURE = 4;
int REPLYORIGINALMSGSTATEHASRECALL = 1;
int REPLYORIGINALMSGSTATEUNKNOWN = 0;
int SHARELOCATIONELEMSUBTYPENORMAL = 1;
int SHARELOCATIONELEMSUBTYPEUNKNOWN = 0;
int TEXTELEMENTSUBTYPELINK = 1;
int TEXTELEMENTSUBTYPETENCENTDOC = 2;
int TEXTELEMENTSUBTYPEUNKNOWN = 0;
```

View File

@@ -0,0 +1,24 @@
# 前排提示
由于Core未处于开源非组织人员无法参与Core开发此处为Core开发提示
# 准备工具
frida ida-pro jadx x64dbg ce 内部调试脚本
## ida-pro
1. 用于快速分析入参和返回类型
2. 通过静态QLog推测语义
3. 提取Listener与Service (常用)
## frida
1. 用于动态获取QLog推测语义
2. 捕捉Native函数 实际入参与数据 分析中间流程
## jadx
1. 通过其它平台实现 静态获取QLog推测语义
2. 提供部分未调用代码 参考
## x64dbg
1. 验证IDA的Hook点
## 内部脚本
1. 提取Listener与Service (不调用无类型 不推荐)
2. 获取NT调用流程

View File

@@ -2,7 +2,7 @@
"name": "napcat",
"private": true,
"type": "module",
"version": "1.4.6",
"version": "1.6.0",
"scripts": {
"watch:dev": "vite --mode development",
"watch:prod": "vite --mode production",
@@ -18,7 +18,13 @@
"depend": "cd dist && npm install --omit=dev"
},
"devDependencies": {
"@babel/core": "^7.24.7",
"@babel/preset-typescript": "^7.24.7",
"vite-plugin-babel": "^1.2.0",
"@babel/plugin-proposal-class-properties": "^7.18.6",
"@babel/plugin-proposal-decorators": "^7.24.7",
"@log4js-node/log4js-api": "^1.0.2",
"@protobuf-ts/plugin": "^2.9.4",
"@rollup/plugin-node-resolve": "^15.2.3",
"@rollup/plugin-typescript": "^11.1.6",
"@types/cors": "^2.8.17",
@@ -43,11 +49,11 @@
"vite": "^5.2.6",
"vite-plugin-cp": "^4.0.8",
"vite-plugin-dts": "^3.8.2",
"vite-tsconfig-paths": "^4.3.2",
"@protobuf-ts/plugin": "^2.9.4"
"vite-tsconfig-paths": "^4.3.2"
},
"dependencies": {
"ajv": "^8.13.0",
"chalk": "^5.3.0",
"commander": "^12.0.0",
"cors": "^2.8.5",
"express": "^5.0.0-beta.2",
@@ -60,7 +66,7 @@
"qrcode-terminal": "^0.12.0",
"silk-wasm": "^3.3.4",
"sqlite3": "^5.1.7",
"uuid": "^9.0.1",
"uuid": "^10.0.0",
"ws": "^8.16.0"
}
}

View File

@@ -1,5 +1,5 @@
import { sleep } from '@/common/utils/helper';
import { logError } from './log';
type AsyncQueueTask = (() => void) | (()=>Promise<void>);
@@ -26,7 +26,8 @@ export class AsyncQueue {
await taskRet;
}
} catch (e) {
console.error(e);
// console.error(e);
logError(e);
}
this.tasks.shift();
await sleep(100);

View File

@@ -1,11 +1,11 @@
import { NodeIKernelMsgListener } from "@/core";
import { NodeIQQNTWrapperSession } from "@/core/wrapper";
import { randomUUID } from "crypto";
import { NodeIKernelMsgListener } from '@/core';
import { NodeIQQNTWrapperSession } from '@/core/wrapper';
import { randomUUID } from 'crypto';
interface Internal_MapKey {
timeout: number,
createtime: number,
func: Function
func: (...arg: any[]) => any,
}
export class ListenerClassBase {
@@ -27,7 +27,8 @@ export class NTEventWrapper {
}
createProxyDispatch(ListenerMainName: string) {
let current = this;
// eslint-disable-next-line @typescript-eslint/no-this-alias
const current = this;
return new Proxy({}, {
get(target: any, prop: any, receiver: any) {
// console.log('get', prop, typeof target[prop]);
@@ -47,16 +48,16 @@ export class NTEventWrapper {
this.WrapperSession = WrapperSession;
}
CreatEventFunction<T extends (...args: any) => any>(eventName: string): T | undefined {
let eventNameArr = eventName.split('/');
const eventNameArr = eventName.split('/');
type eventType = {
[key: string]: () => { [key: string]: (...params: Parameters<T>) => Promise<ReturnType<T>> }
}
if (eventNameArr.length > 1) {
let serviceName = 'get' + eventNameArr[0].replace('NodeIKernel', '');
let eventName = eventNameArr[1];
const serviceName = 'get' + eventNameArr[0].replace('NodeIKernel', '');
const eventName = eventNameArr[1];
//getNodeIKernelGroupListener,GroupService
//console.log('2', eventName);
let services = (this.WrapperSession as unknown as eventType)[serviceName]();
const services = (this.WrapperSession as unknown as eventType)[serviceName]();
let event = services[eventName];
//重新绑定this
event = event.bind(services);
@@ -67,14 +68,14 @@ export class NTEventWrapper {
}
}
CreatListenerFunction<T>(listenerMainName: string, uniqueCode: string = ""): T {
let ListenerType = this.ListenerMap![listenerMainName];
CreatListenerFunction<T>(listenerMainName: string, uniqueCode: string = ''): T {
const ListenerType = this.ListenerMap![listenerMainName];
let Listener = this.ListenerManger.get(listenerMainName + uniqueCode);
if (!Listener && ListenerType) {
Listener = new ListenerType(this.createProxyDispatch(listenerMainName));
let ServiceSubName = listenerMainName.match(/^NodeIKernel(.*?)Listener$/)![1];
let Service = "NodeIKernel" + ServiceSubName + "Service/addKernel" + ServiceSubName + "Listener";
let addfunc = this.CreatEventFunction<(listener: T) => number>(Service);
const ServiceSubName = listenerMainName.match(/^NodeIKernel(.*?)Listener$/)![1];
const Service = 'NodeIKernel' + ServiceSubName + 'Service/addKernel' + ServiceSubName + 'Listener';
const addfunc = this.CreatEventFunction<(listener: T) => number>(Service);
addfunc!(Listener as T);
//console.log(addfunc!(Listener as T));
this.ListenerManger.set(listenerMainName + uniqueCode, Listener);
@@ -91,18 +92,18 @@ export class NTEventWrapper {
return;
}
task.func(...args);
})
});
}
async CallNoListenerEvent<EventType extends (...args: any[]) => Promise<any>,>(EventName = '', timeout: number = 3000, ...args: Parameters<EventType>) {
return new Promise<ReturnType<EventType>>(async (resolve, reject) => {
let EventFunc = this.CreatEventFunction<EventType>(EventName);
return new Promise<Awaited<ReturnType<EventType>>>(async (resolve, reject) => {
const EventFunc = this.CreatEventFunction<EventType>(EventName);
let complete = false;
let Timeouter = setTimeout(() => {
const Timeouter = setTimeout(() => {
if (!complete) {
reject(new Error('NTEvent EventName:' + EventName + ' timeout'));
}
}, timeout);
let retData = await EventFunc!(...args);
const retData = await EventFunc!(...args);
complete = true;
resolve(retData);
});
@@ -111,34 +112,33 @@ export class NTEventWrapper {
return new Promise<[EventRet: Awaited<ReturnType<EventType>>, ...Parameters<ListenerType>]>(async (resolve, reject) => {
const id = randomUUID();
let complete = 0;
let retData: ArrayLike<Parameters<ListenerType>> | undefined = undefined;
let retData: Parameters<ListenerType> | undefined = undefined;
let retEvent: any = {};
let databack = () => {
const databack = () => {
if (complete < waitTimes) {
reject(new Error('NTEvent EventName:' + EventName + ' ListenerName:' + ListenerName + ' timeout'));
} else {
resolve([retEvent as Awaited<ReturnType<EventType>>, ...(retData as Parameters<ListenerType>)]);
resolve([retEvent as Awaited<ReturnType<EventType>>, ...retData!]);
}
}
let Timeouter = setTimeout(databack, timeout);
};
const Timeouter = setTimeout(databack, timeout);
let ListenerNameList = ListenerName.split('/');
let ListenerMainName = ListenerNameList[0];
let ListenerSubName = ListenerNameList[1];
let eventCallbak = {
const ListenerNameList = ListenerName.split('/');
const ListenerMainName = ListenerNameList[0];
const ListenerSubName = ListenerNameList[1];
const eventCallbak = {
timeout: timeout,
createtime: Date.now(),
func: (...args: any[]) => {
complete++;
//console.log('func', ...args);
retData = args as ArrayLike<Parameters<ListenerType>>;
retData = args as Parameters<ListenerType>;
if (complete >= waitTimes) {
clearTimeout(Timeouter);
databack();
}
}
}
};
if (!this.EventTask.get(ListenerMainName)) {
this.EventTask.set(ListenerMainName, new Map());
}
@@ -147,8 +147,9 @@ export class NTEventWrapper {
}
this.EventTask.get(ListenerMainName)?.get(ListenerSubName)?.set(id, eventCallbak);
this.CreatListenerFunction(ListenerMainName);
let EventFunc = this.CreatEventFunction<EventType>(EventName);
retEvent = await EventFunc!(...args);
const EventFunc = this.CreatEventFunction<EventType>(EventName);
//console.log("测试打点", args);
retEvent = await EventFunc!(...(args as any[]));
});
}
}

View File

@@ -1,4 +1,4 @@
import { logError, logDebug } from "@/common/utils/log";
import { logError, logDebug } from '@/common/utils/log';
type group_id = number;
type user_id = number;
@@ -44,7 +44,7 @@ class LRU<T> {
// 移除LRU节点
private removeLRUNode(node: cacheNode<T>) {
logDebug(
"removeLRUNode",
'removeLRUNode',
node.groupId,
node.userId,
node.value,

View File

@@ -0,0 +1,53 @@
import crypto from 'crypto';
class LimitedHashTable<K, V> {
private keyToValue: Map<K, V> = new Map();
private valueToKey: Map<V, K> = new Map();
private maxSize: number;
private KeyQueneList: K[] = [];
private ValueQueneList: V[] = [];
constructor(maxSize: number) {
this.maxSize = maxSize;
}
set(key: K, value: V): void {
this.keyToValue.set(key, value);
this.valueToKey.set(value, key);
if (this.KeyQueneList.length >= this.maxSize || this.ValueQueneList.length >= this.maxSize) {
this.KeyQueneList.shift();
this.ValueQueneList.shift();
}
}
getValue(key: K): V | undefined {
return this.keyToValue.get(key);
}
getKey(value: V): K | undefined {
return this.valueToKey.get(value);
}
delete(key: K): void {
const value = this.keyToValue.get(key);
if (value !== undefined) {
this.keyToValue.delete(key);
this.valueToKey.delete(value);
}
}
}
class MessageUniqueWrapper {
private msgIdMap: LimitedHashTable<number, string> = new LimitedHashTable(1000);
createMsg(MsgId: string) {
let ShortId = parseInt(crypto.createHash('sha1').update('2345').digest('hex').slice(0, 8), 16);
this.msgIdMap.set(ShortId, MsgId);
return ShortId;
}
getMsgIdByShortId(ShortId: number) {
return this.msgIdMap.getValue(ShortId);
}
getShortIdByMsgId(MsgId: string) {
return this.msgIdMap.getKey(MsgId);
}
}
export const MessageUnique = new MessageUniqueWrapper();

View File

@@ -0,0 +1,17 @@
// 方案一 MiniApp发包方案
// 前置条件: 处于GUI环境 存在MiniApp
import { NTQQSystemApi } from "@/core";
// 前排提示: 开发验证仅Win平台开展
export class MiniAppUtil {
static async RunMiniAppWithGUI() {
//process.env.ELECTRON_RUN_AS_NODE = undefined;//没用还是得自己用cpp之类的语言写个程序转发参数
return NTQQSystemApi.BootMiniApp(process.execPath, "miniapp://open/1007?url=https%3A%2F%2Fm.q.qq.com%2Fa%2Fs%2Fedd0a83d3b8afe233dfa07adaaf8033f%3Fscene%3D1007%26min_refer%3D10001");
}
}
// 方案二 MiniApp发包方案 替代MiniApp方案
// 前置条件: 无
export class MojoMiniAppUtil{
}

View File

@@ -2,6 +2,7 @@ import path from 'node:path';
import fs from 'node:fs';
import os from 'node:os';
import { systemPlatform } from '@/common/utils/system';
import { logError } from '@/common/utils/log';
export const exePath = process.execPath;
@@ -37,11 +38,11 @@ type QQVersionConfigInfo = {
}
let _qqVersionConfigInfo: QQVersionConfigInfo = {
'baseVersion': '9.9.9-23361',
'curVersion': '9.9.9-23361',
'baseVersion': '9.9.11-24568',
'curVersion': '9.9.11-24568',
'prevVersion': '',
'onErrorVersions': [],
'buildId': '23361'
'buildId': '24568'
};
if (fs.existsSync(configVersionInfoPath)) {
@@ -49,12 +50,12 @@ if (fs.existsSync(configVersionInfoPath)) {
const _ =JSON.parse(fs.readFileSync(configVersionInfoPath).toString());
_qqVersionConfigInfo = Object.assign(_qqVersionConfigInfo, _);
} catch (e) {
console.error('Load QQ version config info failed, Use default version', e);
logError('Load QQ version config info failed, Use default version', e);
}
}
export const qqVersionConfigInfo: QQVersionConfigInfo = _qqVersionConfigInfo;
//V1_WIN_NQ_9.9.11_24568_GW_B
export const qqPkgInfo: QQPkgInfo = JSON.parse(fs.readFileSync(pkgInfoPath).toString());
// platform_type: 3,
// app_type: 4,
@@ -64,9 +65,13 @@ export const qqPkgInfo: QQPkgInfo = JSON.parse(fs.readFileSync(pkgInfoPath).toSt
// platVer: '10.0.26100',
// clientVer: '9.9.9-23159',
let _appid: string = '537213803'; // 默认为 Windows 平台的 appid
// Linux
// app_version: '3.2.9-24568',
// qua: 'V1_LNX_NQ_3.2.9_24568_GW_B',
let _appid: string = '537226369'; // 默认为 Windows 平台的 appid
if (systemPlatform === 'linux') {
_appid = '537213827';
_appid = '537226441';
}
// todo: mac 平台的 appid
export const appid = _appid;

View File

@@ -24,7 +24,7 @@ export async function encodeSilk(filePath: string) {
const fileHeader = buffer.toString('hex', 0, bytesToRead);
return fileHeader;
} catch (err) {
console.error('读取文件错误:', err);
logError('读取文件错误:', err);
return;
}
}

View File

@@ -4,7 +4,6 @@ import fs from 'fs';
import { dirname } from 'node:path';
import { fileURLToPath } from 'node:url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
export function getModuleWithArchName(moduleName: string) {

View File

@@ -3,7 +3,7 @@ import { ElementType, FileElement, PicElement, PttElement, RawMessage, VideoElem
import sqlite3 from 'sqlite3';
import { log, logDebug, logError } from '@/common/utils/log';
import { NTQQMsgApi } from '@/core';
import LRU from "@/common/utils/LRUCache";
import LRU from '@/common/utils/LRUCache';
export interface IRember {
last_sent_time: number;
@@ -111,7 +111,7 @@ class DBUtil extends DBUtilBase {
// 初始化群缓存列表
this.db!.serialize(() => {
const sql = `SELECT * FROM sqlite_master WHERE type='table'`;
const sql = 'SELECT * FROM sqlite_master WHERE type=\'table\'';
this.db!.all(sql, [], (err, rows: { name: string }[]) => {
if (err) return logError(err);
rows.forEach((row) => this.groupIds.push(parseInt(row.name)));
@@ -123,22 +123,22 @@ class DBUtil extends DBUtilBase {
this.LURCache.on(async (node) => {
const { value: time, groupId, userId } = node;
logDebug("插入发言时间", userId, groupId);
logDebug('插入发言时间', userId, groupId);
await this.createGroupInfoTimeTableIfNotExist(groupId);
const method = await this.getDataSetMethod(groupId, userId);
logDebug("插入发言时间方法判断", userId, groupId, method);
logDebug('插入发言时间方法判断', userId, groupId, method);
const sql =
method == "update"
method == 'update'
? `UPDATE "${groupId}" SET last_sent_time = ? WHERE user_id = ?`
: `INSERT INTO "${groupId}" (last_sent_time, user_id) VALUES (?, ?)`;
this.db!.all(sql, [time, userId], (err) => {
if (err) {
return logError("插入/更新发言时间失败", userId, groupId);
return logError('插入/更新发言时间失败', userId, groupId);
}
logDebug("插入/更新发言时间成功", userId, groupId);
logDebug('插入/更新发言时间成功', userId, groupId);
});
});
@@ -146,28 +146,28 @@ class DBUtil extends DBUtilBase {
async getDataSetMethod(groupId: number, userId: number) {
// 缓存记录
if (this.LastSentCache.get(groupId, userId)) {
logDebug("缓存命中", userId, groupId);
return "update";
logDebug('缓存命中', userId, groupId);
return 'update';
}
// 数据库判断
return new Promise<"insert" | "update">((resolve, reject) => {
return new Promise<'insert' | 'update'>((resolve, reject) => {
this.db!.all(
`SELECT * FROM "${groupId}" WHERE user_id = ?`,
[userId],
(err, rows) => {
if (err) {
logError("查询发言时间存在失败", userId, groupId, err);
return logError("插入发言时间失败", userId, groupId, err);
logError('查询发言时间存在失败', userId, groupId, err);
return logError('插入发言时间失败', userId, groupId, err);
}
if (rows.length === 0) {
logDebug("查询发言时间不存在", userId, groupId);
return resolve("insert");
logDebug('查询发言时间不存在', userId, groupId);
return resolve('insert');
}
logDebug("查询发言时间存在", userId, groupId);
resolve("update");
logDebug('查询发言时间存在', userId, groupId);
resolve('update');
}
);
});
@@ -232,19 +232,6 @@ class DBUtil extends DBUtilBase {
logError('Could not create table files', err);
}
});
// 接收到的临时会话消息uid
const createTempUinTableSQL = `
CREATE TABLE IF NOT EXISTS temp_uins (
id INTEGER PRIMARY KEY AUTOINCREMENT,
uid TEXT,
uin TEXT
)`;
this.db!.run(createTempUinTableSQL, function (err) {
if (err) {
logError('Could not create table temp_uins', err);
}
});
}
private async getCurrentMaxShortId() {
@@ -415,64 +402,17 @@ class DBUtil extends DBUtilBase {
});
}
// 被动收到的临时会话消息uin->uid
async getReceivedTempUinMap() {
const stmt = 'SELECT * FROM temp_uins';
return new Promise<Record<string, string>>((resolve, reject) => {
this.db!.all(stmt, (err, rows: { uin: string, uid: string }[]) => {
if (err) {
logError('db could not get temp uin map', err);
reject(err);
}
const map: Record<string, string> = {};
rows.forEach(row => {
map[row.uin] = row.uid;
});
resolve(map);
});
});
}
// 通过uin获取临时会话消息uid
async getUidByTempUin(uid: string) {
const stmt = 'SELECT * FROM temp_uins WHERE uin = ?';
return new Promise<string>((resolve, reject) => {
this.db!.get(stmt, [uid], (err, row: { uin: string, uid: string }) => {
if (err) {
logError('db could not get temp uin map', err);
reject(err);
}
resolve(row?.uid);
});
});
}
async addTempUin(uin: string, uid: string) {
const existUid = await this.getUidByTempUin(uin);
if (!existUid) {
const stmt = this.db!.prepare('INSERT INTO temp_uins (uin, uid) VALUES (?, ?)');
return new Promise((resolve, reject) => {
stmt.run(uin, uid, function (err: any) {
if (err) {
logError('db could not add temp uin', err);
reject(err);
}
resolve(null);
});
});
}
}
async getLastSentTimeAndJoinTime(
groupId: number
): Promise<IRember[]> {
logDebug("读取发言时间", groupId);
logDebug('读取发言时间', groupId);
return new Promise<IRember[]>((resolve, reject) => {
this.db!.all(`SELECT * FROM "${groupId}" `, (err, rows: IRember[]) => {
if (err) {
logError("查询发言时间失败", groupId);
logError('查询发言时间失败', groupId);
return resolve([]);
}
logDebug("查询发言时间成功", groupId, rows);
logDebug('查询发言时间成功', groupId, rows);
resolve(rows);
});
});
@@ -483,7 +423,7 @@ class DBUtil extends DBUtilBase {
userId: number,
time: number
) {
this.LURCache.set(groupId, userId, time)
this.LURCache.set(groupId, userId, time);
}
async insertJoinTime(
groupId: number,
@@ -498,7 +438,7 @@ class DBUtil extends DBUtilBase {
if (err)
logError(err),
Promise.reject(),
console.log("插入入群时间失败", userId, groupId);
logError('插入入群时间失败', userId, groupId);
}
);

View File

@@ -1,9 +1,9 @@
import fs from 'fs';
import fsPromise from 'fs/promises';
import fsPromise, { stat } from 'fs/promises';
import crypto from 'crypto';
import util from 'util';
import path from 'node:path';
import { log } from './log';
import { log, logError } from './log';
import { dbUtil } from '@/common/utils/db';
import * as fileType from 'file-type';
import { v4 as uuidv4 } from 'uuid';
@@ -50,7 +50,40 @@ export function checkFileReceived(path: string, timeout: number = 3000): Promise
check();
});
}
// 定义一个异步函数来检查文件是否存在
export async function checkFileReceived2(path: string, timeout: number = 3000): Promise<void> {
// 使用 Promise.race 来同时进行文件状态检查和超时计时
// Promise.race 会返回第一个解决resolve或拒绝reject的 Promise
await Promise.race([
checkFile(path),
timeoutPromise(timeout, `文件不存在: ${path}`),
]);
}
// 转换超时时间至 Promise
function timeoutPromise(timeout: number, errorMsg: string): Promise<void> {
return new Promise((_, reject) => {
setTimeout(() => {
reject(new Error(errorMsg));
}, timeout);
});
}
// 异步检查文件是否存在
async function checkFile(path: string): Promise<void> {
try {
await stat(path);
} catch (error: any) {
if (error.code === 'ENOENT') {
// 如果文件不存在,则抛出一个错误
throw new Error(`文件不存在: ${path}`);
} else {
// 对于 stat 调用的其他错误,重新抛出
throw error;
}
}
// 如果文件存在则无需做任何事情Promise 解决resolve自身
}
export async function file2base64(path: string) {
const readFile = util.promisify(fs.readFile);
const result = {
@@ -262,12 +295,12 @@ export async function copyFolder(sourcePath: string, destPath: string) {
try {
await fsPromise.copyFile(srcPath, dstPath);
} catch (error) {
console.error(`无法复制文件 '${srcPath}' 到 '${dstPath}': ${error}`);
logError(`无法复制文件 '${srcPath}' 到 '${dstPath}': ${error}`);
// 这里可以决定是否要继续复制其他文件
}
}
}
} catch (error) {
console.error('复制文件夹时出错:', error);
logError('复制文件夹时出错:', error);
}
}

View File

@@ -4,7 +4,7 @@ import fs from 'fs/promises';
import { log, logDebug } from './log';
import { dirname } from 'node:path';
import { fileURLToPath } from 'node:url';
import * as fsPromise from 'node:fs/promises';
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
@@ -43,8 +43,88 @@ export function truncateString(obj: any, maxLength = 500) {
}
return obj;
}
export function simpleDecorator(target: any, context: any) {
}
// export function CacheClassFunc(ttl: number = 3600 * 1000, customKey: string = '') {
// const cache = new Map<string, { expiry: number; value: any }>();
// return function CacheClassFuncDecorator(originalMethod: Function, context: ClassMethodDecoratorContext) {
// async function CacheClassFuncDecoratorInternal(this: any, ...args: any[]) {
// const key = `${customKey}${String(context.name)}.(${args.map(arg => JSON.stringify(arg)).join(', ')})`;
// const cachedValue = cache.get(key);
// if (cachedValue && cachedValue.expiry > Date.now()) {
// return cachedValue.value;
// }
// const result = originalMethod.call(this, ...args);
// cache.set(key, { expiry: Date.now() + ttl, value: result });
// return result;
// }
// return CacheClassFuncDecoratorInternal;
// }
// }
export function CacheClassFuncAsync(ttl: number = 3600 * 1000, customKey: string = '') {
//console.log('CacheClassFuncAsync', ttl, customKey);
function logExecutionTime(target: any, methodName: string, descriptor: PropertyDescriptor) {
//console.log('logExecutionTime', target, methodName, descriptor);
const cache = new Map<string, { expiry: number; value: any }>();
const originalMethod = descriptor.value;
descriptor.value = async function (...args: any[]) {
const key = `${customKey}${String(methodName)}.(${args.map(arg => JSON.stringify(arg)).join(', ')})`;
cache.forEach((value, key) => {
if (value.expiry < Date.now()) {
cache.delete(key);
}
});
const cachedValue = cache.get(key);
if (cachedValue && cachedValue.expiry > Date.now()) {
return cachedValue.value;
}
// const start = Date.now();
const result = await originalMethod.apply(this, args);
// const end = Date.now();
// console.log(`Method ${methodName} executed in ${end - start} ms.`);
cache.set(key, { expiry: Date.now() + ttl, value: result });
return result;
};
}
return logExecutionTime;
}
// export function CacheClassFuncAsync(ttl: number = 3600 * 1000, customKey: string = ''): any {
// const cache = new Map<string, { expiry: number; value: any }>();
// // 注意在JavaScript装饰器中我们通常不直接处理ClassMethodDecoratorContext这样的类型
// // 因为装饰器的参数通常是目标类(对于类装饰器)、属性名(对于属性装饰器)等。
// // 对于方法装饰器,我们关注的是方法本身及其描述符。
// // 但这里我们维持原逻辑,假设有一个自定义的处理上下文的方式。
// return function (originalMethod: Function): any {
// console.log(originalMethod);
// // 由于JavaScript装饰器原生不支持异步直接定义我们保持async定义以便处理异步方法。
// async function decoratorWrapper(this: any, ...args: any[]): Promise<any> {
// console.log(...args);
// const key = `${customKey}${originalMethod.name}.(${args.map(arg => JSON.stringify(arg)).join(', ')})`;
// const cachedValue = cache.get(key);
// // 遍历cache 清除expiry内容
// cache.forEach((value, key) => {
// if (value.expiry < Date.now()) {
// cache.delete(key);
// }
// });
// if (cachedValue && cachedValue.expiry > Date.now()) {
// return cachedValue.value;
// }
// // 直接await异步方法的结果
// const result = await originalMethod.apply(this, args);
// cache.set(key, { expiry: Date.now() + ttl, value: result });
// return result;
// }
// // 返回装饰后的方法保持与原方法相同的名称和描述符如果需要更精细的控制可以考虑使用Object.getOwnPropertyDescriptor等
// return decoratorWrapper;
// };
// }
/**
* 函数缓存装饰器根据方法名、参数、自定义key生成缓存键在一定时间内返回缓存结果
@@ -182,3 +262,25 @@ export function isEqual(obj1: any, obj2: any) {
}
return true;
}
export async function deleteOldFiles(directoryPath: string, daysThreshold: number) {
try {
const files = await fsPromise.readdir(directoryPath);
for (const file of files) {
const filePath = path.join(directoryPath, file);
const stats = await fsPromise.stat(filePath);
const lastModifiedTime = stats.mtimeMs;
const currentTime = Date.now();
const timeDifference = currentTime - lastModifiedTime;
const daysDifference = timeDifference / (1000 * 60 * 60 * 24);
if (daysDifference > daysThreshold) {
await fsPromise.unlink(filePath); // Delete the file
//console.log(`Deleted: ${filePath}`);
}
}
} catch (error) {
//console.error('Error deleting files:', error);
}
}

View File

@@ -4,7 +4,7 @@ import path from 'node:path';
import { SelfInfo } from '@/core';
import { dirname } from 'node:path';
import { fileURLToPath } from 'node:url';
import chalk from 'chalk';
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
@@ -39,17 +39,17 @@ const logConfig: Configuration = {
FileAppender: { // 输出到文件的appender
type: 'file',
filename: logPath, // 指定日志文件的位置和文件名
maxLoogSize: 10485760, // 日志文件的最大大小单位字节这里设置为10MB
maxLogSize: 10485760, // 日志文件的最大大小单位字节这里设置为10MB
layout: {
type: 'pattern',
pattern: '%d{yyyy-MM-dd hh:mm:ss} [%p] - %m'
pattern: '%d{yyyy-MM-dd hh:mm:ss} [%p] %X{userInfo} | %m'
}
},
ConsoleAppender: { // 输出到控制台的appender
type: 'console',
layout: {
type: 'pattern',
pattern: '%d{yyyy-MM-dd hh:mm:ss} [%p] - %m'
pattern: `%d{yyyy-MM-dd hh:mm:ss} [%[%p%]] ${chalk.magenta('%X{userInfo}')} | %m`
}
}
},
@@ -61,7 +61,9 @@ const logConfig: Configuration = {
};
log4js.configure(logConfig);
const loggerConsole = log4js.getLogger('console');
const loggerFile = log4js.getLogger('file');
const loggerDefault = log4js.getLogger('default');
export function setLogLevel(fileLogLevel: LogLevel, consoleLogLevel: LogLevel) {
logConfig.categories.file.level = fileLogLevel;
@@ -70,12 +72,12 @@ export function setLogLevel(fileLogLevel: LogLevel, consoleLogLevel: LogLevel) {
}
export function setLogSelfInfo(selfInfo: SelfInfo) {
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-expect-error
logConfig.appenders.FileAppender.layout.pattern = logConfig.appenders.ConsoleAppender.layout.pattern =
`%d{yyyy-MM-dd hh:mm:ss} [%p] ${selfInfo.nick}(${selfInfo.uin}) %m`;
log4js.configure(logConfig);
const userInfo = `${selfInfo.nick}(${selfInfo.uin})`;
loggerConsole.addContext('userInfo', userInfo);
loggerFile.addContext('userInfo', userInfo);
loggerDefault.addContext('userInfo', userInfo);
}
setLogSelfInfo({ nick: '', uin: '', uid: '' });
let fileLogEnabled = true;
let consoleLogEnabled = true;
@@ -97,15 +99,18 @@ function formatMsg(msg: any[]){
}
logMsg += msgItem + ' ';
}
return '\n' + logMsg + '\n';
return logMsg;
}
// eslint-disable-next-line no-control-regex
const colorEscape = /\x1B[@-_][0-?]*[ -/]*[@-~]/g;
function _log(level: LogLevel, ...args: any[]) {
if (consoleLogEnabled) {
log4js.getLogger('console')[level](formatMsg(args));
loggerConsole[level](formatMsg(args));
}
if (fileLogEnabled) {
log4js.getLogger('file')[level](formatMsg(args));
loggerFile[level](formatMsg(args).replace(colorEscape, ''));
}
}
@@ -121,3 +126,11 @@ export function logDebug(...args: any[]) {
export function logError(...args: any[]) {
_log(LogLevel.ERROR, ...args);
}
export function logWarn(...args: any[]) {
_log(LogLevel.WARN, ...args);
}
export function logFatal(...args: any[]) {
_log(LogLevel.FATAL, ...args);
}

View File

@@ -1,6 +1,9 @@
import https from 'node:https';
import http from 'node:http';
import fs, { readFileSync } from 'node:fs';
import { NTQQUserApi } from '@/core';
import path from 'node:path';
import { request } from 'node:http';
export class RequestUtil {
// 适用于获取服务器下发cookies时获取仅GET
static async HttpsGetCookies(url: string): Promise<{ [key: string]: string }> {
@@ -49,7 +52,7 @@ export class RequestUtil {
// 请求和回复都是JSON data传原始内容 自动编码json
static async HttpGetJson<T>(url: string, method: string = 'GET', data?: any, headers: Record<string, string> = {}, isJsonRet: boolean = true, isArgJson: boolean = true): Promise<T> {
static async HttpGetJson<T>(url: string, method: string = 'GET', data?: any, headers: { [key: string]: string } = {}, isJsonRet: boolean = true, isArgJson: boolean = true): Promise<T> {
const option = new URL(url);
const protocol = url.startsWith('https://') ? https : http;
const options = {
@@ -59,6 +62,10 @@ export class RequestUtil {
method: method,
headers: headers
};
// headers: {
// 'Content-Type': 'application/json',
// 'Content-Length': Buffer.byteLength(postData),
// },
return new Promise((resolve, reject) => {
const req = protocol.request(options, (res: any) => {
let responseBody = '';
@@ -100,7 +107,86 @@ export class RequestUtil {
}
// 请求返回都是原始内容
static async HttpGetText(url: string, method: string = 'GET', data?: any, headers: Record<string, string> = {}) {
static async HttpGetText(url: string, method: string = 'GET', data?: any, headers: { [key: string]: string } = {}) {
return this.HttpGetJson<string>(url, method, data, headers, false, false);
}
static async createFormData(boundary: string, filePath: string): Promise<Buffer> {
let type = 'image/png';
if (filePath.endsWith('.jpg')) {
type = 'image/jpeg';
}
const formDataParts = [
`------${boundary}\r\n`,
`Content-Disposition: form-data; name="share_image"; filename="${filePath}"\r\n`,
`Content-Type: ` + type + `\r\n\r\n`
];
const fileContent = readFileSync(filePath);
const footer = `\r\n------${boundary}--`;
return Buffer.concat([
Buffer.from(formDataParts.join(''), 'utf8'),
fileContent,
Buffer.from(footer, 'utf8')
]);
}
static async uploadImageForOpenPlatform(filePath: string): Promise<string> {
return new Promise(async (resolve, reject) => {
type retType = { retcode: number, result?: { url: string } };
try {
const cookies = Object.entries(await NTQQUserApi.getCookies('connect.qq.com')).map(([key, value]) => `${key}=${value}`).join('; ');
const options = {
hostname: 'cgi.connect.qq.com',
port: 443,
path: '/qqconnectopen/upload_share_image',
method: 'POST',
headers: {
'Referer': 'https://cgi.connect.qq.com',
'Cookie': cookies,
'Accept': '*/*',
'Connection': 'keep-alive',
'Content-Type': 'multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW'
}
};
const req = https.request(options, async (res) => {
let responseBody = '';
res.on('data', (chunk: string | Buffer) => {
responseBody += chunk.toString();
});
res.on('end', () => {
try {
if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {
const responseJson = JSON.parse(responseBody) as retType;
resolve(responseJson.result?.url!);
} else {
reject(new Error(`Unexpected status code: ${res.statusCode}`));
}
} catch (parseError) {
reject(parseError);
}
});
});
req.on('error', (error) => {
console.error('Error during upload:', error);
});
const body = await RequestUtil.createFormData('WebKitFormBoundary7MA4YWxkTrZu0gW', filePath);
// req.setHeader('Content-Length', Buffer.byteLength(body));
// console.log(`Prepared data size: ${Buffer.byteLength(body)} bytes`);
req.write(body);
req.end();
return;
} catch (error) {
reject(error);
}
return undefined;
});
}
}

View File

@@ -1,17 +1,74 @@
import os from 'node:os';
import path from 'node:path';
import { networkInterfaces } from 'os';
import { v4 as uuidv4 } from 'uuid';
// 缓解Win7设备兼容性问题
let osName: string;
// 设备ID
let machineId: Promise<string>;
try {
osName = os.hostname();
} catch (e) {
osName = 'NapCat'; // + crypto.randomUUID().substring(0, 4);
}
const invalidMacAddresses = new Set([
'00:00:00:00:00:00',
'ff:ff:ff:ff:ff:ff',
'ac:de:48:00:11:22'
]);
function validateMacAddress(candidate: string): boolean {
// eslint-disable-next-line no-useless-escape
const tempCandidate = candidate.replace(/\-/g, ':').toLowerCase();
return !invalidMacAddresses.has(tempCandidate);
}
export async function getMachineId(): Promise<string> {
if (!machineId) {
machineId = (async () => {
const id = await getMacMachineId();
return id || uuidv4(); // fallback, generate a UUID
})();
}
return machineId;
}
export function getMac(): string {
const ifaces = networkInterfaces();
for (const name in ifaces) {
const networkInterface = ifaces[name];
if (networkInterface) {
for (const { mac } of networkInterface) {
if (validateMacAddress(mac)) {
return mac;
}
}
}
}
throw new Error('Unable to retrieve mac address (unexpected format)');
}
async function getMacMachineId(): Promise<string | undefined> {
try {
const crypto = await import('crypto');
const macAddress = getMac();
return crypto.createHash('sha256').update(macAddress, 'utf8').digest('hex');
} catch (err) {
return undefined;
}
}
const homeDir = os.homedir();
export const systemPlatform = os.platform();
export const cpuArch = os.arch();
export const systemVersion = os.release();
export const hostname = osName;
const homeDir = os.homedir();
export const downloadsPath = path.join(homeDir, 'Downloads');
export const systemName = os.type();

View File

@@ -14,7 +14,7 @@ export async function checkVersion(): Promise<string> {
try {
version = (await RequestUtil.HttpGetJson<{ version: string }>(url)).version;
} catch (e) {
logDebug("检测更新异常",e);
logDebug('检测更新异常',e);
}
if (version) {
resolve(version);

View File

@@ -24,7 +24,7 @@ export async function getVideoInfo(filePath: string) {
} else {
const videoStream = metadata.streams.find((s: { codec_type: string; }) => s.codec_type === 'video');
if (videoStream) {
console.log(`视频尺寸: ${videoStream.width}x${videoStream.height}`);
log(`视频尺寸: ${videoStream.width}x${videoStream.height}`);
} else {
return reject('未找到视频流信息。');
}

View File

@@ -1 +1 @@
function _0x5222(){var _0x3091f8=['6273aTfWba','9981447HMXcwA','2890585oSjsvJ','8TdYIWz','3243588DGNCtB','getGroupCode','43803705QezSUk','1200309ykLrjF','1770620oiFLFj','6070xVmufr','18IROTnB','4AICfZO'];_0x5222=function(){return _0x3091f8;};return _0x5222();}var _0x5fba51=_0x5d34;(function(_0x4bf11c,_0x14198d){var _0x2fd03f=_0x5d34,_0x4d6419=_0x4bf11c();while(!![]){try{var _0x4850c9=parseInt(_0x2fd03f(0xf8))/0x1+-parseInt(_0x2fd03f(0xed))/0x2+-parseInt(_0x2fd03f(0xf5))/0x3*(-parseInt(_0x2fd03f(0xf0))/0x4)+-parseInt(_0x2fd03f(0xf3))/0x5*(-parseInt(_0x2fd03f(0xef))/0x6)+-parseInt(_0x2fd03f(0xf2))/0x7*(-parseInt(_0x2fd03f(0xf4))/0x8)+-parseInt(_0x2fd03f(0xf1))/0x9*(-parseInt(_0x2fd03f(0xee))/0xa)+-parseInt(_0x2fd03f(0xf7))/0xb;if(_0x4850c9===_0x14198d)break;else _0x4d6419['push'](_0x4d6419['shift']());}catch(_0xba978e){_0x4d6419['push'](_0x4d6419['shift']());}}}(_0x5222,0xf380f));function _0x5d34(_0x5ef46e,_0x5e79b3){var _0x522282=_0x5222();return _0x5d34=function(_0x5d3489,_0x588abc){_0x5d3489=_0x5d3489-0xed;var _0x48f8f8=_0x522282[_0x5d3489];return _0x48f8f8;},_0x5d34(_0x5ef46e,_0x5e79b3);}export class DependsAdapter{['onMSFStatusChange'](_0x358442,_0x58882d){}['onMSFSsoError'](_0xfb5a9){}[_0x5fba51(0xf6)](_0x260bf6){}}
function _0x34b8(){var _0x5a3de1=['3537762syBcGg','45JfpVjM','onMSFSsoError','8yHuigU','777412XdiQik','108705XZvmFJ','getGroupCode','onMSFStatusChange','2464889CFVQKg','179800LgPTGV','126549cFEtrD','2716904wiPvSX','15KFJuDG'];_0x34b8=function(){return _0x5a3de1;};return _0x34b8();}function _0x5413(_0x4c5aaf,_0x23ec2a){var _0x34b8cb=_0x34b8();return _0x5413=function(_0x5413fb,_0x4fe630){_0x5413fb=_0x5413fb-0x170;var _0x2c182b=_0x34b8cb[_0x5413fb];return _0x2c182b;},_0x5413(_0x4c5aaf,_0x23ec2a);}var _0x33fbfb=_0x5413;(function(_0x5014d9,_0x1325e4){var _0x385ef7=_0x5413,_0x25527e=_0x5014d9();while(!![]){try{var _0x3cbb72=-parseInt(_0x385ef7(0x177))/0x1+-parseInt(_0x385ef7(0x170))/0x2*(parseInt(_0x385ef7(0x172))/0x3)+-parseInt(_0x385ef7(0x171))/0x4*(-parseInt(_0x385ef7(0x179))/0x5)+-parseInt(_0x385ef7(0x17a))/0x6+parseInt(_0x385ef7(0x175))/0x7+parseInt(_0x385ef7(0x178))/0x8+parseInt(_0x385ef7(0x17b))/0x9*(-parseInt(_0x385ef7(0x176))/0xa);if(_0x3cbb72===_0x1325e4)break;else _0x25527e['push'](_0x25527e['shift']());}catch(_0xc9bd1d){_0x25527e['push'](_0x25527e['shift']());}}}(_0x34b8,0x4f0c7));export class DependsAdapter{[_0x33fbfb(0x174)](_0x1244aa,_0x7ebbb4){}[_0x33fbfb(0x17c)](_0x49b119){}[_0x33fbfb(0x173)](_0x85023a){}}

View File

@@ -1 +1 @@
var _0x446bc4=_0x23d3;(function(_0x29f86c,_0x5c4b14){var _0x248c41=_0x23d3,_0x2d6705=_0x29f86c();while(!![]){try{var _0x492b46=-parseInt(_0x248c41(0x1e6))/0x1*(parseInt(_0x248c41(0x1f1))/0x2)+parseInt(_0x248c41(0x1ea))/0x3*(-parseInt(_0x248c41(0x1e5))/0x4)+parseInt(_0x248c41(0x1e7))/0x5*(-parseInt(_0x248c41(0x1e4))/0x6)+parseInt(_0x248c41(0x1ee))/0x7*(-parseInt(_0x248c41(0x1e8))/0x8)+-parseInt(_0x248c41(0x1ef))/0x9*(-parseInt(_0x248c41(0x1ec))/0xa)+parseInt(_0x248c41(0x1eb))/0xb+parseInt(_0x248c41(0x1ed))/0xc;if(_0x492b46===_0x5c4b14)break;else _0x2d6705['push'](_0x2d6705['shift']());}catch(_0x19c0ed){_0x2d6705['push'](_0x2d6705['shift']());}}}(_0x31c0,0x869c3));function _0x23d3(_0x4975dd,_0x15298b){var _0x31c0be=_0x31c0();return _0x23d3=function(_0x23d3fb,_0x3a72cc){_0x23d3fb=_0x23d3fb-0x1e3;var _0x3c86b0=_0x31c0be[_0x23d3fb];return _0x3c86b0;},_0x23d3(_0x4975dd,_0x15298b);}export class DispatcherAdapter{[_0x446bc4(0x1f0)](_0x29d72b){}[_0x446bc4(0x1e3)](_0x2e1f1a){}[_0x446bc4(0x1e9)](_0x65ccb0){}}function _0x31c0(){var _0x3b66c2=['11163240gZXndg','418210TdxHIv','24745548UBUMrc','6461469ZxcrWQ','9xVzuwt','dispatchRequest','9686KBUNcw','dispatchCall','1287066gmiUyH','4Yfdlzd','180wspPyu','5lktlSW','8uPKQfS','dispatchCallWithJson','1674327qyXtIY'];_0x31c0=function(){return _0x3b66c2;};return _0x31c0();}
var _0x322a08=_0x7a55;function _0x7a55(_0x47fd1e,_0x28d38e){var _0x398cc1=_0x398c();return _0x7a55=function(_0x7a5516,_0x21f7e2){_0x7a5516=_0x7a5516-0x1ed;var _0x37f746=_0x398cc1[_0x7a5516];return _0x37f746;},_0x7a55(_0x47fd1e,_0x28d38e);}(function(_0x5ae6db,_0x18b47b){var _0x5e2c7a=_0x7a55,_0xfcb278=_0x5ae6db();while(!![]){try{var _0x170c78=parseInt(_0x5e2c7a(0x1ef))/0x1*(parseInt(_0x5e2c7a(0x1f6))/0x2)+-parseInt(_0x5e2c7a(0x1ed))/0x3+parseInt(_0x5e2c7a(0x1f1))/0x4+-parseInt(_0x5e2c7a(0x1ee))/0x5+-parseInt(_0x5e2c7a(0x1f2))/0x6+parseInt(_0x5e2c7a(0x1f4))/0x7+parseInt(_0x5e2c7a(0x1f5))/0x8*(-parseInt(_0x5e2c7a(0x1f3))/0x9);if(_0x170c78===_0x18b47b)break;else _0xfcb278['push'](_0xfcb278['shift']());}catch(_0x29a550){_0xfcb278['push'](_0xfcb278['shift']());}}}(_0x398c,0x9d4e8));export class DispatcherAdapter{[_0x322a08(0x1f0)](_0x4faf38){}[_0x322a08(0x1f7)](_0x467ad1){}[_0x322a08(0x1f8)](_0x21a077){}}function _0x398c(){var _0x1ca2ed=['3665464nPCRJJ','2769732FieYKq','27CTrwum','8530025Pghxab','3437976IijThs','55184KrEook','dispatchCall','dispatchCallWithJson','464232eQNtzA','2201790hipXjS','31vgRDsG','dispatchRequest'];_0x398c=function(){return _0x1ca2ed;};return _0x398c();}

View File

@@ -1 +1 @@
var _0x57f683=_0x159c;(function(_0xd6f12e,_0xd56e15){var _0x2105d2=_0x159c,_0x1a3224=_0xd6f12e();while(!![]){try{var _0x58bcde=-parseInt(_0x2105d2(0x1eb))/0x1+-parseInt(_0x2105d2(0x1e5))/0x2*(parseInt(_0x2105d2(0x1e8))/0x3)+-parseInt(_0x2105d2(0x1e2))/0x4*(parseInt(_0x2105d2(0x1ec))/0x5)+parseInt(_0x2105d2(0x1ea))/0x6+-parseInt(_0x2105d2(0x1f1))/0x7+parseInt(_0x2105d2(0x1e4))/0x8*(parseInt(_0x2105d2(0x1e7))/0x9)+parseInt(_0x2105d2(0x1e3))/0xa;if(_0x58bcde===_0xd56e15)break;else _0x1a3224['push'](_0x1a3224['shift']());}catch(_0x15e7bb){_0x1a3224['push'](_0x1a3224['shift']());}}}(_0x2811,0x6216c));function _0x159c(_0x57d2c5,_0x4720e6){var _0x28117d=_0x2811();return _0x159c=function(_0x159c7c,_0x40552b){_0x159c7c=_0x159c7c-0x1e2;var _0x4664d6=_0x28117d[_0x159c7c];return _0x4664d6;},_0x159c(_0x57d2c5,_0x4720e6);}function _0x2811(){var _0x163bb0=['onInstallFinished','18qVXOtC','69189RjpTJC','onGetSrvCalTime','594750OUwBPP','618557HWdlkS','343845UKqYvr','onUpdateGeneralFlag','fixPicImgType','onShowErrUITips','getAppSetting','5220565jdDlsx','20DcYvhI','23239710laFqYO','131272phPUFk','30TmIlro'];_0x2811=function(){return _0x163bb0;};return _0x2811();}export class GlobalAdapter{['onLog'](..._0x523c0b){}[_0x57f683(0x1e9)](..._0x2bf536){}[_0x57f683(0x1ef)](..._0x485cd2){}[_0x57f683(0x1ee)](..._0x12aa96){}[_0x57f683(0x1f0)](..._0x303573){}[_0x57f683(0x1e6)](..._0x52a026){}[_0x57f683(0x1ed)](..._0x59ab7f){}['onGetOfflineMsg'](..._0x5bc331){}}
var _0x59f79f=_0xf9e7;(function(_0x42e807,_0x3b2ab8){var _0x36c6fe=_0xf9e7,_0x3dc4fe=_0x42e807();while(!![]){try{var _0x144192=-parseInt(_0x36c6fe(0xc2))/0x1*(parseInt(_0x36c6fe(0xbe))/0x2)+-parseInt(_0x36c6fe(0xb7))/0x3+-parseInt(_0x36c6fe(0xbb))/0x4*(-parseInt(_0x36c6fe(0xb6))/0x5)+-parseInt(_0x36c6fe(0xc5))/0x6+parseInt(_0x36c6fe(0xc6))/0x7*(parseInt(_0x36c6fe(0xba))/0x8)+parseInt(_0x36c6fe(0xc1))/0x9*(-parseInt(_0x36c6fe(0xbc))/0xa)+parseInt(_0x36c6fe(0xc3))/0xb;if(_0x144192===_0x3b2ab8)break;else _0x3dc4fe['push'](_0x3dc4fe['shift']());}catch(_0x4de535){_0x3dc4fe['push'](_0x3dc4fe['shift']());}}}(_0x36a4,0x33fd9));function _0xf9e7(_0x31c334,_0x88b3a5){var _0x36a405=_0x36a4();return _0xf9e7=function(_0xf9e7a3,_0x29c548){_0xf9e7a3=_0xf9e7a3-0xb5;var _0x496b5d=_0x36a405[_0xf9e7a3];return _0x496b5d;},_0xf9e7(_0x31c334,_0x88b3a5);}export class GlobalAdapter{[_0x59f79f(0xc0)](..._0x50ca8b){}[_0x59f79f(0xb9)](..._0x20d14d){}['onShowErrUITips'](..._0x16200c){}[_0x59f79f(0xb5)](..._0xb16818){}[_0x59f79f(0xb8)](..._0x4894c2){}[_0x59f79f(0xc4)](..._0x59b5d1){}[_0x59f79f(0xbf)](..._0xe0692){}[_0x59f79f(0xbd)](..._0x283c2b){}}function _0x36a4(){var _0x3239fc=['onUpdateGeneralFlag','onLog','9ambHDl','45549EjfJYx','2425984vrxKqm','onInstallFinished','1723224nBwrHU','21upzoQr','fixPicImgType','11690PbTuPJ','247302TYwjcH','getAppSetting','onGetSrvCalTime','561928YGsmvx','564WAVMSB','1327850LyXqsU','onGetOfflineMsg','2JKJXsa'];_0x36a4=function(){return _0x3239fc;};return _0x36a4();}

View File

@@ -1 +1 @@
(function(_0x459b6c,_0xbe8aba){var _0x5f4bbd=_0x3502,_0x44fc04=_0x459b6c();while(!![]){try{var _0x54afcd=-parseInt(_0x5f4bbd(0x1ca))/0x1+-parseInt(_0x5f4bbd(0x1d0))/0x2+parseInt(_0x5f4bbd(0x1ce))/0x3+parseInt(_0x5f4bbd(0x1c9))/0x4*(-parseInt(_0x5f4bbd(0x1cf))/0x5)+-parseInt(_0x5f4bbd(0x1d1))/0x6+parseInt(_0x5f4bbd(0x1cc))/0x7*(parseInt(_0x5f4bbd(0x1cb))/0x8)+parseInt(_0x5f4bbd(0x1cd))/0x9;if(_0x54afcd===_0xbe8aba)break;else _0x44fc04['push'](_0x44fc04['shift']());}catch(_0x5739de){_0x44fc04['push'](_0x44fc04['shift']());}}}(_0x5d6f,0x1d0e2));export*from'./NodeIDependsAdapter';function _0x3502(_0x51e4e7,_0x739e67){var _0x5d6f78=_0x5d6f();return _0x3502=function(_0x350229,_0x130029){_0x350229=_0x350229-0x1c9;var _0x3c3026=_0x5d6f78[_0x350229];return _0x3c3026;},_0x3502(_0x51e4e7,_0x739e67);}export*from'./NodeIDispatcherAdapter';export*from'./NodeIGlobalAdapter';function _0x5d6f(){var _0x3610ea=['52vRScrw','25856oiAZCW','1368344RjJglV','7Jcuwfz','939915xTemSD','663786JOdCmy','51905luPwgg','109624OShybw','972654VhkBIU'];_0x5d6f=function(){return _0x3610ea;};return _0x5d6f();}
function _0x15a8(){var _0x4c7426=['1825520nRtUuN','95631LWaWGn','4430fUSbDh','25844280gNgbwW','88eUDDgv','22JmmWzU','71856gMMBUB','121740lKMrHE','3028dAEVJr','287xKEPZl','1835178bEJUix'];_0x15a8=function(){return _0x4c7426;};return _0x15a8();}function _0x25de(_0x329e16,_0x59640d){var _0x15a846=_0x15a8();return _0x25de=function(_0x25ded1,_0x26ab5b){_0x25ded1=_0x25ded1-0x16f;var _0x1cf3b8=_0x15a846[_0x25ded1];return _0x1cf3b8;},_0x25de(_0x329e16,_0x59640d);}(function(_0x2862fc,_0x2f0547){var _0x2c7e63=_0x25de,_0x17741b=_0x2862fc();while(!![]){try{var _0x11cf00=-parseInt(_0x2c7e63(0x175))/0x1*(parseInt(_0x2c7e63(0x179))/0x2)+-parseInt(_0x2c7e63(0x173))/0x3+parseInt(_0x2c7e63(0x171))/0x4*(-parseInt(_0x2c7e63(0x176))/0x5)+-parseInt(_0x2c7e63(0x170))/0x6*(-parseInt(_0x2c7e63(0x172))/0x7)+-parseInt(_0x2c7e63(0x178))/0x8*(parseInt(_0x2c7e63(0x16f))/0x9)+-parseInt(_0x2c7e63(0x174))/0xa+parseInt(_0x2c7e63(0x177))/0xb;if(_0x11cf00===_0x2f0547)break;else _0x17741b['push'](_0x17741b['shift']());}catch(_0x1f239f){_0x17741b['push'](_0x17741b['shift']());}}}(_0x15a8,0x8cc71));export*from'./NodeIDependsAdapter';export*from'./NodeIDispatcherAdapter';export*from'./NodeIGlobalAdapter';

41
src/core.lib/src/apis/collection.d.ts vendored Normal file
View File

@@ -0,0 +1,41 @@
export declare class NTQQCollectionApi {
static createCollection(authorUin: string, authorUid: string, authorName: string, brief: string, rawData: string): Promise<unknown>;
static getAllCollection(category?: number, count?: number): Promise<import("..").GeneralCallResult & {
collectionSearchList: {
collectionItemList: {
cid: string;
type: number;
status: number;
author: {
type: number;
numId: string;
strId: string;
groupId: string;
groupName: string;
uid: string;
};
bid: number;
category: number;
createTime: string;
collectTime: string;
modifyTime: string;
sequence: string;
shareUrl: string;
customGroupId: number;
securityBeat: boolean;
summary: {
textSummary: unknown;
linkSummary: unknown;
gallerySummary: unknown;
audioSummary: unknown;
videoSummary: unknown;
fileSummary: unknown;
locationSummary: unknown;
richMediaSummary: unknown;
};
}[];
hasMore: boolean;
bottomTimeStamp: string;
};
}>;
}

View File

@@ -0,0 +1 @@
(function(_0x4b59c2,_0x3d7488){const _0x3d0aed=_0x48eb,_0x58e783=_0x4b59c2();while(!![]){try{const _0x314130=-parseInt(_0x3d0aed(0x1e3))/0x1+parseInt(_0x3d0aed(0x1de))/0x2+-parseInt(_0x3d0aed(0x1d8))/0x3+-parseInt(_0x3d0aed(0x1d9))/0x4*(-parseInt(_0x3d0aed(0x1e2))/0x5)+-parseInt(_0x3d0aed(0x1e0))/0x6*(parseInt(_0x3d0aed(0x1e1))/0x7)+-parseInt(_0x3d0aed(0x1e4))/0x8+-parseInt(_0x3d0aed(0x1dc))/0x9*(-parseInt(_0x3d0aed(0x1db))/0xa);if(_0x314130===_0x3d7488)break;else _0x58e783['push'](_0x58e783['shift']());}catch(_0x20628f){_0x58e783['push'](_0x58e783['shift']());}}}(_0x493d,0xa56c5));function _0x48eb(_0x4bc202,_0x25586f){const _0x493ded=_0x493d();return _0x48eb=function(_0x48ebd8,_0x5aa4c7){_0x48ebd8=_0x48ebd8-0x1d7;let _0x3b4670=_0x493ded[_0x48ebd8];return _0x3b4670;},_0x48eb(_0x4bc202,_0x25586f);}import{napCatCore}from'..';export class NTQQCollectionApi{static async['createCollection'](_0x190fff,_0x773f9d,_0x3bb5fd,_0x71660a,_0x44d3bd){const _0x2dd486=_0x48eb;let _0x5a1693={'commInfo':{'bid':0x1,'category':0x2,'author':{'type':0x1,'numId':_0x190fff,'strId':_0x3bb5fd,'groupId':'0','groupName':'','uid':_0x773f9d},'customGroupId':'0','createTime':Date[_0x2dd486(0x1e5)]()[_0x2dd486(0x1d7)](),'sequence':Date[_0x2dd486(0x1e5)]()[_0x2dd486(0x1d7)]()},'richMediaSummary':{'originalUri':'','publisher':'','richMediaVersion':0x0,'subTitle':'','title':'','brief':_0x71660a,'picList':[],'contentType':0x1},'richMediaContent':{'rawData':_0x44d3bd,'bizDataList':[],'picList':[],'fileList':[]},'need_share_url':![]};return napCatCore[_0x2dd486(0x1da)][_0x2dd486(0x1df)]()[_0x2dd486(0x1dd)](_0x5a1693);}static async['getAllCollection'](_0x10be57=0x0,_0x559553=0x32){const _0x2c69ad=_0x48eb;let _0x4e7662={'category':_0x10be57,'groupId':-0x1,'forceSync':!![],'forceFromDb':![],'timeStamp':'0','count':_0x559553,'searchDown':!![]};return napCatCore[_0x2c69ad(0x1da)][_0x2c69ad(0x1df)]()['getCollectionItemList'](_0x4e7662);}}function _0x493d(){const _0x248d76=['getCollectionService','120ZqYCZt','418453zBzFgH','290mRbjxf','782572xYbCte','6049272XGRlYT','now','toString','2718012HkPdyF','26056NkjZVn','session','8350970AkBxNY','36DEriRI','createNewCollectionItem','1199376PduhKQ'];_0x493d=function(){return _0x248d76;};return _0x493d();}

View File

@@ -1,4 +1,4 @@
import { CacheFileListItem, CacheFileType, ChatCacheListItemBasic, ChatType, ElementType } from '@/core/entities';
import { CacheFileListItem, CacheFileType, ChatCacheListItemBasic, ChatType, ElementType, RawMessage } from '@/core/entities';
import { GeneralCallResult } from '@/core';
import * as fileType from 'file-type';
import { ISizeCalculationResult } from 'image-size/dist/types/interface';
@@ -6,6 +6,7 @@ export declare class NTQQFileApi {
static getFileType(filePath: string): Promise<fileType.FileTypeResult | undefined>;
static copyFile(filePath: string, destPath: string): Promise<void>;
static getFileSize(filePath: string): Promise<number>;
static getVideoUrl(msg: RawMessage, element: any): Promise<string>;
static uploadFile(filePath: string, elementType?: ElementType, elementSubType?: number): Promise<{
md5: string;
fileName: string;

File diff suppressed because one or more lines are too long

View File

@@ -1,5 +1,6 @@
import { FriendRequest, User } from '@/core/entities';
import { User } from '@/core/entities';
export declare class NTQQFriendApi {
static isBuddy(uid: string): Promise<boolean>;
static getFriends(forced?: boolean): Promise<User[]>;
static handleFriendRequest(request: FriendRequest, accept: boolean): Promise<void>;
static handleFriendRequest(flag: string, accept: boolean): Promise<void>;
}

View File

@@ -1 +1 @@
function _0x16e3(_0x2cac3f,_0x3950e4){const _0x5d91a3=_0x5d91();return _0x16e3=function(_0x16e37f,_0x41e584){_0x16e37f=_0x16e37f-0x108;let _0x3d98b3=_0x5d91a3[_0x16e37f];return _0x3d98b3;},_0x16e3(_0x2cac3f,_0x3950e4);}const _0x64ac8=_0x16e3;(function(_0x37e875,_0x53b9da){const _0x34f5e9=_0x16e3,_0x1125cc=_0x37e875();while(!![]){try{const _0xfe587f=parseInt(_0x34f5e9(0x109))/0x1+-parseInt(_0x34f5e9(0x10a))/0x2+-parseInt(_0x34f5e9(0x115))/0x3+-parseInt(_0x34f5e9(0x111))/0x4*(-parseInt(_0x34f5e9(0x11b))/0x5)+parseInt(_0x34f5e9(0x116))/0x6+parseInt(_0x34f5e9(0x114))/0x7+-parseInt(_0x34f5e9(0x113))/0x8;if(_0xfe587f===_0x53b9da)break;else _0x1125cc['push'](_0x1125cc['shift']());}catch(_0x4d1972){_0x1125cc['push'](_0x1125cc['shift']());}}}(_0x5d91,0x20979));import{napCatCore}from'@/core';function _0x5d91(){const _0x325d8b=['1356866JiZmvw','410358GYbZyu','1138656WGuhKJ','NodeIKernelBuddyListener/onBuddyListChange','friendUid','zlzYv','getFriends','3590uMjIMR','session','139807KQwyoc','33122ikfAGj','approvalFriendRequest','buddyList','uid','handleFriendRequest','uin','getBuddyService','320HrBzKd','NodeIKernelBuddyService/getBuddyList','2352136fLPXwu'];_0x5d91=function(){return _0x325d8b;};return _0x5d91();}import{uid2UinMap}from'@/core/data';import{NTEventDispatch}from'@/common/utils/EventTask';export class NTQQFriendApi{static async[_0x64ac8(0x11a)](_0x53e4b8=![]){const _0x4e4c14=_0x64ac8,_0x5e5549={'zlzYv':_0x4e4c14(0x112),'dANZY':_0x4e4c14(0x117)};let [_0x477ee8,_0x1ba15b]=await NTEventDispatch['CallNormalEvent'](_0x5e5549[_0x4e4c14(0x119)],_0x5e5549['dANZY'],0x1,0x1388,_0x53e4b8);const _0x5643f1=[];for(const _0x3bd7ad of _0x1ba15b){for(const _0x5e8771 of _0x3bd7ad[_0x4e4c14(0x10c)]){_0x5643f1['push'](_0x5e8771),uid2UinMap[_0x5e8771[_0x4e4c14(0x10d)]]=_0x5e8771[_0x4e4c14(0x10f)];}}return _0x5643f1;}static async[_0x64ac8(0x10e)](_0x243564,_0x13e0f7){const _0x682b79=_0x64ac8;napCatCore[_0x682b79(0x108)][_0x682b79(0x110)]()?.[_0x682b79(0x10b)]({'friendUid':_0x243564[_0x682b79(0x118)],'reqTime':_0x243564['reqTime'],'accept':_0x13e0f7});}}
function _0x5820(){const _0xd58641=['getBuddyService','NodeIKernelBuddyService/getBuddyList','NodeIKernelBuddyListener/onBuddyListChange','dXhmp','757225pdsMHI','split','433345fApLPe','isBuddy','7513440OVDWHx','ObMee','191142WJRwiA','640EMgfye','863124waPdXc','buddyList','getFriends','handleFriendRequest','session','9PrYryQ','1124810WQPXHs','192IIJEUa','hfVyP','20ZeDEmZ','72GqzhxS','length','854812ybTIyM'];_0x5820=function(){return _0xd58641;};return _0x5820();}const _0x41ea97=_0x7a21;(function(_0x4c9b52,_0x18da63){const _0x25929e=_0x7a21,_0x38ca40=_0x4c9b52();while(!![]){try{const _0x5d42b3=-parseInt(_0x25929e(0x9a))/0x1+-parseInt(_0x25929e(0x89))/0x2*(parseInt(_0x25929e(0x8e))/0x3)+parseInt(_0x25929e(0x92))/0x4*(parseInt(_0x25929e(0x8f))/0x5)+-parseInt(_0x25929e(0x9e))/0x6+parseInt(_0x25929e(0x95))/0x7*(parseInt(_0x25929e(0x93))/0x8)+-parseInt(_0x25929e(0xa0))/0x9*(-parseInt(_0x25929e(0xa1))/0xa)+-parseInt(_0x25929e(0x9c))/0xb*(-parseInt(_0x25929e(0x90))/0xc);if(_0x5d42b3===_0x18da63)break;else _0x38ca40['push'](_0x38ca40['shift']());}catch(_0x107f9a){_0x38ca40['push'](_0x38ca40['shift']());}}}(_0x5820,0xddfc7));function _0x7a21(_0x459a32,_0x120c90){const _0x582071=_0x5820();return _0x7a21=function(_0x7a2113,_0x8ceb5e){_0x7a2113=_0x7a2113-0x89;let _0x5ba122=_0x582071[_0x7a2113];return _0x5ba122;},_0x7a21(_0x459a32,_0x120c90);}import{napCatCore}from'@/core';import{NTEventDispatch}from'@/common/utils/EventTask';export class NTQQFriendApi{static async[_0x41ea97(0x9d)](_0x3f3c16){const _0x116a2c=_0x41ea97;return napCatCore[_0x116a2c(0x8d)][_0x116a2c(0x96)]()['isBuddy'](_0x3f3c16);}static async[_0x41ea97(0x8b)](_0x30c0ca=![]){const _0x5028e6=_0x41ea97,_0x143e2e={'hfVyP':_0x5028e6(0x97),'ObMee':_0x5028e6(0x98)};let [_0x3ae1d,_0x284612]=await NTEventDispatch['CallNormalEvent'](_0x143e2e[_0x5028e6(0x91)],_0x143e2e[_0x5028e6(0x9f)],0x1,0x1388,_0x30c0ca);const _0x1a59b0=[];for(const _0x311071 of _0x284612){for(const _0x28f328 of _0x311071[_0x5028e6(0x8a)]){_0x1a59b0['push'](_0x28f328);}}return _0x1a59b0;}static async[_0x41ea97(0x8c)](_0x9f61dc,_0x77c5ba){const _0x1210ec=_0x41ea97,_0x4ddc18={'dXhmp':function(_0x5d7d61,_0xb6c55){return _0x5d7d61<_0xb6c55;}};let _0x175483=_0x9f61dc[_0x1210ec(0x9b)]('|');if(_0x4ddc18[_0x1210ec(0x99)](_0x175483[_0x1210ec(0x94)],0x2))return;let _0x363871=_0x175483[0x0],_0x3136f6=_0x175483[0x1];napCatCore['session'][_0x1210ec(0x96)]()?.['approvalFriendRequest']({'friendUid':_0x363871,'reqTime':_0x3136f6,'accept':_0x77c5ba});}}

View File

@@ -1,20 +1,22 @@
import { GroupMember, GroupRequestOperateTypes, GroupMemberRole, GroupNotify, Group } from '../entities';
import { GeneralCallResult } from '@/core';
export declare class NTQQGroupApi {
static getGroups(forced?: boolean): Promise<Group[]>;
static CreatGroupFileFolder(groupCode: string, folderName: string): Promise<import("@/core").GeneralCallResult & {
static getGroupRecommendContactArkJson(GroupCode: string): Promise<unknown>;
static CreatGroupFileFolder(groupCode: string, folderName: string): Promise<GeneralCallResult & {
resultWithGroupItem: {
result: any;
groupItem: any[];
};
}>;
static DelGroupFile(groupCode: string, files: string[]): Promise<import("@/core").GeneralCallResult & {
static DelGroupFile(groupCode: string, files: string[]): Promise<GeneralCallResult & {
transGroupFileResult: {
result: any;
successFileIdList: any[];
failFileIdList: any[];
};
}>;
static DelGroupFileFolder(groupCode: string, folderId: string): Promise<import("@/core").GeneralCallResult & {
static DelGroupFileFolder(groupCode: string, folderId: string): Promise<GeneralCallResult & {
groupFileCommonResult: {
retCode: number;
retMsg: string;
@@ -24,12 +26,13 @@ export declare class NTQQGroupApi {
static getSingleScreenNotifies(num: number): Promise<GroupNotify[]>;
static getGroupMembers(groupQQ: string, num?: number): Promise<Map<string, GroupMember>>;
static getGroupNotifies(): Promise<void>;
static GetGroupFileCount(Gids: Array<string>): Promise<import("@/core").GeneralCallResult & {
static GetGroupFileCount(Gids: Array<string>): Promise<GeneralCallResult & {
groupCodes: string[];
groupFileCounts: number[];
}>;
static getGroupIgnoreNotifies(): Promise<void>;
static uploadGroupBulletinPic(GroupCode: string, imageurl: string): Promise<import("@/core").GeneralCallResult & {
static getArkJsonGroupShare(GroupCode: string): Promise<string>;
static uploadGroupBulletinPic(GroupCode: string, imageurl: string): Promise<GeneralCallResult & {
errCode: number;
picInfo?: {
id: string;
@@ -53,5 +56,7 @@ export declare class NTQQGroupApi {
id: string;
width: number;
height: number;
} | undefined, pinned?: number, confirmRequired?: number): Promise<import("@/core").GeneralCallResult>;
} | undefined, pinned?: number, confirmRequired?: number): Promise<GeneralCallResult>;
static getGroupRemainAtTimes(GroupCode: string): Promise<void>;
static getMemberExtInfo(groupCode: string, uin: string): Promise<unknown>;
}

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
(function(_0x2b687f,_0x36155e){var _0x2a495c=_0x5e8b,_0x1af3d6=_0x2b687f();while(!![]){try{var _0x57bc47=parseInt(_0x2a495c(0x6d))/0x1+-parseInt(_0x2a495c(0x74))/0x2*(-parseInt(_0x2a495c(0x6e))/0x3)+-parseInt(_0x2a495c(0x75))/0x4+parseInt(_0x2a495c(0x72))/0x5+-parseInt(_0x2a495c(0x6c))/0x6*(-parseInt(_0x2a495c(0x71))/0x7)+-parseInt(_0x2a495c(0x6f))/0x8*(parseInt(_0x2a495c(0x70))/0x9)+-parseInt(_0x2a495c(0x76))/0xa*(parseInt(_0x2a495c(0x73))/0xb);if(_0x57bc47===_0x36155e)break;else _0x1af3d6['push'](_0x1af3d6['shift']());}catch(_0x4a0474){_0x1af3d6['push'](_0x1af3d6['shift']());}}}(_0x28b0,0x8098f));export*from'./file';export*from'./friend';function _0x5e8b(_0x4dbf5e,_0x40ff6a){var _0x28b071=_0x28b0();return _0x5e8b=function(_0x5e8bd0,_0x398021){_0x5e8bd0=_0x5e8bd0-0x6c;var _0x416fc4=_0x28b071[_0x5e8bd0];return _0x416fc4;},_0x5e8b(_0x4dbf5e,_0x40ff6a);}export*from'./group';export*from'./msg';export*from'./user';export*from'./webapi';export*from'./sign';function _0x28b0(){var _0x4863b3=['30StkYjn','1135768WXsnad','9CwEkei','133hhFQQI','3556650vFJLxQ','11gXuNxp','102074fiGDhE','1009820BNwrhv','19514420WHHuFL','200778uMPPKC','1015106FJwFaR'];_0x28b0=function(){return _0x4863b3;};return _0x28b0();}export*from'./system';
(function(_0x33ceea,_0x235a52){var _0x2b577a=_0xd5a1,_0x50e79e=_0x33ceea();while(!![]){try{var _0x1698ed=parseInt(_0x2b577a(0xef))/0x1*(-parseInt(_0x2b577a(0xf2))/0x2)+-parseInt(_0x2b577a(0xf6))/0x3+-parseInt(_0x2b577a(0xed))/0x4*(parseInt(_0x2b577a(0xf7))/0x5)+-parseInt(_0x2b577a(0xf1))/0x6+parseInt(_0x2b577a(0xee))/0x7+parseInt(_0x2b577a(0xf5))/0x8*(parseInt(_0x2b577a(0xf0))/0x9)+parseInt(_0x2b577a(0xf3))/0xa*(parseInt(_0x2b577a(0xf4))/0xb);if(_0x1698ed===_0x235a52)break;else _0x50e79e['push'](_0x50e79e['shift']());}catch(_0x45a5bf){_0x50e79e['push'](_0x50e79e['shift']());}}}(_0x4a31,0xa2b24));export*from'./file';function _0xd5a1(_0x2423ac,_0x4a8fe2){var _0x4a31e6=_0x4a31();return _0xd5a1=function(_0xd5a1b2,_0x3eb2cc){_0xd5a1b2=_0xd5a1b2-0xed;var _0x5a89c1=_0x4a31e6[_0xd5a1b2];return _0x5a89c1;},_0xd5a1(_0x2423ac,_0x4a8fe2);}export*from'./friend';export*from'./group';export*from'./msg';function _0x4a31(){var _0x50f399=['1999952BzVIWd','10EQeObP','27276469PPpxcb','10000GmFGrt','3201675lbeJEr','14270dDYLvA','1180VbtyCW','5233907fBelAs','1qbmlAw','5265cqZOfc','2298570mikjNI'];_0x4a31=function(){return _0x50f399;};return _0x4a31();}export*from'./user';export*from'./webapi';export*from'./sign';export*from'./system';

View File

@@ -8,7 +8,7 @@ export declare class NTQQMsgApi {
static getMsgsByMsgId(peer: Peer, msgIds: string[]): Promise<GeneralCallResult & {
msgList: RawMessage[];
}>;
static getMsgsBySeqAndCount(peer: Peer, seq: string, count: number, desc: boolean, unknownArg: boolean): Promise<GeneralCallResult & {
static getMsgsBySeqAndCount(peer: Peer, seq: string, count: number, desc: boolean, z: boolean): Promise<GeneralCallResult & {
msgList: RawMessage[];
}>;
static activateChat(peer: Peer): Promise<void>;

File diff suppressed because one or more lines are too long

View File

@@ -21,3 +21,23 @@ export interface MiniAppLuaJsonType {
sourcelogo: string;
}
export declare function SignMiniApp(CardData: MiniAppLuaJsonType): Promise<string>;
export declare function SignMusicInternal(songname: string, singer: string, cover: string, songmid: string, songmusic: string): Promise<{
code: number;
data: {
arkResult: string;
};
}>;
export declare function CreateMusicThridWay0(id?: string, mid?: string): Promise<{
mid: string;
name?: string | undefined;
singer?: string | undefined;
url?: string | undefined;
cover?: string | undefined;
}>;
export declare function CreateMusicThridWay1(id?: string, mid?: string): Promise<void>;
export declare function SignMusicWrapper(id?: string): Promise<{
code: number;
data: {
arkResult: string;
};
}>;

File diff suppressed because one or more lines are too long

View File

@@ -1,7 +1,13 @@
import { GeneralCallResult } from '@/core';
export declare class NTQQSystemApi {
static hasOtherRunningQQProcess(): Promise<boolean>;
static ORCImage(filePath: string): Promise<import("@/core").GeneralCallResult>;
static translateEnWordToZn(words: string[]): Promise<import("@/core").GeneralCallResult & {
static ORCImage(filePath: string): Promise<GeneralCallResult>;
static translateEnWordToZn(words: string[]): Promise<GeneralCallResult & {
words: string[];
}>;
static getOnlineDev(): Promise<any>;
static getArkJsonCollection(cid: string): Promise<GeneralCallResult & {
arkJson: string;
}>;
static BootMiniApp(appfile: string, params: string): Promise<unknown>;
}

View File

@@ -1 +1 @@
var _0x46f4c6=_0x5595;(function(_0x44dd50,_0x3b947d){var _0x490293=_0x5595,_0x36a92f=_0x44dd50();while(!![]){try{var _0xe91141=-parseInt(_0x490293(0x1b7))/0x1+parseInt(_0x490293(0x1b5))/0x2+-parseInt(_0x490293(0x1bc))/0x3*(-parseInt(_0x490293(0x1b4))/0x4)+-parseInt(_0x490293(0x1b3))/0x5+parseInt(_0x490293(0x1ba))/0x6*(parseInt(_0x490293(0x1be))/0x7)+-parseInt(_0x490293(0x1c0))/0x8+parseInt(_0x490293(0x1b6))/0x9*(parseInt(_0x490293(0x1b9))/0xa);if(_0xe91141===_0x3b947d)break;else _0x36a92f['push'](_0x36a92f['shift']());}catch(_0x301625){_0x36a92f['push'](_0x36a92f['shift']());}}}(_0x208f,0x77b48));import{napCatCore}from'@/core';function _0x208f(){var _0x173e6f=['203538HburDh','session','2072955IZgqrb','util','182ZHpPcJ','translateEnWordToZn','7188528oMkiTL','getRichMediaService','wantWinScreenOCR','getNodeMiscService','3149375lfaGAY','4wyaoob','1814032hTGpsF','9ZJfcNu','666193IiHbMy','ORCImage','2049470ufpuRa'];_0x208f=function(){return _0x173e6f;};return _0x208f();}function _0x5595(_0x4385e4,_0x290d58){var _0x208f62=_0x208f();return _0x5595=function(_0x55954f,_0x1e15da){_0x55954f=_0x55954f-0x1b2;var _0x3c1fc1=_0x208f62[_0x55954f];return _0x3c1fc1;},_0x5595(_0x4385e4,_0x290d58);}export class NTQQSystemApi{static async['hasOtherRunningQQProcess'](){var _0x1c1b60=_0x5595;return napCatCore[_0x1c1b60(0x1bd)]['hasOtherRunningQQProcess']();}static async[_0x46f4c6(0x1b8)](_0x847f46){var _0x3690a4=_0x46f4c6;return napCatCore[_0x3690a4(0x1bb)][_0x3690a4(0x1b2)]()[_0x3690a4(0x1c2)](_0x847f46);}static async[_0x46f4c6(0x1bf)](_0x5ec62f){var _0x4775af=_0x46f4c6;return napCatCore[_0x4775af(0x1bb)][_0x4775af(0x1c1)]()[_0x4775af(0x1bf)](_0x5ec62f);}}
const _0x308190=_0x2e8f;(function(_0x213dec,_0x10b3f6){const _0x4dc118=_0x2e8f,_0x4beac3=_0x213dec();while(!![]){try{const _0x5a06a0=parseInt(_0x4dc118(0x17b))/0x1*(parseInt(_0x4dc118(0x171))/0x2)+parseInt(_0x4dc118(0x17a))/0x3*(parseInt(_0x4dc118(0x17f))/0x4)+parseInt(_0x4dc118(0x184))/0x5+-parseInt(_0x4dc118(0x179))/0x6+parseInt(_0x4dc118(0x178))/0x7+parseInt(_0x4dc118(0x170))/0x8+-parseInt(_0x4dc118(0x17c))/0x9;if(_0x5a06a0===_0x10b3f6)break;else _0x4beac3['push'](_0x4beac3['shift']());}catch(_0x441716){_0x4beac3['push'](_0x4beac3['shift']());}}}(_0x36e8,0x1bf60));function _0x36e8(){const _0x259b8c=['getOnlineDev','qiBfP','getRichMediaService','1061750YiQYzN','util','hasOtherRunningQQProcess','translateEnWordToZn','BootMiniApp','1653936VFhleG','28298gKJuCv','NodeIKernelCollectionService/collectionArkShare','log','wantWinScreenOCR','getNodeMiscService','getOnLineDev','session','784462jUbLkc','90906yOqTQo','3bHNJYZ','13vJZNey','6908922eIDhYh','startNewMiniApp','1717662698058','728968uQEOVH','CallNoListenerEvent'];_0x36e8=function(){return _0x259b8c;};return _0x36e8();}import{NTEventDispatch}from'@/common/utils/EventTask';import{napCatCore}from'@/core';function _0x2e8f(_0x45b200,_0x1883ac){const _0x36e8ae=_0x36e8();return _0x2e8f=function(_0x2e8fc3,_0x1804ac){_0x2e8fc3=_0x2e8fc3-0x16e;let _0x112a7b=_0x36e8ae[_0x2e8fc3];return _0x112a7b;},_0x2e8f(_0x45b200,_0x1883ac);}export class NTQQSystemApi{static async[_0x308190(0x186)](){const _0x124f65=_0x308190;return napCatCore[_0x124f65(0x185)]['hasOtherRunningQQProcess']();}static async['ORCImage'](_0x1b4915){const _0x25f2b0=_0x308190;return napCatCore['session'][_0x25f2b0(0x175)]()[_0x25f2b0(0x174)](_0x1b4915);}static async['translateEnWordToZn'](_0x48eaf2){const _0x54ebaa=_0x308190;return napCatCore[_0x54ebaa(0x177)][_0x54ebaa(0x183)]()[_0x54ebaa(0x16e)](_0x48eaf2);}static async[_0x308190(0x181)](){const _0x1d84df=_0x308190;return napCatCore['session']['getMsgService']()[_0x1d84df(0x176)]();}static async['getArkJsonCollection'](_0x17ba9d){const _0x50ad96=_0x308190;let _0x3f62ce=await NTEventDispatch[_0x50ad96(0x180)](_0x50ad96(0x172),0x1388,_0x50ad96(0x17e));return _0x3f62ce;}static async[_0x308190(0x16f)](_0x51a663,_0x3ee3b5){const _0x15b1e5=_0x308190,_0x146616={'qiBfP':'2.16.4'};await napCatCore[_0x15b1e5(0x177)]['getNodeMiscService']()['setMiniAppVersion'](_0x146616[_0x15b1e5(0x182)]);let _0x5ecd30=await napCatCore[_0x15b1e5(0x177)][_0x15b1e5(0x175)]()['getMiniAppPath']();return console[_0x15b1e5(0x173)](_0x5ecd30),napCatCore[_0x15b1e5(0x177)][_0x15b1e5(0x175)]()[_0x15b1e5(0x17d)](_0x51a663,_0x3ee3b5);}}

View File

@@ -1,7 +1,9 @@
import { User } from '@/core/entities';
import { ModifyProfileParams, User, UserDetailInfoByUin } from '@/core/entities';
import { GeneralCallResult } from '@/core';
export declare class NTQQUserApi {
static setLongNick(longNick: string): Promise<unknown>;
static setSelfOnlineStatus(status: number, extStatus: number, batteryStatus: number): Promise<GeneralCallResult>;
static getBuddyRecommendContactArkJson(uin: string, sencenID?: string): Promise<unknown>;
static like(uid: string, count?: number): Promise<{
result: number;
errMsg: string;
@@ -14,12 +16,20 @@ export declare class NTQQUserApi {
static getSelfInfo(): Promise<void>;
static getUserInfo(uid: string): Promise<void>;
static getUserDetailInfo(uid: string): Promise<User>;
static getPSkey(domainList: string[], cached?: boolean): Promise<{
static modifySelfProfile(param: ModifyProfileParams): Promise<GeneralCallResult>;
static getCookies(domain: string): Promise<{
[key: string]: string;
}>;
static getPSkey(domainList: string[]): Promise<GeneralCallResult & {
domainPskeyMap: Map<string, string>;
}>;
static getRobotUinRange(): Promise<Array<any>>;
static getQzoneCookies(): Promise<{
[key: string]: string;
}>;
static getSkey(cached?: boolean): Promise<string | undefined>;
static getSkey(): Promise<string | undefined>;
static getUidByUin(Uin: string): Promise<string | undefined>;
static getUinByUid(Uid: string | undefined): Promise<string | undefined>;
static getUserDetailInfoByUin(Uin: string): Promise<UserDetailInfoByUin>;
static forceFetchClientKey(): Promise<import("@/core").forceFetchClientKeyRetType>;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,11 +0,0 @@
export interface NTQQWindow {
windowName: string;
windowUrlHash: string;
}
export declare class NTQQWindows {
static GroupHomeWorkWindow: NTQQWindow;
static GroupNotifyFilterWindow: NTQQWindow;
static GroupEssenceWindow: NTQQWindow;
}
export declare class NTQQWindowApi {
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,38 +1,14 @@
import { type Friend, type FriendRequest, type Group, type GroupMember, GroupNotify, type SelfInfo, BuddyCategoryType } from './entities';
import { WebApiGroupMember } from '@/core/apis';
export declare const Credentials: {
Skey: string;
CreatTime: number;
Cookies: Map<string, string>;
ClientKey: string;
KeyIndex: string;
PskeyData: Map<string, string>;
PskeyTime: Map<string, number>;
};
export declare const WebGroupData: {
GroupData: Map<string, WebApiGroupMember[]>;
GroupTime: Map<string, number>;
};
import { type Friend, type Group, type GroupMember, GroupNotify, type SelfInfo, BuddyCategoryType } from './entities';
export declare const selfInfo: SelfInfo;
export declare const groups: Map<string, Group>;
export declare function deleteGroup(groupQQ: string): void;
export declare const groupMembers: Map<string, Map<string, GroupMember>>;
export declare const friends: Map<string, Friend>;
export declare const friendRequests: Record<string, FriendRequest>;
export declare const rawFriends: Array<BuddyCategoryType>;
export declare const groupNotifies: Record<string, GroupNotify>;
export declare const napCatError: {
ffmpegError: string;
httpServerError: string;
wsServerError: string;
otherError: string;
};
export declare function getFriend(uinOrUid: string): Promise<Friend | undefined>;
export declare function getGroup(qq: string | number): Promise<Group | undefined>;
export declare function getGroupMember(groupQQ: string | number, memberUinOrUid: string | number): Promise<GroupMember | null | undefined>;
export declare const uid2UinMap: Record<string, string>;
export declare function getUidByUin(uin: string): string | undefined;
export declare const tempGroupCodeMap: Record<string, string>;
export declare const rawFriends: Array<BuddyCategoryType>;
export declare const stat: {
packet_received: number;
packet_sent: number;

View File

@@ -1 +1 @@
const _0xf372a0=_0xbd24;(function(_0x3e7981,_0x228726){const _0x1a5d46=_0xbd24,_0x1c2d45=_0x3e7981();while(!![]){try{const _0x26231f=-parseInt(_0x1a5d46(0x18f))/0x1*(parseInt(_0x1a5d46(0x188))/0x2)+parseInt(_0x1a5d46(0x191))/0x3+-parseInt(_0x1a5d46(0x189))/0x4*(parseInt(_0x1a5d46(0x183))/0x5)+parseInt(_0x1a5d46(0x187))/0x6*(-parseInt(_0x1a5d46(0x185))/0x7)+-parseInt(_0x1a5d46(0x190))/0x8+-parseInt(_0x1a5d46(0x195))/0x9+parseInt(_0x1a5d46(0x182))/0xa;if(_0x26231f===_0x228726)break;else _0x1c2d45['push'](_0x1c2d45['shift']());}catch(_0x4c31bb){_0x1c2d45['push'](_0x1c2d45['shift']());}}}(_0x53c0,0x31056));import{isNumeric}from'@/common/utils/helper';import{NTQQGroupApi}from'@/core/apis';export const Credentials={'Skey':'','CreatTime':0x0,'Cookies':new Map(),'ClientKey':'','KeyIndex':'','PskeyData':new Map(),'PskeyTime':new Map()};export const WebGroupData={'GroupData':new Map(),'GroupTime':new Map()};export const selfInfo={'uid':'','uin':'','nick':'','online':!![]};export const groups=new Map();function _0xbd24(_0x386d08,_0x3a5679){const _0x53c0b9=_0x53c0();return _0xbd24=function(_0xbd2468,_0x30994c){_0xbd2468=_0xbd2468-0x180;let _0x5309a2=_0x53c0b9[_0xbd2468];return _0x5309a2;},_0xbd24(_0x386d08,_0x3a5679);}function _0x53c0(){const _0x4d7054=['30QOAcfs','2Fjxgjr','1520812BRiGik','bUUgz','bXFGX','from','find','groupCode','15607cNybRu','21984BYlzgr','532536VNnsba','getGroups','delete','set','1476495EtOflf','values','NapCat未能正常启动请检查日志查看错误','get','jVafp','toString','8484360XCdQxu','5geFPmQ','getGroupMembers','367563TfUgrq','forEach'];_0x53c0=function(){return _0x4d7054;};return _0x53c0();}export function deleteGroup(_0x333bf8){const _0x1e6460=_0xbd24;groups[_0x1e6460(0x193)](_0x333bf8),groupMembers['delete'](_0x333bf8);}export const groupMembers=new Map();export const friends=new Map();export const friendRequests={};export const groupNotifies={};export const napCatError={'ffmpegError':'','httpServerError':'','wsServerError':'','otherError':_0xf372a0(0x197)};export async function getFriend(_0x12e8fc){const _0x5a0140=_0xf372a0;_0x12e8fc=_0x12e8fc[_0x5a0140(0x181)]();if(isNumeric(_0x12e8fc)){const _0x1e7c70=Array[_0x5a0140(0x18c)](friends[_0x5a0140(0x196)]());return _0x1e7c70[_0x5a0140(0x18d)](_0x12c5d9=>_0x12c5d9['uin']===_0x12e8fc);}else return friends['get'](_0x12e8fc);}export async function getGroup(_0x5f1736){const _0x559836=_0xf372a0;let _0x4421ac=groups[_0x559836(0x198)](_0x5f1736[_0x559836(0x181)]());if(!_0x4421ac)try{const _0x3268ea=await NTQQGroupApi[_0x559836(0x192)]();_0x3268ea['length']&&_0x3268ea[_0x559836(0x186)](_0x36820a=>{const _0x255e64=_0x559836;groups[_0x255e64(0x194)](_0x36820a[_0x255e64(0x18e)],_0x36820a);});}catch(_0x4a9f99){return undefined;}return _0x4421ac=groups[_0x559836(0x198)](_0x5f1736[_0x559836(0x181)]()),_0x4421ac;}export async function getGroupMember(_0x35af6d,_0x265e58){const _0x1ec259=_0xf372a0,_0x5b18a9={'bXFGX':function(_0x407b83,_0x4a3f90){return _0x407b83(_0x4a3f90);},'jVafp':function(_0x402926){return _0x402926();},'bUUgz':function(_0x4ef7ea){return _0x4ef7ea();}};_0x35af6d=_0x35af6d['toString'](),_0x265e58=_0x265e58[_0x1ec259(0x181)]();let _0x27e98f=groupMembers[_0x1ec259(0x198)](_0x35af6d);if(!_0x27e98f)try{_0x27e98f=await NTQQGroupApi['getGroupMembers'](_0x35af6d),groupMembers[_0x1ec259(0x194)](_0x35af6d,_0x27e98f);}catch(_0x49ba5f){return null;}const _0x2e7c74=()=>{const _0x3e98f2=_0x1ec259;let _0x39969a=undefined;return _0x5b18a9[_0x3e98f2(0x18b)](isNumeric,_0x265e58)?_0x39969a=Array[_0x3e98f2(0x18c)](_0x27e98f[_0x3e98f2(0x196)]())[_0x3e98f2(0x18d)](_0x12ef65=>_0x12ef65['uin']===_0x265e58):_0x39969a=_0x27e98f[_0x3e98f2(0x198)](_0x265e58),_0x39969a;};let _0x3521a5=_0x5b18a9[_0x1ec259(0x180)](_0x2e7c74);return!_0x3521a5&&(_0x27e98f=await NTQQGroupApi[_0x1ec259(0x184)](_0x35af6d),_0x3521a5=_0x5b18a9[_0x1ec259(0x18a)](_0x2e7c74)),_0x3521a5;}export const uid2UinMap={};export function getUidByUin(_0x991d74){for(const _0x29c401 in uid2UinMap){if(uid2UinMap[_0x29c401]===_0x991d74)return _0x29c401;}}export const tempGroupCodeMap={};export const rawFriends=[];export const stat={'packet_received':0x0,'packet_sent':0x0,'message_received':0x0,'message_sent':0x0,'last_message_time':0x0,'disconnect_times':0x0,'lost_times':0x0,'packet_lost':0x0};
(function(_0xfbf58a,_0x2b6f05){const _0x3abffa=_0x54e1,_0x17a026=_0xfbf58a();while(!![]){try{const _0x3ef080=-parseInt(_0x3abffa(0x174))/0x1*(-parseInt(_0x3abffa(0x178))/0x2)+parseInt(_0x3abffa(0x171))/0x3*(parseInt(_0x3abffa(0x176))/0x4)+parseInt(_0x3abffa(0x175))/0x5+parseInt(_0x3abffa(0x17d))/0x6+parseInt(_0x3abffa(0x16c))/0x7*(parseInt(_0x3abffa(0x17b))/0x8)+-parseInt(_0x3abffa(0x183))/0x9*(parseInt(_0x3abffa(0x16d))/0xa)+-parseInt(_0x3abffa(0x170))/0xb;if(_0x3ef080===_0x2b6f05)break;else _0x17a026['push'](_0x17a026['shift']());}catch(_0x577ba7){_0x17a026['push'](_0x17a026['shift']());}}}(_0x5d7b,0x7550e));import{isNumeric}from'@/common/utils/helper';import{NTQQGroupApi}from'@/core/apis';export const selfInfo={'uid':'','uin':'','nick':'','online':!![]};export const groups=new Map();export function deleteGroup(_0x592735){const _0x11d615=_0x54e1;groups[_0x11d615(0x17f)](_0x592735),groupMembers[_0x11d615(0x17f)](_0x592735);}function _0x5d7b(){const _0x1898f7=['from','4956348haYzLR','uin','delete','length','forEach','fIjmQ','482076kavHbu','getGroups','values','1501549hlHqFY','50MZrPWc','set','groupCode','20343323BHKezk','1845NuuQth','getGroupMembers','toString','2HvlFDm','2792890qixSle','396cRlxke','wsCLz','294190qQVAgr','find','get','32gVntKX'];_0x5d7b=function(){return _0x1898f7;};return _0x5d7b();}function _0x54e1(_0x1555ee,_0x585626){const _0x5d7b83=_0x5d7b();return _0x54e1=function(_0x54e1e,_0x2dbff2){_0x54e1e=_0x54e1e-0x16c;let _0x4eef3d=_0x5d7b83[_0x54e1e];return _0x4eef3d;},_0x54e1(_0x1555ee,_0x585626);}export const groupMembers=new Map();export const friends=new Map();export const rawFriends=[];export const groupNotifies={};export async function getGroup(_0x52b5e2){const _0x4c9403=_0x54e1;let _0x5e9dc1=groups[_0x4c9403(0x17a)](_0x52b5e2[_0x4c9403(0x173)]());if(!_0x5e9dc1)try{const _0x26918c=await NTQQGroupApi[_0x4c9403(0x184)]();_0x26918c[_0x4c9403(0x180)]&&_0x26918c[_0x4c9403(0x181)](_0x252801=>{const _0x219996=_0x4c9403;groups[_0x219996(0x16e)](_0x252801[_0x219996(0x16f)],_0x252801);});}catch(_0x2a2b07){return undefined;}return _0x5e9dc1=groups[_0x4c9403(0x17a)](_0x52b5e2[_0x4c9403(0x173)]()),_0x5e9dc1;}export async function getGroupMember(_0x5742a9,_0x50f192){const _0xf33c43=_0x54e1,_0x445259={'fIjmQ':function(_0x16eb46,_0x2a959d){return _0x16eb46(_0x2a959d);},'wsCLz':function(_0xa1f970){return _0xa1f970();},'TDuca':function(_0x4fc256){return _0x4fc256();}};_0x5742a9=_0x5742a9[_0xf33c43(0x173)](),_0x50f192=_0x50f192[_0xf33c43(0x173)]();let _0x304aac=groupMembers[_0xf33c43(0x17a)](_0x5742a9);if(!_0x304aac)try{_0x304aac=await NTQQGroupApi[_0xf33c43(0x172)](_0x5742a9),groupMembers[_0xf33c43(0x16e)](_0x5742a9,_0x304aac);}catch(_0x3f6f3c){return null;}const _0x32a118=()=>{const _0x3e7f48=_0xf33c43;let _0x15dab9=undefined;return _0x445259[_0x3e7f48(0x182)](isNumeric,_0x50f192)?_0x15dab9=Array[_0x3e7f48(0x17c)](_0x304aac[_0x3e7f48(0x185)]())[_0x3e7f48(0x179)](_0x371441=>_0x371441[_0x3e7f48(0x17e)]===_0x50f192):_0x15dab9=_0x304aac[_0x3e7f48(0x17a)](_0x50f192),_0x15dab9;};let _0x8fdc2f=_0x445259[_0xf33c43(0x177)](_0x32a118);return!_0x8fdc2f&&(_0x304aac=await NTQQGroupApi['getGroupMembers'](_0x5742a9),_0x8fdc2f=_0x445259['TDuca'](_0x32a118)),_0x8fdc2f;}export const tempGroupCodeMap={};export const stat={'packet_received':0x0,'packet_sent':0x0,'message_received':0x0,'message_sent':0x0,'last_message_time':0x0,'disconnect_times':0x0,'lost_times':0x0,'packet_lost':0x0};

View File

@@ -1 +1 @@
function _0x3afc(_0x339f7b,_0x2d3197){var _0x3890e9=_0x3890();return _0x3afc=function(_0x3afc68,_0x568dd3){_0x3afc68=_0x3afc68-0x1ba;var _0x5d2a8f=_0x3890e9[_0x3afc68];return _0x5d2a8f;},_0x3afc(_0x339f7b,_0x2d3197);}(function(_0x813259,_0x59d305){var _0xf6b0d4=_0x3afc,_0x420b92=_0x813259();while(!![]){try{var _0x45f709=parseInt(_0xf6b0d4(0x1bf))/0x1+parseInt(_0xf6b0d4(0x1c7))/0x2+-parseInt(_0xf6b0d4(0x1ba))/0x3*(parseInt(_0xf6b0d4(0x1bb))/0x4)+parseInt(_0xf6b0d4(0x1bd))/0x5+parseInt(_0xf6b0d4(0x1ca))/0x6+parseInt(_0xf6b0d4(0x1c0))/0x7+-parseInt(_0xf6b0d4(0x1c5))/0x8;if(_0x45f709===_0x59d305)break;else _0x420b92['push'](_0x420b92['shift']());}catch(_0x1c0de7){_0x420b92['push'](_0x420b92['shift']());}}}(_0x3890,0x51640));;export var CacheFileType;function _0x3890(){var _0x5667bc=['AUDIO','VIDEO','VNAOd','3EFXDUt','819440dYOngK','RRJLQ','3304360WpQtDY','pJUfq','643732YtJvcM','1292914DfkATi','split','kVROy','aYbVD','4|3|1|2|0','11147064wIOeLU','IMAGE','558050ToVTct','PvwdK','DOCUMENT','979728KIcJDF'];_0x3890=function(){return _0x5667bc;};return _0x3890();}(function(_0xc8c05a){var _0x36b80d=_0x3afc,_0xbf6ae0={'kVROy':_0x36b80d(0x1c4),'VNAOd':'OTHER','RRJLQ':_0x36b80d(0x1cb),'aYbVD':_0x36b80d(0x1c9),'PvwdK':_0x36b80d(0x1cc),'pJUfq':_0x36b80d(0x1c6)},_0x2986fe=_0xbf6ae0[_0x36b80d(0x1c2)][_0x36b80d(0x1c1)]('|'),_0x493d32=0x0;while(!![]){switch(_0x2986fe[_0x493d32++]){case'0':_0xc8c05a[_0xc8c05a[_0xbf6ae0[_0x36b80d(0x1cd)]]=0x4]=_0xbf6ae0[_0x36b80d(0x1cd)];continue;case'1':_0xc8c05a[_0xc8c05a[_0xbf6ae0[_0x36b80d(0x1bc)]]=0x2]=_0xbf6ae0[_0x36b80d(0x1bc)];continue;case'2':_0xc8c05a[_0xc8c05a[_0xbf6ae0[_0x36b80d(0x1c3)]]=0x3]=_0xbf6ae0[_0x36b80d(0x1c3)];continue;case'3':_0xc8c05a[_0xc8c05a[_0xbf6ae0[_0x36b80d(0x1c8)]]=0x1]=_0xbf6ae0[_0x36b80d(0x1c8)];continue;case'4':_0xc8c05a[_0xc8c05a[_0xbf6ae0[_0x36b80d(0x1be)]]=0x0]=_0xbf6ae0[_0x36b80d(0x1be)];continue;}break;}}(CacheFileType||(CacheFileType={})));
function _0x1369(_0x312d83,_0x52e6fe){var _0x4a22ce=_0x4a22();return _0x1369=function(_0x13696d,_0xe5b380){_0x13696d=_0x13696d-0x118;var _0x49d91d=_0x4a22ce[_0x13696d];return _0x49d91d;},_0x1369(_0x312d83,_0x52e6fe);}function _0x4a22(){var _0x3a5085=['OTHER','2130245LdFIAv','3277896mhNgic','2827188hKvITZ','gNNnV','pFiip','split','171498VQNpAs','18IiqnvI','VIDEO','iRVto','DOCUMENT','1004408owesAN','ioOPR','5KxSPbr','3|2|4|0|1','4942904YcSPrO','619440FkcSYe'];_0x4a22=function(){return _0x3a5085;};return _0x4a22();}(function(_0x56215f,_0x42c3b2){var _0x55ed39=_0x1369,_0x1d263c=_0x56215f();while(!![]){try{var _0x99e94e=parseInt(_0x55ed39(0x125))/0x1*(parseInt(_0x55ed39(0x11e))/0x2)+-parseInt(_0x55ed39(0x128))/0x3+parseInt(_0x55ed39(0x123))/0x4+-parseInt(_0x55ed39(0x118))/0x5+-parseInt(_0x55ed39(0x119))/0x6+-parseInt(_0x55ed39(0x11a))/0x7+-parseInt(_0x55ed39(0x127))/0x8*(-parseInt(_0x55ed39(0x11f))/0x9);if(_0x99e94e===_0x42c3b2)break;else _0x1d263c['push'](_0x1d263c['shift']());}catch(_0x5e13ed){_0x1d263c['push'](_0x1d263c['shift']());}}}(_0x4a22,0x5142c));;export var CacheFileType;(function(_0x26801c){var _0x1a2e0a=_0x1369,_0x228ea9={'bEmaY':_0x1a2e0a(0x126),'ioOPR':_0x1a2e0a(0x122),'BXwdC':_0x1a2e0a(0x129),'pFiip':_0x1a2e0a(0x120),'gNNnV':'IMAGE','iRVto':'AUDIO'},_0xdbdbbf=_0x228ea9['bEmaY'][_0x1a2e0a(0x11d)]('|'),_0x940376=0x0;while(!![]){switch(_0xdbdbbf[_0x940376++]){case'0':_0x26801c[_0x26801c[_0x228ea9[_0x1a2e0a(0x124)]]=0x3]=_0x228ea9[_0x1a2e0a(0x124)];continue;case'1':_0x26801c[_0x26801c[_0x228ea9['BXwdC']]=0x4]=_0x1a2e0a(0x129);continue;case'2':_0x26801c[_0x26801c['VIDEO']=0x1]=_0x228ea9[_0x1a2e0a(0x11c)];continue;case'3':_0x26801c[_0x26801c[_0x228ea9['gNNnV']]=0x0]=_0x228ea9[_0x1a2e0a(0x11b)];continue;case'4':_0x26801c[_0x26801c[_0x228ea9['iRVto']]=0x2]=_0x228ea9[_0x1a2e0a(0x121)];continue;}break;}}(CacheFileType||(CacheFileType={})));

View File

@@ -5,7 +5,7 @@ export declare class SendMsgElementConstructor {
static at(atUid: string, atNtUid: string, atType: AtType, atName: string): SendTextElement;
static reply(msgSeq: string, msgId: string, senderUin: string, senderUinStr: string): SendReplyElement;
static pic(picPath: string, summary?: string, subType?: 0 | 1): Promise<SendPicElement>;
static file(filePath: string, fileName?: string): Promise<SendFileElement>;
static file(filePath: string, fileName?: string, folderId?: string): Promise<SendFileElement>;
static video(filePath: string, fileName?: string, diyThumbPath?: string): Promise<SendVideoElement>;
static ptt(pttPath: string): Promise<SendPttElement>;
static face(faceId: number): SendFaceElement;

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
(function(_0x2034f9,_0x19274f){var _0x3d35c6=_0x3722,_0x293d42=_0x2034f9();while(!![]){try{var _0x53324d=parseInt(_0x3d35c6(0x80))/0x1*(parseInt(_0x3d35c6(0x83))/0x2)+parseInt(_0x3d35c6(0x81))/0x3*(-parseInt(_0x3d35c6(0x8c))/0x4)+-parseInt(_0x3d35c6(0x89))/0x5+parseInt(_0x3d35c6(0x8b))/0x6+parseInt(_0x3d35c6(0x7e))/0x7*(parseInt(_0x3d35c6(0x84))/0x8)+parseInt(_0x3d35c6(0x85))/0x9*(parseInt(_0x3d35c6(0x86))/0xa)+-parseInt(_0x3d35c6(0x8a))/0xb;if(_0x53324d===_0x19274f)break;else _0x293d42['push'](_0x293d42['shift']());}catch(_0x3067f9){_0x293d42['push'](_0x293d42['shift']());}}}(_0x4bd8,0xbe31d));function _0x3722(_0x1ee33e,_0x1c8d2f){var _0x4bd832=_0x4bd8();return _0x3722=function(_0x3722de,_0xbfb13f){_0x3722de=_0x3722de-0x7e;var _0x4c7f92=_0x4bd832[_0x3722de];return _0x4c7f92;},_0x3722(_0x1ee33e,_0x1c8d2f);}function _0x4bd8(){var _0x499e08=['557916UncWRI','msPnC','566034ETvbhF','1068920QuxjKp','9DFTrey','6600010tiUMaF','admin','owner','2810670XsVxro','1191564SPXqPw','2770734abvjpP','8aFuyJZ','normal','7IZobXp','ZOLRT','2NUIJnd'];_0x4bd8=function(){return _0x499e08;};return _0x4bd8();}export var GroupMemberRole;(function(_0x1d3ac7){var _0x2e2fa0=_0x3722,_0x2ee60c={'msPnC':_0x2e2fa0(0x8d),'ZOLRT':_0x2e2fa0(0x87)};_0x1d3ac7[_0x1d3ac7[_0x2ee60c[_0x2e2fa0(0x82)]]=0x2]=_0x2ee60c[_0x2e2fa0(0x82)],_0x1d3ac7[_0x1d3ac7[_0x2ee60c[_0x2e2fa0(0x7f)]]=0x3]=_0x2ee60c[_0x2e2fa0(0x7f)],_0x1d3ac7[_0x1d3ac7[_0x2e2fa0(0x88)]=0x4]=_0x2e2fa0(0x88);}(GroupMemberRole||(GroupMemberRole={})));
(function(_0x58a347,_0x4ebfc5){var _0x30be56=_0x539f,_0x1a5ae0=_0x58a347();while(!![]){try{var _0x1c1502=-parseInt(_0x30be56(0x157))/0x1*(parseInt(_0x30be56(0x15e))/0x2)+-parseInt(_0x30be56(0x155))/0x3+parseInt(_0x30be56(0x152))/0x4+-parseInt(_0x30be56(0x153))/0x5*(parseInt(_0x30be56(0x15b))/0x6)+-parseInt(_0x30be56(0x151))/0x7*(parseInt(_0x30be56(0x156))/0x8)+-parseInt(_0x30be56(0x15d))/0x9+parseInt(_0x30be56(0x150))/0xa;if(_0x1c1502===_0x4ebfc5)break;else _0x1a5ae0['push'](_0x1a5ae0['shift']());}catch(_0x24807b){_0x1a5ae0['push'](_0x1a5ae0['shift']());}}}(_0x3723,0xa01b7));export var GroupMemberRole;function _0x539f(_0x1545ec,_0x44ba99){var _0x37234d=_0x3723();return _0x539f=function(_0x539ff4,_0x328ad6){_0x539ff4=_0x539ff4-0x150;var _0x2deaf9=_0x37234d[_0x539ff4];return _0x2deaf9;},_0x539f(_0x1545ec,_0x44ba99);}(function(_0x615924){var _0x68ca17=_0x539f,_0x5d8ebe={'GAAZY':_0x68ca17(0x154),'dNFnJ':_0x68ca17(0x15a)};_0x615924[_0x615924[_0x5d8ebe[_0x68ca17(0x159)]]=0x2]=_0x5d8ebe[_0x68ca17(0x159)],_0x615924[_0x615924[_0x5d8ebe[_0x68ca17(0x15c)]]=0x3]=_0x5d8ebe['dNFnJ'],_0x615924[_0x615924[_0x68ca17(0x158)]=0x4]=_0x68ca17(0x158);}(GroupMemberRole||(GroupMemberRole={})));function _0x3723(){var _0x37b5e6=['GAAZY','admin','6RazHij','dNFnJ','6821784UqNueQ','340tdasnk','36408550SBSzDg','147uaSxrj','3617648FwnboC','3190405dPVNlq','normal','3420714reYCoU','276264tnptTY','3694orkYCu','owner'];_0x3723=function(){return _0x37b5e6;};return _0x3723();}

View File

@@ -1 +1 @@
(function(_0x31c8d5,_0x20b270){var _0x1bd470=_0x5704,_0x12e48a=_0x31c8d5();while(!![]){try{var _0x52ebf4=parseInt(_0x1bd470(0xf9))/0x1+-parseInt(_0x1bd470(0xf8))/0x2*(parseInt(_0x1bd470(0xf2))/0x3)+parseInt(_0x1bd470(0xf6))/0x4+parseInt(_0x1bd470(0xfc))/0x5*(parseInt(_0x1bd470(0xf5))/0x6)+parseInt(_0x1bd470(0xf4))/0x7+parseInt(_0x1bd470(0xf3))/0x8*(-parseInt(_0x1bd470(0xfb))/0x9)+parseInt(_0x1bd470(0xf7))/0xa*(parseInt(_0x1bd470(0xfa))/0xb);if(_0x52ebf4===_0x20b270)break;else _0x12e48a['push'](_0x12e48a['shift']());}catch(_0x5c08e6){_0x12e48a['push'](_0x12e48a['shift']());}}}(_0x153a,0xb9dbd));function _0x5704(_0x36b321,_0x596c16){var _0x153a10=_0x153a();return _0x5704=function(_0x570489,_0x2da390){_0x570489=_0x570489-0xf2;var _0x1c99e4=_0x153a10[_0x570489];return _0x1c99e4;},_0x5704(_0x36b321,_0x596c16);}export*from'./user';export*from'./group';export*from'./msg';function _0x153a(){var _0x56ca13=['44YkNSWR','9eCozhL','20zOAQno','3sCByOi','9783536BAXjdW','5570236WYZLPC','518490nctbWJ','1439224evHEdt','977770UAzBYM','2089744gePXAM','1136769hGmpbd'];_0x153a=function(){return _0x56ca13;};return _0x153a();}export*from'./notify';export*from'./cache';export*from'./constructor';
(function(_0x833f2b,_0x17dc63){var _0x410bfd=_0x4e0a,_0x545a68=_0x833f2b();while(!![]){try{var _0x6acc90=-parseInt(_0x410bfd(0x140))/0x1+parseInt(_0x410bfd(0x141))/0x2+parseInt(_0x410bfd(0x147))/0x3*(parseInt(_0x410bfd(0x145))/0x4)+-parseInt(_0x410bfd(0x142))/0x5*(parseInt(_0x410bfd(0x13f))/0x6)+parseInt(_0x410bfd(0x143))/0x7+-parseInt(_0x410bfd(0x146))/0x8+-parseInt(_0x410bfd(0x148))/0x9*(-parseInt(_0x410bfd(0x144))/0xa);if(_0x6acc90===_0x17dc63)break;else _0x545a68['push'](_0x545a68['shift']());}catch(_0x2e0baf){_0x545a68['push'](_0x545a68['shift']());}}}(_0x594b,0x3ceee));export*from'./user';export*from'./group';export*from'./msg';function _0x4e0a(_0x5865f1,_0x2d30da){var _0x594bcd=_0x594b();return _0x4e0a=function(_0x4e0a1f,_0x28dbf3){_0x4e0a1f=_0x4e0a1f-0x13f;var _0x7ec087=_0x594bcd[_0x4e0a1f];return _0x7ec087;},_0x4e0a(_0x5865f1,_0x2d30da);}function _0x594b(){var _0x32ca0e=['818110KsbxIa','29105kVfoHK','1822499FJygJO','2630DlKcHP','67692axpZfs','2580696QpCGsT','12XHoCQn','16668ilKMiI','498HhpbCq','168868FdrAZt'];_0x594b=function(){return _0x32ca0e;};return _0x594b();}export*from'./notify';export*from'./cache';export*from'./constructor';

View File

@@ -115,6 +115,7 @@ export interface FileElement {
fileSize: string;
picHeight?: number;
picWidth?: number;
folderId?: string;
picThumbPath?: Map<number, string>;
file10MMd5?: string;
fileSha?: string;
@@ -156,6 +157,48 @@ export declare enum ChatType {
chatDevice = 8,//移动设备?
temp = 100
}
export declare enum ChatType2 {
KCHATTYPEADELIE = 42,
KCHATTYPEBUDDYNOTIFY = 5,
KCHATTYPEC2C = 1,
KCHATTYPECIRCLE = 113,
KCHATTYPEDATALINE = 8,
KCHATTYPEDATALINEMQQ = 134,
KCHATTYPEDISC = 3,
KCHATTYPEFAV = 41,
KCHATTYPEGAMEMESSAGE = 105,
KCHATTYPEGAMEMESSAGEFOLDER = 116,
KCHATTYPEGROUP = 2,
KCHATTYPEGROUPBLESS = 133,
KCHATTYPEGROUPGUILD = 9,
KCHATTYPEGROUPHELPER = 7,
KCHATTYPEGROUPNOTIFY = 6,
KCHATTYPEGUILD = 4,
KCHATTYPEGUILDMETA = 16,
KCHATTYPEMATCHFRIEND = 104,
KCHATTYPEMATCHFRIENDFOLDER = 109,
KCHATTYPENEARBY = 106,
KCHATTYPENEARBYASSISTANT = 107,
KCHATTYPENEARBYFOLDER = 110,
KCHATTYPENEARBYHELLOFOLDER = 112,
KCHATTYPENEARBYINTERACT = 108,
KCHATTYPEQQNOTIFY = 132,
KCHATTYPERELATEACCOUNT = 131,
KCHATTYPESERVICEASSISTANT = 118,
KCHATTYPESERVICEASSISTANTSUB = 201,
KCHATTYPESQUAREPUBLIC = 115,
KCHATTYPESUBSCRIBEFOLDER = 30,
KCHATTYPETEMPADDRESSBOOK = 111,
KCHATTYPETEMPBUSSINESSCRM = 102,
KCHATTYPETEMPC2CFROMGROUP = 100,
KCHATTYPETEMPC2CFROMUNKNOWN = 99,
KCHATTYPETEMPFRIENDVERIFY = 101,
KCHATTYPETEMPNEARBYPRO = 119,
KCHATTYPETEMPPUBLICACCOUNT = 103,
KCHATTYPETEMPWPA = 117,
KCHATTYPEUNKNOWN = 0,
KCHATTYPEWEIYUN = 40
}
export interface PttElement {
canConvert2Text: boolean;
duration: number;
@@ -186,6 +229,7 @@ export interface ArkElement {
export declare const IMAGE_HTTP_HOST = "https://gchat.qpic.cn";
export declare const IMAGE_HTTP_HOST_NT = "https://multimedia.nt.qq.com.cn";
export interface PicElement {
picSubType?: number;
originImageUrl: string;
originImageMd5?: string;
sourcePath: string;
@@ -272,6 +316,19 @@ export interface VideoElement {
import_rich_media_context?: null;
sourceVideoCodecFormat?: number;
}
export declare enum viedo_type {
VIDEO_FORMAT_AFS = 7,
VIDEO_FORMAT_AVI = 1,
VIDEO_FORMAT_MKV = 4,
VIDEO_FORMAT_MOD = 9,
VIDEO_FORMAT_MOV = 8,
VIDEO_FORMAT_MP4 = 2,
VIDEO_FORMAT_MTS = 11,
VIDEO_FORMAT_RM = 6,
VIDEO_FORMAT_RMVB = 5,
VIDEO_FORMAT_TS = 10,
VIDEO_FORMAT_WMV = 3
}
export interface MarkdownElement {
content: string;
}

File diff suppressed because one or more lines are too long

View File

@@ -54,8 +54,26 @@ export declare enum GroupRequestOperateTypes {
approve = 1,
reject = 2
}
export declare enum BuddyReqType {
KMEINITIATOR = 0,
KPEERINITIATOR = 1,
KMEAGREED = 2,
KMEAGREEDANDADDED = 3,
KPEERAGREED = 4,
KPEERAGREEDANDADDED = 5,
KPEERREFUSED = 6,
KMEREFUSED = 7,
KMEIGNORED = 8,
KMEAGREEANYONE = 9,
KMESETQUESTION = 10,
KMEAGREEANDADDFAILED = 11,
KMSGINFO = 12,
KMEINITIATORWAITPEERCONFIRM = 13
}
export interface FriendRequest {
isDecide: boolean;
friendUid: string;
reqType: BuddyReqType;
reqTime: string;
extWords: string;
isUnread: boolean;
@@ -67,3 +85,39 @@ export interface FriendRequestNotify {
unreadNums: number;
buddyReqs: FriendRequest[];
}
export declare enum MemberExtSourceType {
DEFAULTTYPE = 0,
TITLETYPE = 1,
NEWGROUPTYPE = 2
}
export interface GroupExtParam {
groupCode: string;
seq: string;
beginUin: string;
dataTime: string;
uinList: Array<string>;
uinNum: string;
groupType: string;
richCardNameVer: string;
sourceType: MemberExtSourceType;
memberExtFilter: {
memberLevelInfoUin: number;
memberLevelInfoPoint: number;
memberLevelInfoActiveDay: number;
memberLevelInfoLevel: number;
memberLevelInfoName: number;
levelName: number;
dataTime: number;
userShowFlag: number;
sysShowFlag: number;
timeToUpdate: number;
nickName: number;
specialTitle: number;
levelNameNew: number;
userShowFlagNew: number;
msgNeedField: number;
cmdUinFlagExt3Grocery: number;
memberIcon: number;
memberInfoSeq: number;
};
}

File diff suppressed because one or more lines are too long

View File

@@ -9,6 +9,17 @@ export interface BuddyCategoryType {
categroyMbCount: number;
buddyList: User[];
}
export interface ModifyProfileParams {
nick: string;
longNick: string;
sex: Sex;
birthday: {
birthday_year: string;
birthday_month: string;
birthday_day: string;
};
location: any;
}
export interface BuddyProfileLikeReq {
friendUids: string[];
basic: number;
@@ -87,3 +98,76 @@ export interface SelfInfo extends User {
}
export interface Friend extends User {
}
export declare enum BizKey {
KPRIVILEGEICON = 0,
KPHOTOWALL = 1
}
export interface UserDetailInfoByUin {
result: number;
errMsg: string;
info: {
uid: string;
qid: string;
uin: string;
nick: string;
remark: string;
longNick: string;
avatarUrl: string;
birthday_year: number;
birthday_month: number;
birthday_day: number;
sex: number;
topTime: string;
constellation: number;
shengXiao: number;
kBloodType: number;
homeTown: string;
makeFriendCareer: number;
pos: string;
eMail: string;
phoneNum: string;
college: string;
country: string;
province: string;
city: string;
postCode: string;
address: string;
isBlock: boolean;
isSpecialCareOpen: boolean;
isSpecialCareZone: boolean;
ringId: string;
regTime: number;
interest: string;
termType: number;
labels: any[];
qqLevel: {
crownNum: number;
sunNum: number;
moonNum: number;
starNum: number;
};
isHideQQLevel: number;
privilegeIcon: {
jumpUrl: string;
openIconList: any[];
closeIconList: any[];
};
isHidePrivilegeIcon: number;
photoWall: {
picList: any[];
};
vipFlag: boolean;
yearVipFlag: boolean;
svipFlag: boolean;
vipLevel: number;
status: number;
qidianMasterFlag: number;
qidianCrewFlag: number;
qidianCrewFlag2: number;
extStatus: number;
recommendImgFlag: number;
disableEmojiShortCuts: number;
pendantId: string;
vipNameColorId: string;
};
}

View File

@@ -1 +1 @@
(function(_0x3ee976,_0xa64d14){var _0xec1edf=_0x25c0,_0x2bd8fa=_0x3ee976();while(!![]){try{var _0x5705=-parseInt(_0xec1edf(0xc7))/0x1+parseInt(_0xec1edf(0xcd))/0x2+parseInt(_0xec1edf(0xce))/0x3*(-parseInt(_0xec1edf(0xc6))/0x4)+parseInt(_0xec1edf(0xc2))/0x5+-parseInt(_0xec1edf(0xcb))/0x6*(-parseInt(_0xec1edf(0xc3))/0x7)+-parseInt(_0xec1edf(0xc9))/0x8*(-parseInt(_0xec1edf(0xc5))/0x9)+-parseInt(_0xec1edf(0xcc))/0xa;if(_0x5705===_0xa64d14)break;else _0x2bd8fa['push'](_0x2bd8fa['shift']());}catch(_0x143f7d){_0x2bd8fa['push'](_0x2bd8fa['shift']());}}}(_0x2e55,0x6fb6c));export var Sex;function _0x25c0(_0x17fdd9,_0x2880bb){var _0x2e5508=_0x2e55();return _0x25c0=function(_0x25c032,_0x470880){_0x25c032=_0x25c032-0xc2;var _0x4f2ae6=_0x2e5508[_0x25c032];return _0x4f2ae6;},_0x25c0(_0x17fdd9,_0x2880bb);}function _0x2e55(){var _0x3be66c=['1260096VULntu','129HBtsVI','NFUlN','292765zAIUff','7WruVck','male','341973LBJSdT','76672ShnRlQ','127472rYNDnT','tucCh','104MsmiMj','unknown','1987314GIRmDo','1045050UDRkcl'];_0x2e55=function(){return _0x3be66c;};return _0x2e55();}(function(_0x2dd864){var _0x4790a8=_0x25c0,_0x36e2b1={'eSSAt':_0x4790a8(0xc4),'NFUlN':'female','tucCh':_0x4790a8(0xca)};_0x2dd864[_0x2dd864[_0x36e2b1['eSSAt']]=0x1]=_0x4790a8(0xc4),_0x2dd864[_0x2dd864[_0x36e2b1['NFUlN']]=0x2]=_0x36e2b1[_0x4790a8(0xcf)],_0x2dd864[_0x2dd864[_0x36e2b1[_0x4790a8(0xc8)]]=0xff]='unknown';}(Sex||(Sex={})));
function _0x3a77(_0x121edc,_0x2e2da8){var _0x4099bf=_0x4099();return _0x3a77=function(_0x3a770b,_0x4ce439){_0x3a770b=_0x3a770b-0xff;var _0xc1ad7e=_0x4099bf[_0x3a770b];return _0xc1ad7e;},_0x3a77(_0x121edc,_0x2e2da8);}function _0x4099(){var _0xf1735a=['986908nZWWFx','1418349beNiQA','23660tGEyWf','360uXxutp','unknown','15991844TFqONb','KPHOTOWALL','female','4709646lkGuon','2LEfbMj','409173zDgvyw','4781HWZghr','3784DtFvOu','male','KkkoA','5zMgvRx','cdgnK'];_0x4099=function(){return _0xf1735a;};return _0x4099();}(function(_0x2f4562,_0x339b7f){var _0x97c1f4=_0x3a77,_0x3c8636=_0x2f4562();while(!![]){try{var _0x5afdee=parseInt(_0x97c1f4(0x10c))/0x1+-parseInt(_0x97c1f4(0x103))/0x2*(-parseInt(_0x97c1f4(0x104))/0x3)+parseInt(_0x97c1f4(0x10b))/0x4*(parseInt(_0x97c1f4(0x109))/0x5)+parseInt(_0x97c1f4(0x102))/0x6+parseInt(_0x97c1f4(0x105))/0x7*(-parseInt(_0x97c1f4(0x106))/0x8)+parseInt(_0x97c1f4(0x10e))/0x9*(-parseInt(_0x97c1f4(0x10d))/0xa)+-parseInt(_0x97c1f4(0xff))/0xb;if(_0x5afdee===_0x339b7f)break;else _0x3c8636['push'](_0x3c8636['shift']());}catch(_0x2297b9){_0x3c8636['push'](_0x3c8636['shift']());}}}(_0x4099,0xae899));export var Sex;(function(_0x48a588){var _0x3e4baf=_0x3a77,_0x28fd65={'tfORD':_0x3e4baf(0x107),'KkkoA':_0x3e4baf(0x101),'NClPy':_0x3e4baf(0x10f)};_0x48a588[_0x48a588['male']=0x1]=_0x28fd65['tfORD'],_0x48a588[_0x48a588[_0x3e4baf(0x101)]=0x2]=_0x28fd65[_0x3e4baf(0x108)],_0x48a588[_0x48a588[_0x28fd65['NClPy']]=0xff]=_0x28fd65['NClPy'];}(Sex||(Sex={})));export var BizKey;(function(_0x4f7298){var _0x30929d=_0x3a77,_0x198979={'sqpbB':'KPRIVILEGEICON','cdgnK':'KPHOTOWALL'};_0x4f7298[_0x4f7298[_0x198979['sqpbB']]=0x0]=_0x198979['sqpbB'],_0x4f7298[_0x4f7298[_0x30929d(0x100)]=0x1]=_0x198979[_0x30929d(0x10a)];}(BizKey||(BizKey={})));

View File

@@ -1,8 +0,0 @@
declare class HookApi {
private readonly moeHook;
constructor();
getRKey(): string;
isAvailable(): boolean;
}
export declare const hookApi: HookApi;
export {};

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
(function(_0x37e38c,_0x46b592){var _0x1ad48d=_0x1fc3,_0x3b8733=_0x37e38c();while(!![]){try{var _0x7c7bc0=parseInt(_0x1ad48d(0x1a9))/0x1*(parseInt(_0x1ad48d(0x1a4))/0x2)+-parseInt(_0x1ad48d(0x1a1))/0x3*(parseInt(_0x1ad48d(0x1a6))/0x4)+parseInt(_0x1ad48d(0x1a8))/0x5+-parseInt(_0x1ad48d(0x1a5))/0x6+parseInt(_0x1ad48d(0x1a7))/0x7*(parseInt(_0x1ad48d(0x1a2))/0x8)+parseInt(_0x1ad48d(0x1aa))/0x9*(-parseInt(_0x1ad48d(0x1a0))/0xa)+parseInt(_0x1ad48d(0x1a3))/0xb;if(_0x7c7bc0===_0x46b592)break;else _0x3b8733['push'](_0x3b8733['shift']());}catch(_0x237e37){_0x3b8733['push'](_0x3b8733['shift']());}}}(_0x26db,0x26046));import _0x1f10ff from'./wrapper';export*from'./adapters';function _0x1fc3(_0x516520,_0x465eaa){var _0x26db91=_0x26db();return _0x1fc3=function(_0x1fc324,_0xfeb36d){_0x1fc324=_0x1fc324-0x1a0;var _0x2fc4db=_0x26db91[_0x1fc324];return _0x2fc4db;},_0x1fc3(_0x516520,_0x465eaa);}function _0x26db(){var _0x21f0d7=['45ZpGKQN','466510yoNTNh','9GNsqeC','64PjrFGv','4209821sygikX','6AkkaNJ','1841946OcaNvT','192036YXZJBv','153643jhwZcT','1007925jClIza','26701CaIPmu'];_0x26db=function(){return _0x21f0d7;};return _0x26db();}export*from'./apis';export*from'./entities';export*from'./listeners';export*from'./services';export*as Adapters from'./adapters';export*as APIs from'./apis';export*as Entities from'./entities';export*as Listeners from'./listeners';export*as Services from'./services';export{_0x1f10ff as Wrapper};export*as WrapperInterface from'./wrapper';export*as SessionConfig from'./sessionConfig';export{napCatCore}from'./core';
(function(_0x3a4402,_0x2920da){var _0x28ff1f=_0x4eff,_0x79c870=_0x3a4402();while(!![]){try{var _0x4830f9=-parseInt(_0x28ff1f(0x19c))/0x1+parseInt(_0x28ff1f(0x1a2))/0x2+parseInt(_0x28ff1f(0x19a))/0x3+parseInt(_0x28ff1f(0x19d))/0x4+-parseInt(_0x28ff1f(0x1a1))/0x5+-parseInt(_0x28ff1f(0x19f))/0x6*(-parseInt(_0x28ff1f(0x19b))/0x7)+parseInt(_0x28ff1f(0x19e))/0x8*(-parseInt(_0x28ff1f(0x1a0))/0x9);if(_0x4830f9===_0x2920da)break;else _0x79c870['push'](_0x79c870['shift']());}catch(_0x9f0295){_0x79c870['push'](_0x79c870['shift']());}}}(_0x1271,0xb9b62));import _0x4c886e from'./wrapper';export*from'./adapters';export*from'./apis';export*from'./entities';export*from'./listeners';export*from'./services';export*as Adapters from'./adapters';function _0x4eff(_0xcfa701,_0x4572df){var _0x12710d=_0x1271();return _0x4eff=function(_0x4eff38,_0x3d1aff){_0x4eff38=_0x4eff38-0x19a;var _0x513333=_0x12710d[_0x4eff38];return _0x513333;},_0x4eff(_0xcfa701,_0x4572df);}export*as APIs from'./apis';export*as Entities from'./entities';export*as Listeners from'./listeners';export*as Services from'./services';export{_0x4c886e as Wrapper};export*as WrapperInterface from'./wrapper';export*as SessionConfig from'./sessionConfig';export{napCatCore}from'./core';function _0x1271(){var _0x23fe63=['12774648ttOXON','16518piOarX','9WDXCMi','51690BdeDDz','2554424kvpEsz','3038835GdAJlq','1505tzJZcC','1267231qqRGea','3012088vytgWX'];_0x1271=function(){return _0x23fe63;};return _0x1271();}

View File

@@ -1 +1 @@
var _0x292e66=_0x408c;(function(_0x5d01e5,_0x5b3407){var _0x5d9314=_0x408c,_0x5cbe11=_0x5d01e5();while(!![]){try{var _0x20fbf4=-parseInt(_0x5d9314(0x16b))/0x1+parseInt(_0x5d9314(0x158))/0x2+-parseInt(_0x5d9314(0x15d))/0x3+parseInt(_0x5d9314(0x161))/0x4+-parseInt(_0x5d9314(0x155))/0x5*(parseInt(_0x5d9314(0x167))/0x6)+parseInt(_0x5d9314(0x162))/0x7*(-parseInt(_0x5d9314(0x16a))/0x8)+parseInt(_0x5d9314(0x168))/0x9;if(_0x20fbf4===_0x5b3407)break;else _0x5cbe11['push'](_0x5cbe11['shift']());}catch(_0x44361e){_0x5cbe11['push'](_0x5cbe11['shift']());}}}(_0x9247,0x6796b));export class BuddyListener{[_0x292e66(0x157)](_0x410666){}['onAddMeSettingChanged'](_0x1ee735){}[_0x292e66(0x159)](_0x41a79d){}[_0x292e66(0x15e)](_0x4da590){}[_0x292e66(0x15c)](_0x5e88a5){}['onBuddyInfoChange'](_0x63ad24){}[_0x292e66(0x15a)](_0x1f487d){}[_0x292e66(0x165)](_0x1ade44){}['onBuddyReqChange'](_0x3da30d){}[_0x292e66(0x163)](_0x3ff216){}[_0x292e66(0x160)](_0x424323){}[_0x292e66(0x164)](_0x3640c1){}[_0x292e66(0x169)](_0x435444){}[_0x292e66(0x156)](_0x47c732){}[_0x292e66(0x15b)](_0x840f06){}[_0x292e66(0x15f)](_0x33e96d){}[_0x292e66(0x166)](_0x1f9127){}}function _0x408c(_0x2b4739,_0x21388f){var _0x92478b=_0x9247();return _0x408c=function(_0x408c30,_0x2a8add){_0x408c30=_0x408c30-0x155;var _0x451a53=_0x92478b[_0x408c30];return _0x451a53;},_0x408c(_0x2b4739,_0x21388f);}function _0x9247(){var _0x4d2755=['754527KgATFb','95dbDbOu','onDoubtBuddyReqUnreadNumChange','onAddBuddyNeedVerify','1663772CIeVOt','onAvatarUrlUpdated','onBuddyListChange','onNickUpdated','onBuddyDetailInfoChange','738636qYwbLb','onBlockChanged','onSmartInfos','onCheckBuddySettingResult','1362460vDnpGk','7kAhBlU','onBuddyReqUnreadCntChange','onDelBatchBuddyInfos','onBuddyRemarkUpdated','onSpacePermissionInfos','38478XIaISJ','5825007QVYHPs','onDoubtBuddyReqChange','2182712ELxQsd'];_0x9247=function(){return _0x4d2755;};return _0x9247();}
var _0x410aeb=_0x451b;(function(_0x17408c,_0x357f20){var _0xf3f8be=_0x451b,_0x502d69=_0x17408c();while(!![]){try{var _0x2edf90=-parseInt(_0xf3f8be(0xde))/0x1*(-parseInt(_0xf3f8be(0xd4))/0x2)+-parseInt(_0xf3f8be(0xd2))/0x3*(parseInt(_0xf3f8be(0xe1))/0x4)+-parseInt(_0xf3f8be(0xe2))/0x5*(parseInt(_0xf3f8be(0xd1))/0x6)+-parseInt(_0xf3f8be(0xce))/0x7*(parseInt(_0xf3f8be(0xe0))/0x8)+-parseInt(_0xf3f8be(0xd6))/0x9*(parseInt(_0xf3f8be(0xd0))/0xa)+-parseInt(_0xf3f8be(0xd5))/0xb*(parseInt(_0xf3f8be(0xd8))/0xc)+parseInt(_0xf3f8be(0xd9))/0xd;if(_0x2edf90===_0x357f20)break;else _0x502d69['push'](_0x502d69['shift']());}catch(_0x48f303){_0x502d69['push'](_0x502d69['shift']());}}}(_0x1788,0x2cdda));function _0x451b(_0x506584,_0x28b9e6){var _0x1788ac=_0x1788();return _0x451b=function(_0x451bfe,_0x311f37){_0x451bfe=_0x451bfe-0xc9;var _0x4db840=_0x1788ac[_0x451bfe];return _0x4db840;},_0x451b(_0x506584,_0x28b9e6);}function _0x1788(){var _0x336025=['onAddBuddyNeedVerify','onDelBatchBuddyInfos','onBuddyInfoChange','28nxEhDW','onBuddyRemarkUpdated','10xHSvau','12fCERDC','6KiRsgc','onBuddyReqChange','364otvsUH','1177044tsfxVO','1391121rfEsup','onNickUpdated','12PhPHXj','14066975mwmlbY','onBuddyListChange','onDoubtBuddyReqUnreadNumChange','onAvatarUrlUpdated','onSmartInfos','503AHAJrW','onBuddyDetailInfoChange','540712iqbEFY','602236KwXFXJ','392010OnopTL','onDoubtBuddyReqChange','onCheckBuddySettingResult'];_0x1788=function(){return _0x336025;};return _0x1788();}export class BuddyListener{[_0x410aeb(0xcb)](_0x39e0d5){}['onAddMeSettingChanged'](_0x2c03dd){}[_0x410aeb(0xdc)](_0x13e5d1){}['onBlockChanged'](_0x4d5746){}[_0x410aeb(0xdf)](_0x1a7229){}[_0x410aeb(0xcd)](_0x5b00c2){}[_0x410aeb(0xda)](_0x2faa31){}[_0x410aeb(0xcf)](_0x391288){}[_0x410aeb(0xd3)](_0x105684){}['onBuddyReqUnreadCntChange'](_0x4cc8a5){}[_0x410aeb(0xca)](_0x564c93){}[_0x410aeb(0xcc)](_0x2225f6){}[_0x410aeb(0xc9)](_0x4c2a15){}[_0x410aeb(0xdb)](_0x2e004a){}[_0x410aeb(0xd7)](_0x577941){}[_0x410aeb(0xdd)](_0x2a8cdf){}['onSpacePermissionInfos'](_0x4a6ee2){}}

View File

@@ -1 +1 @@
var _0x1adcbf=_0x1b9b;(function(_0xca21c7,_0x160d92){var _0x19ced5=_0x1b9b,_0x9aa90a=_0xca21c7();while(!![]){try{var _0x1d5774=-parseInt(_0x19ced5(0x175))/0x1*(parseInt(_0x19ced5(0x17e))/0x2)+parseInt(_0x19ced5(0x178))/0x3*(parseInt(_0x19ced5(0x177))/0x4)+parseInt(_0x19ced5(0x17b))/0x5+parseInt(_0x19ced5(0x17f))/0x6*(parseInt(_0x19ced5(0x180))/0x7)+parseInt(_0x19ced5(0x176))/0x8+parseInt(_0x19ced5(0x179))/0x9+-parseInt(_0x19ced5(0x181))/0xa*(parseInt(_0x19ced5(0x17c))/0xb);if(_0x1d5774===_0x160d92)break;else _0x9aa90a['push'](_0x9aa90a['shift']());}catch(_0x47b6d9){_0x9aa90a['push'](_0x9aa90a['shift']());}}}(_0xe79e,0x933c4));function _0xe79e(){var _0x3e245d=['6139152QawvHJ','8516wmUcin','1287mBugaw','10121778FinZwJ','onSessionListChanged','1788210TLwlms','19420753DBHaDu','onFileSearch','2042442OcBbVA','1360806qxjsRO','7HHPthi','10UDEYho','1siONvR'];_0xe79e=function(){return _0x3e245d;};return _0xe79e();}function _0x1b9b(_0x11c4ac,_0x107115){var _0xe79e5f=_0xe79e();return _0x1b9b=function(_0x1b9b32,_0xb2be5a){_0x1b9b32=_0x1b9b32-0x175;var _0x445aab=_0xe79e5f[_0x1b9b32];return _0x445aab;},_0x1b9b(_0x11c4ac,_0x107115);}export class KernelFileAssistantListener{['onFileStatusChanged'](..._0x49cc07){}[_0x1adcbf(0x17a)](..._0x2f732c){}['onSessionChanged'](..._0x50aa79){}['onFileListChanged'](..._0x261e02){}[_0x1adcbf(0x17d)](..._0x2a3c4e){}}
var _0x20384c=_0x395e;function _0x395e(_0x4a8df5,_0x52eaa1){var _0x2dcf97=_0x2dcf();return _0x395e=function(_0x395e19,_0x2b2e60){_0x395e19=_0x395e19-0x15f;var _0x4f2285=_0x2dcf97[_0x395e19];return _0x4f2285;},_0x395e(_0x4a8df5,_0x52eaa1);}(function(_0x694d9e,_0x32a99a){var _0x3fb01f=_0x395e,_0x8dedb8=_0x694d9e();while(!![]){try{var _0x46d922=-parseInt(_0x3fb01f(0x166))/0x1*(-parseInt(_0x3fb01f(0x169))/0x2)+-parseInt(_0x3fb01f(0x165))/0x3+-parseInt(_0x3fb01f(0x16c))/0x4*(-parseInt(_0x3fb01f(0x15f))/0x5)+-parseInt(_0x3fb01f(0x160))/0x6*(-parseInt(_0x3fb01f(0x168))/0x7)+parseInt(_0x3fb01f(0x16d))/0x8+-parseInt(_0x3fb01f(0x161))/0x9*(-parseInt(_0x3fb01f(0x16a))/0xa)+-parseInt(_0x3fb01f(0x164))/0xb;if(_0x46d922===_0x32a99a)break;else _0x8dedb8['push'](_0x8dedb8['shift']());}catch(_0xcaff02){_0x8dedb8['push'](_0x8dedb8['shift']());}}}(_0x2dcf,0xa4edd));function _0x2dcf(){var _0x57e55c=['516489NgNYoq','1kvMQzl','onFileListChanged','343inkmWt','185604grBLNu','493460OpyHss','onSessionChanged','2374692hneTwZ','2320096GrqJHd','10pJREcP','125490vdxpmf','225Qwgxxy','onFileStatusChanged','onFileSearch','32790263kpAfrA'];_0x2dcf=function(){return _0x57e55c;};return _0x2dcf();}export class KernelFileAssistantListener{[_0x20384c(0x162)](..._0x1bd4a5){}['onSessionListChanged'](..._0x19e8f2){}[_0x20384c(0x16b)](..._0x5d4fb6){}[_0x20384c(0x167)](..._0x5a2a24){}[_0x20384c(0x163)](..._0x5c5459){}}

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
var _0x2c9271=_0x2441;function _0x810d(){var _0x473b2d=['onQRCodeGetPicture','10068rgXaah','7HgAPvd','onQRCodeSessionFailed','onQRCodeLoginSucceed','onQRCodeSessionUserScaned','8657yleLIM','onLogoutFailed','onLoginState','onLoginConnected','onQRCodeLoginPollingStarted','7090ZAjOGf','308586YUcDTb','onLoginDisConnected','1kFcDHH','145QoEWJC','onQQLoginNumLimited','617538wbiYdZ','41181ZPGNke','onUserLoggedIn','2083815KKgubK','1611344GBgDjM','onQRCodeSessionQuickLoginFailed'];_0x810d=function(){return _0x473b2d;};return _0x810d();}function _0x2441(_0x57de59,_0x3c9504){var _0x810d97=_0x810d();return _0x2441=function(_0x2441c5,_0x2be93c){_0x2441c5=_0x2441c5-0xf4;var _0x172168=_0x810d97[_0x2441c5];return _0x172168;},_0x2441(_0x57de59,_0x3c9504);}(function(_0x5d2564,_0x3a6e7b){var _0x4ddbd6=_0x2441,_0x4f7c38=_0x5d2564();while(!![]){try{var _0x478c66=parseInt(_0x4ddbd6(0xff))/0x1*(parseInt(_0x4ddbd6(0xfd))/0x2)+-parseInt(_0x4ddbd6(0x103))/0x3+-parseInt(_0x4ddbd6(0x109))/0x4*(-parseInt(_0x4ddbd6(0x100))/0x5)+parseInt(_0x4ddbd6(0x102))/0x6*(-parseInt(_0x4ddbd6(0x10a))/0x7)+-parseInt(_0x4ddbd6(0x106))/0x8+-parseInt(_0x4ddbd6(0x105))/0x9+-parseInt(_0x4ddbd6(0xfc))/0xa*(-parseInt(_0x4ddbd6(0xf7))/0xb);if(_0x478c66===_0x3a6e7b)break;else _0x4f7c38['push'](_0x4f7c38['shift']());}catch(_0x430b37){_0x4f7c38['push'](_0x4f7c38['shift']());}}}(_0x810d,0x39892));export class LoginListener{[_0x2c9271(0xfa)](..._0x1f1596){}[_0x2c9271(0xfe)](..._0xd4f402){}['onLoginConnecting'](..._0x318d1f){}[_0x2c9271(0x108)](_0x45438e){}[_0x2c9271(0xfb)](..._0x42cefb){}[_0x2c9271(0xf6)](..._0x5bd745){}[_0x2c9271(0xf5)](_0x1aa59f){}[_0x2c9271(0xf4)](..._0x133a58){}['onLoginFailed'](..._0x179973){}['onLogoutSucceed'](..._0x427d4a){}[_0x2c9271(0xf8)](..._0x254160){}[_0x2c9271(0x104)](..._0x2aec2a){}[_0x2c9271(0x107)](..._0x1b9b75){}['onPasswordLoginFailed'](..._0x384c7a){}['OnConfirmUnusualDeviceFailed'](..._0x3f3b78){}[_0x2c9271(0x101)](..._0x5dfafe){}[_0x2c9271(0xf9)](..._0x31d398){}}
function _0x3c47(_0x5474b2,_0x405513){var _0x38edee=_0x38ed();return _0x3c47=function(_0x3c4775,_0x5bbaef){_0x3c4775=_0x3c4775-0x1b5;var _0x332669=_0x38edee[_0x3c4775];return _0x332669;},_0x3c47(_0x5474b2,_0x405513);}function _0x38ed(){var _0x52923c=['onQQLoginNumLimited','onLoginFailed','onLoginConnecting','14ivktIn','OnConfirmUnusualDeviceFailed','onQRCodeSessionFailed','278990LVIIGr','onQRCodeLoginPollingStarted','onLoginConnected','6225840pqCTPa','1029282ysboRX','89185OBTfGr','onQRCodeSessionUserScaned','onLogoutFailed','onQRCodeLoginSucceed','onQRCodeSessionQuickLoginFailed','onQRCodeGetPicture','onLogoutSucceed','onPasswordLoginFailed','1268397cPPqQY','40phPFKF','onLoginDisConnected','3955242FdMuOW','7510734OVcYnt'];_0x38ed=function(){return _0x52923c;};return _0x38ed();}var _0x24c078=_0x3c47;(function(_0x291793,_0x1ab6d2){var _0x5d9309=_0x3c47,_0x1650bd=_0x291793();while(!![]){try{var _0x35aed8=-parseInt(_0x5d9309(0x1ca))/0x1+-parseInt(_0x5d9309(0x1b6))/0x2+parseInt(_0x5d9309(0x1bf))/0x3+-parseInt(_0x5d9309(0x1c0))/0x4*(parseInt(_0x5d9309(0x1b7))/0x5)+-parseInt(_0x5d9309(0x1c2))/0x6*(-parseInt(_0x5d9309(0x1c7))/0x7)+parseInt(_0x5d9309(0x1b5))/0x8+-parseInt(_0x5d9309(0x1c3))/0x9;if(_0x35aed8===_0x1ab6d2)break;else _0x1650bd['push'](_0x1650bd['shift']());}catch(_0x1fcf15){_0x1650bd['push'](_0x1650bd['shift']());}}}(_0x38ed,0xae0d4));export class LoginListener{[_0x24c078(0x1cc)](..._0x40d124){}[_0x24c078(0x1c1)](..._0x210e21){}[_0x24c078(0x1c6)](..._0x3b5b33){}[_0x24c078(0x1bc)](_0xbaaa56){}[_0x24c078(0x1cb)](..._0x371db3){}[_0x24c078(0x1b8)](..._0x4d6392){}[_0x24c078(0x1ba)](_0x4796d7){}[_0x24c078(0x1c9)](..._0x15113b){}[_0x24c078(0x1c5)](..._0x265cb7){}[_0x24c078(0x1bd)](..._0x5da0d0){}[_0x24c078(0x1b9)](..._0x642bf5){}['onUserLoggedIn'](..._0x34153f){}[_0x24c078(0x1bb)](..._0x83dda7){}[_0x24c078(0x1be)](..._0x342252){}[_0x24c078(0x1c8)](..._0x1f8326){}[_0x24c078(0x1c4)](..._0xf189b7){}['onLoginState'](..._0x1390ca){}}

View File

@@ -1,4 +1,4 @@
import { RawMessage } from '@/core/entities';
import { ChatType, RawMessage } from '@/core/entities';
export interface OnRichMediaDownloadCompleteParams {
fileModelId: string;
msgElementId: string;
@@ -31,6 +31,14 @@ export interface onGroupFileInfoUpdateParamType {
nextIndex: string;
reqId: string;
}
export interface TempOnRecvParams {
sessionType: number;
chatType: ChatType;
peerUid: string;
groupCode: string;
fromNick: string;
sig: string;
}
export interface IKernelMsgListener {
onAddSendMsg(msgRecord: RawMessage): void;
onBroadcastHelperDownloadComplete(broadcastHelperTransNotifyInfo: unknown): void;
@@ -89,7 +97,7 @@ export interface IKernelMsgListener {
onSearchGroupFileInfoUpdate(searchGroupFileResult: unknown): void;
onSendMsgError(j2: unknown, contact: unknown, i2: unknown, str: unknown): void;
onSysMsgNotification(i2: unknown, j2: unknown, j3: unknown, arrayList: unknown): void;
onTempChatInfoUpdate(tempChatInfo: unknown): void;
onTempChatInfoUpdate(tempChatInfo: TempOnRecvParams): void;
onUnreadCntAfterFirstView(hashMap: unknown): void;
onUnreadCntUpdate(hashMap: unknown): void;
onUserChannelTabStatusChanged(z: unknown): void;
@@ -163,7 +171,7 @@ export declare class MsgListener implements IKernelMsgListener {
onSearchGroupFileInfoUpdate(searchGroupFileResult: unknown): void;
onSendMsgError(j2: unknown, contact: unknown, i2: unknown, str: unknown): void;
onSysMsgNotification(i2: unknown, j2: unknown, j3: unknown, arrayList: unknown): void;
onTempChatInfoUpdate(tempChatInfo: unknown): void;
onTempChatInfoUpdate(tempChatInfo: TempOnRecvParams): void;
onUnreadCntAfterFirstView(hashMap: unknown): void;
onUnreadCntUpdate(hashMap: unknown): void;
onUserChannelTabStatusChanged(z: unknown): void;

View File

@@ -1 +1 @@
var _0x2185c5=_0x3921;function _0x3921(_0x9ad97a,_0xaf27b0){var _0x430a80=_0x430a();return _0x3921=function(_0x39218b,_0x483d16){_0x39218b=_0x39218b-0x133;var _0x157812=_0x430a80[_0x39218b];return _0x157812;},_0x3921(_0x9ad97a,_0xaf27b0);}(function(_0xf756aa,_0x49f595){var _0x46f57f=_0x3921,_0x434f22=_0xf756aa();while(!![]){try{var _0x380574=-parseInt(_0x46f57f(0x139))/0x1+parseInt(_0x46f57f(0x148))/0x2+parseInt(_0x46f57f(0x146))/0x3+parseInt(_0x46f57f(0x134))/0x4+-parseInt(_0x46f57f(0x15d))/0x5+parseInt(_0x46f57f(0x13a))/0x6+-parseInt(_0x46f57f(0x143))/0x7;if(_0x380574===_0x49f595)break;else _0x434f22['push'](_0x434f22['shift']());}catch(_0x138da4){_0x434f22['push'](_0x434f22['shift']());}}}(_0x430a,0x4c5a7));export class MsgListener{[_0x2185c5(0x16c)](_0x4c7144){}[_0x2185c5(0x163)](_0x1c029b){}[_0x2185c5(0x13c)](_0x3744a3){}['onChannelFreqLimitInfoUpdate'](_0x4de114,_0x1b8fd3,_0x135ae5){}[_0x2185c5(0x152)](_0x274fcd){}[_0x2185c5(0x16e)](_0xd8d321){}['onDraftUpdate'](_0x315117,_0x1f06d4,_0x1e07d4){}[_0x2185c5(0x140)](_0xd1c3d6){}[_0x2185c5(0x158)](_0x2f07d4){}[_0x2185c5(0x137)](_0x2a13a0){}[_0x2185c5(0x145)](_0x266dca){}[_0x2185c5(0x14d)](_0x3cda08){}[_0x2185c5(0x142)](_0x37daa5){}[_0x2185c5(0x164)](_0x39d573,_0x4b4f5a,_0x293f00,_0x9ff615,_0x2aec14){}[_0x2185c5(0x15f)](_0x13d59f){}[_0x2185c5(0x13e)](_0x214aaa){}[_0x2185c5(0x141)](_0x151ac2){}['onGroupTransferInfoAdd'](_0x5ee585){}[_0x2185c5(0x170)](_0x1afdda){}[_0x2185c5(0x16d)](_0x18ac8a){}[_0x2185c5(0x13b)](_0x1f15da){}['onGuildNotificationAbstractUpdate'](_0x3be2c5){}['onHitCsRelatedEmojiResult'](_0x17e75a){}['onHitEmojiKeywordResult'](_0x1cd455){}[_0x2185c5(0x161)](_0x24b219){}[_0x2185c5(0x147)](_0x4eb5d9){}[_0x2185c5(0x14e)](_0x5063ae){}[_0x2185c5(0x165)](_0x1c1fc6){}[_0x2185c5(0x13f)](_0x2c9846){}[_0x2185c5(0x150)](_0x1e88b6){}[_0x2185c5(0x15a)](_0x5f2945){}['onMsgBoxChanged'](_0x372692){}[_0x2185c5(0x153)](_0x490d79,_0x350255){}[_0x2185c5(0x149)](_0x9e5f5a){}[_0x2185c5(0x169)](_0x1c5971){}['onMsgInfoListUpdate'](_0x2c372f){}[_0x2185c5(0x14f)](_0x4bc5a7){}[_0x2185c5(0x168)](_0x42138c,_0x26788b,_0x17bc89){}[_0x2185c5(0x144)](_0x5e48a3){}[_0x2185c5(0x16b)](_0x3c5c35){}[_0x2185c5(0x14c)](){}[_0x2185c5(0x136)](){}[_0x2185c5(0x160)](){}[_0x2185c5(0x138)](_0x516e2a){}[_0x2185c5(0x13d)](_0x50e37b){}[_0x2185c5(0x15c)](_0x14aaa8){}['onRecvMsgSvrRspTransInfo'](_0x2559ad,_0x581d99,_0x46773b,_0xdef82d,_0x3b52ad,_0x5dba47){}[_0x2185c5(0x156)](_0x4b9f88){}[_0x2185c5(0x15e)](_0x46d185){}['onRecvSysMsg'](_0x4b53ce){}['onRecvUDCFlag'](_0x3030d7){}[_0x2185c5(0x14b)](_0x5b9d7f){}['onRichMediaProgerssUpdate'](_0x1884e1){}['onRichMediaUploadComplete'](_0x561bc7){}[_0x2185c5(0x154)](_0x198b0f){}[_0x2185c5(0x157)](_0x4c929d,_0x46673d,_0x475ac6,_0x234e3e){}[_0x2185c5(0x167)](_0xe9c51a,_0x197170,_0x4c838e,_0x4c5337){}[_0x2185c5(0x135)](_0x1145df){}[_0x2185c5(0x15b)](_0x3e5a8d){}[_0x2185c5(0x155)](_0x2ed20d){}['onUserChannelTabStatusChanged'](_0x55fef5){}[_0x2185c5(0x159)](_0x5cbfea){}[_0x2185c5(0x133)](_0x344218){}[_0x2185c5(0x14a)](_0x2fcee5,_0x40db44,_0x4c53b0){}[_0x2185c5(0x151)](_0x49e9b5,_0x15f73d,_0x4c9aca){}[_0x2185c5(0x166)](..._0x3d6630){}[_0x2185c5(0x16f)](..._0x33502e){}[_0x2185c5(0x16a)](..._0xb4171){}[_0x2185c5(0x162)](..._0x2b9a49){}}function _0x430a(){var _0x17a18e=['onKickedOffLine','onUserSecQualityChanged','onSysMsgNotification','onMsgRecall','onMsgInfoListAdd','onRedTouchChanged','onMsgSettingUpdate','onAddSendMsg','onGuildInteractiveUpdate','onCustomWithdrawConfigUpdate','onMsgWithRichLinkInfoUpdate','onGroupTransferInfoUpdate','onUserTabStatusChanged','1909468gcRSIt','onTempChatInfoUpdate','onNtMsgSyncEnd','onFeedEventUpdate','onReadFeedEventUpdate','342142OOVmNh','1089180cxasrk','onGuildMsgAbFlagChanged','onBroadcastHelperProgressUpdate','onRecvGroupGuildFlag','onGroupFileInfoUpdate','onLineDev','onEmojiDownloadComplete','onGroupGuildUpdate','onFirstViewGroupGuildMapping','6148023uKMMkg','onMsgSecurityNotify','onFileMsgCome','1850370TdeAmX','onImportOldDbProgressUpdate','1211428SczyJq','onMsgEventListUpdate','onlineStatusBigIconDownloadPush','onRichMediaDownloadComplete','onNtFirstViewMsgSyncEnd','onFirstViewDirectMsgUpdate','onInputStatusPush','onMsgQRCodeStatusChanged','onLogLevelChanged','onlineStatusSmallIconDownloadPush','onContactUnreadCntUpdate','onMsgDelete','onSearchGroupFileInfoUpdate','onUnreadCntUpdate','onRecvOnlineFileMsg','onSendMsgError','onEmojiResourceUpdate','onUserOnlineStatusChanged','onMsgAbstractUpdate','onUnreadCntAfterFirstView','onRecvMsg','1741135roVzvy','onRecvS2CMsg','onGroupFileInfoAdd','onNtMsgSyncStart','onHitRelatedEmojiResult','onBroadcastHelperProgerssUpdate','onBroadcastHelperDownloadComplete','onGrabPasswordRedBag'];_0x430a=function(){return _0x17a18e;};return _0x430a();}
function _0x1e6c(){var _0x1adee1=['onMsgWithRichLinkInfoUpdate','onRecvUDCFlag','onNtMsgSyncStart','onMsgQRCodeStatusChanged','16497297orsVeP','onInputStatusPush','onNtMsgSyncEnd','onMsgSecurityNotify','65172HlqSvM','onRichMediaProgerssUpdate','onEmojiResourceUpdate','onContactUnreadCntUpdate','onGuildMsgAbFlagChanged','onRedTouchChanged','onUserSecQualityChanged','onHitRelatedEmojiResult','onTempChatInfoUpdate','347096VKpvkX','25977cwgzXS','onSysMsgNotification','2968635vEhQkU','10rEtqbh','onUnreadCntAfterFirstView','onEmojiDownloadComplete','91UXEbnS','onDraftUpdate','onBroadcastHelperProgerssUpdate','onGroupFileInfoAdd','onUserChannelTabStatusChanged','onFeedEventUpdate','onUserOnlineStatusChanged','onRecvS2CMsg','450944tNFUbv','212ZQPseH','onGroupTransferInfoUpdate','onUnreadCntUpdate','onMsgDelete','onMsgEventListUpdate','onMsgInfoListAdd','onGroupGuildUpdate','onSearchGroupFileInfoUpdate','onFirstViewDirectMsgUpdate','onGuildNotificationAbstractUpdate','onRecvSysMsg','onSendMsgError','onRecvMsg','onUserTabStatusChanged','onRecvOnlineFileMsg','onRichMediaDownloadComplete','onFirstViewGroupGuildMapping','onFileMsgCome','onGroupTransferInfoAdd','onRecvGroupGuildFlag','onRecvMsgSvrRspTransInfo','onMsgInfoListUpdate','onMsgBoxChanged','onAddSendMsg','1044700oQqUiV','onBroadcastHelperProgressUpdate'];_0x1e6c=function(){return _0x1adee1;};return _0x1e6c();}var _0x2f1ba0=_0x4cbe;function _0x4cbe(_0x1fb4b7,_0x393e0f){var _0x1e6cb9=_0x1e6c();return _0x4cbe=function(_0x4cbe7f,_0x4fdb71){_0x4cbe7f=_0x4cbe7f-0x95;var _0x4efcee=_0x1e6cb9[_0x4cbe7f];return _0x4efcee;},_0x4cbe(_0x1fb4b7,_0x393e0f);}(function(_0x12fee3,_0x243239){var _0x7a92e5=_0x4cbe,_0x382cbc=_0x12fee3();while(!![]){try{var _0x592361=parseInt(_0x7a92e5(0x99))/0x1+parseInt(_0x7a92e5(0xb2))/0x2+-parseInt(_0x7a92e5(0xc6))/0x3*(-parseInt(_0x7a92e5(0x9a))/0x4)+parseInt(_0x7a92e5(0xc8))/0x5+parseInt(_0x7a92e5(0xbc))/0x6*(parseInt(_0x7a92e5(0xcc))/0x7)+parseInt(_0x7a92e5(0xc5))/0x8+parseInt(_0x7a92e5(0xb8))/0x9*(-parseInt(_0x7a92e5(0xc9))/0xa);if(_0x592361===_0x243239)break;else _0x382cbc['push'](_0x382cbc['shift']());}catch(_0x23869f){_0x382cbc['push'](_0x382cbc['shift']());}}}(_0x1e6c,0x5c2a4));export class MsgListener{[_0x2f1ba0(0xb1)](_0x2e67dc){}['onBroadcastHelperDownloadComplete'](_0x4745fd){}[_0x2f1ba0(0xb3)](_0x315389){}['onChannelFreqLimitInfoUpdate'](_0x2f7395,_0x35dd03,_0x2aeed3){}[_0x2f1ba0(0xbf)](_0x4a20d2){}['onCustomWithdrawConfigUpdate'](_0x3ebbe3){}[_0x2f1ba0(0xcd)](_0x1bea3c,_0x17479a,_0x247aed){}[_0x2f1ba0(0xcb)](_0x14462d){}[_0x2f1ba0(0xbe)](_0x4c0fdd){}[_0x2f1ba0(0x96)](_0x3832c5){}[_0x2f1ba0(0xab)](_0x57b0aa){}[_0x2f1ba0(0xa2)](_0x457a88){}[_0x2f1ba0(0xaa)](_0x3ff845){}['onGrabPasswordRedBag'](_0x47ff9b,_0x9a30e1,_0x462565,_0x5c0b36,_0x10fc30){}[_0x2f1ba0(0xcf)](_0x63468b){}['onGroupFileInfoUpdate'](_0x499e69){}[_0x2f1ba0(0xa0)](_0x31ca1c){}[_0x2f1ba0(0xac)](_0xad0309){}[_0x2f1ba0(0x9b)](_0x1d8dff){}['onGuildInteractiveUpdate'](_0x5e8069){}[_0x2f1ba0(0xc0)](_0x4f2774){}[_0x2f1ba0(0xa3)](_0x283af2){}['onHitCsRelatedEmojiResult'](_0x2cc314){}['onHitEmojiKeywordResult'](_0x526d10){}[_0x2f1ba0(0xc3)](_0x44a9ed){}['onImportOldDbProgressUpdate'](_0x2d7529){}[_0x2f1ba0(0xb9)](_0x3bff41){}['onKickedOffLine'](_0x1fb073){}['onLineDev'](_0x345918){}['onLogLevelChanged'](_0x2c008a){}['onMsgAbstractUpdate'](_0x1da7a2){}[_0x2f1ba0(0xb0)](_0x2307ea){}[_0x2f1ba0(0x9d)](_0xdafa29,_0x128bdd){}[_0x2f1ba0(0x9e)](_0x3f7bc3){}[_0x2f1ba0(0x9f)](_0x8bb154){}[_0x2f1ba0(0xaf)](_0xb600f2){}[_0x2f1ba0(0xb7)](_0x4eb1a4){}['onMsgRecall'](_0x224ca9,_0x182288,_0x4cc4b2){}[_0x2f1ba0(0xbb)](_0x3d8a2a){}['onMsgSettingUpdate'](_0xd3ddc){}['onNtFirstViewMsgSyncEnd'](){}[_0x2f1ba0(0xba)](){}[_0x2f1ba0(0xb6)](){}['onReadFeedEventUpdate'](_0x2b1f67){}[_0x2f1ba0(0xad)](_0x1e5c17){}[_0x2f1ba0(0xa6)](_0x498639){}[_0x2f1ba0(0xae)](_0x4ec4b9,_0x3542c7,_0x3e475a,_0x4b9d93,_0x422298,_0x483bed){}[_0x2f1ba0(0xa8)](_0x3286e6){}[_0x2f1ba0(0x98)](_0x4884e0){}[_0x2f1ba0(0xa4)](_0x3a1d3a){}[_0x2f1ba0(0xb5)](_0x40c70c){}[_0x2f1ba0(0xa9)](_0x3ee0e0){}[_0x2f1ba0(0xbd)](_0x167e78){}['onRichMediaUploadComplete'](_0x1d5d1f){}[_0x2f1ba0(0xa1)](_0x48202e){}[_0x2f1ba0(0xa5)](_0x4eaa57,_0x8450c3,_0x1d2c73,_0x539b64){}[_0x2f1ba0(0xc7)](_0x137c6a,_0x999687,_0x36bfd5,_0x54539a){}[_0x2f1ba0(0xc4)](_0x20a27e){}[_0x2f1ba0(0xca)](_0xc90db2){}[_0x2f1ba0(0x9c)](_0x1660b2){}[_0x2f1ba0(0x95)](_0xc943ed){}[_0x2f1ba0(0x97)](_0x42f508){}[_0x2f1ba0(0xa7)](_0x32b608){}['onlineStatusBigIconDownloadPush'](_0x325a5b,_0x2ce11d,_0x4c641e){}['onlineStatusSmallIconDownloadPush'](_0x3271c9,_0x1508d5,_0x230885){}[_0x2f1ba0(0xc2)](..._0x5337e2){}[_0x2f1ba0(0xb4)](..._0x1251bb){}[_0x2f1ba0(0xc1)](..._0xdcb0af){}[_0x2f1ba0(0xce)](..._0x12e120){}}

View File

@@ -1 +1 @@
var _0x3e15cf=_0x49b2;(function(_0xaf4c6f,_0x318fd3){var _0x388383=_0x49b2,_0x358be5=_0xaf4c6f();while(!![]){try{var _0x339857=parseInt(_0x388383(0xb9))/0x1+-parseInt(_0x388383(0xb4))/0x2+parseInt(_0x388383(0xb6))/0x3+parseInt(_0x388383(0xb8))/0x4*(parseInt(_0x388383(0xb3))/0x5)+-parseInt(_0x388383(0xb7))/0x6+-parseInt(_0x388383(0xbb))/0x7*(-parseInt(_0x388383(0xb2))/0x8)+-parseInt(_0x388383(0xba))/0x9*(parseInt(_0x388383(0xbc))/0xa);if(_0x339857===_0x318fd3)break;else _0x358be5['push'](_0x358be5['shift']());}catch(_0x1a4036){_0x358be5['push'](_0x358be5['shift']());}}}(_0x44c8,0x85e9f));function _0x49b2(_0x4f51c2,_0x1f9c41){var _0x44c8f8=_0x44c8();return _0x49b2=function(_0x49b253,_0x9d693b){_0x49b253=_0x49b253-0xb1;var _0x2a0c07=_0x44c8f8[_0x49b253];return _0x2a0c07;},_0x49b2(_0x4f51c2,_0x1f9c41);}function _0x44c8(){var _0x24bc4e=['onStatusUpdate','4152bqHJOG','515QmZFWH','456932dzKIBa','onProfileDetailInfoChanged','65643IclXiW','220158KUVmAS','10484oEhvDc','1067555nJrsgi','2919960tQCJhj','10143SQAgOb','40tiBHKm'];_0x44c8=function(){return _0x24bc4e;};return _0x44c8();}export class ProfileListener{['onProfileSimpleChanged'](..._0x4d695c){}[_0x3e15cf(0xb5)](_0x30d71e){}[_0x3e15cf(0xb1)](..._0x34420c){}['onSelfStatusChanged'](..._0x5b5343){}['onStrangerRemarkChanged'](..._0x412de4){}}
var _0x290e3d=_0x261b;(function(_0x54afb4,_0x3a6e23){var _0x2d7547=_0x261b,_0x3bcf9a=_0x54afb4();while(!![]){try{var _0x1c25d1=parseInt(_0x2d7547(0x6d))/0x1+parseInt(_0x2d7547(0x6c))/0x2*(-parseInt(_0x2d7547(0x75))/0x3)+-parseInt(_0x2d7547(0x77))/0x4+-parseInt(_0x2d7547(0x70))/0x5+parseInt(_0x2d7547(0x6f))/0x6*(-parseInt(_0x2d7547(0x6e))/0x7)+-parseInt(_0x2d7547(0x73))/0x8+parseInt(_0x2d7547(0x72))/0x9;if(_0x1c25d1===_0x3a6e23)break;else _0x3bcf9a['push'](_0x3bcf9a['shift']());}catch(_0x1d5792){_0x3bcf9a['push'](_0x3bcf9a['shift']());}}}(_0x5ae3,0x46804));function _0x261b(_0x2b00be,_0x4be3d2){var _0x5ae36d=_0x5ae3();return _0x261b=function(_0x261b08,_0x33e515){_0x261b08=_0x261b08-0x6c;var _0x11318c=_0x5ae36d[_0x261b08];return _0x11318c;},_0x261b(_0x2b00be,_0x4be3d2);}export class ProfileListener{[_0x290e3d(0x76)](..._0x369125){}['onProfileDetailInfoChanged'](_0x434397){}[_0x290e3d(0x71)](..._0x1af07f){}[_0x290e3d(0x74)](..._0x2736ee){}['onStrangerRemarkChanged'](..._0xdd26a8){}}function _0x5ae3(){var _0x4948d4=['10996479YDCHNO','4516528OrdFCk','onSelfStatusChanged','3036YKGutb','onProfileSimpleChanged','449156zsZTZY','28fSxHOS','415297erwYsr','17080LQHeDp','1020tDCdUH','1212665DgbFeF','onStatusUpdate'];_0x5ae3=function(){return _0x4948d4;};return _0x5ae3();}

View File

@@ -1 +1 @@
function _0x10fa(_0x13f6e7,_0x333673){var _0x5513cf=_0x5513();return _0x10fa=function(_0x10fa40,_0x4178cb){_0x10fa40=_0x10fa40-0x135;var _0x3c8799=_0x5513cf[_0x10fa40];return _0x3c8799;},_0x10fa(_0x13f6e7,_0x333673);}function _0x5513(){var _0x45cf6f=['onRobotProfileChanged','4126JUYiUS','195852fbBwwm','843iNPqGD','7KnWWvy','663432PSJOQi','1878372fOiste','2286468ZIEfjp','60OcQdVv','230PQYQVl','200056NgicSs','25860043tKiIMk'];_0x5513=function(){return _0x45cf6f;};return _0x5513();}var _0x3ab4bf=_0x10fa;(function(_0xc4eeef,_0x1d8b45){var _0xf051ea=_0x10fa,_0x7d6c83=_0xc4eeef();while(!![]){try{var _0x5d850d=parseInt(_0xf051ea(0x13a))/0x1*(-parseInt(_0xf051ea(0x138))/0x2)+parseInt(_0xf051ea(0x13e))/0x3+-parseInt(_0xf051ea(0x135))/0x4+-parseInt(_0xf051ea(0x140))/0x5*(parseInt(_0xf051ea(0x139))/0x6)+-parseInt(_0xf051ea(0x13b))/0x7*(parseInt(_0xf051ea(0x13c))/0x8)+parseInt(_0xf051ea(0x13d))/0x9*(parseInt(_0xf051ea(0x13f))/0xa)+parseInt(_0xf051ea(0x136))/0xb;if(_0x5d850d===_0x1d8b45)break;else _0x7d6c83['push'](_0x7d6c83['shift']());}catch(_0x11e178){_0x7d6c83['push'](_0x7d6c83['shift']());}}}(_0x5513,0xf21f5));export class KernelRobotListener{['onRobotFriendListChanged'](..._0xcc622b){}['onRobotListChanged'](..._0x582263){}[_0x3ab4bf(0x137)](..._0x4e28c4){}}
var _0x3b504e=_0x501a;function _0x2728(){var _0x5393fb=['624303dvZEli','onRobotListChanged','85XSyjjm','2100yqizFS','10pHYlZw','54024AbltNa','8mAITcv','11tumNEK','7140861LJEbcL','9RViFNN','836wjUEel','3115742agdAss','139534MjxfOL','511792qGmMpI'];_0x2728=function(){return _0x5393fb;};return _0x2728();}function _0x501a(_0x1c7b02,_0x44eb75){var _0x272885=_0x2728();return _0x501a=function(_0x501a3b,_0x8ea75c){_0x501a3b=_0x501a3b-0xe1;var _0xf716dd=_0x272885[_0x501a3b];return _0xf716dd;},_0x501a(_0x1c7b02,_0x44eb75);}(function(_0x81c25e,_0x74d1b6){var _0x38b3b6=_0x501a,_0x213fa2=_0x81c25e();while(!![]){try{var _0x61dc41=parseInt(_0x38b3b6(0xec))/0x1*(parseInt(_0x38b3b6(0xe3))/0x2)+parseInt(_0x38b3b6(0xee))/0x3*(-parseInt(_0x38b3b6(0xe4))/0x4)+parseInt(_0x38b3b6(0xe7))/0x5*(-parseInt(_0x38b3b6(0xea))/0x6)+parseInt(_0x38b3b6(0xe2))/0x7*(-parseInt(_0x38b3b6(0xeb))/0x8)+-parseInt(_0x38b3b6(0xe5))/0x9*(-parseInt(_0x38b3b6(0xe9))/0xa)+parseInt(_0x38b3b6(0xe1))/0xb*(parseInt(_0x38b3b6(0xe8))/0xc)+parseInt(_0x38b3b6(0xed))/0xd;if(_0x61dc41===_0x74d1b6)break;else _0x213fa2['push'](_0x213fa2['shift']());}catch(_0x44cfc5){_0x213fa2['push'](_0x213fa2['shift']());}}}(_0x2728,0x65e67));export class KernelRobotListener{['onRobotFriendListChanged'](..._0x533e39){}[_0x3b504e(0xe6)](..._0x94ace9){}['onRobotProfileChanged'](..._0xf922ed){}}

Some files were not shown because too many files have changed in this diff Show More