Compare commits

..

47 Commits

Author SHA1 Message Date
手瓜一十雪
dbc40b5814 release:1.4.1 2024-05-29 11:38:57 +08:00
Version
0d5696a644 chore:version change 2024-05-29 03:36:54 +00:00
手瓜一十雪
ceffa05802 fix 2024-05-29 11:36:04 +08:00
手瓜一十雪
d5668920b6 release: 1.4.1 2024-05-29 11:34:55 +08:00
手瓜一十雪
516f2da144 feat: en2zh 2024-05-29 10:25:13 +08:00
手瓜一十雪
33c94e1888 docs: 1.4.1 todo 2024-05-29 00:34:44 +08:00
手瓜一十雪
51ab58cd91 fix: webui 2024-05-29 00:07:05 +08:00
手瓜一十雪
aa7798d1d1 feat: wait fix 2024-05-29 00:00:48 +08:00
手瓜一十雪
9067a1fc92 refactor: info record local 2024-05-28 23:24:54 +08:00
手瓜一十雪
4024b6c564 Merge pull request #46 from po-lan/main
Update GetGroupMemberList.ts
2024-05-28 23:20:11 +08:00
po-lan
d39730928b Update GetGroupMemberList.ts
fix
2024-05-28 23:17:39 +08:00
手瓜一十雪
e1f049229c Merge pull request #45 from po-lan/main
对 get_group_member_list 增强
2024-05-28 22:49:21 +08:00
po-lan
8f2676ec19 Update main.ts 2024-05-28 22:43:41 +08:00
po-lan
32d26248dc Update main.ts 2024-05-28 22:41:40 +08:00
po-lan
16f926401b Update db.ts 2024-05-28 22:30:26 +08:00
po-lan
66d60d3599 Update main.ts 2024-05-28 22:27:12 +08:00
po-lan
5a35ab6c34 Update OB11GroupIncreaseEvent.ts 2024-05-28 22:26:02 +08:00
手瓜一十雪
ba1542bd31 Merge pull request #44 from po-lan/main
对 get_group_member_list 增强
2024-05-28 21:49:26 +08:00
po-lan
453060945a Update OB11GroupIncreaseEvent.ts 2024-05-28 21:47:05 +08:00
po-lan
c8351be461 Update config.ts 2024-05-28 21:45:36 +08:00
po-lan
9954da22a6 Update db.ts 2024-05-28 21:44:30 +08:00
手瓜一十雪
907b5611eb chore: sync core 2024-05-28 21:02:57 +08:00
手瓜一十雪
5f075de212 refactor: Info 2024-05-28 20:50:29 +08:00
手瓜一十雪
8fcf3c5079 refactor: GroupInfo 2024-05-28 20:43:16 +08:00
手瓜一十雪
07cee90c7a refactor: MemberInfo-1 2024-05-28 20:08:40 +08:00
手瓜一十雪
75ad495b98 refactor: remove some log 2024-05-28 19:32:08 +08:00
手瓜一十雪
0bb7288ad2 Merge pull request #40 from po-lan/main
对 get_group_member_list 增强
2024-05-28 19:21:25 +08:00
po-lan
ad72415532 对 get_group_member_list 增强开关 2024-05-27 17:11:26 +08:00
po-lan
0ad0353fc0 对 get_group_member_list 增强
监听每一条群聊消息准备写入数据库
2024-05-27 17:09:27 +08:00
po-lan
9fa0dcd7aa 对 get_group_member_list 增强
非管理员的Bot可以通过本地数据库获取到最近的发言时间
2024-05-27 17:07:23 +08:00
po-lan
1f2e80cd39 对 get_group_member_list 增强
一个基于LRU思想写出来的缓存结构
来降低写入数据库的次数
2024-05-27 17:05:28 +08:00
po-lan
6cb6034d43 对 get_group_member_list 增强 2024-05-27 17:01:24 +08:00
手瓜一十雪
25134c6ac6 fix: vite-env 2024-05-26 20:38:18 +08:00
手瓜一十雪
92bf42878a chore: sync core 2024-05-26 11:42:12 +08:00
手瓜一十雪
9f4582d158 docs: update 2024-05-25 19:30:48 +08:00
手瓜一十雪
68af73970e release: 1.4.0 2024-05-25 19:22:52 +08:00
手瓜一十雪
b6ed8d4975 docs: change 2024-05-25 16:55:02 +08:00
手瓜一十雪
d07d3645ce fix: typo 2024-05-25 13:42:10 +08:00
手瓜一十雪
123759ab17 fix: typo 2024-05-25 13:39:49 +08:00
手瓜一十雪
f2f1f893d8 feat: ocr image 2024-05-25 13:38:19 +08:00
手瓜一十雪
db93a8eed2 feat: /get_online_clients 2024-05-25 13:09:47 +08:00
手瓜一十雪
12ab6d4a7d fix 2024-05-25 12:48:13 +08:00
手瓜一十雪
add759e889 feat: try support get_online_clients 2024-05-25 12:02:09 +08:00
手瓜一十雪
f315f7977d feat: support card miniapp 2024-05-25 11:35:08 +08:00
手瓜一十雪
f2f6701ebd feat: support qzone.qq.com Cookies 2024-05-25 11:07:05 +08:00
手瓜一十雪
1a92794d33 chore: sync core 2024-05-24 23:25:14 +08:00
手瓜一十雪
7640deb798 feat: support mini app sign 2024-05-24 23:24:10 +08:00
113 changed files with 2618 additions and 898 deletions

2
.gitignore vendored
View File

@@ -14,4 +14,4 @@ dist/
# Build
*.db
checkVersion.sh
checkVersion.sh

View File

@@ -1,6 +1,6 @@
# v1.3.9
QQ Version: Windows 9.9.9-23873 / Linux 3.2.7-23361
QQ Version: Windows 9.9.10-23873 / Linux 3.2.7-23361
## 修复与优化
* 修复QQ等级获取与兼容性问题

View File

@@ -0,0 +1,12 @@
# v1.4.0
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
## 修复与优化
## 新增与调整
* 支持空间Cookies获取
* 支持获取在线设备 API /get_online_clients
* 支持图片OCR API /.ocr_image /ocr_image
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -0,0 +1,14 @@
# v1.4.1
QQ Version: Windows 9.9.10-24108 / Linux 3.2.7-23361
## 修复与优化
* 提高部分Api兼容性
* 优化日志膨胀问题
* 在线状态刷新问题修复
## 新增与调整
* 支持非管理群 本地记录时间数据 (建议 **备份配置 清空配置 重新配置**)
* 新增英译中接口 Api: /translate_en2zh
* 新增群文件管理相关扩展接口 Api: /get_group_file_count /get_group_file_list /set_group_file_folder /del_group_file /del_group_file_folder
新增的 API 详细见[API文档](https://napneko.github.io/zh-CN/develop/extends_api)

View File

@@ -1,66 +1,66 @@
{
"name": "napcat",
"private": true,
"type": "module",
"version": "1.3.9",
"scripts": {
"watch:dev": "vite --mode development",
"watch:prod": "vite --mode production",
"build:dev": "vite build --mode development",
"build:prod": "vite build --mode production",
"build": "npm run build:dev",
"build:core": "cd ./src/core && npm run build && cd ../.. && node ./script/copy-core.cjs",
"build:webui": "cd ./src/webui && vite build",
"watch": "npm run watch:dev",
"debug-win": "powershell dist/napcat.ps1",
"lint": "eslint --fix src/**/*.{js,ts}",
"release": "npm run build:prod",
"depend": "cd dist && npm install --omit=dev"
},
"devDependencies": {
"@log4js-node/log4js-api": "^1.0.2",
"@rollup/plugin-node-resolve": "^15.2.3",
"@rollup/plugin-typescript": "^11.1.6",
"@types/cors": "^2.8.17",
"@types/express": "^4.17.21",
"@types/figlet": "^1.5.8",
"@types/fluent-ffmpeg": "^2.1.24",
"@types/node": "^20.11.30",
"@types/qrcode-terminal": "^0.12.2",
"@types/uuid": "^9.0.8",
"@types/ws": "^8.5.10",
"@typescript-eslint/eslint-plugin": "^7.4.0",
"@typescript-eslint/parser": "^7.4.0",
"eslint": "^8.57.0",
"eslint-import-resolver-typescript": "^3.6.1",
"eslint-plugin-import": "^2.29.1",
"i": "^0.3.7",
"javascript-obfuscator": "^4.1.0",
"rollup": "^4.13.2",
"rollup-plugin-dts": "^6.1.0",
"rollup-plugin-obfuscator": "^1.1.0",
"typescript": "^5.3.3",
"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"
},
"dependencies": {
"ajv": "^8.13.0",
"commander": "^12.0.0",
"cors": "^2.8.5",
"express": "^5.0.0-beta.2",
"fast-xml-parser": "^4.3.6",
"file-type": "^19.0.0",
"fluent-ffmpeg": "^2.1.2",
"image-size": "^1.1.1",
"json-schema-to-ts": "^3.1.0",
"log4js": "^6.9.1",
"qrcode-terminal": "^0.12.0",
"silk-wasm": "^3.3.4",
"sqlite3": "^5.1.7",
"uuid": "^9.0.1",
"ws": "^8.16.0"
}
}
{
"name": "napcat",
"private": true,
"type": "module",
"version": "1.4.1",
"scripts": {
"watch:dev": "vite --mode development",
"watch:prod": "vite --mode production",
"build:dev": "vite build --mode development",
"build:prod": "vite build --mode production",
"build": "npm run build:dev",
"build:core": "cd ./src/core && npm run build && cd ../.. && node ./script/copy-core.cjs",
"build:webui": "cd ./src/webui && vite build",
"watch": "npm run watch:dev",
"debug-win": "powershell dist/napcat.ps1",
"lint": "eslint --fix src/**/*.{js,ts}",
"release": "npm run build:prod",
"depend": "cd dist && npm install --omit=dev"
},
"devDependencies": {
"@log4js-node/log4js-api": "^1.0.2",
"@rollup/plugin-node-resolve": "^15.2.3",
"@rollup/plugin-typescript": "^11.1.6",
"@types/cors": "^2.8.17",
"@types/express": "^4.17.21",
"@types/figlet": "^1.5.8",
"@types/fluent-ffmpeg": "^2.1.24",
"@types/node": "^20.11.30",
"@types/qrcode-terminal": "^0.12.2",
"@types/uuid": "^9.0.8",
"@types/ws": "^8.5.10",
"@typescript-eslint/eslint-plugin": "^7.4.0",
"@typescript-eslint/parser": "^7.4.0",
"eslint": "^8.57.0",
"eslint-import-resolver-typescript": "^3.6.1",
"eslint-plugin-import": "^2.29.1",
"i": "^0.3.7",
"javascript-obfuscator": "^4.1.0",
"rollup": "^4.13.2",
"rollup-plugin-dts": "^6.1.0",
"rollup-plugin-obfuscator": "^1.1.0",
"typescript": "^5.3.3",
"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"
},
"dependencies": {
"ajv": "^8.13.0",
"commander": "^12.0.0",
"cors": "^2.8.5",
"express": "^5.0.0-beta.2",
"fast-xml-parser": "^4.3.6",
"file-type": "^19.0.0",
"fluent-ffmpeg": "^2.1.2",
"image-size": "^1.1.1",
"json-schema-to-ts": "^3.1.0",
"log4js": "^6.9.1",
"qrcode-terminal": "^0.12.0",
"silk-wasm": "^3.3.4",
"sqlite3": "^5.1.7",
"uuid": "^9.0.1",
"ws": "^8.16.0"
}
}

View File

@@ -37,14 +37,14 @@ export abstract class HttpServerBase {
const authHeader = req.get('authorization');
if (authHeader) {
clientToken = authHeader.split('Bearer ').pop() || '';
logDebug('receive http header token', clientToken);
//logDebug('receive http header token', clientToken);
} else if (req.query.access_token) {
if (Array.isArray(req.query.access_token)) {
clientToken = req.query.access_token[0].toString();
} else {
clientToken = req.query.access_token.toString();
}
logDebug('receive http url token', clientToken);
//logDebug('receive http url token', clientToken);
}
if (serverToken && clientToken != serverToken) {

View File

@@ -0,0 +1,145 @@
import { logError, logDebug } from "@/common/utils/log";
type group_id = number;
type user_id = number;
class cacheNode<T> {
value: T;
groupId: group_id;
userId: user_id;
prev: cacheNode<T> | null;
next: cacheNode<T> | null;
timestamp: number;
constructor(groupId: group_id, userId: user_id, value: T) {
this.groupId = groupId;
this.userId = userId;
this.value = value;
this.prev = null;
this.next = null;
this.timestamp = Date.now();
}
}
type cache<T> = { [key: group_id]: { [key: user_id]: cacheNode<T> } };
class LRU<T> {
private maxAge: number;
private maxSize: number;
private currentSize: number;
private cache: cache<T>;
private head: cacheNode<T> | null = null;
private tail: cacheNode<T> | null = null;
private onFuncs: ((node: cacheNode<T>) => void)[] = [];
constructor(maxAge: number = 2e4, maxSize: number = 5e3) {
this.maxAge = maxAge;
this.maxSize = maxSize;
this.cache = Object.create(null);
this.currentSize = 0;
if (maxSize == 0) return;
setInterval(() => this.removeExpired(), this.maxAge);
}
// 移除LRU节点
private removeLRUNode(node: cacheNode<T>) {
logDebug(
"removeLRUNode",
node.groupId,
node.userId,
node.value,
this.currentSize
);
node.prev = node.next = null;
delete this.cache[node.groupId][node.userId];
this.removeNode(node);
this.onFuncs.forEach((func) => func(node));
this.currentSize--;
}
public on(func: (node: cacheNode<T>) => void) {
this.onFuncs.push(func);
}
private removeExpired() {
const now = Date.now();
let current = this.tail;
const nodesToRemove: cacheNode<T>[] = [];
let removedCount = 0;
// 收集需要删除的节点
while (current && now - current.timestamp > this.maxAge) {
nodesToRemove.push(current);
current = current.prev;
removedCount++;
if (removedCount >= 100) break;
}
// 更新链表指向
if (nodesToRemove.length > 0) {
const newTail = nodesToRemove[nodesToRemove.length - 1].prev;
if (newTail) {
newTail.next = null;
} else {
this.head = null;
}
this.tail = newTail;
}
nodesToRemove.forEach((node) => {
node.prev = node.next = null;
delete this.cache[node.groupId][node.userId];
this.currentSize--;
this.onFuncs.forEach((func) => func(node));
});
}
private addNode(node: cacheNode<T>) {
node.next = this.head;
if (this.head) this.head.prev = node;
if (!this.tail) this.tail = node;
this.head = node;
}
private removeNode(node: cacheNode<T>) {
if (node.prev) node.prev.next = node.next;
if (node.next) node.next.prev = node.prev;
if (node === this.head) this.head = node.next;
if (node === this.tail) this.tail = node.prev;
}
private moveToHead(node: cacheNode<T>) {
if (this.head === node) return;
this.removeNode(node);
this.addNode(node);
node.prev = null;
}
public set(groupId: group_id, userId: user_id, value: T) {
if (!this.cache[groupId]) {
this.cache[groupId] = Object.create(null);
}
const groupObject = this.cache[groupId];
if (groupObject[userId]) {
const node = groupObject[userId];
node.value = value;
node.timestamp = Date.now();
this.moveToHead(node);
} else {
const node = new cacheNode(groupId, userId, value);
groupObject[userId] = node;
this.currentSize++;
this.addNode(node);
if (this.currentSize > this.maxSize) {
const tail = this.tail!;
this.removeLRUNode(tail);
}
}
}
}
export default LRU;

509
src/common/utils/db.ts Normal file
View File

@@ -0,0 +1,509 @@
import { ElementType, FileElement, PicElement, PttElement, RawMessage, VideoElement } from '../../core/src/entities';
import sqlite3 from 'sqlite3';
import { log, logDebug, logError } from '@/common/utils/log';
import { NTQQMsgApi } from '@/core';
import LRU from "@/common/utils/LRUCache";
export interface IRember {
last_sent_time: number;
join_time: number;
user_id: number;
}
type DBMsg = {
id: number,
shortId: number,
longId: string,
seq: number,
peerUid: string,
chatType: number,
}
type DBFile = {
name: string; // 文件名
path: string;
url: string;
size: number;
uuid: string;
msgId: string;
elementId: string;
element: PicElement | VideoElement | FileElement | PttElement;
elementType: ElementType.PIC | ElementType.VIDEO | ElementType.FILE | ElementType.PTT;
}
class DBUtilBase {
protected db: sqlite3.Database | undefined;
async init(dbPath: string) {
if (this.db) {
return;
}
return new Promise<void>((resolve, reject) => {
this.db = new sqlite3.Database(dbPath, sqlite3.OPEN_READWRITE | sqlite3.OPEN_CREATE, (err) => {
if (err) {
logError('Could not connect to database', err);
reject(err);
return;
}
this.createTable();
resolve();
});
});
}
protected createTable() {
throw new Error('Method not implemented.');
}
close() {
this.db?.close();
}
}
class DBUtil extends DBUtilBase {
private msgCache: Map<string | number, RawMessage> = new Map<string | number, RawMessage>();
private globalMsgShortId = -2147483640;
private groupIds: number[] = [];
private LURCache = new LRU<number>();
private LastSentCache = new (class {
private cache: { gid: number; uid: number }[] = [];
private maxSize: number;
constructor(maxSize: number = 5000) {
this.maxSize = maxSize;
}
get(gid: number, uid: number): boolean {
const exists = this.cache.some(
(entry) => entry.gid === gid && entry.uid === uid
);
if (!exists) {
this.cache.push({ gid, uid });
if (this.cache.length > this.maxSize) {
this.cache.shift();
}
}
return exists;
}
})();
constructor() {
super();
const interval = 1000 * 60 * 10; // 10分钟清理一次缓存
setInterval(() => {
logDebug('清理消息缓存');
this.msgCache.forEach((msg, key) => {
if ((Date.now() - parseInt(msg.msgTime) * 1000) > interval) {
this.msgCache.delete(key);
}
});
}, interval);
}
async init(dbPath: string) {
await super.init(dbPath);
this.globalMsgShortId = await this.getCurrentMaxShortId();
// 初始化群缓存列表
this.db!.serialize(() => {
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)));
//logDebug(`已加载 ${groupIds.length} 个群`);
});
});
this.LURCache.on(async (node) => {
const { value: time, groupId, userId } = node;
logDebug("插入发言时间", userId, groupId);
await this.createGroupInfoTimeTableIfNotExist(groupId);
const method = await this.getDataSetMethod(groupId, userId);
logDebug("插入发言时间方法判断", userId, groupId, method);
const sql =
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);
}
logDebug("插入/更新发言时间成功", userId, groupId);
});
});
}
async getDataSetMethod(groupId: number, userId: number) {
// 缓存记录
if (this.LastSentCache.get(groupId, userId)) {
logDebug("缓存命中", userId, groupId);
return "update";
}
// 数据库判断
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);
}
if (rows.length === 0) {
logDebug("查询发言时间不存在", userId, groupId);
return resolve("insert");
}
logDebug("查询发言时间存在", userId, groupId);
resolve("update");
}
);
});
}
async createGroupInfoTimeTableIfNotExist(groupId: number) {
const createTableSQL = (groupId: number) =>
`CREATE TABLE IF NOT EXISTS "${groupId}" (
user_id INTEGER,
last_sent_time INTEGER,
join_time INTEGER,
PRIMARY KEY (user_id)
);`;
if (this.groupIds.includes(groupId)) {
return;
}
return new Promise((resolve, reject) => {
const sql = createTableSQL(groupId);
this.db!.all(sql, (err) => {
if (err) {
reject(err);
return;
}
this.groupIds.push(groupId);
resolve(true);
});
});
}
protected createTable() {
// 消息记录
const createTableSQL = `
CREATE TABLE IF NOT EXISTS msgs (
id INTEGER PRIMARY KEY AUTOINCREMENT,
shortId INTEGER NOT NULL UNIQUE,
longId TEXT NOT NULL UNIQUE,
seq INTEGER NOT NULL,
peerUid TEXT NOT NULL,
chatType INTEGER NOT NULL
)`;
this.db!.run(createTableSQL, function (err) {
if (err) {
logError('Could not create table msgs', err.stack);
}
});
// 文件缓存
const createFileTableSQL = `
CREATE TABLE IF NOT EXISTS files (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
path TEXT NOT NULL,
url TEXT,
size INTEGER NOT NULL,
uuid TEXT,
elementType INTEGER,
element TEXT NOT NULL,
elementId TEXT NOT NULL,
msgId TEXT NOT NULL
)`;
this.db!.run(createFileTableSQL, function (err) {
if (err) {
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() {
return new Promise<number>((resolve, reject) => {
this.db!.get('SELECT MAX(shortId) as maxId FROM msgs', (err, row: { maxId: number }) => {
if (err) {
logDebug('Could not get max short id, Use default -2147483640', err);
return resolve(-2147483640);
}
logDebug('数据库中消息最大短id', row?.maxId);
resolve(row?.maxId ?? -2147483640);
});
});
}
private async getMsg(query: string, params: any[]) {
const stmt = this.db!.prepare(query);
return new Promise<RawMessage | null>((resolve, reject) => {
stmt.get(...params, (err: any, row: DBMsg) => {
// log("getMsg", row, err);
if (err) {
logError('Could not get msg', err, query, params);
return resolve(null);
}
if (!row) {
// logDebug('不存在数据库中的消息,不进行处理', query, params);
resolve(null);
return;
}
const msgId = row.longId;
NTQQMsgApi.getMsgsByMsgId({ peerUid: row.peerUid, chatType: row.chatType }, [msgId]).then(res => {
const msg = res.msgList[0];
if (!msg) {
resolve(null);
return;
}
msg.id = row.shortId;
resolve(msg);
}).catch(e => {
resolve(null);
});
});
});
}
async getMsgByShortId(shortId: number): Promise<RawMessage | null> {
if (this.msgCache.has(shortId)) {
return this.msgCache.get(shortId)!;
}
const getStmt = 'SELECT * FROM msgs WHERE shortId = ?';
return this.getMsg(getStmt, [shortId]);
}
async getMsgByLongId(longId: string): Promise<RawMessage | null> {
if (this.msgCache.has(longId)) {
return this.msgCache.get(longId)!;
}
return this.getMsg('SELECT * FROM msgs WHERE longId = ?', [longId]);
}
async getMsgBySeq(peerUid: string, seq: string): Promise<RawMessage | null> {
const stmt = 'SELECT * FROM msgs WHERE peerUid = ? AND seq = ?';
return this.getMsg(stmt, [peerUid, seq]);
}
async addMsg(msg: RawMessage, update = true): Promise<number> {
const existMsg = await this.getMsgByLongId(msg.msgId);
if (existMsg) {
// logDebug('消息已存在,更新数据库', msg.msgId);
if (update) this.updateMsg(msg).then();
return existMsg.id!;
}
const stmt = this.db!.prepare('INSERT INTO msgs (shortId, longId, seq, peerUid, chatType) VALUES (?, ?, ?, ?, ?)');
// const runAsync = promisify(stmt.run.bind(stmt));
const shortId = ++this.globalMsgShortId;
msg.id = shortId;
//logDebug(`记录消息到数据库, 消息长id: ${msg.msgId}, 短id: ${msg.id}`);
this.msgCache.set(shortId, msg);
this.msgCache.set(msg.msgId, msg);
stmt.run(this.globalMsgShortId, msg.msgId, msg.msgSeq.toString(), msg.peerUid, msg.chatType, (err: any) => {
if (err) {
if (err.errno === 19) {
this.getMsgByLongId(msg.msgId).then((msg: RawMessage | null) => {
if (msg) {
this.msgCache.set(shortId, msg);
this.msgCache.set(msg.msgId, msg);
// logDebug('获取消息短id成功', msg.id);
} else {
logError('db could not get msg by long id', err);
}
}).catch(e => logError('db getMsgByLongId error', e));
} else {
logError('db could not add msg', err);
}
}
});
return shortId;
}
async updateMsg(msg: RawMessage) {
const existMsg = this.msgCache.get(msg.msgId);
if (existMsg) {
Object.assign(existMsg, msg);
}
//logDebug(`更新消息, shortId:${msg.id}, seq: ${msg.msgSeq}, msgId: ${msg.msgId}`);
const stmt = this.db!.prepare('UPDATE msgs SET seq=? WHERE longId=?');
stmt.run(msg.msgSeq, msg.msgId, (err: any) => {
if (err) {
logError('updateMsg db error', err);
}
});
}
async addFileCache(file: DBFile) {
const stmt = this.db!.prepare('INSERT INTO files (name, path, url, size, uuid, elementType ,element, elementId, msgId) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)');
return new Promise((resolve, reject) => {
stmt.run(file.name, file.path, file.url, file.size, file.uuid,
file.elementType,
JSON.stringify(file.element),
file.elementId,
file.msgId,
function (err: any) {
if (err) {
logError('db could not add file', err);
reject(err);
}
resolve(null);
});
});
}
private async getFileCache(query: string, params: any[]) {
const stmt = this.db!.prepare(query);
return new Promise<DBFile | null>((resolve, reject) => {
stmt.get(...params, (err: any, row: DBFile & { element: string }) => {
if (err) {
logError('db could not get file cache', err);
reject(err);
}
if (row) {
row.element = JSON.parse(row.element);
}
resolve(row);
});
});
}
async getFileCacheByName(name: string): Promise<DBFile | null> {
return this.getFileCache('SELECT * FROM files WHERE name = ?', [name]);
}
async getFileCacheByUuid(uuid: string): Promise<DBFile | null> {
return this.getFileCache('SELECT * FROM files WHERE uuid = ?', [uuid]);
}
// todo: 是否所有的文件都有uuid语音消息有没有uuid
async updateFileCache(file: DBFile) {
const stmt = this.db!.prepare('UPDATE files SET path = ?, url = ? WHERE uuid = ?');
return new Promise((resolve, reject) => {
stmt.run(file.path, file.url, file.uuid, function (err: any) {
if (err) {
logError('db could not update file cache', err);
reject(err);
}
resolve(null);
});
});
}
// 被动收到的临时会话消息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);
return new Promise<IRember[]>((resolve, reject) => {
this.db!.all(`SELECT * FROM "${groupId}" `, (err, rows: IRember[]) => {
if (err) {
logError("查询发言时间失败", groupId);
return resolve([]);
}
logDebug("查询发言时间成功", groupId, rows);
resolve(rows);
});
});
}
insertLastSentTime(
groupId: number,
userId: number,
time: number
) {
this.LURCache.set(groupId, userId, time)
}
async insertJoinTime(
groupId: number,
userId: number,
time: number
) {
await this.createGroupInfoTimeTableIfNotExist(groupId);
this.db!.all(
`INSERT OR REPLACE INTO "${groupId}" (user_id, last_sent_time, join_time) VALUES (?,?,?)`,
[userId, time, time],
(err) => {
if (err)
logError(err),
Promise.reject(),
console.log("插入入群时间失败", userId, groupId);
}
);
}
}
export const dbUtil = new DBUtil();

View File

@@ -4,7 +4,7 @@ import crypto from 'crypto';
import util from 'util';
import path from 'node:path';
import { log } from './log';
import { dbUtil } from '@/core/utils/db';
import { dbUtil } from '@/common/utils/db';
import * as fileType from 'file-type';
import { v4 as uuidv4 } from 'uuid';
import { napCatCore } from '@/core';

View File

@@ -138,6 +138,10 @@ export function migrateConfig(oldConfig: any) {
enable: oldConfig.enableWsReverse,
urls: oldConfig.wsReverseUrls,
},
GroupLocalTime: {
Record: false,
RecordList: []
},
debug: oldConfig.debug,
heartInterval: oldConfig.heartInterval,
messagePostFormat: oldConfig.messagePostFormat,
@@ -145,6 +149,7 @@ export function migrateConfig(oldConfig: any) {
musicSignUrl: oldConfig.musicSignUrl,
reportSelfMessage: oldConfig.reportSelfMessage,
token: oldConfig.token,
};
return newConfig;
}

View File

@@ -3,32 +3,51 @@ import http from 'node:http';
export class RequestUtil {
// 适用于获取服务器下发cookies时获取仅GET
static async HttpsGetCookies(url: string): Promise<Map<string, string>> {
return new Promise<Map<string, string>>((resolve, reject) => {
const protocol = url.startsWith('https://') ? https : http;
protocol.get(url, (res) => {
const cookiesHeader = res.headers['set-cookie'];
if (!cookiesHeader) {
resolve(new Map<string, string>());
} else {
const cookiesMap = new Map<string, string>();
cookiesHeader.forEach((cookieStr) => {
cookieStr.split(';').forEach((cookiePart) => {
const trimmedPart = cookiePart.trim();
if (trimmedPart.includes('=')) {
const [key, value] = trimmedPart.split('=').map(part => part.trim());
cookiesMap.set(key, decodeURIComponent(value)); // 解码cookie值
}
});
static async HttpsGetCookies(url: string): Promise<{ [key: string]: string }> {
const client = url.startsWith('https') ? https : http;
return new Promise((resolve, reject) => {
client.get(url, (res) => {
let cookies: { [key: string]: string } = {};
const handleRedirect = (res: http.IncomingMessage) => {
//console.log(res.headers.location);
if (res.statusCode === 301 || res.statusCode === 302) {
if (res.headers.location) {
const redirectUrl = new URL(res.headers.location, url);
RequestUtil.HttpsGetCookies(redirectUrl.href).then((redirectCookies) => {
// 合并重定向过程中的cookies
cookies = { ...cookies, ...redirectCookies };
resolve(cookies);
});
} else {
resolve(cookies);
}
} else {
resolve(cookies);
}
};
res.on('data', () => { }); // Necessary to consume the stream
res.on('end', () => {
handleRedirect(res);
});
if (res.headers['set-cookie']) {
//console.log(res.headers['set-cookie']);
res.headers['set-cookie'].forEach((cookie) => {
const parts = cookie.split(';')[0].split('=');
const key = parts[0];
const value = parts[1];
if (key && value && key.length > 0 && value.length > 0) {
cookies[key] = value;
}
});
resolve(cookiesMap);
}
}).on('error', (error) => {
reject(error);
}).on('error', (err) => {
reject(err);
});
});
}
// 请求和回复都是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> {
const option = new URL(url);

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

@@ -1 +1 @@
function _0x3ffb(_0x1c9d40,_0x5c0f27){var _0x3f6fc1=_0x3f6f();return _0x3ffb=function(_0x3ffb38,_0x271006){_0x3ffb38=_0x3ffb38-0x106;var _0x4276a5=_0x3f6fc1[_0x3ffb38];return _0x4276a5;},_0x3ffb(_0x1c9d40,_0x5c0f27);}function _0x3f6f(){var _0x424618=['getGroupCode','1741044ILxECp','9UQYNaS','onMSFStatusChange','2991672SkTikU','1460KsUXQA','4776496veTTGZ','12661LifKnO','onMSFSsoError','129RqxIOj','5YyHkMs','445732NKyeiU','17092eYzbuN','2609103PKGyhk'];_0x3f6f=function(){return _0x424618;};return _0x3f6f();}var _0x4b3ca7=_0x3ffb;(function(_0x33ead7,_0x3bd86f){var _0x32553b=_0x3ffb,_0x4adca9=_0x33ead7();while(!![]){try{var _0x3ec3d5=parseInt(_0x32553b(0x108))/0x1+parseInt(_0x32553b(0x10c))/0x2+parseInt(_0x32553b(0x106))/0x3*(-parseInt(_0x32553b(0x109))/0x4)+parseInt(_0x32553b(0x107))/0x5*(parseInt(_0x32553b(0x10f))/0x6)+-parseInt(_0x32553b(0x10a))/0x7+-parseInt(_0x32553b(0x111))/0x8*(parseInt(_0x32553b(0x10d))/0x9)+parseInt(_0x32553b(0x110))/0xa*(-parseInt(_0x32553b(0x112))/0xb);if(_0x3ec3d5===_0x3bd86f)break;else _0x4adca9['push'](_0x4adca9['shift']());}catch(_0x38a67f){_0x4adca9['push'](_0x4adca9['shift']());}}}(_0x3f6f,0x786ea));export class DependsAdapter{[_0x4b3ca7(0x10e)](_0x3c085d,_0x69bfec){}[_0x4b3ca7(0x113)](_0x37eb86){}[_0x4b3ca7(0x10b)](_0x115358){}}
var _0x53ad75=_0x4803;function _0xe478(){var _0x5596f4=['onMSFStatusChange','8478DSeblD','120CBHLmq','getGroupCode','8142540ClqKUq','12034690uHLFGZ','428571uSIPMn','338876izjvuv','233PrhtpI','18JfPLcz','4504910cOvOVi','onMSFSsoError','2284698NHCKkY'];_0xe478=function(){return _0x5596f4;};return _0xe478();}function _0x4803(_0x455fa5,_0x3374cc){var _0xe478fc=_0xe478();return _0x4803=function(_0x4803d1,_0x5c7d64){_0x4803d1=_0x4803d1-0x166;var _0x407b69=_0xe478fc[_0x4803d1];return _0x407b69;},_0x4803(_0x455fa5,_0x3374cc);}(function(_0xd52527,_0x276b3b){var _0x29e235=_0x4803,_0x318582=_0xd52527();while(!![]){try{var _0x4398a7=parseInt(_0x29e235(0x16d))/0x1*(-parseInt(_0x29e235(0x166))/0x2)+parseInt(_0x29e235(0x16e))/0x3*(parseInt(_0x29e235(0x16c))/0x4)+-parseInt(_0x29e235(0x16f))/0x5+parseInt(_0x29e235(0x171))/0x6+parseInt(_0x29e235(0x169))/0x7+parseInt(_0x29e235(0x167))/0x8*(-parseInt(_0x29e235(0x16b))/0x9)+parseInt(_0x29e235(0x16a))/0xa;if(_0x4398a7===_0x276b3b)break;else _0x318582['push'](_0x318582['shift']());}catch(_0x35cc58){_0x318582['push'](_0x318582['shift']());}}}(_0xe478,0x9f620));export class DependsAdapter{[_0x53ad75(0x172)](_0x5352ea,_0x25f40e){}[_0x53ad75(0x170)](_0x522fec){}[_0x53ad75(0x168)](_0x247a93){}}

View File

@@ -1 +1 @@
var _0x52b112=_0xd933;(function(_0x4a6d40,_0x4c13c7){var _0xf87581=_0xd933,_0x29b633=_0x4a6d40();while(!![]){try{var _0x30e6af=parseInt(_0xf87581(0xa7))/0x1*(parseInt(_0xf87581(0xa4))/0x2)+-parseInt(_0xf87581(0xa6))/0x3*(parseInt(_0xf87581(0xab))/0x4)+-parseInt(_0xf87581(0xa8))/0x5+-parseInt(_0xf87581(0xaa))/0x6*(parseInt(_0xf87581(0xa1))/0x7)+parseInt(_0xf87581(0xa9))/0x8+-parseInt(_0xf87581(0xa5))/0x9+parseInt(_0xf87581(0xa2))/0xa;if(_0x30e6af===_0x4c13c7)break;else _0x29b633['push'](_0x29b633['shift']());}catch(_0xa6e89a){_0x29b633['push'](_0x29b633['shift']());}}}(_0x24bd,0x4f6e6));function _0xd933(_0x2d09b4,_0x3dd1dd){var _0x24bd66=_0x24bd();return _0xd933=function(_0xd93315,_0x493521){_0xd93315=_0xd93315-0xa0;var _0x158785=_0x24bd66[_0xd93315];return _0x158785;},_0xd933(_0x2d09b4,_0x3dd1dd);}export class DispatcherAdapter{['dispatchRequest'](_0x30d484){}[_0x52b112(0xa0)](_0x5ba9d6){}[_0x52b112(0xa3)](_0x625e47){}}function _0x24bd(){var _0x7d7cd8=['2uOYoUv','4014072veOxGh','19569xyvpdc','381509XEoltP','1035340ogRufz','4053608idUyPQ','6dctSqr','68iHMTrv','dispatchCall','3611804pSiiVh','7170790rxsDql','dispatchCallWithJson'];_0x24bd=function(){return _0x7d7cd8;};return _0x24bd();}
function _0x158b(){var _0x40fbd5=['3062871vunmFV','3zYOYxk','844044tpZmIc','749852nrnXeE','dispatchRequest','1290RHPCdr','10woqzDv','18728BYyKUV','dispatchCallWithJson','2442069YPAYtZ','dispatchCall','15945sSktrD','5819128TvdfDs'];_0x158b=function(){return _0x40fbd5;};return _0x158b();}var _0x43a50b=_0x1196;function _0x1196(_0x215c22,_0x3dcb48){var _0x158b1e=_0x158b();return _0x1196=function(_0x1196d1,_0x32c0b9){_0x1196d1=_0x1196d1-0x1c1;var _0x461c24=_0x158b1e[_0x1196d1];return _0x461c24;},_0x1196(_0x215c22,_0x3dcb48);}(function(_0xde87af,_0x11e6b0){var _0x4524e8=_0x1196,_0x2ac0b2=_0xde87af();while(!![]){try{var _0x14e82f=-parseInt(_0x4524e8(0x1c7))/0x1+-parseInt(_0x4524e8(0x1c6))/0x2*(-parseInt(_0x4524e8(0x1c5))/0x3)+-parseInt(_0x4524e8(0x1cb))/0x4+parseInt(_0x4524e8(0x1c2))/0x5*(parseInt(_0x4524e8(0x1c9))/0x6)+-parseInt(_0x4524e8(0x1cd))/0x7+parseInt(_0x4524e8(0x1c3))/0x8+-parseInt(_0x4524e8(0x1c4))/0x9*(parseInt(_0x4524e8(0x1ca))/0xa);if(_0x14e82f===_0x11e6b0)break;else _0x2ac0b2['push'](_0x2ac0b2['shift']());}catch(_0x1db3ad){_0x2ac0b2['push'](_0x2ac0b2['shift']());}}}(_0x158b,0x5f8a0));export class DispatcherAdapter{[_0x43a50b(0x1c8)](_0x663338){}[_0x43a50b(0x1c1)](_0x53028f){}[_0x43a50b(0x1cc)](_0x4257c9){}}

View File

@@ -1 +1 @@
function _0x50c4(){var _0x3eea2a=['getAppSetting','163730UvfChN','onGetSrvCalTime','onInstallFinished','104088erCANA','fixPicImgType','54toVfOL','1260681vpHdod','onGetOfflineMsg','268416SvTneZ','onLog','onUpdateGeneralFlag','onShowErrUITips','141243xTPnPi','6PeSSJq','170opSVVT','636996Rslxgl','1229680hZXLtw'];_0x50c4=function(){return _0x3eea2a;};return _0x50c4();}function _0x55b6(_0x70c27b,_0x3f3da4){var _0x50c4e0=_0x50c4();return _0x55b6=function(_0x55b601,_0x4f0278){_0x55b601=_0x55b601-0x175;var _0x39478e=_0x50c4e0[_0x55b601];return _0x39478e;},_0x55b6(_0x70c27b,_0x3f3da4);}var _0x33bddf=_0x55b6;(function(_0xba609f,_0x936df){var _0x5e1af5=_0x55b6,_0x41ca77=_0xba609f();while(!![]){try{var _0x47d9b9=parseInt(_0x5e1af5(0x17c))/0x1*(parseInt(_0x5e1af5(0x17d))/0x2)+parseInt(_0x5e1af5(0x176))/0x3+parseInt(_0x5e1af5(0x17f))/0x4+-parseInt(_0x5e1af5(0x17e))/0x5*(parseInt(_0x5e1af5(0x185))/0x6)+-parseInt(_0x5e1af5(0x182))/0x7+-parseInt(_0x5e1af5(0x178))/0x8*(parseInt(_0x5e1af5(0x175))/0x9)+parseInt(_0x5e1af5(0x180))/0xa;if(_0x47d9b9===_0x936df)break;else _0x41ca77['push'](_0x41ca77['shift']());}catch(_0xed31c1){_0x41ca77['push'](_0x41ca77['shift']());}}}(_0x50c4,0x4c157));export class GlobalAdapter{[_0x33bddf(0x179)](..._0x264d21){}[_0x33bddf(0x183)](..._0x2a10a7){}[_0x33bddf(0x17b)](..._0x507c11){}[_0x33bddf(0x186)](..._0x4f66c7){}[_0x33bddf(0x181)](..._0x11b2e5){}[_0x33bddf(0x184)](..._0x29bc58){}[_0x33bddf(0x17a)](..._0x51d8ee){}[_0x33bddf(0x177)](..._0x437666){}}
function _0x238a(){var _0x2f782d=['1000848yukvGL','onInstallFinished','5585885gLEaQu','4VYrsqU','onLog','2218657SXADhe','8271816fbxQav','1210040ynNaGd','167270boAwyT','1109100ybCVbQ','765byyBwI','onGetSrvCalTime','12bTBpih','onUpdateGeneralFlag','onShowErrUITips'];_0x238a=function(){return _0x2f782d;};return _0x238a();}var _0x54dfea=_0x46f2;function _0x46f2(_0x1c572b,_0x400d30){var _0x238a4f=_0x238a();return _0x46f2=function(_0x46f2c3,_0x1890a0){_0x46f2c3=_0x46f2c3-0x1cc;var _0x2dbfad=_0x238a4f[_0x46f2c3];return _0x2dbfad;},_0x46f2(_0x1c572b,_0x400d30);}(function(_0x268b2c,_0x2ea7c2){var _0x41b9cc=_0x46f2,_0x3d5952=_0x268b2c();while(!![]){try{var _0x513579=parseInt(_0x41b9cc(0x1ce))/0x1+-parseInt(_0x41b9cc(0x1d5))/0x2+-parseInt(_0x41b9cc(0x1d7))/0x3+-parseInt(_0x41b9cc(0x1d1))/0x4*(-parseInt(_0x41b9cc(0x1d0))/0x5)+-parseInt(_0x41b9cc(0x1da))/0x6*(parseInt(_0x41b9cc(0x1d3))/0x7)+-parseInt(_0x41b9cc(0x1d4))/0x8+-parseInt(_0x41b9cc(0x1d8))/0x9*(-parseInt(_0x41b9cc(0x1d6))/0xa);if(_0x513579===_0x2ea7c2)break;else _0x3d5952['push'](_0x3d5952['shift']());}catch(_0x1ffa66){_0x3d5952['push'](_0x3d5952['shift']());}}}(_0x238a,0xdb0c5));export class GlobalAdapter{[_0x54dfea(0x1d2)](..._0x23a9ba){}[_0x54dfea(0x1d9)](..._0xc9932c){}[_0x54dfea(0x1cd)](..._0x1c2c5e){}['fixPicImgType'](..._0x247bd1){}['getAppSetting'](..._0x4bfe6c){}[_0x54dfea(0x1cf)](..._0x29783c){}[_0x54dfea(0x1cc)](..._0x38d085){}['onGetOfflineMsg'](..._0x51024e){}}

View File

@@ -1 +1 @@
function _0x2cc7(_0x2520ab,_0x5ce3c1){var _0x18ac5f=_0x18ac();return _0x2cc7=function(_0x2cc70c,_0x30e5af){_0x2cc70c=_0x2cc70c-0x105;var _0x4f53d0=_0x18ac5f[_0x2cc70c];return _0x4f53d0;},_0x2cc7(_0x2520ab,_0x5ce3c1);}function _0x18ac(){var _0x10a0e0=['2959586cxfKRA','806004JWBpxd','1467524jEbBvR','50250WfmcKe','1550916wbwZqP','5Shnsog','104106dckgZn','2170856AktLrt'];_0x18ac=function(){return _0x10a0e0;};return _0x18ac();}(function(_0x141983,_0x304f22){var _0xab2e7c=_0x2cc7,_0x5b6cf6=_0x141983();while(!![]){try{var _0x1e9083=-parseInt(_0xab2e7c(0x10b))/0x1+-parseInt(_0xab2e7c(0x109))/0x2+parseInt(_0xab2e7c(0x10c))/0x3+-parseInt(_0xab2e7c(0x10a))/0x4*(-parseInt(_0xab2e7c(0x105))/0x5)+-parseInt(_0xab2e7c(0x106))/0x6+-parseInt(_0xab2e7c(0x108))/0x7+parseInt(_0xab2e7c(0x107))/0x8;if(_0x1e9083===_0x304f22)break;else _0x5b6cf6['push'](_0x5b6cf6['shift']());}catch(_0x812e8b){_0x5b6cf6['push'](_0x5b6cf6['shift']());}}}(_0x18ac,0x3feb1));export*from'./NodeIDependsAdapter';export*from'./NodeIDispatcherAdapter';export*from'./NodeIGlobalAdapter';
(function(_0x4e675e,_0x33381c){var _0x149ce6=_0x5a58,_0x3870c1=_0x4e675e();while(!![]){try{var _0x1bfc29=parseInt(_0x149ce6(0x70))/0x1*(-parseInt(_0x149ce6(0x6e))/0x2)+-parseInt(_0x149ce6(0x73))/0x3*(-parseInt(_0x149ce6(0x71))/0x4)+-parseInt(_0x149ce6(0x72))/0x5+parseInt(_0x149ce6(0x75))/0x6+-parseInt(_0x149ce6(0x76))/0x7+parseInt(_0x149ce6(0x74))/0x8+parseInt(_0x149ce6(0x6f))/0x9;if(_0x1bfc29===_0x33381c)break;else _0x3870c1['push'](_0x3870c1['shift']());}catch(_0x557e6b){_0x3870c1['push'](_0x3870c1['shift']());}}}(_0x15ef,0xa25f5));function _0x5a58(_0x5859b3,_0x35f5bc){var _0x15ef17=_0x15ef();return _0x5a58=function(_0x5a58c0,_0x1337cb){_0x5a58c0=_0x5a58c0-0x6e;var _0x4ec18e=_0x15ef17[_0x5a58c0];return _0x4ec18e;},_0x5a58(_0x5859b3,_0x35f5bc);}function _0x15ef(){var _0x56c869=['2087340rclyQF','9plctPm','9984688aEkshO','854592heAZeF','5016291dEMrLe','5826EGMCIE','4201965RXVteZ','246KeDUoo','877804cXkxwW'];_0x15ef=function(){return _0x56c869;};return _0x15ef();}export*from'./NodeIDependsAdapter';export*from'./NodeIDispatcherAdapter';export*from'./NodeIGlobalAdapter';

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
const _0x1797a0=_0x7579;(function(_0x4a00c9,_0x1a1bcf){const _0x4f7461=_0x7579,_0x3ab7bf=_0x4a00c9();while(!![]){try{const _0x5127a1=-parseInt(_0x4f7461(0xc0))/0x1+-parseInt(_0x4f7461(0xce))/0x2+-parseInt(_0x4f7461(0xca))/0x3+-parseInt(_0x4f7461(0xd5))/0x4+-parseInt(_0x4f7461(0xdc))/0x5+-parseInt(_0x4f7461(0xd7))/0x6+parseInt(_0x4f7461(0xc1))/0x7;if(_0x5127a1===_0x1a1bcf)break;else _0x3ab7bf['push'](_0x3ab7bf['shift']());}catch(_0x3b477f){_0x3ab7bf['push'](_0x3ab7bf['shift']());}}}(_0x38c8,0x1a6d1));import{BuddyListener,napCatCore}from'@/core';function _0x38c8(){const _0x10c91e=['getFriends','获取好友列表完成','ctBpC','onLoginSuccess','friendUid','set','713392fKCymF','uid','607770AgbOMf','开始获取好友列表','push','onBuddyListChange','SBtQW','340480axdnze','reqTime','getBuddyList','buddyList','94497USEBdn','5330262pmqsLp','Lbdfb','BMXGx','uin','then','获取好友列表超时','MherE','QOggR','session','260637funfGr','getBuddyService','MJWcD','handleFriendRequest','248220ncLXgZ'];_0x38c8=function(){return _0x10c91e;};return _0x38c8();}import{logDebug}from'@/common/utils/log';import{uid2UinMap}from'@/core/data';import{randomUUID}from'crypto';function _0x7579(_0x595e4d,_0x2b9809){const _0x38c8d8=_0x38c8();return _0x7579=function(_0x75790d,_0x26832b){_0x75790d=_0x75790d-0xc0;let _0x1d57ed=_0x38c8d8[_0x75790d];return _0x1d57ed;},_0x7579(_0x595e4d,_0x2b9809);}const buddyChangeTasks=new Map(),buddyListener=new BuddyListener();buddyListener[_0x1797a0(0xda)]=_0x397554=>{const _0x3a1160=_0x1797a0,_0x483bd1={'BMXGx':function(_0x7f1a28,_0xf6c771){return _0x7f1a28(_0xf6c771);}};for(const [_0x3011d4,_0x109955]of buddyChangeTasks){_0x483bd1[_0x3a1160(0xc3)](_0x109955,_0x397554),buddyChangeTasks['delete'](_0x3011d4);}},setTimeout(()=>{const _0xdbd5b2=_0x1797a0;napCatCore[_0xdbd5b2(0xd2)](()=>{napCatCore['addListener'](buddyListener);});},0x64);export class NTQQFriendApi{static async[_0x1797a0(0xcf)](_0x3e89fb=![]){const _0x5d7f15=_0x1797a0,_0x3241ae={'Lbdfb':function(_0x1cd2be,_0x3fd31a,_0x34022c){return _0x1cd2be(_0x3fd31a,_0x34022c);},'MherE':_0x5d7f15(0xd0),'SBtQW':function(_0x34b8dd,_0x2c8fc0,_0x22c34c){return _0x34b8dd(_0x2c8fc0,_0x22c34c);},'Kjaux':function(_0x2b59ba,_0x1dc4eb){return _0x2b59ba(_0x1dc4eb);},'ctBpC':_0x5d7f15(0xc6),'ygIll':function(_0xb4e617){return _0xb4e617();}};return new Promise((_0x435b37,_0x2f980c)=>{const _0x39913b=_0x5d7f15,_0x39f420={'MJWcD':function(_0x56d04d,_0x2d94f5){return _0x3241ae['Kjaux'](_0x56d04d,_0x2d94f5);},'QOggR':_0x3241ae[_0x39913b(0xd1)]};let _0x376d2e=![];setTimeout(()=>{const _0xe1411b=_0x39913b;!_0x376d2e&&(logDebug(_0xe1411b(0xc6)),_0x39f420[_0xe1411b(0xcc)](_0x2f980c,_0x39f420[_0xe1411b(0xc8)]));},0x1388);const _0x8c6619=[],_0x43bf21=_0x59f7b3=>{const _0x2ceb9a=_0x39913b;for(const _0x4375a9 of _0x59f7b3){for(const _0x137b40 of _0x4375a9[_0x2ceb9a(0xdf)]){_0x8c6619[_0x2ceb9a(0xd9)](_0x137b40),uid2UinMap[_0x137b40[_0x2ceb9a(0xd6)]]=_0x137b40[_0x2ceb9a(0xc4)];}}_0x376d2e=!![],_0x3241ae[_0x2ceb9a(0xc2)](logDebug,_0x3241ae[_0x2ceb9a(0xc7)],_0x8c6619),_0x435b37(_0x8c6619);};buddyChangeTasks[_0x39913b(0xd4)](_0x3241ae['ygIll'](randomUUID),_0x43bf21),napCatCore[_0x39913b(0xc9)][_0x39913b(0xcb)]()[_0x39913b(0xde)](_0x3e89fb)[_0x39913b(0xc5)](_0x472491=>{const _0x2905b9=_0x39913b;_0x3241ae[_0x2905b9(0xdb)](logDebug,_0x2905b9(0xd8),_0x472491);});});}static async[_0x1797a0(0xcd)](_0x39ccf9,_0xd0ee6f){const _0x96ed9a=_0x1797a0;napCatCore['session'][_0x96ed9a(0xcb)]()?.['approvalFriendRequest']({'friendUid':_0x39ccf9[_0x96ed9a(0xd3)],'reqTime':_0x39ccf9[_0x96ed9a(0xdd)],'accept':_0xd0ee6f});}}
const _0xd4c679=_0x4272;(function(_0x496a3b,_0xb73cdd){const _0x1e4b08=_0x4272,_0x5a6bc5=_0x496a3b();while(!![]){try{const _0x288afd=parseInt(_0x1e4b08(0x1be))/0x1*(parseInt(_0x1e4b08(0x1b1))/0x2)+parseInt(_0x1e4b08(0x1ba))/0x3*(parseInt(_0x1e4b08(0x1bb))/0x4)+-parseInt(_0x1e4b08(0x1b4))/0x5+-parseInt(_0x1e4b08(0x1aa))/0x6*(parseInt(_0x1e4b08(0x1c1))/0x7)+-parseInt(_0x1e4b08(0x1a5))/0x8*(parseInt(_0x1e4b08(0x1b8))/0x9)+parseInt(_0x1e4b08(0x1a9))/0xa+parseInt(_0x1e4b08(0x1c0))/0xb;if(_0x288afd===_0xb73cdd)break;else _0x5a6bc5['push'](_0x5a6bc5['shift']());}catch(_0x34e642){_0x5a6bc5['push'](_0x5a6bc5['shift']());}}}(_0x5a33,0xa8480));import{BuddyListener,napCatCore}from'@/core';import{logDebug}from'@/common/utils/log';import{uid2UinMap}from'@/core/data';function _0x5a33(){const _0x281cfb=['459332UUuQfM','uid','16328070ExNyrh','7ktzxku','getBuddyService','WksIN','set','获取好友列表超时','delete','8GJFJeL','reqTime','XcrxL','friendUid','2853640wHvxGr','6450762meNpzT','session','handleFriendRequest','iclee','onLoginSuccess','push','approvalFriendRequest','2EPJvRC','onBuddyListChange','buddyList','445080rFelIA','uin','aSDoe','LfWBK','5875533aSnnxI','开始获取好友列表','18BXJLCi','184796tBuDBv','JsMRs','JxKJH'];_0x5a33=function(){return _0x281cfb;};return _0x5a33();}import{randomUUID}from'crypto';const buddyChangeTasks=new Map(),buddyListener=new BuddyListener();function _0x4272(_0x4f3826,_0x29a058){const _0x5a3375=_0x5a33();return _0x4272=function(_0x427267,_0x3643e1){_0x427267=_0x427267-0x1a0;let _0x33abc8=_0x5a3375[_0x427267];return _0x33abc8;},_0x4272(_0x4f3826,_0x29a058);}buddyListener[_0xd4c679(0x1b2)]=_0x590332=>{const _0x224a7a=_0xd4c679,_0x1d210f={'jjksZ':function(_0x41fb46,_0x4f5f29){return _0x41fb46(_0x4f5f29);}};for(const [_0x1a3d0f,_0xff7093]of buddyChangeTasks){_0x1d210f['jjksZ'](_0xff7093,_0x590332),buddyChangeTasks[_0x224a7a(0x1a4)](_0x1a3d0f);}},setTimeout(()=>{const _0x51828c=_0xd4c679;napCatCore[_0x51828c(0x1ae)](()=>{napCatCore['addListener'](buddyListener);});},0x64);export class NTQQFriendApi{static async['getFriends'](_0x2f4c84=![]){const _0xaf62f3=_0xd4c679,_0x32fb99={'JxKJH':function(_0x49e7d8,_0x3fb2b2){return _0x49e7d8(_0x3fb2b2);},'WksIN':_0xaf62f3(0x1a3),'LfWBK':function(_0x16b79a,_0x4cf5f9){return _0x16b79a(_0x4cf5f9);},'JsMRs':function(_0x45e55f,_0x3912f8){return _0x45e55f(_0x3912f8);},'AxTme':function(_0x384c13,_0x39c1b9,_0x2ef241){return _0x384c13(_0x39c1b9,_0x2ef241);},'iclee':function(_0x4e72f3){return _0x4e72f3();}};return new Promise((_0xf6b6df,_0xed31ba)=>{const _0x5d83fd=_0xaf62f3,_0x4ea5e1={'aSDoe':function(_0x45cfac,_0x55e521,_0x43ae7f){return _0x32fb99['AxTme'](_0x45cfac,_0x55e521,_0x43ae7f);},'XcrxL':_0x5d83fd(0x1b9)};let _0x548f69=![];setTimeout(()=>{const _0x132875=_0x5d83fd;!_0x548f69&&(_0x32fb99[_0x132875(0x1bd)](logDebug,_0x32fb99[_0x132875(0x1a1)]),_0x32fb99[_0x132875(0x1b7)](_0xed31ba,_0x32fb99[_0x132875(0x1a1)]));},0x1388);const _0x17d3e2=[],_0x32e5a0=_0x2da32a=>{const _0x4d3a2e=_0x5d83fd;for(const _0x8e01ff of _0x2da32a){for(const _0x457644 of _0x8e01ff[_0x4d3a2e(0x1b3)]){_0x17d3e2[_0x4d3a2e(0x1af)](_0x457644),uid2UinMap[_0x457644[_0x4d3a2e(0x1bf)]]=_0x457644[_0x4d3a2e(0x1b5)];}}_0x548f69=!![],_0x32fb99[_0x4d3a2e(0x1bc)](_0xf6b6df,_0x17d3e2);};buddyChangeTasks[_0x5d83fd(0x1a2)](_0x32fb99[_0x5d83fd(0x1ad)](randomUUID),_0x32e5a0),napCatCore['session'][_0x5d83fd(0x1a0)]()['getBuddyList'](_0x2f4c84)['then'](_0x50f2a9=>{const _0x39d904=_0x5d83fd;_0x4ea5e1[_0x39d904(0x1b6)](logDebug,_0x4ea5e1[_0x39d904(0x1a7)],_0x50f2a9);});});}static async[_0xd4c679(0x1ac)](_0x47c73f,_0x41bf22){const _0x436052=_0xd4c679;napCatCore[_0x436052(0x1ab)][_0x436052(0x1a0)]()?.[_0x436052(0x1b0)]({'friendUid':_0x47c73f[_0x436052(0x1a8)],'reqTime':_0x47c73f[_0x436052(0x1a6)],'accept':_0x41bf22});}}

View File

@@ -1,9 +1,33 @@
import { GroupMember, GroupRequestOperateTypes, GroupMemberRole, GroupNotify, Group } from '../entities';
export declare class NTQQGroupApi {
static getGroups(forced?: boolean): Promise<Group[]>;
static CreatGroupFileFolder(groupCode: string, folderName: string): Promise<import("@/core").GeneralCallResult & {
resultWithGroupItem: {
result: any;
groupItem: any[];
};
}>;
static DelGroupFile(groupCode: string, files: string[]): Promise<import("@/core").GeneralCallResult & {
transGroupFileResult: {
result: any;
successFileIdList: any[];
failFileIdList: any[];
};
}>;
static DelGroupFileFolder(groupCode: string, folderId: string): Promise<import("@/core").GeneralCallResult & {
groupFileCommonResult: {
retCode: number;
retMsg: string;
clientWording: string;
};
}>;
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 & {
groupCodes: string[];
groupFileCounts: number[];
}>;
static getGroupIgnoreNotifies(): Promise<void>;
static uploadGroupBulletinPic(GroupCode: string, imageurl: string): Promise<import("@/core").GeneralCallResult & {
errCode: number;

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
(function(_0x1105e4,_0x20d2af){var _0x476949=_0x5d6d,_0x2b96e5=_0x1105e4();while(!![]){try{var _0x1f09e2=parseInt(_0x476949(0x19f))/0x1*(-parseInt(_0x476949(0x196))/0x2)+-parseInt(_0x476949(0x19e))/0x3*(-parseInt(_0x476949(0x197))/0x4)+-parseInt(_0x476949(0x19b))/0x5+parseInt(_0x476949(0x199))/0x6+parseInt(_0x476949(0x198))/0x7+-parseInt(_0x476949(0x19a))/0x8*(-parseInt(_0x476949(0x19d))/0x9)+-parseInt(_0x476949(0x19c))/0xa;if(_0x1f09e2===_0x20d2af)break;else _0x2b96e5['push'](_0x2b96e5['shift']());}catch(_0x154754){_0x2b96e5['push'](_0x2b96e5['shift']());}}}(_0x1c47,0x83c3e));export*from'./file';function _0x5d6d(_0x2f1df9,_0xe64233){var _0x1c4767=_0x1c47();return _0x5d6d=function(_0x5d6d7c,_0x338475){_0x5d6d7c=_0x5d6d7c-0x196;var _0x282e21=_0x1c4767[_0x5d6d7c];return _0x282e21;},_0x5d6d(_0x2f1df9,_0xe64233);}export*from'./friend';export*from'./group';export*from'./msg';export*from'./user';export*from'./webapi';function _0x1c47(){var _0x5e51b8=['1285053KkKMMU','1374738CZfBXm','453976NhQeLP','1285170PoALbZ','6373660RZXiQX','72HqEeCa','366BSLZDb','13093JWjawp','12OHSuVp','21180ZQlwjF'];_0x1c47=function(){return _0x5e51b8;};return _0x1c47();}export*from'./sign';export*from'./system';
function _0x30de(){var _0x4dfdea=['30892fYcrRX','1978106FrErvJ','6017192UzyTuC','1143429tFSDZD','801784hQOjok','1050YkgOKc','32736447tmErVs','36awLbjC','1516245WndRLq'];_0x30de=function(){return _0x4dfdea;};return _0x30de();}(function(_0x1de97e,_0x53b6d7){var _0x5147ea=_0x3127,_0x10a0e3=_0x1de97e();while(!![]){try{var _0x49fe07=-parseInt(_0x5147ea(0xa3))/0x1+parseInt(_0x5147ea(0xa0))/0x2+parseInt(_0x5147ea(0x9e))/0x3+parseInt(_0x5147ea(0x9f))/0x4*(-parseInt(_0x5147ea(0xa4))/0x5)+-parseInt(_0x5147ea(0x9d))/0x6*(parseInt(_0x5147ea(0xa2))/0x7)+-parseInt(_0x5147ea(0xa1))/0x8+parseInt(_0x5147ea(0xa5))/0x9;if(_0x49fe07===_0x53b6d7)break;else _0x10a0e3['push'](_0x10a0e3['shift']());}catch(_0x3d504e){_0x10a0e3['push'](_0x10a0e3['shift']());}}}(_0x30de,0xee486));export*from'./file';export*from'./friend';export*from'./group';function _0x3127(_0x110d8c,_0x21de71){var _0x30de91=_0x30de();return _0x3127=function(_0x3127d4,_0x291243){_0x3127d4=_0x3127d4-0x9d;var _0x30a550=_0x30de91[_0x3127d4];return _0x30a550;},_0x3127(_0x110d8c,_0x21de71);}export*from'./msg';export*from'./user';export*from'./webapi';export*from'./sign';export*from'./system';

View File

@@ -1,4 +1,4 @@
import { Peer, RawMessage, SendMessageElement } from '@/core/entities';
import { GetFileListParam, Peer, RawMessage, SendMessageElement } from '@/core/entities';
import { GeneralCallResult } from '@/core/services/common';
export declare class NTQQMsgApi {
static setEmojiLike(peer: Peer, msgSeq: string, emojiId: string, set?: boolean): Promise<unknown>;
@@ -14,6 +14,12 @@ export declare class NTQQMsgApi {
static activateChat(peer: Peer): Promise<void>;
static activateChatAndGetHistory(peer: Peer): Promise<void>;
static setMsgRead(peer: Peer): Promise<GeneralCallResult>;
static getGroupFileList(GroupCode: string, params: GetFileListParam): Promise<{
FileList: Array<any>;
totalSpace: number;
usedSpace: number;
allUpload: boolean;
}>;
static getMsgHistory(peer: Peer, msgId: string, count: number): Promise<GeneralCallResult & {
msgList: RawMessage[];
}>;

File diff suppressed because one or more lines are too long

View File

@@ -10,3 +10,14 @@ export interface CustomMusicSignPostData {
image?: string;
singer?: string;
}
export interface MiniAppLuaJsonType {
prompt: string;
title: string;
preview: string;
jumpUrl: string;
tag: string;
tagIcon: string;
source: string;
sourcelogo: string;
}
export declare function SignMiniApp(CardData: MiniAppLuaJsonType): Promise<string>;

View File

@@ -1 +1 @@
export{};
function _0x1cdc(){const _0x52229f=[';\x20skey=','genBkn','WNsrP','306FNUjyz','preview','signed_ark','\x5c/\x5c/','sourcelogo','4195qRUdIj','miniapp','title','uin','aWjNX','tagIcon','replace','https://h5.qzone.qq.com/v2/vip/tx/trpc/ark-share/GenNewSignedArk?g_tk=','&ark=','51tnItBa','stringify','jumpUrl','GET','21690uqUhhx','yKRsG','195oyiJTX','AaAVw','skey','normal','tag','22224XRNelA','173916uuvDFJ','source','tianxuan.imgJumpArk','20fyQjiM','p_skey=','2012346iZcXuj','p_skey','MiniApp\x20JSON\x20消息生成失败','42IhwlPM','data','157264BCSwTW','getQzoneCookies',';\x20p_uin=o','2773727oWKvpG','gljct','com.tencent.miniapp.lua','HttpGetJson','prompt','VEBFq','fcQLU','WccSO','38UHMRLY'];_0x1cdc=function(){return _0x52229f;};return _0x1cdc();}(function(_0x9cb42e,_0x1d6622){const _0x5868f1=_0x18e2,_0x1d3ea2=_0x9cb42e();while(!![]){try{const _0x213a11=parseInt(_0x5868f1(0x82))/0x1*(-parseInt(_0x5868f1(0x9f))/0x2)+parseInt(_0x5868f1(0x7e))/0x3*(parseInt(_0x5868f1(0x89))/0x4)+-parseInt(_0x5868f1(0x75))/0x5*(parseInt(_0x5868f1(0x70))/0x6)+-parseInt(_0x5868f1(0x92))/0x7*(-parseInt(_0x5868f1(0x94))/0x8)+parseInt(_0x5868f1(0x8f))/0x9+-parseInt(_0x5868f1(0x8d))/0xa*(-parseInt(_0x5868f1(0x97))/0xb)+parseInt(_0x5868f1(0x8a))/0xc*(-parseInt(_0x5868f1(0x84))/0xd);if(_0x213a11===_0x1d6622)break;else _0x1d3ea2['push'](_0x1d3ea2['shift']());}catch(_0x13da4e){_0x1d3ea2['push'](_0x1d3ea2['shift']());}}}(_0x1cdc,0x416ee));import{logDebug}from'@/common/utils/log';function _0x18e2(_0x227ff2,_0x15bf56){const _0x1cdc26=_0x1cdc();return _0x18e2=function(_0x18e234,_0x2c6981){_0x18e234=_0x18e234-0x6f;let _0x3ab75f=_0x1cdc26[_0x18e234];return _0x3ab75f;},_0x18e2(_0x227ff2,_0x15bf56);}import{NTQQUserApi}from'./user';import{selfInfo}from'../data';import{RequestUtil}from'@/common/utils/request';import{WebApi}from'./webapi';export async function SignMiniApp(_0x30846b){const _0x74356d=_0x18e2,_0x162349={'aWjNX':_0x74356d(0x99),'qjkHF':_0x74356d(0x8c),'YuczR':_0x74356d(0x76),'WccSO':_0x74356d(0x73),'yKRsG':function(_0x4c1f56,_0x22b76c){return _0x4c1f56+_0x22b76c;},'MsQyW':function(_0x7767d5,_0x2f9e11){return _0x7767d5+_0x2f9e11;},'IdOiF':_0x74356d(0x8e),'VEBFq':_0x74356d(0xa0),'MyRvd':_0x74356d(0x96),'AaAVw':function(_0x20266c,_0x486322){return _0x20266c+_0x486322;},'fcQLU':_0x74356d(0x7c),'gljct':_0x74356d(0x7d),'WNsrP':function(_0x51f71c,_0x45429d){return _0x51f71c(_0x45429d);},'MasKP':_0x74356d(0x81),'ZQJik':_0x74356d(0x91)};let _0x1c22ef={'app':_0x162349[_0x74356d(0x79)],'bizsrc':_0x162349['qjkHF'],'view':_0x162349['YuczR'],'prompt':_0x30846b[_0x74356d(0x9b)],'config':{'type':_0x74356d(0x87),'forward':0x1,'autosize':0x0},'meta':{'miniapp':{'title':_0x30846b[_0x74356d(0x77)],'preview':_0x30846b[_0x74356d(0x71)]['replace'](/\\/g,_0x162349[_0x74356d(0x9e)]),'jumpUrl':_0x30846b[_0x74356d(0x80)][_0x74356d(0x7b)](/\\/g,_0x74356d(0x73)),'tag':_0x30846b[_0x74356d(0x88)],'tagIcon':_0x30846b[_0x74356d(0x7a)][_0x74356d(0x7b)](/\\/g,_0x162349[_0x74356d(0x9e)]),'source':_0x30846b[_0x74356d(0x8b)],'sourcelogo':_0x30846b[_0x74356d(0x74)][_0x74356d(0x7b)](/\\/g,_0x162349[_0x74356d(0x9e)])}}};const _0x1095c4=await NTQQUserApi['getSkey']();let _0x2c7887=await NTQQUserApi[_0x74356d(0x95)]();const _0x1ca673=WebApi[_0x74356d(0xa1)](_0x2c7887['p_skey']),_0x6ec545=_0x162349[_0x74356d(0x83)](_0x162349[_0x74356d(0x83)](_0x162349[_0x74356d(0x83)](_0x162349['yKRsG'](_0x162349['MsQyW'](_0x162349[_0x74356d(0x83)](_0x162349['IdOiF'],_0x2c7887[_0x74356d(0x90)]),_0x162349[_0x74356d(0x9c)])+_0x2c7887[_0x74356d(0x86)],_0x162349['MyRvd']),selfInfo[_0x74356d(0x78)]),';\x20uin=o'),selfInfo['uin']);let _0x432849=_0x162349[_0x74356d(0x85)](_0x162349[_0x74356d(0x9d)],_0x1ca673)+_0x162349[_0x74356d(0x98)]+_0x162349[_0x74356d(0x6f)](encodeURIComponent,JSON[_0x74356d(0x7f)](_0x1c22ef)),_0x5027ac='';try{let _0x2edab5=await RequestUtil[_0x74356d(0x9a)](_0x432849,_0x162349['MasKP'],undefined,{'Cookie':_0x6ec545});_0x5027ac=_0x2edab5[_0x74356d(0x93)][_0x74356d(0x72)];}catch(_0x642965){logDebug(_0x162349['ZQJik'],_0x642965);}return _0x5027ac;}

View File

@@ -1,3 +1,7 @@
export declare class NTQQSystemApi {
static hasOtherRunningQQProcess(): Promise<boolean>;
static ORCImage(filePath: string): Promise<import("@/core").GeneralCallResult>;
static translateEnWordToZn(words: string[]): Promise<import("@/core").GeneralCallResult & {
words: string[];
}>;
}

View File

@@ -1 +1 @@
var _0x15f4ac=_0x248d;function _0x248d(_0x40641c,_0x299721){var _0x132379=_0x1323();return _0x248d=function(_0x248d91,_0x4df1fb){_0x248d91=_0x248d91-0x1d7;var _0x4fb3b4=_0x132379[_0x248d91];return _0x4fb3b4;},_0x248d(_0x40641c,_0x299721);}function _0x1323(){var _0xf05135=['8536570vozBEX','1590316ofXmsX','584jWxGgb','1242775GQCxtc','hasOtherRunningQQProcess','12cvVYKV','6232842EkRxea','3692856HmepTO','util','447309IptMuU','507242sxGsVf'];_0x1323=function(){return _0xf05135;};return _0x1323();}(function(_0x391324,_0x2270f8){var _0x178db8=_0x248d,_0x1511f4=_0x391324();while(!![]){try{var _0x25d336=parseInt(_0x178db8(0x1dd))/0x1+parseInt(_0x178db8(0x1db))/0x2+parseInt(_0x178db8(0x1d8))/0x3+-parseInt(_0x178db8(0x1e1))/0x4*(parseInt(_0x178db8(0x1df))/0x5)+parseInt(_0x178db8(0x1d7))/0x6+parseInt(_0x178db8(0x1dc))/0x7+-parseInt(_0x178db8(0x1de))/0x8*(parseInt(_0x178db8(0x1da))/0x9);if(_0x25d336===_0x2270f8)break;else _0x1511f4['push'](_0x1511f4['shift']());}catch(_0x5962d5){_0x1511f4['push'](_0x1511f4['shift']());}}}(_0x1323,0xea388));import{napCatCore}from'@/core';export class NTQQSystemApi{static async[_0x15f4ac(0x1e0)](){var _0x11bc1d=_0x15f4ac;return napCatCore[_0x11bc1d(0x1d9)][_0x11bc1d(0x1e0)]();}}
var _0x3dc00c=_0x4e9e;(function(_0x46fb3f,_0x2f04e2){var _0x2cf4a2=_0x4e9e,_0x5aac15=_0x46fb3f();while(!![]){try{var _0x46fd5b=parseInt(_0x2cf4a2(0x1b2))/0x1+-parseInt(_0x2cf4a2(0x1ad))/0x2*(-parseInt(_0x2cf4a2(0x1ba))/0x3)+parseInt(_0x2cf4a2(0x1ae))/0x4*(-parseInt(_0x2cf4a2(0x1bb))/0x5)+parseInt(_0x2cf4a2(0x1b4))/0x6*(parseInt(_0x2cf4a2(0x1af))/0x7)+-parseInt(_0x2cf4a2(0x1ac))/0x8*(parseInt(_0x2cf4a2(0x1bc))/0x9)+-parseInt(_0x2cf4a2(0x1b8))/0xa*(-parseInt(_0x2cf4a2(0x1b7))/0xb)+-parseInt(_0x2cf4a2(0x1b3))/0xc;if(_0x46fd5b===_0x2f04e2)break;else _0x5aac15['push'](_0x5aac15['shift']());}catch(_0x955f77){_0x5aac15['push'](_0x5aac15['shift']());}}}(_0x1f9a,0xb28da));import{napCatCore}from'@/core';function _0x1f9a(){var _0x47a198=['hasOtherRunningQQProcess','ORCImage','4206213FkCUVC','30ZKSLmf','getNodeMiscService','3WXhsli','24515NJgMSU','39852OyufwS','util','560FjGvKF','2142714VPFzRs','616SNoHcU','24626KRooHD','session','wantWinScreenOCR','899562TokBzb','24599016FXjJJy','1242RlefLV'];_0x1f9a=function(){return _0x47a198;};return _0x1f9a();}function _0x4e9e(_0x37259c,_0x1cbff9){var _0x1f9a7c=_0x1f9a();return _0x4e9e=function(_0x4e9e97,_0x7bc1b0){_0x4e9e97=_0x4e9e97-0x1ab;var _0x5aad0d=_0x1f9a7c[_0x4e9e97];return _0x5aad0d;},_0x4e9e(_0x37259c,_0x1cbff9);}export class NTQQSystemApi{static async[_0x3dc00c(0x1b5)](){var _0x55cb72=_0x3dc00c;return napCatCore[_0x55cb72(0x1ab)]['hasOtherRunningQQProcess']();}static async[_0x3dc00c(0x1b6)](_0x4c71ab){var _0x1f31c6=_0x3dc00c;return napCatCore[_0x1f31c6(0x1b0)][_0x1f31c6(0x1b9)]()[_0x1f31c6(0x1b1)](_0x4c71ab);}static async['translateEnWordToZn'](_0x1b7b7e){return napCatCore['session']['getRichMediaService']()['translateEnWordToZn'](_0x1b7b7e);}}

View File

@@ -18,5 +18,8 @@ export declare class NTQQUserApi {
[key: string]: string;
}>;
static getRobotUinRange(): Promise<Array<any>>;
static getQzoneCookies(): Promise<{
[key: string]: string;
}>;
static getSkey(cached?: boolean): Promise<string | undefined>;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -3,6 +3,9 @@ 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>;
};

View File

@@ -1 +1 @@
const _0x5a6eab=_0xeb44;(function(_0x3cb552,_0x35c5db){const _0x576f7e=_0xeb44,_0x1ed07d=_0x3cb552();while(!![]){try{const _0x3a90b7=-parseInt(_0x576f7e(0xd8))/0x1*(parseInt(_0x576f7e(0xdb))/0x2)+parseInt(_0x576f7e(0xd5))/0x3*(-parseInt(_0x576f7e(0xe4))/0x4)+parseInt(_0x576f7e(0xd6))/0x5+parseInt(_0x576f7e(0xe3))/0x6+-parseInt(_0x576f7e(0xec))/0x7+parseInt(_0x576f7e(0xde))/0x8+parseInt(_0x576f7e(0xe9))/0x9;if(_0x3a90b7===_0x35c5db)break;else _0x1ed07d['push'](_0x1ed07d['shift']());}catch(_0x182542){_0x1ed07d['push'](_0x1ed07d['shift']());}}}(_0x3596,0xa6e80));import{isNumeric}from'@/common/utils/helper';import{NTQQGroupApi}from'@/core/apis';export const Credentials={'Skey':'','CreatTime':0x0,'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();export function deleteGroup(_0x26573b){const _0x4968b2=_0xeb44;groups['delete'](_0x26573b),groupMembers[_0x4968b2(0xe0)](_0x26573b);}export const groupMembers=new Map();export const friends=new Map();function _0x3596(){const _0x1619fb=['4hOMdJD','getGroupMembers','NapCat未能正常启动请检查日志查看错误','forEach','values','3817296QsnlmF','DjbGE','groupCode','2988447pVAUhI','length','2509413MxrgEn','4587095QbXboO','find','19oaPLqu','toString','cDWZE','112154iWpJka','getGroups','set','5911952IAyMVs','get','delete','from','uin','5591676OmEWFp'];_0x3596=function(){return _0x1619fb;};return _0x3596();}export const friendRequests={};export const groupNotifies={};export const napCatError={'ffmpegError':'','httpServerError':'','wsServerError':'','otherError':_0x5a6eab(0xe6)};export async function getFriend(_0x3f6cb3){const _0x433e3f=_0x5a6eab,_0x12b02a={'cDWZE':function(_0x34edb7,_0x4461f3){return _0x34edb7(_0x4461f3);}};_0x3f6cb3=_0x3f6cb3[_0x433e3f(0xd9)]();if(_0x12b02a[_0x433e3f(0xda)](isNumeric,_0x3f6cb3)){const _0x10a363=Array[_0x433e3f(0xe1)](friends[_0x433e3f(0xe8)]());return _0x10a363['find'](_0x190043=>_0x190043[_0x433e3f(0xe2)]===_0x3f6cb3);}else return friends[_0x433e3f(0xdf)](_0x3f6cb3);}export async function getGroup(_0x36e3f2){const _0x1e0892=_0x5a6eab;let _0x2d7d7e=groups[_0x1e0892(0xdf)](_0x36e3f2[_0x1e0892(0xd9)]());if(!_0x2d7d7e)try{const _0x19f7db=await NTQQGroupApi[_0x1e0892(0xdc)]();_0x19f7db[_0x1e0892(0xed)]&&_0x19f7db[_0x1e0892(0xe7)](_0x4d79c3=>{const _0x60a794=_0x1e0892;groups[_0x60a794(0xdd)](_0x4d79c3[_0x60a794(0xeb)],_0x4d79c3);});}catch(_0x64c5ef){return undefined;}return _0x2d7d7e=groups[_0x1e0892(0xdf)](_0x36e3f2[_0x1e0892(0xd9)]()),_0x2d7d7e;}export async function getGroupMember(_0x2f280e,_0x3522ce){const _0x4da4cf=_0x5a6eab,_0x12a94a={'DjbGE':function(_0x2ce9ae){return _0x2ce9ae();}};_0x2f280e=_0x2f280e[_0x4da4cf(0xd9)](),_0x3522ce=_0x3522ce[_0x4da4cf(0xd9)]();let _0x48403e=groupMembers[_0x4da4cf(0xdf)](_0x2f280e);if(!_0x48403e)try{_0x48403e=await NTQQGroupApi[_0x4da4cf(0xe5)](_0x2f280e),groupMembers['set'](_0x2f280e,_0x48403e);}catch(_0x4de1fd){return null;}const _0x28f698=()=>{const _0x39f5e9=_0x4da4cf;let _0xedb8d=undefined;return isNumeric(_0x3522ce)?_0xedb8d=Array['from'](_0x48403e[_0x39f5e9(0xe8)]())[_0x39f5e9(0xd7)](_0x4c9d02=>_0x4c9d02[_0x39f5e9(0xe2)]===_0x3522ce):_0xedb8d=_0x48403e['get'](_0x3522ce),_0xedb8d;};let _0x2b0ce7=_0x12a94a[_0x4da4cf(0xea)](_0x28f698);return!_0x2b0ce7&&(_0x48403e=await NTQQGroupApi[_0x4da4cf(0xe5)](_0x2f280e),_0x2b0ce7=_0x12a94a[_0x4da4cf(0xea)](_0x28f698)),_0x2b0ce7;}function _0xeb44(_0x6dfd46,_0x156e2a){const _0x359690=_0x3596();return _0xeb44=function(_0xeb44a5,_0x5b9b59){_0xeb44a5=_0xeb44a5-0xd5;let _0xbc1a3=_0x359690[_0xeb44a5];return _0xbc1a3;},_0xeb44(_0x6dfd46,_0x156e2a);}export const uid2UinMap={};export function getUidByUin(_0x59a04f){const _0x4ecebc={'VzHyp':function(_0x100f06,_0x4871b6){return _0x100f06===_0x4871b6;}};for(const _0x1a15e6 in uid2UinMap){if(_0x4ecebc['VzHyp'](uid2UinMap[_0x1a15e6],_0x59a04f))return _0x1a15e6;}}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(_0x5a094b,_0x53bca0){const _0x3456d1=_0x31c6,_0x4f983c=_0x5a094b();while(!![]){try{const _0x4ae09a=parseInt(_0x3456d1(0x154))/0x1*(-parseInt(_0x3456d1(0x167))/0x2)+parseInt(_0x3456d1(0x15a))/0x3*(parseInt(_0x3456d1(0x16b))/0x4)+-parseInt(_0x3456d1(0x169))/0x5*(parseInt(_0x3456d1(0x163))/0x6)+-parseInt(_0x3456d1(0x16c))/0x7*(-parseInt(_0x3456d1(0x159))/0x8)+-parseInt(_0x3456d1(0x15f))/0x9*(-parseInt(_0x3456d1(0x15e))/0xa)+parseInt(_0x3456d1(0x16a))/0xb*(parseInt(_0x3456d1(0x153))/0xc)+-parseInt(_0x3456d1(0x161))/0xd*(parseInt(_0x3456d1(0x15d))/0xe);if(_0x4ae09a===_0x53bca0)break;else _0x4f983c['push'](_0x4f983c['shift']());}catch(_0x4caddb){_0x4f983c['push'](_0x4f983c['shift']());}}}(_0x59e3,0x8936e));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()};function _0x31c6(_0x35d7d7,_0x2b617d){const _0x59e372=_0x59e3();return _0x31c6=function(_0x31c682,_0x1e4a6f){_0x31c682=_0x31c682-0x152;let _0x42b77b=_0x59e372[_0x31c682];return _0x42b77b;},_0x31c6(_0x35d7d7,_0x2b617d);}export const WebGroupData={'GroupData':new Map(),'GroupTime':new Map()};export const selfInfo={'uid':'','uin':'','nick':'','online':!![]};export const groups=new Map();export function deleteGroup(_0x38683a){const _0x5e820b=_0x31c6;groups[_0x5e820b(0x164)](_0x38683a),groupMembers[_0x5e820b(0x164)](_0x38683a);}export const groupMembers=new Map();export const friends=new Map();export const friendRequests={};function _0x59e3(){const _0xfa9a31=['forEach','values','from','47744NGjoxX','15lfbwQC','toString','wtogw','20818drtaZM','10ockpIG','7553727kuARYX','vLIBs','20059KEEnWe','set','441186NHzJPt','delete','getGroupMembers','find','12AeFSrV','get','45CpSUlf','71621suZMQH','713308iGUJgo','1036GmiFwy','uin','2064TjVpoN','35974zPmWzG','getGroups'];_0x59e3=function(){return _0xfa9a31;};return _0x59e3();}export const groupNotifies={};export const napCatError={'ffmpegError':'','httpServerError':'','wsServerError':'','otherError':'NapCat未能正常启动请检查日志查看错误'};export async function getFriend(_0x241e6e){const _0x340a30=_0x31c6,_0x33670b={'wtogw':function(_0x33b955,_0x412eaa){return _0x33b955(_0x412eaa);}};_0x241e6e=_0x241e6e[_0x340a30(0x15b)]();if(_0x33670b[_0x340a30(0x15c)](isNumeric,_0x241e6e)){const _0x887b8a=Array[_0x340a30(0x158)](friends[_0x340a30(0x157)]());return _0x887b8a[_0x340a30(0x166)](_0x1e9b17=>_0x1e9b17['uin']===_0x241e6e);}else return friends[_0x340a30(0x168)](_0x241e6e);}export async function getGroup(_0xa20a5d){const _0x5ea1e2=_0x31c6;let _0x12a308=groups[_0x5ea1e2(0x168)](_0xa20a5d[_0x5ea1e2(0x15b)]());if(!_0x12a308)try{const _0x10a3e8=await NTQQGroupApi[_0x5ea1e2(0x155)]();_0x10a3e8['length']&&_0x10a3e8[_0x5ea1e2(0x156)](_0x3246a2=>{const _0x41b173=_0x5ea1e2;groups[_0x41b173(0x162)](_0x3246a2['groupCode'],_0x3246a2);});}catch(_0x5453c1){return undefined;}return _0x12a308=groups['get'](_0xa20a5d[_0x5ea1e2(0x15b)]()),_0x12a308;}export async function getGroupMember(_0x42d756,_0x4ebf44){const _0x28311c=_0x31c6,_0x1223dc={'vLIBs':function(_0x4eb939){return _0x4eb939();}};_0x42d756=_0x42d756[_0x28311c(0x15b)](),_0x4ebf44=_0x4ebf44['toString']();let _0x550c2d=groupMembers[_0x28311c(0x168)](_0x42d756);if(!_0x550c2d)try{_0x550c2d=await NTQQGroupApi['getGroupMembers'](_0x42d756),groupMembers['set'](_0x42d756,_0x550c2d);}catch(_0x4f4d31){return null;}const _0x1b91eb=()=>{const _0x430760=_0x28311c;let _0x481c1e=undefined;return isNumeric(_0x4ebf44)?_0x481c1e=Array[_0x430760(0x158)](_0x550c2d['values']())['find'](_0x34adef=>_0x34adef[_0x430760(0x152)]===_0x4ebf44):_0x481c1e=_0x550c2d[_0x430760(0x168)](_0x4ebf44),_0x481c1e;};let _0x5ce91f=_0x1223dc[_0x28311c(0x160)](_0x1b91eb);return!_0x5ce91f&&(_0x550c2d=await NTQQGroupApi[_0x28311c(0x165)](_0x42d756),_0x5ce91f=_0x1223dc['vLIBs'](_0x1b91eb)),_0x5ce91f;}export const uid2UinMap={};export function getUidByUin(_0xb040d4){for(const _0x235ea2 in uid2UinMap){if(uid2UinMap[_0x235ea2]===_0xb040d4)return _0x235ea2;}}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};

View File

@@ -1 +1 @@
function _0x3462(_0x3fd399,_0x1aafb2){var _0x3b381a=_0x3b38();return _0x3462=function(_0x3462bd,_0x41e347){_0x3462bd=_0x3462bd-0x12e;var _0x553dc6=_0x3b381a[_0x3462bd];return _0x553dc6;},_0x3462(_0x3fd399,_0x1aafb2);}(function(_0x1359f0,_0x94a5c2){var _0x2c647f=_0x3462,_0x3b92dd=_0x1359f0();while(!![]){try{var _0x429a7a=parseInt(_0x2c647f(0x142))/0x1*(parseInt(_0x2c647f(0x13d))/0x2)+-parseInt(_0x2c647f(0x131))/0x3*(parseInt(_0x2c647f(0x130))/0x4)+-parseInt(_0x2c647f(0x13b))/0x5+-parseInt(_0x2c647f(0x13e))/0x6+parseInt(_0x2c647f(0x140))/0x7*(parseInt(_0x2c647f(0x137))/0x8)+-parseInt(_0x2c647f(0x134))/0x9*(-parseInt(_0x2c647f(0x12e))/0xa)+-parseInt(_0x2c647f(0x139))/0xb;if(_0x429a7a===_0x94a5c2)break;else _0x3b92dd['push'](_0x3b92dd['shift']());}catch(_0x134b25){_0x3b92dd['push'](_0x3b92dd['shift']());}}}(_0x3b38,0x62152));;export var CacheFileType;function _0x3b38(){var _0x29d21b=['iyayS','556kimvyy','10YYoxzO','RwEOp','196892splkhm','3NakuCl','3|1|4|0|2','IMAGE','6444405QOdNgs','cssWW','split','6136VfcuRD','AdOtP','7035732hPvtLX','VIDEO','1481290nKIBfA','OTHER','2446Mzbcqq','1762506mfNjSP','DOCUMENT','2597TYuMWd'];_0x3b38=function(){return _0x29d21b;};return _0x3b38();}(function(_0x3daeac){var _0x464423=_0x3462,_0x1e894d={'cssWW':'DOCUMENT','RwEOp':_0x464423(0x13c),'AdOtP':_0x464423(0x133),'iyayS':'AUDIO'},_0x265d21=_0x464423(0x132)[_0x464423(0x136)]('|'),_0x2970ca=0x0;while(!![]){switch(_0x265d21[_0x2970ca++]){case'0':_0x3daeac[_0x3daeac[_0x1e894d[_0x464423(0x135)]]=0x3]=_0x464423(0x13f);continue;case'1':_0x3daeac[_0x3daeac[_0x464423(0x13a)]=0x1]=_0x464423(0x13a);continue;case'2':_0x3daeac[_0x3daeac[_0x1e894d['RwEOp']]=0x4]=_0x1e894d[_0x464423(0x12f)];continue;case'3':_0x3daeac[_0x3daeac[_0x1e894d['AdOtP']]=0x0]=_0x1e894d[_0x464423(0x138)];continue;case'4':_0x3daeac[_0x3daeac[_0x1e894d[_0x464423(0x141)]]=0x2]=_0x1e894d[_0x464423(0x141)];continue;}break;}}(CacheFileType||(CacheFileType={})));
function _0x5c31(){var _0x1db4e6=['42294ppkGbi','zGRyP','3076eaeMyR','4454028cTVHPk','103085wXZQBT','dQpho','9459828FMoOhf','AUDIO','378mgINbc','OTHER','IMAGE','329540lgQAeX','1203ukPxVd','116VYCWoS','144XuCJoS','402788rQsLKv','nSEAa','aYVHC','33BEEUPR','QRnTE'];_0x5c31=function(){return _0x1db4e6;};return _0x5c31();}(function(_0x147917,_0x1cff81){var _0x4e2075=_0x82aa,_0xd3b3a3=_0x147917();while(!![]){try{var _0x361792=parseInt(_0x4e2075(0x1c7))/0x1+-parseInt(_0x4e2075(0x1ba))/0x2*(parseInt(_0x4e2075(0x1c4))/0x3)+-parseInt(_0x4e2075(0x1c5))/0x4*(-parseInt(_0x4e2075(0x1bc))/0x5)+-parseInt(_0x4e2075(0x1bb))/0x6+-parseInt(_0x4e2075(0x1b8))/0x7*(-parseInt(_0x4e2075(0x1c6))/0x8)+parseInt(_0x4e2075(0x1c0))/0x9*(-parseInt(_0x4e2075(0x1c3))/0xa)+-parseInt(_0x4e2075(0x1b6))/0xb*(-parseInt(_0x4e2075(0x1be))/0xc);if(_0x361792===_0x1cff81)break;else _0xd3b3a3['push'](_0xd3b3a3['shift']());}catch(_0x628cb6){_0xd3b3a3['push'](_0xd3b3a3['shift']());}}}(_0x5c31,0xb2872));;function _0x82aa(_0x28f252,_0x2953f2){var _0x5c31ab=_0x5c31();return _0x82aa=function(_0x82aa27,_0x4e839c){_0x82aa27=_0x82aa27-0x1b4;var _0x116513=_0x5c31ab[_0x82aa27];return _0x116513;},_0x82aa(_0x28f252,_0x2953f2);}export var CacheFileType;(function(_0x55408e){var _0x5eaa9a=_0x82aa,_0x3be7a7={'zGRyP':_0x5eaa9a(0x1c2),'dQpho':'VIDEO','QRnTE':_0x5eaa9a(0x1bf),'aYVHC':'DOCUMENT','nSEAa':_0x5eaa9a(0x1c1)};_0x55408e[_0x55408e[_0x5eaa9a(0x1c2)]=0x0]=_0x3be7a7[_0x5eaa9a(0x1b9)],_0x55408e[_0x55408e[_0x3be7a7['dQpho']]=0x1]=_0x3be7a7[_0x5eaa9a(0x1bd)],_0x55408e[_0x55408e[_0x3be7a7[_0x5eaa9a(0x1b7)]]=0x2]=_0x3be7a7[_0x5eaa9a(0x1b7)],_0x55408e[_0x55408e[_0x3be7a7['aYVHC']]=0x3]=_0x3be7a7[_0x5eaa9a(0x1b5)],_0x55408e[_0x55408e[_0x3be7a7['nSEAa']]=0x4]=_0x3be7a7[_0x5eaa9a(0x1b4)];}(CacheFileType||(CacheFileType={})));

View File

@@ -14,4 +14,5 @@ export declare class SendMsgElementConstructor {
static rps(resultId: number | null): SendFaceElement;
static ark(data: any): SendArkElement;
static markdown(content: string): SendMarkdownElement;
static miniapp(): Promise<SendArkElement>;
}

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
(function(_0x169207,_0x4f3d10){var _0x528db4=_0x15e0,_0x4dbc17=_0x169207();while(!![]){try{var _0x4f7161=parseInt(_0x528db4(0xe3))/0x1*(parseInt(_0x528db4(0xe6))/0x2)+parseInt(_0x528db4(0xdd))/0x3+-parseInt(_0x528db4(0xde))/0x4+parseInt(_0x528db4(0xe1))/0x5*(parseInt(_0x528db4(0xdf))/0x6)+-parseInt(_0x528db4(0xdb))/0x7*(-parseInt(_0x528db4(0xe2))/0x8)+parseInt(_0x528db4(0xe5))/0x9+-parseInt(_0x528db4(0xe7))/0xa;if(_0x4f7161===_0x4f3d10)break;else _0x4dbc17['push'](_0x4dbc17['shift']());}catch(_0x401d2b){_0x4dbc17['push'](_0x4dbc17['shift']());}}}(_0x5348,0xeb416));function _0x15e0(_0x24e69b,_0x1343a7){var _0x534805=_0x5348();return _0x15e0=function(_0x15e035,_0x5f2d64){_0x15e035=_0x15e035-0xda;var _0x5cd39f=_0x534805[_0x15e035];return _0x5cd39f;},_0x15e0(_0x24e69b,_0x1343a7);}function _0x5348(){var _0x11c69c=['hCPwN','46629bIENHe','19282fAHFqb','21336140BBNCuh','owner','35UHqnsb','PQTZe','605883ooixTS','1401344UgNhNH','7404fGzzkq','admin','3465tDBfSm','2474376cAxImN','87mLJJNi'];_0x5348=function(){return _0x11c69c;};return _0x5348();}export var GroupMemberRole;(function(_0x2f7d96){var _0xc668bb=_0x15e0,_0x5c65f1={'PQTZe':'normal','hCPwN':_0xc668bb(0xe0),'eoxHh':_0xc668bb(0xda)};_0x2f7d96[_0x2f7d96[_0x5c65f1['PQTZe']]=0x2]=_0x5c65f1[_0xc668bb(0xdc)],_0x2f7d96[_0x2f7d96[_0x5c65f1[_0xc668bb(0xe4)]]=0x3]=_0x5c65f1['hCPwN'],_0x2f7d96[_0x2f7d96[_0xc668bb(0xda)]=0x4]=_0x5c65f1['eoxHh'];}(GroupMemberRole||(GroupMemberRole={})));
(function(_0x21e602,_0x20ce31){var _0x5070c1=_0x4f36,_0x24284f=_0x21e602();while(!![]){try{var _0x1b0065=-parseInt(_0x5070c1(0x18d))/0x1+-parseInt(_0x5070c1(0x192))/0x2+parseInt(_0x5070c1(0x18e))/0x3*(parseInt(_0x5070c1(0x190))/0x4)+parseInt(_0x5070c1(0x18b))/0x5*(-parseInt(_0x5070c1(0x195))/0x6)+parseInt(_0x5070c1(0x194))/0x7*(parseInt(_0x5070c1(0x193))/0x8)+-parseInt(_0x5070c1(0x189))/0x9*(-parseInt(_0x5070c1(0x198))/0xa)+-parseInt(_0x5070c1(0x197))/0xb*(-parseInt(_0x5070c1(0x18f))/0xc);if(_0x1b0065===_0x20ce31)break;else _0x24284f['push'](_0x24284f['shift']());}catch(_0x44ab1e){_0x24284f['push'](_0x24284f['shift']());}}}(_0x218f,0x5878d));export var GroupMemberRole;function _0x4f36(_0x932d05,_0x20b0b6){var _0x218f4f=_0x218f();return _0x4f36=function(_0x4f36fa,_0xdbf4ef){_0x4f36fa=_0x4f36fa-0x189;var _0x32705e=_0x218f4f[_0x4f36fa];return _0x32705e;},_0x4f36(_0x932d05,_0x20b0b6);}function _0x218f(){var _0x3b067f=['9264wBKBRJ','203NEPQSe','303882riRAbd','normal','11035706KLZHsO','475990ngzrJM','9CIdMsO','owner','15aqXlzA','yNiHR','426515ShFUZe','7965OZOQsy','12QHeqKR','308kQnQSR','zYAFj','696050mVQzqR'];_0x218f=function(){return _0x3b067f;};return _0x218f();}(function(_0x4d8d33){var _0x4a30fe=_0x4f36,_0x530a38={'yNiHR':_0x4a30fe(0x196),'zYAFj':'admin'};_0x4d8d33[_0x4d8d33[_0x530a38[_0x4a30fe(0x18c)]]=0x2]=_0x530a38['yNiHR'],_0x4d8d33[_0x4d8d33[_0x530a38[_0x4a30fe(0x191)]]=0x3]=_0x530a38[_0x4a30fe(0x191)],_0x4d8d33[_0x4d8d33[_0x4a30fe(0x18a)]=0x4]=_0x4a30fe(0x18a);}(GroupMemberRole||(GroupMemberRole={})));

View File

@@ -1 +1 @@
function _0x33e6(_0x198084,_0x39dea7){var _0x4c1b7d=_0x4c1b();return _0x33e6=function(_0x33e67b,_0x4ccf17){_0x33e67b=_0x33e67b-0x85;var _0x1e763f=_0x4c1b7d[_0x33e67b];return _0x1e763f;},_0x33e6(_0x198084,_0x39dea7);}(function(_0x4dbb24,_0x1452c6){var _0x14028f=_0x33e6,_0x24f1f2=_0x4dbb24();while(!![]){try{var _0x575f45=parseInt(_0x14028f(0x87))/0x1*(-parseInt(_0x14028f(0x8a))/0x2)+-parseInt(_0x14028f(0x8d))/0x3+parseInt(_0x14028f(0x8b))/0x4*(-parseInt(_0x14028f(0x8e))/0x5)+parseInt(_0x14028f(0x86))/0x6*(parseInt(_0x14028f(0x88))/0x7)+parseInt(_0x14028f(0x8c))/0x8+-parseInt(_0x14028f(0x85))/0x9+parseInt(_0x14028f(0x89))/0xa;if(_0x575f45===_0x1452c6)break;else _0x24f1f2['push'](_0x24f1f2['shift']());}catch(_0x517518){_0x24f1f2['push'](_0x24f1f2['shift']());}}}(_0x4c1b,0xe210c));export*from'./user';export*from'./group';function _0x4c1b(){var _0x548948=['35660210oodevD','17294IQYQJm','44luHGXA','6147368ZSOVKd','1119954UCAmOd','778845BVgcTg','13893111zIQtCA','6KcfrFq','123EsRKqb','8998913fviZJu'];_0x4c1b=function(){return _0x548948;};return _0x4c1b();}export*from'./msg';export*from'./notify';export*from'./cache';export*from'./constructor';
(function(_0x35a77f,_0x50495b){var _0x3c50eb=_0x5b6d,_0x27878c=_0x35a77f();while(!![]){try{var _0x4cad93=-parseInt(_0x3c50eb(0x1f0))/0x1*(parseInt(_0x3c50eb(0x1f2))/0x2)+-parseInt(_0x3c50eb(0x1e7))/0x3*(-parseInt(_0x3c50eb(0x1e8))/0x4)+-parseInt(_0x3c50eb(0x1eb))/0x5*(-parseInt(_0x3c50eb(0x1ed))/0x6)+-parseInt(_0x3c50eb(0x1ee))/0x7*(-parseInt(_0x3c50eb(0x1ec))/0x8)+-parseInt(_0x3c50eb(0x1e6))/0x9+parseInt(_0x3c50eb(0x1ef))/0xa*(parseInt(_0x3c50eb(0x1e9))/0xb)+parseInt(_0x3c50eb(0x1f1))/0xc*(parseInt(_0x3c50eb(0x1ea))/0xd);if(_0x4cad93===_0x50495b)break;else _0x27878c['push'](_0x27878c['shift']());}catch(_0x4824b8){_0x27878c['push'](_0x27878c['shift']());}}}(_0x4cd4,0x56fae));export*from'./user';export*from'./group';export*from'./msg';export*from'./notify';function _0x4cd4(){var _0x1a761d=['2kUbpqo','10658244eBHabY','608666GijGFn','6334884aJEHwE','3jaFJnT','961892Koqsex','22HxEwqH','13PgFnVN','5hATDtz','8oIJVNj','1001094ySLKGo','127771SiwLTQ','1775250DvwJvF'];_0x4cd4=function(){return _0x1a761d;};return _0x4cd4();}function _0x5b6d(_0x8a273c,_0x5e326a){var _0x4cd44d=_0x4cd4();return _0x5b6d=function(_0x5b6dfa,_0x26492b){_0x5b6dfa=_0x5b6dfa-0x1e6;var _0x18858e=_0x4cd44d[_0x5b6dfa];return _0x18858e;},_0x5b6d(_0x8a273c,_0x5e326a);}export*from'./cache';export*from'./constructor';

View File

@@ -13,6 +13,13 @@ export interface KickedOffLineInfo {
kickedType: number;
securityKickedType: number;
}
export interface GetFileListParam {
sortType: number;
fileCount: number;
startIndex: number;
sortOrder: number;
showOnlinedocFolder: number;
}
export declare enum ElementType {
TEXT = 1,
PIC = 2,

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
(function(_0x58e66b,_0x1508dc){var _0x3fa1d0=_0x4588,_0x338bd9=_0x58e66b();while(!![]){try{var _0x5adf63=parseInt(_0x3fa1d0(0x104))/0x1*(parseInt(_0x3fa1d0(0xec))/0x2)+parseInt(_0x3fa1d0(0xf7))/0x3+parseInt(_0x3fa1d0(0xfa))/0x4*(parseInt(_0x3fa1d0(0xee))/0x5)+-parseInt(_0x3fa1d0(0x10a))/0x6*(parseInt(_0x3fa1d0(0xf3))/0x7)+-parseInt(_0x3fa1d0(0xf5))/0x8+-parseInt(_0x3fa1d0(0xfd))/0x9+-parseInt(_0x3fa1d0(0xef))/0xa*(-parseInt(_0x3fa1d0(0x108))/0xb);if(_0x5adf63===_0x1508dc)break;else _0x338bd9['push'](_0x338bd9['shift']());}catch(_0x41a3a1){_0x338bd9['push'](_0x338bd9['shift']());}}}(_0x4de7,0x83659));export var GroupNotifyTypes;function _0x4588(_0x4c3d88,_0x312d56){var _0x4de7c3=_0x4de7();return _0x4588=function(_0x4588b8,_0x4a8ce4){_0x4588b8=_0x4588b8-0xec;var _0x47be03=_0x4de7c3[_0x4588b8];return _0x47be03;},_0x4588(_0x4c3d88,_0x312d56);}(function(_0x67f101){var _0x468bde=_0x4588,_0xbe098a={'Sfgnd':_0x468bde(0x102),'ZZkkf':'INVITED_JOIN','EaFRW':_0x468bde(0xff),'FjezN':_0x468bde(0xfe),'TlZNZ':_0x468bde(0xf6),'tkkke':_0x468bde(0x10b),'zNcij':'ADMIN_UNSET','SESVB':'ADMIN_UNSET_OTHER'};_0x67f101[_0x67f101[_0xbe098a[_0x468bde(0x106)]]=0x1]=_0xbe098a[_0x468bde(0x106)],_0x67f101[_0x67f101[_0xbe098a[_0x468bde(0xed)]]=0x4]=_0xbe098a[_0x468bde(0xed)],_0x67f101[_0x67f101[_0xbe098a[_0x468bde(0xfb)]]=0x7]=_0xbe098a[_0x468bde(0xfb)],_0x67f101[_0x67f101['ADMIN_SET']=0x8]=_0xbe098a[_0x468bde(0xf2)],_0x67f101[_0x67f101[_0xbe098a['TlZNZ']]=0x9]=_0xbe098a[_0x468bde(0x107)],_0x67f101[_0x67f101[_0xbe098a[_0x468bde(0xfc)]]=0xb]=_0xbe098a['tkkke'],_0x67f101[_0x67f101[_0xbe098a[_0x468bde(0x100)]]=0xc]=_0x468bde(0xf4),_0x67f101[_0x67f101[_0xbe098a[_0x468bde(0x109)]]=0xd]=_0xbe098a[_0x468bde(0x109)];}(GroupNotifyTypes||(GroupNotifyTypes={})));function _0x4de7(){var _0x9e9549=['MEMBER_EXIT','rkJwO','316622wJZxRO','ZZkkf','895OVYNuj','1610Xsuumu','rNnUI','IGNORE','FjezN','3916388TpsWlf','ADMIN_UNSET','3147480ypJAQl','KICK_MEMBER','333786pItAvA','hYQEA','REJECT','23404tNitCy','EaFRW','tkkke','9402417SHoDVU','ADMIN_SET','JOIN_REQUEST','zNcij','WAIT_HANDLE','INVITE_ME','wFcwO','1nMpnMr','reject','Sfgnd','TlZNZ','83281EaevqW','SESVB','6agvJNu'];_0x4de7=function(){return _0x9e9549;};return _0x4de7();}export var GroupNotifyStatus;(function(_0x275760){var _0xc921fb=_0x4588,_0x472158={'rkJwO':_0xc921fb(0xf1),'GjwXI':_0xc921fb(0x101),'hYQEA':'APPROVE','rNnUI':_0xc921fb(0xf9)};_0x275760[_0x275760[_0x472158['rkJwO']]=0x0]=_0x472158[_0xc921fb(0x10c)],_0x275760[_0x275760[_0x472158['GjwXI']]=0x1]=_0x472158['GjwXI'],_0x275760[_0x275760[_0x472158['hYQEA']]=0x2]=_0x472158[_0xc921fb(0xf8)],_0x275760[_0x275760[_0x472158[_0xc921fb(0xf0)]]=0x3]=_0x472158[_0xc921fb(0xf0)];}(GroupNotifyStatus||(GroupNotifyStatus={})));export var GroupRequestOperateTypes;(function(_0x460991){var _0xf35c87=_0x4588,_0x560e6d={'wFcwO':'approve','MAGkQ':_0xf35c87(0x105)};_0x460991[_0x460991[_0x560e6d[_0xf35c87(0x103)]]=0x1]=_0x560e6d[_0xf35c87(0x103)],_0x460991[_0x460991[_0xf35c87(0x105)]=0x2]=_0x560e6d['MAGkQ'];}(GroupRequestOperateTypes||(GroupRequestOperateTypes={})));
function _0x54ca(){var _0x413439=['wXdzL','JpqFu','INypQ','JOIN_REQUEST','approve','MEMBER_EXIT','WAIT_HANDLE','1945CoeyOh','jlvMw','159384kCbhvJ','reject','ADMIN_UNSET_OTHER','TwfBU','wPWpm','ADMIN_SET','REJECT','1328516ocYwNB','6ifoGCl','UoJVP','62985iJjywK','gYXeI','MxXBM','ADMIN_UNSET','5|4|3|0|6|7|1|2','80420jcoGNl','RnICI','sDMbC','996507zlSDGO','YihBm','INVITED_JOIN','1325992vwVmDT','IGNORE','KICK_MEMBER','3xdwvue'];_0x54ca=function(){return _0x413439;};return _0x54ca();}(function(_0x3a3c22,_0x14a0fd){var _0x3af4ba=_0x286c,_0x11e82f=_0x3a3c22();while(!![]){try{var _0x241641=-parseInt(_0x3af4ba(0xd9))/0x1+parseInt(_0x3af4ba(0xf1))/0x2+parseInt(_0x3af4ba(0xe7))/0x3*(parseInt(_0x3af4ba(0xde))/0x4)+parseInt(_0x3af4ba(0xef))/0x5*(-parseInt(_0x3af4ba(0xd7))/0x6)+-parseInt(_0x3af4ba(0xd6))/0x7+parseInt(_0x3af4ba(0xe4))/0x8+parseInt(_0x3af4ba(0xe1))/0x9;if(_0x241641===_0x14a0fd)break;else _0x11e82f['push'](_0x11e82f['shift']());}catch(_0x1d2770){_0x11e82f['push'](_0x11e82f['shift']());}}}(_0x54ca,0x1e0e3));function _0x286c(_0x4be22a,_0x55b68f){var _0x54ca94=_0x54ca();return _0x286c=function(_0x286c31,_0x50ef32){_0x286c31=_0x286c31-0xd6;var _0xf1750b=_0x54ca94[_0x286c31];return _0xf1750b;},_0x286c(_0x4be22a,_0x55b68f);}export var GroupNotifyTypes;(function(_0x3031ff){var _0x3b096b=_0x286c,_0x295b41={'YihBm':_0x3b096b(0xdd),'PXRAd':'ADMIN_SET','jlvMw':_0x3b096b(0xdc),'wPWpm':_0x3b096b(0xf3),'tXYiQ':'JOIN_REQUEST','gYXeI':_0x3b096b(0xe3),'JpqFu':'INVITE_ME','RnICI':_0x3b096b(0xe6),'INypQ':'MEMBER_EXIT'},_0x2860df=_0x295b41[_0x3b096b(0xe2)]['split']('|'),_0xac6aa8=0x0;while(!![]){switch(_0x2860df[_0xac6aa8++]){case'0':_0x3031ff[_0x3031ff[_0x3b096b(0xf6)]=0x8]=_0x295b41['PXRAd'];continue;case'1':_0x3031ff[_0x3031ff[_0x295b41[_0x3b096b(0xf0)]]=0xc]=_0x3b096b(0xdc);continue;case'2':_0x3031ff[_0x3031ff[_0x295b41[_0x3b096b(0xf5)]]=0xd]=_0x295b41['wPWpm'];continue;case'3':_0x3031ff[_0x3031ff[_0x3b096b(0xeb)]=0x7]=_0x295b41['tXYiQ'];continue;case'4':_0x3031ff[_0x3031ff[_0x295b41['gYXeI']]=0x4]=_0x295b41[_0x3b096b(0xda)];continue;case'5':_0x3031ff[_0x3031ff[_0x295b41[_0x3b096b(0xe9)]]=0x1]=_0x295b41[_0x3b096b(0xe9)];continue;case'6':_0x3031ff[_0x3031ff[_0x295b41['RnICI']]=0x9]=_0x295b41[_0x3b096b(0xdf)];continue;case'7':_0x3031ff[_0x3031ff[_0x3b096b(0xed)]=0xb]=_0x295b41[_0x3b096b(0xea)];continue;}break;}}(GroupNotifyTypes||(GroupNotifyTypes={})));export var GroupNotifyStatus;(function(_0x99870b){var _0x1087f4=_0x286c,_0x3ef79a={'gOZXZ':_0x1087f4(0xe5),'TwfBU':_0x1087f4(0xee),'MxXBM':'APPROVE','sDMbC':_0x1087f4(0xf7)};_0x99870b[_0x99870b['IGNORE']=0x0]=_0x3ef79a['gOZXZ'],_0x99870b[_0x99870b[_0x3ef79a[_0x1087f4(0xf4)]]=0x1]=_0x1087f4(0xee),_0x99870b[_0x99870b['APPROVE']=0x2]=_0x3ef79a[_0x1087f4(0xdb)],_0x99870b[_0x99870b[_0x3ef79a['sDMbC']]=0x3]=_0x3ef79a[_0x1087f4(0xe0)];}(GroupNotifyStatus||(GroupNotifyStatus={})));export var GroupRequestOperateTypes;(function(_0x461df4){var _0x20ba34=_0x286c,_0x17eb3d={'wXdzL':_0x20ba34(0xec),'UoJVP':_0x20ba34(0xf2)};_0x461df4[_0x461df4[_0x17eb3d[_0x20ba34(0xe8)]]=0x1]=_0x17eb3d['wXdzL'],_0x461df4[_0x461df4[_0x17eb3d['UoJVP']]=0x2]=_0x17eb3d[_0x20ba34(0xd8)];}(GroupRequestOperateTypes||(GroupRequestOperateTypes={})));

View File

@@ -1 +1 @@
(function(_0x1af837,_0x513d25){var _0x182d12=_0x4ce2,_0x35a06e=_0x1af837();while(!![]){try{var _0x5554a9=parseInt(_0x182d12(0x129))/0x1*(parseInt(_0x182d12(0x128))/0x2)+-parseInt(_0x182d12(0x11d))/0x3*(-parseInt(_0x182d12(0x12b))/0x4)+parseInt(_0x182d12(0x124))/0x5*(-parseInt(_0x182d12(0x126))/0x6)+-parseInt(_0x182d12(0x11f))/0x7*(parseInt(_0x182d12(0x11b))/0x8)+parseInt(_0x182d12(0x122))/0x9*(parseInt(_0x182d12(0x121))/0xa)+parseInt(_0x182d12(0x123))/0xb*(parseInt(_0x182d12(0x127))/0xc)+-parseInt(_0x182d12(0x11c))/0xd;if(_0x5554a9===_0x513d25)break;else _0x35a06e['push'](_0x35a06e['shift']());}catch(_0x13a3e9){_0x35a06e['push'](_0x35a06e['shift']());}}}(_0x4acb,0xa5324));function _0x4ce2(_0x54cac0,_0x92b011){var _0x4acba9=_0x4acb();return _0x4ce2=function(_0x4ce2a7,_0x56441d){_0x4ce2a7=_0x4ce2a7-0x11b;var _0x40255c=_0x4acba9[_0x4ce2a7];return _0x40255c;},_0x4ce2(_0x54cac0,_0x92b011);}export var Sex;(function(_0x116ef4){var _0x47250b=_0x4ce2,_0x3289a9={'DIQVZ':'male','SlTgL':_0x47250b(0x125),'ipDcX':_0x47250b(0x12a)};_0x116ef4[_0x116ef4[_0x3289a9[_0x47250b(0x120)]]=0x1]=_0x3289a9[_0x47250b(0x120)],_0x116ef4[_0x116ef4['female']=0x2]=_0x3289a9[_0x47250b(0x11e)],_0x116ef4[_0x116ef4[_0x3289a9[_0x47250b(0x12c)]]=0xff]=_0x47250b(0x12a);}(Sex||(Sex={})));function _0x4acb(){var _0x1ee556=['230593kaEsqb','25lwwnBc','female','471894LaXFCp','348biHRDw','2XnnvaC','960569vwItRA','unknown','40YZzxAk','ipDcX','6305336hbBBxR','20576543GqSSgg','164865OvLnqe','SlTgL','7ymZVAz','DIQVZ','13228210IsIOpS','9DyMHZD'];_0x4acb=function(){return _0x1ee556;};return _0x4acb();}
(function(_0x1034ff,_0x437d87){var _0xa85938=_0x5d28,_0x2551dc=_0x1034ff();while(!![]){try{var _0xff3bb=-parseInt(_0xa85938(0x1bf))/0x1*(-parseInt(_0xa85938(0x1c3))/0x2)+parseInt(_0xa85938(0x1c8))/0x3+parseInt(_0xa85938(0x1c9))/0x4+-parseInt(_0xa85938(0x1c6))/0x5*(parseInt(_0xa85938(0x1bd))/0x6)+-parseInt(_0xa85938(0x1c4))/0x7*(-parseInt(_0xa85938(0x1be))/0x8)+-parseInt(_0xa85938(0x1cb))/0x9*(parseInt(_0xa85938(0x1c1))/0xa)+-parseInt(_0xa85938(0x1c5))/0xb;if(_0xff3bb===_0x437d87)break;else _0x2551dc['push'](_0x2551dc['shift']());}catch(_0x43546b){_0x2551dc['push'](_0x2551dc['shift']());}}}(_0x2624,0x3e7a3));function _0x2624(){var _0x31bdcc=['13223dgNFcx','4653561zlAQbm','65jqAfiQ','Ugcxf','436839qdOoGB','1847256mpEiie','female','18otehHa','unknown','161898UZsnTy','1448WPTgpk','68945PBvTLp','APKJV','1321620MJHdkE','SmdcW','10RtWCVO'];_0x2624=function(){return _0x31bdcc;};return _0x2624();}export var Sex;function _0x5d28(_0x1e12fd,_0x3858e2){var _0x262404=_0x2624();return _0x5d28=function(_0x5d28df,_0x50c338){_0x5d28df=_0x5d28df-0x1bc;var _0x35f77d=_0x262404[_0x5d28df];return _0x35f77d;},_0x5d28(_0x1e12fd,_0x3858e2);}(function(_0x13bee5){var _0x5f579d=_0x5d28,_0x3915c9={'Ugcxf':'male','SmdcW':_0x5f579d(0x1ca),'APKJV':_0x5f579d(0x1bc)};_0x13bee5[_0x13bee5[_0x3915c9[_0x5f579d(0x1c7)]]=0x1]=_0x3915c9[_0x5f579d(0x1c7)],_0x13bee5[_0x13bee5[_0x3915c9[_0x5f579d(0x1c2)]]=0x2]=_0x3915c9[_0x5f579d(0x1c2)],_0x13bee5[_0x13bee5[_0x3915c9[_0x5f579d(0x1c0)]]=0xff]=_0x3915c9[_0x5f579d(0x1c0)];}(Sex||(Sex={})));

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
(function(_0xf5230e,_0x1a711f){var _0x45c08e=_0x1d9a,_0x1a0770=_0xf5230e();while(!![]){try{var _0x146447=parseInt(_0x45c08e(0xdc))/0x1*(-parseInt(_0x45c08e(0xdf))/0x2)+-parseInt(_0x45c08e(0xe4))/0x3+-parseInt(_0x45c08e(0xe2))/0x4*(parseInt(_0x45c08e(0xe5))/0x5)+-parseInt(_0x45c08e(0xde))/0x6+-parseInt(_0x45c08e(0xe1))/0x7+parseInt(_0x45c08e(0xdd))/0x8*(-parseInt(_0x45c08e(0xe3))/0x9)+parseInt(_0x45c08e(0xe0))/0xa;if(_0x146447===_0x1a711f)break;else _0x1a0770['push'](_0x1a0770['shift']());}catch(_0x1bb271){_0x1a0770['push'](_0x1a0770['shift']());}}}(_0x34a8,0x7ee7e));import _0x20f3c3 from'./wrapper';function _0x34a8(){var _0x3b4880=['65784WPvert','2394696FyKgrm','343444NdbUYO','26602630oRZgUX','355831ThnHGD','4yCmbGT','621wmawQP','1244484MBgsnO','1824245ZqUqfN','2aXgicK'];_0x34a8=function(){return _0x3b4880;};return _0x34a8();}export*from'./adapters';export*from'./apis';export*from'./entities';function _0x1d9a(_0x536804,_0x4f9c9a){var _0x34a86e=_0x34a8();return _0x1d9a=function(_0x1d9a67,_0x4d0c36){_0x1d9a67=_0x1d9a67-0xdc;var _0x4f64b3=_0x34a86e[_0x1d9a67];return _0x4f64b3;},_0x1d9a(_0x536804,_0x4f9c9a);}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{_0x20f3c3 as Wrapper};export*as WrapperInterface from'./wrapper';export*as SessionConfig from'./sessionConfig';export{napCatCore}from'./core';
(function(_0xe4179a,_0x193855){var _0xd06679=_0x3659,_0xa0f362=_0xe4179a();while(!![]){try{var _0x44a86f=parseInt(_0xd06679(0xa8))/0x1+-parseInt(_0xd06679(0xa7))/0x2+parseInt(_0xd06679(0xab))/0x3*(-parseInt(_0xd06679(0xa5))/0x4)+parseInt(_0xd06679(0xaa))/0x5+parseInt(_0xd06679(0xa6))/0x6+parseInt(_0xd06679(0xa9))/0x7*(-parseInt(_0xd06679(0xac))/0x8)+parseInt(_0xd06679(0xa4))/0x9;if(_0x44a86f===_0x193855)break;else _0xa0f362['push'](_0xa0f362['shift']());}catch(_0x58be6c){_0xa0f362['push'](_0xa0f362['shift']());}}}(_0x3570,0x320c4));import _0x1d9e80 from'./wrapper';export*from'./adapters';export*from'./apis';export*from'./entities';export*from'./listeners';export*from'./services';function _0x3570(){var _0x1343a8=['129nCcpVQ','8YWLing','1967427FhxpZQ','10756yWFVon','2251266QFbrHW','615556tOrWBa','279913YSkTeT','1755866yFAyvW','27560YejDHW'];_0x3570=function(){return _0x1343a8;};return _0x3570();}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{_0x1d9e80 as Wrapper};export*as WrapperInterface from'./wrapper';export*as SessionConfig from'./sessionConfig';function _0x3659(_0x4e2391,_0x352e00){var _0x3570f=_0x3570();return _0x3659=function(_0x365997,_0x368f2){_0x365997=_0x365997-0xa4;var _0x23a5cd=_0x3570f[_0x365997];return _0x23a5cd;},_0x3659(_0x4e2391,_0x352e00);}export{napCatCore}from'./core';

View File

@@ -1 +1 @@
var _0x146546=_0x5bad;function _0x10f8(){var _0x5511b5=['onCheckBuddySettingResult','8276fZQTGm','onBuddyListChange','onDelBatchBuddyInfos','3324216RsNvkt','onBlockChanged','onBuddyInfoChange','314wcqwxk','12SsIuWy','onAvatarUrlUpdated','onSmartInfos','3207465MLShpe','1364136EwwdBZ','onDoubtBuddyReqUnreadNumChange','onBuddyReqChange','112323hJmuEQ','onBuddyRemarkUpdated','onDoubtBuddyReqChange','551432iOlOQu','onBuddyDetailInfoChange','onAddBuddyNeedVerify','8258730yaxGQB','onSpacePermissionInfos','onAddMeSettingChanged'];_0x10f8=function(){return _0x5511b5;};return _0x10f8();}function _0x5bad(_0x116ec8,_0x29d7da){var _0x10f88b=_0x10f8();return _0x5bad=function(_0x5badc4,_0x191a50){_0x5badc4=_0x5badc4-0x94;var _0x334eb0=_0x10f88b[_0x5badc4];return _0x334eb0;},_0x5bad(_0x116ec8,_0x29d7da);}(function(_0x55112b,_0x467ec9){var _0x346d44=_0x5bad,_0x3fba42=_0x55112b();while(!![]){try{var _0x406063=parseInt(_0x346d44(0xa5))/0x1*(-parseInt(_0x346d44(0xab))/0x2)+-parseInt(_0x346d44(0x9b))/0x3*(-parseInt(_0x346d44(0x94))/0x4)+parseInt(_0x346d44(0xa1))/0x5+parseInt(_0x346d44(0x98))/0x6+parseInt(_0x346d44(0x9e))/0x7+parseInt(_0x346d44(0xa8))/0x8+-parseInt(_0x346d44(0x97))/0x9;if(_0x406063===_0x467ec9)break;else _0x3fba42['push'](_0x3fba42['shift']());}catch(_0x175d4b){_0x3fba42['push'](_0x3fba42['shift']());}}}(_0x10f8,0xcaa3b));export class BuddyListener{[_0x146546(0xa0)](_0x35c4ef){}[_0x146546(0xa3)](_0x269d81){}[_0x146546(0x95)](_0x59f3bc){}[_0x146546(0xa9)](_0x5018f1){}[_0x146546(0x9f)](_0x580806){}[_0x146546(0xaa)](_0xe05173){}[_0x146546(0xa6)](_0x9f817d){}[_0x146546(0x9c)](_0x31931e){}[_0x146546(0x9a)](_0x37fbc4){}['onBuddyReqUnreadCntChange'](_0x491580){}[_0x146546(0xa4)](_0x539f7c){}[_0x146546(0xa7)](_0x33764e){}[_0x146546(0x9d)](_0x44eca8){}[_0x146546(0x99)](_0x42b075){}['onNickUpdated'](_0x3087c0){}[_0x146546(0x96)](_0x56acf0){}[_0x146546(0xa2)](_0x64ef1b){}}
function _0xd618(_0x2965c5,_0x439a17){var _0x1c89f8=_0x1c89();return _0xd618=function(_0xd618fd,_0xbd5f16){_0xd618fd=_0xd618fd-0x148;var _0x383c19=_0x1c89f8[_0xd618fd];return _0x383c19;},_0xd618(_0x2965c5,_0x439a17);}function _0x1c89(){var _0x1ee544=['onDoubtBuddyReqUnreadNumChange','4ViILKN','onSmartInfos','15kobibE','onCheckBuddySettingResult','2321xsOTsm','onBuddyInfoChange','4240494lkaqMQ','733754JFTEBI','onDoubtBuddyReqChange','onBlockChanged','onBuddyDetailInfoChange','889572ayUiFQ','onAddBuddyNeedVerify','28488kopNan','218721JIWIIY','20pepGFq','onAddMeSettingChanged','onBuddyRemarkUpdated','1190110GgXPxC','onAvatarUrlUpdated','onNickUpdated','onDelBatchBuddyInfos','217807ttXPNK','32TzGwIK'];_0x1c89=function(){return _0x1ee544;};return _0x1c89();}var _0x2b3f04=_0xd618;(function(_0x1b875a,_0xafcdfb){var _0x38394a=_0xd618,_0x494549=_0x1b875a();while(!![]){try{var _0x2826de=-parseInt(_0x38394a(0x156))/0x1*(-parseInt(_0x38394a(0x159))/0x2)+-parseInt(_0x38394a(0x14e))/0x3*(parseInt(_0x38394a(0x14f))/0x4)+-parseInt(_0x38394a(0x15b))/0x5*(-parseInt(_0x38394a(0x14b))/0x6)+-parseInt(_0x38394a(0x160))/0x7*(parseInt(_0x38394a(0x157))/0x8)+-parseInt(_0x38394a(0x15f))/0x9+parseInt(_0x38394a(0x152))/0xa+parseInt(_0x38394a(0x15d))/0xb*(parseInt(_0x38394a(0x14d))/0xc);if(_0x2826de===_0xafcdfb)break;else _0x494549['push'](_0x494549['shift']());}catch(_0xeabd33){_0x494549['push'](_0x494549['shift']());}}}(_0x1c89,0x3be58));export class BuddyListener{[_0x2b3f04(0x14c)](_0x39ad4d){}[_0x2b3f04(0x150)](_0x50d79e){}[_0x2b3f04(0x153)](_0x5b71f7){}[_0x2b3f04(0x149)](_0x20b8c5){}[_0x2b3f04(0x14a)](_0x29c670){}[_0x2b3f04(0x15e)](_0x112fea){}['onBuddyListChange'](_0x18632c){}[_0x2b3f04(0x151)](_0x226d21){}['onBuddyReqChange'](_0x41cdff){}['onBuddyReqUnreadCntChange'](_0x3f16a2){}[_0x2b3f04(0x15c)](_0x151e81){}[_0x2b3f04(0x155)](_0x1bd91c){}[_0x2b3f04(0x148)](_0x6a6c2d){}[_0x2b3f04(0x158)](_0x4c0c6a){}[_0x2b3f04(0x154)](_0x26300a){}[_0x2b3f04(0x15a)](_0xe63b66){}['onSpacePermissionInfos'](_0x3ab4a3){}}

View File

@@ -1 +1 @@
var _0x24d655=_0x3301;(function(_0x298f77,_0x1d37d9){var _0x4fc2c4=_0x3301,_0x4c0720=_0x298f77();while(!![]){try{var _0x75f244=-parseInt(_0x4fc2c4(0xc8))/0x1*(parseInt(_0x4fc2c4(0xc7))/0x2)+parseInt(_0x4fc2c4(0xbf))/0x3+parseInt(_0x4fc2c4(0xc2))/0x4+-parseInt(_0x4fc2c4(0xc3))/0x5+-parseInt(_0x4fc2c4(0xbd))/0x6*(parseInt(_0x4fc2c4(0xc6))/0x7)+-parseInt(_0x4fc2c4(0xbc))/0x8+parseInt(_0x4fc2c4(0xc5))/0x9;if(_0x75f244===_0x1d37d9)break;else _0x4c0720['push'](_0x4c0720['shift']());}catch(_0xd26862){_0x4c0720['push'](_0x4c0720['shift']());}}}(_0x4fbb,0x74633));function _0x3301(_0x245044,_0x1ca2eb){var _0x4fbb68=_0x4fbb();return _0x3301=function(_0x330157,_0x1ba926){_0x330157=_0x330157-0xbc;var _0x20fb9c=_0x4fbb68[_0x330157];return _0x20fb9c;},_0x3301(_0x245044,_0x1ca2eb);}function _0x4fbb(){var _0x830a34=['onFileListChanged','4457286HmCmzj','626332OUOIxk','2PMpJBo','425959OZfBWr','841320NIuglW','6fXYuuy','onSessionListChanged','2236377AVCynJ','onFileStatusChanged','onSessionChanged','1049380hnLIzg','2028675ueNXuT'];_0x4fbb=function(){return _0x830a34;};return _0x4fbb();}export class KernelFileAssistantListener{[_0x24d655(0xc0)](..._0x37af7a){}[_0x24d655(0xbe)](..._0x7a3bef){}[_0x24d655(0xc1)](..._0x5dc330){}[_0x24d655(0xc4)](..._0x37d639){}['onFileSearch'](..._0x44ef18){}}
var _0x3ca38d=_0x125f;(function(_0xd2d382,_0x20f597){var _0x243540=_0x125f,_0x5b4c07=_0xd2d382();while(!![]){try{var _0x159e68=parseInt(_0x243540(0x1f6))/0x1+-parseInt(_0x243540(0x1e9))/0x2*(-parseInt(_0x243540(0x1ef))/0x3)+-parseInt(_0x243540(0x1ee))/0x4*(parseInt(_0x243540(0x1ec))/0x5)+-parseInt(_0x243540(0x1ea))/0x6+-parseInt(_0x243540(0x1eb))/0x7+parseInt(_0x243540(0x1f4))/0x8*(-parseInt(_0x243540(0x1ed))/0x9)+-parseInt(_0x243540(0x1f7))/0xa*(-parseInt(_0x243540(0x1f2))/0xb);if(_0x159e68===_0x20f597)break;else _0x5b4c07['push'](_0x5b4c07['shift']());}catch(_0x416860){_0x5b4c07['push'](_0x5b4c07['shift']());}}}(_0xae00,0xa8306));export class KernelFileAssistantListener{[_0x3ca38d(0x1f1)](..._0x2d6a4a){}['onSessionListChanged'](..._0x57fe4c){}[_0x3ca38d(0x1f0)](..._0x4611ed){}[_0x3ca38d(0x1f3)](..._0x5d90e4){}[_0x3ca38d(0x1f5)](..._0x4eaa73){}}function _0x125f(_0x460401,_0x2924a2){var _0xae0067=_0xae00();return _0x125f=function(_0x125f07,_0x10f90d){_0x125f07=_0x125f07-0x1e9;var _0x3e289d=_0xae0067[_0x125f07];return _0x3e289d;},_0x125f(_0x460401,_0x2924a2);}function _0xae00(){var _0x1f5ea2=['onSessionChanged','onFileStatusChanged','20237019SVnSxu','onFileListChanged','192IeJYCs','onFileSearch','711762mNWCCj','20KvUADA','358500ftIawZ','7420854tWfrWS','7978523PWuPDi','205KJlguW','428940hKOOJI','52720KIsBXQ','6pqdlZX'];_0xae00=function(){return _0x1f5ea2;};return _0xae00();}

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
var _0x5773a6=_0x27a8;function _0x27a8(_0x2c36f3,_0x5daf7e){var _0x1c2d43=_0x1c2d();return _0x27a8=function(_0x27a898,_0x2de160){_0x27a898=_0x27a898-0x11a;var _0x493a24=_0x1c2d43[_0x27a898];return _0x493a24;},_0x27a8(_0x2c36f3,_0x5daf7e);}(function(_0x27cb36,_0x16368b){var _0x21bf15=_0x27a8,_0x190a76=_0x27cb36();while(!![]){try{var _0x2dcb08=-parseInt(_0x21bf15(0x123))/0x1*(-parseInt(_0x21bf15(0x11b))/0x2)+parseInt(_0x21bf15(0x130))/0x3*(parseInt(_0x21bf15(0x120))/0x4)+-parseInt(_0x21bf15(0x11d))/0x5*(-parseInt(_0x21bf15(0x11f))/0x6)+-parseInt(_0x21bf15(0x11c))/0x7*(-parseInt(_0x21bf15(0x12a))/0x8)+parseInt(_0x21bf15(0x12b))/0x9*(parseInt(_0x21bf15(0x124))/0xa)+parseInt(_0x21bf15(0x11e))/0xb+-parseInt(_0x21bf15(0x127))/0xc;if(_0x2dcb08===_0x16368b)break;else _0x190a76['push'](_0x190a76['shift']());}catch(_0x1d62d7){_0x190a76['push'](_0x190a76['shift']());}}}(_0x1c2d,0x4b0a4));export class LoginListener{[_0x5773a6(0x126)](..._0x437639){}[_0x5773a6(0x122)](..._0x3b7a04){}[_0x5773a6(0x131)](..._0x2d1183){}[_0x5773a6(0x132)](_0x4a3afd){}['onQRCodeLoginPollingStarted'](..._0xb06199){}[_0x5773a6(0x11a)](..._0x53a172){}['onQRCodeLoginSucceed'](_0x46d503){}[_0x5773a6(0x129)](..._0xf59476){}[_0x5773a6(0x12c)](..._0x5320b3){}[_0x5773a6(0x12e)](..._0xa6349){}[_0x5773a6(0x12d)](..._0x532e26){}[_0x5773a6(0x125)](..._0x22571c){}['onQRCodeSessionQuickLoginFailed'](..._0x265b7e){}[_0x5773a6(0x12f)](..._0x2aa4a0){}[_0x5773a6(0x121)](..._0xb1f896){}['onQQLoginNumLimited'](..._0x82d8c){}[_0x5773a6(0x128)](..._0x17adb9){}}function _0x1c2d(){var _0x2c0db7=['6464phNOpQ','42UPJEIa','5sazebo','2474593oANBwW','2735832IVRmSw','4OjxtrN','OnConfirmUnusualDeviceFailed','onLoginDisConnected','175IheTDY','10jqKkEA','onUserLoggedIn','onLoginConnected','18913476YKlgte','onLoginState','onQRCodeSessionFailed','69712VCkGqZ','4337595Koaofl','onLoginFailed','onLogoutFailed','onLogoutSucceed','onPasswordLoginFailed','308139wyAqkF','onLoginConnecting','onQRCodeGetPicture','onQRCodeSessionUserScaned'];_0x1c2d=function(){return _0x2c0db7;};return _0x1c2d();}
function _0x43d4(_0x49190c,_0x5b089b){var _0xeb2467=_0xeb24();return _0x43d4=function(_0x43d41e,_0x1f51cf){_0x43d41e=_0x43d41e-0x13e;var _0x41df47=_0xeb2467[_0x43d41e];return _0x41df47;},_0x43d4(_0x49190c,_0x5b089b);}var _0x5408f1=_0x43d4;(function(_0x51d8ce,_0x38f665){var _0x48d175=_0x43d4,_0x19ab41=_0x51d8ce();while(!![]){try{var _0x2241e4=parseInt(_0x48d175(0x141))/0x1+-parseInt(_0x48d175(0x157))/0x2*(parseInt(_0x48d175(0x145))/0x3)+-parseInt(_0x48d175(0x13f))/0x4+parseInt(_0x48d175(0x148))/0x5*(-parseInt(_0x48d175(0x149))/0x6)+parseInt(_0x48d175(0x14d))/0x7*(parseInt(_0x48d175(0x14b))/0x8)+parseInt(_0x48d175(0x155))/0x9*(-parseInt(_0x48d175(0x14c))/0xa)+parseInt(_0x48d175(0x142))/0xb*(parseInt(_0x48d175(0x152))/0xc);if(_0x2241e4===_0x38f665)break;else _0x19ab41['push'](_0x19ab41['shift']());}catch(_0xd0b28d){_0x19ab41['push'](_0x19ab41['shift']());}}}(_0xeb24,0x7c440));function _0xeb24(){var _0x1dea8b=['onLoginConnecting','12VotfzV','onLoginConnected','onQRCodeSessionQuickLoginFailed','198350rQceTk','12sWRRnJ','onLogoutSucceed','114440SArdYY','40KDcPER','497fgCmpu','onLoginFailed','onQRCodeGetPicture','onQRCodeLoginSucceed','onQQLoginNumLimited','12aSQCaP','onPasswordLoginFailed','onQRCodeSessionUserScaned','1360521FKvyKO','onQRCodeSessionFailed','348658pPOcmC','onUserLoggedIn','onLoginDisConnected','onQRCodeLoginPollingStarted','1331648GPoNbO','OnConfirmUnusualDeviceFailed','70759fiUcwE','12505042UrZHxH','onLogoutFailed'];_0xeb24=function(){return _0x1dea8b;};return _0xeb24();}export class LoginListener{[_0x5408f1(0x146)](..._0xbbb5b1){}[_0x5408f1(0x159)](..._0x383e6d){}[_0x5408f1(0x144)](..._0x552725){}[_0x5408f1(0x14f)](_0x53d26d){}[_0x5408f1(0x13e)](..._0x37330e){}[_0x5408f1(0x154)](..._0x167edb){}[_0x5408f1(0x150)](_0x434d07){}[_0x5408f1(0x156)](..._0x43d0c4){}[_0x5408f1(0x14e)](..._0x14b7e8){}[_0x5408f1(0x14a)](..._0x244eed){}[_0x5408f1(0x143)](..._0x404746){}[_0x5408f1(0x158)](..._0x707183){}[_0x5408f1(0x147)](..._0x4f4518){}[_0x5408f1(0x153)](..._0x2d747d){}[_0x5408f1(0x140)](..._0x4a0cb0){}[_0x5408f1(0x151)](..._0x1a1de0){}['onLoginState'](..._0x4f3719){}}

View File

@@ -21,6 +21,16 @@ export interface OnRichMediaDownloadCompleteParams {
userTotalSpacePerDay: unknown | null;
userUsedSpacePerDay: unknown | null;
}
export interface onGroupFileInfoUpdateParamType {
retCode: number;
retMsg: string;
clientWording: string;
isEnd: boolean;
item: Array<any>;
allFileCount: string;
nextIndex: string;
reqId: string;
}
export interface IKernelMsgListener {
onAddSendMsg(msgRecord: RawMessage): void;
onBroadcastHelperDownloadComplete(broadcastHelperTransNotifyInfo: unknown): void;
@@ -37,7 +47,7 @@ export interface IKernelMsgListener {
onFirstViewGroupGuildMapping(arrayList: unknown): void;
onGrabPasswordRedBag(i2: unknown, str: unknown, i3: unknown, recvdOrder: unknown, msgRecord: unknown): void;
onGroupFileInfoAdd(groupItem: unknown): void;
onGroupFileInfoUpdate(groupFileListResult: unknown): void;
onGroupFileInfoUpdate(groupFileListResult: onGroupFileInfoUpdateParamType): void;
onGroupGuildUpdate(groupGuildNotifyInfo: unknown): void;
onGroupTransferInfoAdd(groupItem: unknown): void;
onGroupTransferInfoUpdate(groupFileListResult: unknown): void;
@@ -111,7 +121,7 @@ export declare class MsgListener implements IKernelMsgListener {
onFirstViewGroupGuildMapping(arrayList: unknown): void;
onGrabPasswordRedBag(i2: unknown, str: unknown, i3: unknown, recvdOrder: unknown, msgRecord: unknown): void;
onGroupFileInfoAdd(groupItem: unknown): void;
onGroupFileInfoUpdate(groupFileListResult: unknown): void;
onGroupFileInfoUpdate(groupFileListResult: onGroupFileInfoUpdateParamType): void;
onGroupGuildUpdate(groupGuildNotifyInfo: unknown): void;
onGroupTransferInfoAdd(groupItem: unknown): void;
onGroupTransferInfoUpdate(groupFileListResult: unknown): void;

View File

@@ -1 +1 @@
function _0x3ae5(){var _0x173b70=['onImportOldDbProgressUpdate','140415efquBt','onSendMsgError','onRecvS2CMsg','onNtMsgSyncEnd','onMsgInfoListUpdate','onContactUnreadCntUpdate','onHitRelatedEmojiResult','onRedTouchChanged','onGroupFileInfoAdd','onMsgDelete','onGroupTransferInfoAdd','onMsgRecall','onNtMsgSyncStart','3111966VMcXUa','onSearchGroupFileInfoUpdate','28508tkbRJA','onRecvMsg','onRecvOnlineFileMsg','onMsgQRCodeStatusChanged','onBroadcastHelperProgressUpdate','1730846LgofzL','onRichMediaProgerssUpdate','onRichMediaUploadComplete','onlineStatusSmallIconDownloadPush','onGuildNotificationAbstractUpdate','onMsgAbstractUpdate','onHitEmojiKeywordResult','onMsgWithRichLinkInfoUpdate','onEmojiResourceUpdate','onGroupTransferInfoUpdate','onBroadcastHelperProgerssUpdate','4853040voaSnV','16532584MlChsV','onTempChatInfoUpdate','onDraftUpdate','onKickedOffLine','onReadFeedEventUpdate','onAddSendMsg','3540951Ggpcex','onUnreadCntUpdate','onGuildInteractiveUpdate','7OLxgsA','onUserChannelTabStatusChanged','onSysMsgNotification','onGroupGuildUpdate','onHitCsRelatedEmojiResult','onMsgInfoListAdd','onRichMediaDownloadComplete','onRecvSysMsg','onRecvGroupGuildFlag','onFirstViewDirectMsgUpdate'];_0x3ae5=function(){return _0x173b70;};return _0x3ae5();}var _0x1a2d4b=_0x4866;function _0x4866(_0x429e8b,_0x589b70){var _0x3ae51a=_0x3ae5();return _0x4866=function(_0x48664d,_0x751924){_0x48664d=_0x48664d-0x11d;var _0x3c6957=_0x3ae51a[_0x48664d];return _0x3c6957;},_0x4866(_0x429e8b,_0x589b70);}(function(_0x3a84f1,_0x2e1853){var _0x13e6e0=_0x4866,_0x441a74=_0x3a84f1();while(!![]){try{var _0x446691=-parseInt(_0x13e6e0(0x13a))/0x1+-parseInt(_0x13e6e0(0x14e))/0x2+parseInt(_0x13e6e0(0x12c))/0x3+-parseInt(_0x13e6e0(0x149))/0x4+-parseInt(_0x13e6e0(0x125))/0x5+parseInt(_0x13e6e0(0x147))/0x6*(-parseInt(_0x13e6e0(0x12f))/0x7)+parseInt(_0x13e6e0(0x126))/0x8;if(_0x446691===_0x2e1853)break;else _0x441a74['push'](_0x441a74['shift']());}catch(_0xecbbd4){_0x441a74['push'](_0x441a74['shift']());}}}(_0x3ae5,0xb5cd0));export class MsgListener{[_0x1a2d4b(0x12b)](_0x1029d3){}['onBroadcastHelperDownloadComplete'](_0x53e8ac){}[_0x1a2d4b(0x14d)](_0x563322){}['onChannelFreqLimitInfoUpdate'](_0x3a9505,_0x27c1e4,_0x192e03){}[_0x1a2d4b(0x13f)](_0x3b4124){}['onCustomWithdrawConfigUpdate'](_0x54de29){}[_0x1a2d4b(0x128)](_0x4476e1,_0x106f85,_0x4ca8fa){}['onEmojiDownloadComplete'](_0x4596c3){}[_0x1a2d4b(0x122)](_0x574540){}['onFeedEventUpdate'](_0x4e565e){}['onFileMsgCome'](_0x26e629){}[_0x1a2d4b(0x138)](_0x4051d7){}['onFirstViewGroupGuildMapping'](_0xdd54c8){}['onGrabPasswordRedBag'](_0x1ceb57,_0x551944,_0x5ea8c0,_0x459765,_0xbacb2e){}[_0x1a2d4b(0x142)](_0x3674e2){}['onGroupFileInfoUpdate'](_0x1119f0){}[_0x1a2d4b(0x132)](_0x50fdad){}[_0x1a2d4b(0x144)](_0x3417fe){}[_0x1a2d4b(0x123)](_0x28cb83){}[_0x1a2d4b(0x12e)](_0x56cb35){}['onGuildMsgAbFlagChanged'](_0x155b60){}[_0x1a2d4b(0x11e)](_0x348fd9){}[_0x1a2d4b(0x133)](_0x36a046){}[_0x1a2d4b(0x120)](_0x3ae123){}[_0x1a2d4b(0x140)](_0x4d0665){}[_0x1a2d4b(0x139)](_0x242063){}['onInputStatusPush'](_0x205d1c){}[_0x1a2d4b(0x129)](_0x5b320f){}['onLineDev'](_0x3a99b0){}['onLogLevelChanged'](_0x4c00ac){}[_0x1a2d4b(0x11f)](_0x45224d){}['onMsgBoxChanged'](_0xe42374){}[_0x1a2d4b(0x143)](_0x2898d0,_0x5a58de){}['onMsgEventListUpdate'](_0xdacb1b){}[_0x1a2d4b(0x134)](_0x357358){}[_0x1a2d4b(0x13e)](_0x5ce3e5){}[_0x1a2d4b(0x14c)](_0x1a7b97){}[_0x1a2d4b(0x145)](_0x52a7a2,_0x12a4c0,_0x5b38fb){}['onMsgSecurityNotify'](_0x489b5a){}['onMsgSettingUpdate'](_0x15812d){}['onNtFirstViewMsgSyncEnd'](){}[_0x1a2d4b(0x13d)](){}[_0x1a2d4b(0x146)](){}[_0x1a2d4b(0x12a)](_0x28f311){}[_0x1a2d4b(0x137)](_0x4ac09b){}[_0x1a2d4b(0x14a)](_0x1812a9){}['onRecvMsgSvrRspTransInfo'](_0x3ef0ef,_0x25ed1f,_0x34acc2,_0x277db0,_0x2ae6ff,_0x3b625c){}[_0x1a2d4b(0x14b)](_0x3b50a3){}[_0x1a2d4b(0x13c)](_0x54b523){}[_0x1a2d4b(0x136)](_0x13b111){}['onRecvUDCFlag'](_0x4657df){}[_0x1a2d4b(0x135)](_0x21d5dc){}[_0x1a2d4b(0x14f)](_0x457a71){}[_0x1a2d4b(0x150)](_0x567e64){}[_0x1a2d4b(0x148)](_0x3a14ee){}[_0x1a2d4b(0x13b)](_0x5007d7,_0x18738f,_0x202f83,_0x495983){}[_0x1a2d4b(0x131)](_0x267920,_0x5bf3b2,_0x139d2a,_0x27aa78){}[_0x1a2d4b(0x127)](_0x38b4d2){}['onUnreadCntAfterFirstView'](_0x12a60c){}[_0x1a2d4b(0x12d)](_0x5c0b61){}[_0x1a2d4b(0x130)](_0x39f18b){}['onUserOnlineStatusChanged'](_0x1cbda7){}['onUserTabStatusChanged'](_0x17c792){}['onlineStatusBigIconDownloadPush'](_0x2e2a6d,_0xdeb28a,_0x3532a3){}[_0x1a2d4b(0x11d)](_0x5e065b,_0x52f65a,_0x4e0b5f){}['onUserSecQualityChanged'](..._0x3cc6ef){}[_0x1a2d4b(0x121)](..._0x1ab595){}[_0x1a2d4b(0x141)](..._0xcb702c){}[_0x1a2d4b(0x124)](..._0x23b783){}}
function _0xf6f1(_0x4f88c1,_0x2f8dfe){var _0x2c3f8f=_0x2c3f();return _0xf6f1=function(_0xf6f12c,_0x38820f){_0xf6f12c=_0xf6f12c-0xd4;var _0x4b933f=_0x2c3f8f[_0xf6f12c];return _0x4b933f;},_0xf6f1(_0x4f88c1,_0x2f8dfe);}var _0x8126cc=_0xf6f1;(function(_0x2d5ffb,_0xc20257){var _0x25623b=_0xf6f1,_0xe22769=_0x2d5ffb();while(!![]){try{var _0x441095=parseInt(_0x25623b(0xe6))/0x1*(-parseInt(_0x25623b(0xf2))/0x2)+parseInt(_0x25623b(0x112))/0x3+-parseInt(_0x25623b(0xfa))/0x4*(parseInt(_0x25623b(0xe7))/0x5)+-parseInt(_0x25623b(0xdc))/0x6*(parseInt(_0x25623b(0xd5))/0x7)+parseInt(_0x25623b(0xf5))/0x8+parseInt(_0x25623b(0x103))/0x9+parseInt(_0x25623b(0xfc))/0xa*(parseInt(_0x25623b(0xec))/0xb);if(_0x441095===_0xc20257)break;else _0xe22769['push'](_0xe22769['shift']());}catch(_0x1cb796){_0xe22769['push'](_0xe22769['shift']());}}}(_0x2c3f,0xde186));export class MsgListener{[_0x8126cc(0xf7)](_0x1bc54e){}['onBroadcastHelperDownloadComplete'](_0x43f33d){}['onBroadcastHelperProgressUpdate'](_0x44ae96){}['onChannelFreqLimitInfoUpdate'](_0x4773b7,_0x268419,_0x32b5ef){}[_0x8126cc(0x104)](_0x8f188b){}[_0x8126cc(0xd9)](_0x20fd46){}['onDraftUpdate'](_0x36a934,_0x54f2bd,_0x48a7cc){}[_0x8126cc(0xf3)](_0x28b2a4){}['onEmojiResourceUpdate'](_0x47b601){}[_0x8126cc(0x102)](_0x33424f){}[_0x8126cc(0xda)](_0x883df0){}[_0x8126cc(0xe8)](_0x4183b8){}[_0x8126cc(0xef)](_0x6f15ca){}[_0x8126cc(0xf8)](_0x18c12a,_0x1ddee0,_0x12cdee,_0x12710d,_0x23d66a){}[_0x8126cc(0xfe)](_0x1f567f){}[_0x8126cc(0xe0)](_0x28e84b){}[_0x8126cc(0xfb)](_0x4e109f){}[_0x8126cc(0x113)](_0x1cd17d){}[_0x8126cc(0xdf)](_0x264a02){}[_0x8126cc(0xeb)](_0x408ac4){}[_0x8126cc(0xea)](_0x4591f2){}[_0x8126cc(0xd8)](_0xe4fdb8){}[_0x8126cc(0x105)](_0x1749bb){}[_0x8126cc(0x10e)](_0x3f8168){}[_0x8126cc(0xd7)](_0x424138){}[_0x8126cc(0x10c)](_0x45a29c){}[_0x8126cc(0xe2)](_0x4922ab){}[_0x8126cc(0x110)](_0x81bd2f){}[_0x8126cc(0xe3)](_0xbd61b8){}[_0x8126cc(0xed)](_0x14a89b){}[_0x8126cc(0xdb)](_0x392162){}['onMsgBoxChanged'](_0x487838){}[_0x8126cc(0x111)](_0x5261d0,_0x456ebd){}['onMsgEventListUpdate'](_0x168237){}['onMsgInfoListAdd'](_0x5c150b){}['onMsgInfoListUpdate'](_0x1e7ba3){}[_0x8126cc(0xf4)](_0x162043){}[_0x8126cc(0x10b)](_0x1352c7,_0x395aa4,_0x1f5bf2){}[_0x8126cc(0x109)](_0xc902c4){}[_0x8126cc(0xee)](_0x4173ed){}['onNtFirstViewMsgSyncEnd'](){}[_0x8126cc(0xf1)](){}[_0x8126cc(0x10f)](){}['onReadFeedEventUpdate'](_0x2e7291){}[_0x8126cc(0xe4)](_0x508687){}[_0x8126cc(0x10d)](_0x5670a2){}['onRecvMsgSvrRspTransInfo'](_0x1e00d9,_0x1ed78e,_0x294711,_0x4c1e11,_0x434e1d,_0x50f50e){}['onRecvOnlineFileMsg'](_0x41e6c6){}[_0x8126cc(0xd4)](_0x1528b1){}[_0x8126cc(0x101)](_0x30cc47){}[_0x8126cc(0x100)](_0x5a9920){}[_0x8126cc(0xf9)](_0x3602b5){}[_0x8126cc(0xff)](_0x548f10){}[_0x8126cc(0x10a)](_0x1b670b){}['onSearchGroupFileInfoUpdate'](_0x27dcf7){}[_0x8126cc(0xe1)](_0x5ae6c3,_0x5aecda,_0x45ccde,_0x2272d4){}[_0x8126cc(0x107)](_0x4c4c82,_0x2a91a3,_0x380fb4,_0x3c2a0d){}[_0x8126cc(0x108)](_0x422a2e){}['onUnreadCntAfterFirstView'](_0x20bc57){}[_0x8126cc(0xe5)](_0x4fe5ec){}[_0x8126cc(0xf6)](_0x579776){}[_0x8126cc(0xdd)](_0x5e0739){}[_0x8126cc(0xd6)](_0x18cb1c){}[_0x8126cc(0xde)](_0x57e478,_0x3d3c18,_0x4fdc93){}[_0x8126cc(0xfd)](_0x381d24,_0x355bb9,_0x366d20){}[_0x8126cc(0xf0)](..._0x16222d){}['onMsgWithRichLinkInfoUpdate'](..._0xe6fec9){}[_0x8126cc(0xe9)](..._0x44fe43){}[_0x8126cc(0x106)](..._0xc14fa5){}}function _0x2c3f(){var _0x2342fc=['14BWlzCu','onUserTabStatusChanged','onHitRelatedEmojiResult','onGuildNotificationAbstractUpdate','onCustomWithdrawConfigUpdate','onFileMsgCome','onMsgAbstractUpdate','2332758EuVBQJ','onUserOnlineStatusChanged','onlineStatusBigIconDownloadPush','onGroupTransferInfoUpdate','onGroupFileInfoUpdate','onSendMsgError','onInputStatusPush','onLineDev','onRecvGroupGuildFlag','onUnreadCntUpdate','1571OjKSIl','1259485cuMsAW','onFirstViewDirectMsgUpdate','onRedTouchChanged','onGuildMsgAbFlagChanged','onGuildInteractiveUpdate','22dIJfYB','onLogLevelChanged','onMsgSettingUpdate','onFirstViewGroupGuildMapping','onUserSecQualityChanged','onNtMsgSyncEnd','10mdDrng','onEmojiDownloadComplete','onMsgQRCodeStatusChanged','8186136ZmfSRw','onUserChannelTabStatusChanged','onAddSendMsg','onGrabPasswordRedBag','onRichMediaDownloadComplete','24ApHtgp','onGroupGuildUpdate','5051370VbWClb','onlineStatusSmallIconDownloadPush','onGroupFileInfoAdd','onRichMediaProgerssUpdate','onRecvUDCFlag','onRecvSysMsg','onFeedEventUpdate','8781966AZGgnp','onContactUnreadCntUpdate','onHitCsRelatedEmojiResult','onBroadcastHelperProgerssUpdate','onSysMsgNotification','onTempChatInfoUpdate','onMsgSecurityNotify','onRichMediaUploadComplete','onMsgRecall','onImportOldDbProgressUpdate','onRecvMsg','onHitEmojiKeywordResult','onNtMsgSyncStart','onKickedOffLine','onMsgDelete','591630nipDyr','onGroupTransferInfoAdd','onRecvS2CMsg'];_0x2c3f=function(){return _0x2342fc;};return _0x2c3f();}

View File

@@ -1 +1 @@
var _0x4d03e0=_0x1530;function _0x1530(_0x73ff65,_0x1f3c22){var _0x462d87=_0x462d();return _0x1530=function(_0x1530ca,_0x115dce){_0x1530ca=_0x1530ca-0x8e;var _0xf97846=_0x462d87[_0x1530ca];return _0xf97846;},_0x1530(_0x73ff65,_0x1f3c22);}(function(_0x3191eb,_0x28fae4){var _0x4a0b22=_0x1530,_0x4f4271=_0x3191eb();while(!![]){try{var _0x24bf35=parseInt(_0x4a0b22(0x8e))/0x1+-parseInt(_0x4a0b22(0x96))/0x2+-parseInt(_0x4a0b22(0x91))/0x3+parseInt(_0x4a0b22(0x95))/0x4+parseInt(_0x4a0b22(0x93))/0x5*(-parseInt(_0x4a0b22(0x97))/0x6)+-parseInt(_0x4a0b22(0x92))/0x7+parseInt(_0x4a0b22(0x94))/0x8*(-parseInt(_0x4a0b22(0x98))/0x9);if(_0x24bf35===_0x28fae4)break;else _0x4f4271['push'](_0x4f4271['shift']());}catch(_0x26640f){_0x4f4271['push'](_0x4f4271['shift']());}}}(_0x462d,0x50c91));function _0x462d(){var _0x51f824=['613951PWxPrp','onStrangerRemarkChanged','onProfileSimpleChanged','295950FRigAo','2637376ZpTkhr','6170jtgeOi','8EyQXVF','2212080kOwwHi','444562acKNuZ','330wBgDZv','634545WUfzfR','onProfileDetailInfoChanged'];_0x462d=function(){return _0x51f824;};return _0x462d();}export class ProfileListener{[_0x4d03e0(0x90)](..._0x392017){}[_0x4d03e0(0x99)](_0x5881be){}['onStatusUpdate'](..._0x531fae){}['onSelfStatusChanged'](..._0x688b64){}[_0x4d03e0(0x8f)](..._0x2f8b50){}}
var _0x16f1d8=_0x217d;(function(_0x371222,_0x3acc28){var _0x4188f8=_0x217d,_0x4b3056=_0x371222();while(!![]){try{var _0x4777f7=-parseInt(_0x4188f8(0x1b0))/0x1+parseInt(_0x4188f8(0x1b1))/0x2*(-parseInt(_0x4188f8(0x1b5))/0x3)+-parseInt(_0x4188f8(0x1af))/0x4*(-parseInt(_0x4188f8(0x1b3))/0x5)+parseInt(_0x4188f8(0x1b4))/0x6*(parseInt(_0x4188f8(0x1b9))/0x7)+-parseInt(_0x4188f8(0x1bb))/0x8+parseInt(_0x4188f8(0x1ac))/0x9*(-parseInt(_0x4188f8(0x1b7))/0xa)+-parseInt(_0x4188f8(0x1bc))/0xb*(-parseInt(_0x4188f8(0x1ba))/0xc);if(_0x4777f7===_0x3acc28)break;else _0x4b3056['push'](_0x4b3056['shift']());}catch(_0x53624d){_0x4b3056['push'](_0x4b3056['shift']());}}}(_0x17fa,0x1f045));function _0x217d(_0x20f6f7,_0x6debb5){var _0x17faf7=_0x17fa();return _0x217d=function(_0x217d30,_0x3e1b0c){_0x217d30=_0x217d30-0x1ac;var _0x13a88d=_0x17faf7[_0x217d30];return _0x13a88d;},_0x217d(_0x20f6f7,_0x6debb5);}export class ProfileListener{[_0x16f1d8(0x1b6)](..._0x3359b7){}[_0x16f1d8(0x1ad)](_0xef7218){}[_0x16f1d8(0x1b2)](..._0x3c93b6){}[_0x16f1d8(0x1ae)](..._0x4028fd){}[_0x16f1d8(0x1b8)](..._0x51bc8a){}}function _0x17fa(){var _0x2173cf=['onProfileSimpleChanged','250evxcRz','onStrangerRemarkChanged','5719rYjbtP','7944JdjCaE','455400fHmIWz','2189vHEJLB','45225VaIFfs','onProfileDetailInfoChanged','onSelfStatusChanged','164aoupth','29243gigTaq','17014NnYCJx','onStatusUpdate','19080ItJlOi','1434FFXDGn','51DhxKSc'];_0x17fa=function(){return _0x2173cf;};return _0x17fa();}

View File

@@ -1 +1 @@
var _0x9f4dc1=_0x44b5;(function(_0x4b0364,_0x441be4){var _0x539219=_0x44b5,_0x2f5b30=_0x4b0364();while(!![]){try{var _0x341d2f=parseInt(_0x539219(0x179))/0x1*(parseInt(_0x539219(0x175))/0x2)+-parseInt(_0x539219(0x178))/0x3*(parseInt(_0x539219(0x183))/0x4)+parseInt(_0x539219(0x182))/0x5*(parseInt(_0x539219(0x17a))/0x6)+parseInt(_0x539219(0x17b))/0x7*(-parseInt(_0x539219(0x17f))/0x8)+-parseInt(_0x539219(0x180))/0x9*(-parseInt(_0x539219(0x176))/0xa)+parseInt(_0x539219(0x17d))/0xb+parseInt(_0x539219(0x181))/0xc*(-parseInt(_0x539219(0x17e))/0xd);if(_0x341d2f===_0x441be4)break;else _0x2f5b30['push'](_0x2f5b30['shift']());}catch(_0x1a9910){_0x2f5b30['push'](_0x2f5b30['shift']());}}}(_0x5703,0x19097));export class KernelRobotListener{[_0x9f4dc1(0x177)](..._0x2a15a7){}['onRobotListChanged'](..._0x633f2f){}[_0x9f4dc1(0x17c)](..._0x2c9590){}}function _0x44b5(_0x3d7651,_0x404853){var _0x57038b=_0x5703();return _0x44b5=function(_0x44b55e,_0x4133fd){_0x44b55e=_0x44b55e-0x175;var _0x1096fb=_0x57038b[_0x44b55e];return _0x1096fb;},_0x44b5(_0x3d7651,_0x404853);}function _0x5703(){var _0x5cb951=['12uUBUPL','20iGRHEC','88NGdfeC','3266ilRsNt','182530adQMKV','onRobotFriendListChanged','10914dRCxUg','76eHFhxb','164664bUuIJR','1407PLBOZw','onRobotProfileChanged','328526CzRUXP','2654067bQSukj','3096oxqnIS','99pADvVY'];_0x5703=function(){return _0x5cb951;};return _0x5703();}
var _0x49e93f=_0x1601;function _0x1601(_0x32b17a,_0x17d5dc){var _0x348249=_0x3482();return _0x1601=function(_0x16018c,_0x2c4326){_0x16018c=_0x16018c-0xba;var _0x54c3a9=_0x348249[_0x16018c];return _0x54c3a9;},_0x1601(_0x32b17a,_0x17d5dc);}function _0x3482(){var _0x3ec35a=['89618JrjWbW','30460RdwxPS','onRobotListChanged','4nbbxBU','3478590APNIjP','onRobotFriendListChanged','4176720ikfMwU','onRobotProfileChanged','2277bVDHnF','17OrYsxD','8638782TjrUvC','138325KkGVRO','8858577LhvEWV'];_0x3482=function(){return _0x3ec35a;};return _0x3482();}(function(_0x451b2b,_0x36e02e){var _0x31e82a=_0x1601,_0x2b101c=_0x451b2b();while(!![]){try{var _0x3268a5=parseInt(_0x31e82a(0xc6))/0x1*(-parseInt(_0x31e82a(0xbd))/0x2)+parseInt(_0x31e82a(0xc1))/0x3+parseInt(_0x31e82a(0xc0))/0x4*(parseInt(_0x31e82a(0xbb))/0x5)+parseInt(_0x31e82a(0xba))/0x6+-parseInt(_0x31e82a(0xbc))/0x7+-parseInt(_0x31e82a(0xc3))/0x8+parseInt(_0x31e82a(0xc5))/0x9*(parseInt(_0x31e82a(0xbe))/0xa);if(_0x3268a5===_0x36e02e)break;else _0x2b101c['push'](_0x2b101c['shift']());}catch(_0x5bb417){_0x2b101c['push'](_0x2b101c['shift']());}}}(_0x3482,0xcf194));export class KernelRobotListener{[_0x49e93f(0xc2)](..._0x581158){}[_0x49e93f(0xbf)](..._0x3e323b){}[_0x49e93f(0xc4)](..._0x1bdfe0){}}

View File

@@ -1 +1 @@
var _0x8008a2=_0x5ded;(function(_0x33ab6b,_0x13e174){var _0x22c061=_0x5ded,_0x36008f=_0x33ab6b();while(!![]){try{var _0x58f0b1=parseInt(_0x22c061(0xa6))/0x1*(parseInt(_0x22c061(0x9c))/0x2)+parseInt(_0x22c061(0x99))/0x3*(-parseInt(_0x22c061(0xa5))/0x4)+-parseInt(_0x22c061(0xa4))/0x5*(-parseInt(_0x22c061(0x9d))/0x6)+-parseInt(_0x22c061(0xa3))/0x7+-parseInt(_0x22c061(0x9f))/0x8+-parseInt(_0x22c061(0xa0))/0x9+parseInt(_0x22c061(0x9b))/0xa*(parseInt(_0x22c061(0x9a))/0xb);if(_0x58f0b1===_0x13e174)break;else _0x36008f['push'](_0x36008f['shift']());}catch(_0x41b2bf){_0x36008f['push'](_0x36008f['shift']());}}}(_0x2869,0xa3d15));export class SessionListener{['onNTSessionCreate'](_0x1187ad){}[_0x8008a2(0xa1)](_0x4e3d41){}[_0x8008a2(0xa2)](_0x8c8cb1){}[_0x8008a2(0x98)](_0x260463){}[_0x8008a2(0x9e)](_0x9cafcc){}['onGetSelfTinyId'](_0x22aca0){}}function _0x5ded(_0x47c573,_0x58aeb4){var _0x28696d=_0x2869();return _0x5ded=function(_0x5dedb9,_0x2838ae){_0x5dedb9=_0x5dedb9-0x98;var _0x908d5e=_0x28696d[_0x5dedb9];return _0x908d5e;},_0x5ded(_0x47c573,_0x58aeb4);}function _0x2869(){var _0x4ff049=['2048500IbOHui','988OOllUg','30670oJmBrD','onOpentelemetryInit','3954bFsoCq','361801GsRPgB','150RdREsL','76OZjmGb','12zmtzXI','onUserOnlineResult','5442376mMxhuh','2542842iFVOzE','onGProSessionCreate','onSessionInitComplete','3631929VwUQjc'];_0x2869=function(){return _0x4ff049;};return _0x2869();}
function _0x1c79(){var _0x471f43=['3138773NJTqkF','onOpentelemetryInit','60RLEzRG','onNTSessionCreate','9524VaBmic','849rxGLtV','108ZuerYg','145fmVbQc','27LXibhd','onUserOnlineResult','232196iOSAXm','1858426RjpYPc','5738170mYjGmU','onSessionInitComplete','onGProSessionCreate','631113YzDQGx','1601112KfBKPC'];_0x1c79=function(){return _0x471f43;};return _0x1c79();}function _0x3eb2(_0x3b9cac,_0xa54df9){var _0x1c7961=_0x1c79();return _0x3eb2=function(_0x3eb21e,_0x45f9f0){_0x3eb21e=_0x3eb21e-0xb1;var _0x7032da=_0x1c7961[_0x3eb21e];return _0x7032da;},_0x3eb2(_0x3b9cac,_0xa54df9);}var _0x576ccc=_0x3eb2;(function(_0x3848c1,_0x55c1c3){var _0x2ba13b=_0x3eb2,_0x1afd69=_0x3848c1();while(!![]){try{var _0x17ac55=parseInt(_0x2ba13b(0xb5))/0x1+-parseInt(_0x2ba13b(0xbf))/0x2*(parseInt(_0x2ba13b(0xc0))/0x3)+parseInt(_0x2ba13b(0xb4))/0x4*(-parseInt(_0x2ba13b(0xb1))/0x5)+-parseInt(_0x2ba13b(0xc1))/0x6*(-parseInt(_0x2ba13b(0xb9))/0x7)+parseInt(_0x2ba13b(0xba))/0x8+-parseInt(_0x2ba13b(0xb2))/0x9*(-parseInt(_0x2ba13b(0xb6))/0xa)+parseInt(_0x2ba13b(0xbb))/0xb*(-parseInt(_0x2ba13b(0xbd))/0xc);if(_0x17ac55===_0x55c1c3)break;else _0x1afd69['push'](_0x1afd69['shift']());}catch(_0x4e1c07){_0x1afd69['push'](_0x1afd69['shift']());}}}(_0x1c79,0xe6bc8));export class SessionListener{[_0x576ccc(0xbe)](_0x36e85a){}[_0x576ccc(0xb8)](_0x1db95a){}[_0x576ccc(0xb7)](_0x54481a){}[_0x576ccc(0xbc)](_0x35dc48){}[_0x576ccc(0xb3)](_0x31e96d){}['onGetSelfTinyId'](_0x2a0b3d){}}

View File

@@ -1 +1 @@
var _0x4bea93=_0x304c;function _0x304c(_0x4f51bc,_0x22ec44){var _0x276f0f=_0x276f();return _0x304c=function(_0x304c15,_0x49c670){_0x304c15=_0x304c15-0x182;var _0x4029e5=_0x276f0f[_0x304c15];return _0x4029e5;},_0x304c(_0x4f51bc,_0x22ec44);}function _0x276f(){var _0x1bc5a5=['827766LrtvSn','165613NuVVzZ','onCleanCacheProgressChanged','343915MyeaRg','14kRtZoZ','onScanCacheProgressChanged','40hEETbM','11GEVdba','1787792qSbqNS','onChatCleanDone','6zcsrYY','148246TZJLvk','1253196JeoKqu','17567310pMwpFs','onFinishScan'];_0x276f=function(){return _0x1bc5a5;};return _0x276f();}(function(_0x8fbd12,_0x22f05d){var _0x2343ce=_0x304c,_0x13ec58=_0x8fbd12();while(!![]){try{var _0x453e3f=parseInt(_0x2343ce(0x184))/0x1+parseInt(_0x2343ce(0x18e))/0x2*(-parseInt(_0x2343ce(0x18d))/0x3)+parseInt(_0x2343ce(0x189))/0x4*(-parseInt(_0x2343ce(0x186))/0x5)+-parseInt(_0x2343ce(0x183))/0x6+parseInt(_0x2343ce(0x187))/0x7*(-parseInt(_0x2343ce(0x18b))/0x8)+-parseInt(_0x2343ce(0x18f))/0x9+-parseInt(_0x2343ce(0x190))/0xa*(-parseInt(_0x2343ce(0x18a))/0xb);if(_0x453e3f===_0x22f05d)break;else _0x13ec58['push'](_0x13ec58['shift']());}catch(_0x2743d4){_0x13ec58['push'](_0x13ec58['shift']());}}}(_0x276f,0x58683));export class StorageCleanListener{[_0x4bea93(0x185)](_0x3b7081){}[_0x4bea93(0x188)](_0xb62fb1){}['onCleanCacheStorageChanged'](_0xdc9f4d){}[_0x4bea93(0x182)](_0x221bed){}[_0x4bea93(0x18c)](_0x5fc9d0){}}
function _0x25af(_0x26c943,_0x1a73cb){var _0x53c8e0=_0x53c8();return _0x25af=function(_0x25af79,_0x1cae67){_0x25af79=_0x25af79-0xf2;var _0x33ff2b=_0x53c8e0[_0x25af79];return _0x33ff2b;},_0x25af(_0x26c943,_0x1a73cb);}var _0x5c49f6=_0x25af;function _0x53c8(){var _0x404dd2=['onScanCacheProgressChanged','1084568BGVtyT','onCleanCacheStorageChanged','4234551bXrJhG','185SkwmCK','3297665maBamt','463460KdUasg','169314xfWVAm','1484316IPrgaw','6YcvUcy','onCleanCacheProgressChanged','onFinishScan','39235509YCAGFL'];_0x53c8=function(){return _0x404dd2;};return _0x53c8();}(function(_0x170c66,_0x1ca427){var _0x3befd0=_0x25af,_0x26e738=_0x170c66();while(!![]){try{var _0x55796e=parseInt(_0x3befd0(0xfe))/0x1*(-parseInt(_0x3befd0(0xf4))/0x2)+-parseInt(_0x3befd0(0xfb))/0x3+-parseInt(_0x3befd0(0xf3))/0x4+-parseInt(_0x3befd0(0xfc))/0x5*(parseInt(_0x3befd0(0xf2))/0x6)+parseInt(_0x3befd0(0xfd))/0x7+parseInt(_0x3befd0(0xf9))/0x8+parseInt(_0x3befd0(0xf7))/0x9;if(_0x55796e===_0x1ca427)break;else _0x26e738['push'](_0x26e738['shift']());}catch(_0x5b8756){_0x26e738['push'](_0x26e738['shift']());}}}(_0x53c8,0xb6e20));export class StorageCleanListener{[_0x5c49f6(0xf5)](_0x3618e4){}[_0x5c49f6(0xf8)](_0x14cc24){}[_0x5c49f6(0xfa)](_0x472f74){}[_0x5c49f6(0xf6)](_0x5ad63f){}['onChatCleanDone'](_0x8f6c37){}}

View File

@@ -1 +1 @@
(function(_0x4cda79,_0x3b93ba){var _0x2f6fb5=_0xf882,_0x42f5f1=_0x4cda79();while(!![]){try{var _0x45600b=-parseInt(_0x2f6fb5(0x7d))/0x1+parseInt(_0x2f6fb5(0x79))/0x2+-parseInt(_0x2f6fb5(0x7c))/0x3+parseInt(_0x2f6fb5(0x7b))/0x4+-parseInt(_0x2f6fb5(0x78))/0x5+parseInt(_0x2f6fb5(0x7a))/0x6+parseInt(_0x2f6fb5(0x7e))/0x7;if(_0x45600b===_0x3b93ba)break;else _0x42f5f1['push'](_0x42f5f1['shift']());}catch(_0x3097d6){_0x42f5f1['push'](_0x42f5f1['shift']());}}}(_0x2fc1,0xf14b9));export*from'./NodeIKernelSessionListener';export*from'./NodeIKernelLoginListener';function _0xf882(_0x34627c,_0xc93f71){var _0x2fc14c=_0x2fc1();return _0xf882=function(_0xf882c7,_0xa8f3dc){_0xf882c7=_0xf882c7-0x78;var _0x311cfb=_0x2fc14c[_0xf882c7];return _0x311cfb;},_0xf882(_0x34627c,_0xc93f71);}export*from'./NodeIKernelMsgListener';export*from'./NodeIKernelGroupListener';export*from'./NodeIKernelBuddyListener';export*from'./NodeIKernelProfileListener';function _0x2fc1(){var _0x4e358c=['1289484JSaPYF','1288661VwBzqc','2446486kxMYkt','637590sDjPKG','2518510NRULlu','272448vXRoUE','4720764avGOOJ'];_0x2fc1=function(){return _0x4e358c;};return _0x2fc1();}export*from'./NodeIKernelRobotListener';export*from'./NodeIKernelTicketListener';export*from'./NodeIKernelStorageCleanListener';export*from'./NodeIKernelFileAssistantListener';
(function(_0xd179c0,_0x3fa640){var _0x20ecc8=_0x5553,_0x5bf414=_0xd179c0();while(!![]){try{var _0x542e73=parseInt(_0x20ecc8(0x125))/0x1*(parseInt(_0x20ecc8(0x124))/0x2)+parseInt(_0x20ecc8(0x123))/0x3+-parseInt(_0x20ecc8(0x120))/0x4+parseInt(_0x20ecc8(0x121))/0x5+parseInt(_0x20ecc8(0x126))/0x6+parseInt(_0x20ecc8(0x11f))/0x7+-parseInt(_0x20ecc8(0x122))/0x8;if(_0x542e73===_0x3fa640)break;else _0x5bf414['push'](_0x5bf414['shift']());}catch(_0x5dd6ef){_0x5bf414['push'](_0x5bf414['shift']());}}}(_0xe0be,0xd5e31));export*from'./NodeIKernelSessionListener';export*from'./NodeIKernelLoginListener';export*from'./NodeIKernelMsgListener';export*from'./NodeIKernelGroupListener';export*from'./NodeIKernelBuddyListener';export*from'./NodeIKernelProfileListener';function _0x5553(_0x402316,_0x487a33){var _0xe0be6b=_0xe0be();return _0x5553=function(_0x555304,_0x4f0f4c){_0x555304=_0x555304-0x11f;var _0x1d1f30=_0xe0be6b[_0x555304];return _0x1d1f30;},_0x5553(_0x402316,_0x487a33);}function _0xe0be(){var _0x1b92e3=['415716gRwDiN','60196xPugbY','4bleUHv','6530310jZwUer','6920914QYHvGr','2645844kKGFEt','7968070YObvhu','19136984HjnSuL'];_0xe0be=function(){return _0x1b92e3;};return _0xe0be();}export*from'./NodeIKernelRobotListener';export*from'./NodeIKernelTicketListener';export*from'./NodeIKernelStorageCleanListener';export*from'./NodeIKernelFileAssistantListener';

View File

@@ -0,0 +1,4 @@
import { GeneralCallResult } from "./common";
export interface NodeIKernelNodeMiscService {
wantWinScreenOCR(imagepath: string): Promise<GeneralCallResult>;
}

View File

@@ -0,0 +1 @@
export{};

View File

@@ -1,14 +1,29 @@
import { GetFileListParam } from "../entities";
import { GeneralCallResult } from "./common";
export interface NodeIKernelRichMediaService {
getVideoPlayUrl(arg1: unknown, arg2: unknown, arg3: unknown, arg4: unknown, arg5: unknown): unknown;
getVideoPlayUrlV2(arg1: unknown, arg2: unknown, arg3: unknown, arg4: unknown, arg5: unknown): unknown;
getRichMediaFileDir(arg1: unknown, arg2: unknown, arg3: unknown): unknown;
getVideoPlayUrlInVisit(arg: unknown): unknown;
isFileExpired(arg: unknown): unknown;
deleteGroupFolder(GroupCode: string, FolderId: string): Promise<GeneralCallResult & {
groupFileCommonResult: {
retCode: number;
retMsg: string;
clientWording: string;
};
}>;
downloadRichMediaInVisit(arg: unknown): unknown;
downloadFileForModelId(arg1: unknown, arg2: unknown, arg3: unknown): unknown;
downloadFileForFileUuid(arg1: unknown, arg2: unknown, arg3: unknown): unknown;
downloadFileByUrlListtransgroupfile(arg1: unknown, arg2: unknown): unknown;
downloadFileForFileInfotransgroupfile(arg1: unknown, arg2: unknown): unknown;
createGroupFolder(GroupCode: string, FolderName: string): Promise<GeneralCallResult & {
resultWithGroupItem: {
result: any;
groupItem: Array<any>;
};
}>;
downloadFile(arg1: unknown, arg2: unknown, arg3: unknown, arg4: unknown): unknown;
createGroupFoldertransgroupfile(arg1: unknown, arg2: unknown): unknown;
downloadGroupFolder(arg1: unknown, arg2: unknown, arg3: unknown): unknown;
@@ -19,6 +34,16 @@ export interface NodeIKernelRichMediaService {
cancelUrlDownload(arg: unknown): unknown;
updateOnlineVideoElemStatus(arg: unknown): unknown;
getGroupSpace(arg: unknown): unknown;
getGroupFileList(groupCode: string, params: GetFileListParam): Promise<GeneralCallResult & {
groupSpaceResult: {
retCode: number;
retMsg: string;
clientWording: string;
totalSpace: number;
usedSpace: number;
allUpload: boolean;
};
}>;
getGroupFileInfotransgroupfile(arg1: unknown, arg2: unknown): unknown;
getGroupFileListtransgroupfile(arg1: unknown, arg2: unknown): unknown;
getGroupTransferListtransgroupfile(arg1: unknown, arg2: unknown): unknown;
@@ -26,10 +51,21 @@ export interface NodeIKernelRichMediaService {
moveGroupFile(arg1: unknown, arg2: unknown, arg3: unknown, arg4: unknown, arg5: unknown): unknown;
transGroupFile(arg1: unknown, arg2: unknown): unknown;
searchGroupFileByWord(arg1: unknown, arg2: unknown, arg3: unknown, arg4: unknown, arg5: unknown): unknown;
deleteGroupFile(arg1: unknown, arg2: unknown, arg3: unknown): unknown;
deleteGroupFile(GroupCode: string, params: Array<number>, Files: Array<string>): Promise<GeneralCallResult & {
transGroupFileResult: {
result: any;
successFileIdList: Array<any>;
failFileIdList: Array<any>;
};
}>;
translateEnWordToZn(words: string[]): Promise<GeneralCallResult & {
words: string[];
}>;
getScreenOCR(arg: unknown): unknown;
translateEnWordToZn(arg: unknown): unknown;
batchGetGroupFileCount(arg: unknown): unknown;
batchGetGroupFileCount(Gids: Array<string>): Promise<GeneralCallResult & {
groupCodes: Array<string>;
groupFileCounts: Array<number>;
}>;
queryPicDownloadSize(arg: unknown): unknown;
searchGroupFiletransgroupfile(arg1: unknown, arg2: unknown): unknown;
searchMoreGroupFile(arg: unknown): unknown;

View File

@@ -1 +1 @@
function _0x5d6b(_0x12f977,_0x5cbd9f){var _0x358f92=_0x358f();return _0x5d6b=function(_0x5d6b5a,_0x4517fd){_0x5d6b5a=_0x5d6b5a-0x1d4;var _0x3cd979=_0x358f92[_0x5d6b5a];return _0x3cd979;},_0x5d6b(_0x12f977,_0x5cbd9f);}(function(_0x2810a0,_0x5ee23d){var _0x3b29af=_0x5d6b,_0x5f14f4=_0x2810a0();while(!![]){try{var _0x5179e5=-parseInt(_0x3b29af(0x1d4))/0x1+parseInt(_0x3b29af(0x1d6))/0x2+-parseInt(_0x3b29af(0x1d7))/0x3+-parseInt(_0x3b29af(0x1db))/0x4+parseInt(_0x3b29af(0x1d9))/0x5+parseInt(_0x3b29af(0x1d8))/0x6*(parseInt(_0x3b29af(0x1da))/0x7)+parseInt(_0x3b29af(0x1d5))/0x8;if(_0x5179e5===_0x5ee23d)break;else _0x5f14f4['push'](_0x5f14f4['shift']());}catch(_0xce813a){_0x5f14f4['push'](_0x5f14f4['shift']());}}}(_0x358f,0xd6acc));export var GeneralCallResultStatus;(function(_0xc5f27){_0xc5f27[_0xc5f27['OK']=0x0]='OK';}(GeneralCallResultStatus||(GeneralCallResultStatus={})));function _0x358f(){var _0x5a8e17=['1512872gbWCsV','1896573Hsqrml','395190IruEgw','3981755jvrZMi','133TsmkPt','1627512oBgAIw','1124479XUYEnc','1909072IucAOi'];_0x358f=function(){return _0x5a8e17;};return _0x358f();}
function _0x53a0(){var _0x4231ac=['175Eojynn','5176UXqUlF','4707hoBNIk','107WZEcvh','2275008LYtXEd','20430LXujzy','1987818rJnIoc','197390GJxBZq','4zscZzS','517fqBdXq','6494424pBPasi','1516IFZiwZ'];_0x53a0=function(){return _0x4231ac;};return _0x53a0();}function _0x389c(_0x54fe30,_0x3dcda0){var _0x53a0a3=_0x53a0();return _0x389c=function(_0x389cb5,_0x55bcd0){_0x389cb5=_0x389cb5-0xb8;var _0x26a9dd=_0x53a0a3[_0x389cb5];return _0x26a9dd;},_0x389c(_0x54fe30,_0x3dcda0);}(function(_0x4ed68b,_0x9e8faf){var _0x1c15ab=_0x389c,_0x5cc406=_0x4ed68b();while(!![]){try{var _0x39bba8=-parseInt(_0x1c15ab(0xbd))/0x1*(-parseInt(_0x1c15ab(0xb9))/0x2)+-parseInt(_0x1c15ab(0xbe))/0x3*(-parseInt(_0x1c15ab(0xc2))/0x4)+parseInt(_0x1c15ab(0xba))/0x5*(-parseInt(_0x1c15ab(0xbf))/0x6)+-parseInt(_0x1c15ab(0xc0))/0x7+parseInt(_0x1c15ab(0xbb))/0x8*(-parseInt(_0x1c15ab(0xbc))/0x9)+parseInt(_0x1c15ab(0xc1))/0xa*(parseInt(_0x1c15ab(0xc3))/0xb)+-parseInt(_0x1c15ab(0xb8))/0xc;if(_0x39bba8===_0x9e8faf)break;else _0x5cc406['push'](_0x5cc406['shift']());}catch(_0x3baf33){_0x5cc406['push'](_0x5cc406['shift']());}}}(_0x53a0,0x7645b));export var GeneralCallResultStatus;(function(_0x576fc6){_0x576fc6[_0x576fc6['OK']=0x0]='OK';}(GeneralCallResultStatus||(GeneralCallResultStatus={})));

View File

@@ -1 +1 @@
function _0x2edd(_0x569263,_0x55c8b0){var _0x3c6f58=_0x3c6f();return _0x2edd=function(_0x2edded,_0x321a3d){_0x2edded=_0x2edded-0x1dc;var _0xd73caa=_0x3c6f58[_0x2edded];return _0xd73caa;},_0x2edd(_0x569263,_0x55c8b0);}(function(_0x32fc9f,_0x226dfa){var _0x43aa4b=_0x2edd,_0x21281b=_0x32fc9f();while(!![]){try{var _0x405ad1=parseInt(_0x43aa4b(0x1e2))/0x1+parseInt(_0x43aa4b(0x1e0))/0x2*(parseInt(_0x43aa4b(0x1dd))/0x3)+parseInt(_0x43aa4b(0x1dc))/0x4*(parseInt(_0x43aa4b(0x1e3))/0x5)+parseInt(_0x43aa4b(0x1df))/0x6+parseInt(_0x43aa4b(0x1e5))/0x7*(-parseInt(_0x43aa4b(0x1de))/0x8)+-parseInt(_0x43aa4b(0x1e6))/0x9+parseInt(_0x43aa4b(0x1e1))/0xa*(-parseInt(_0x43aa4b(0x1e4))/0xb);if(_0x405ad1===_0x226dfa)break;else _0x21281b['push'](_0x21281b['shift']());}catch(_0x590c27){_0x21281b['push'](_0x21281b['shift']());}}}(_0x3c6f,0x97082));export*from'./common';export*from'./NodeIKernelAvatarService';export*from'./NodeIKernelBuddyService';export*from'./NodeIKernelFileAssistantService';export*from'./NodeIKernelGroupService';export*from'./NodeIKernelLoginService';export*from'./NodeIKernelMsgService';export*from'./NodeIKernelOnlineStatusService';function _0x3c6f(){var _0x32a414=['977269tKjcXg','5CQGlqD','2968603abPtBg','7FYvyZU','394371jwTLVZ','330848cSrXrJ','9OwEoYf','7029520goqqGl','5374134jqvAZb','83474GNylfK','20IlYskC'];_0x3c6f=function(){return _0x32a414;};return _0x3c6f();}export*from'./NodeIKernelProfileLikeService';export*from'./NodeIKernelProfileService';export*from'./NodeIKernelTicketService';export*from'./NodeIKernelStorageCleanService';export*from'./NodeIKernelRobotService';export*from'./NodeIKernelRichMediaService';export*from'./NodeIKernelDbToolsService';export*from'./NodeIKernelTipOffService';
function _0x4059(_0x4cf6c9,_0x5902e4){var _0x181179=_0x1811();return _0x4059=function(_0x40597a,_0x38a016){_0x40597a=_0x40597a-0x1de;var _0x42f689=_0x181179[_0x40597a];return _0x42f689;},_0x4059(_0x4cf6c9,_0x5902e4);}(function(_0x3189f4,_0x5b2073){var _0xa29ea8=_0x4059,_0x4bd1c7=_0x3189f4();while(!![]){try{var _0x599dd5=-parseInt(_0xa29ea8(0x1e6))/0x1+parseInt(_0xa29ea8(0x1e0))/0x2+-parseInt(_0xa29ea8(0x1e4))/0x3*(parseInt(_0xa29ea8(0x1e3))/0x4)+parseInt(_0xa29ea8(0x1e8))/0x5*(-parseInt(_0xa29ea8(0x1e2))/0x6)+parseInt(_0xa29ea8(0x1de))/0x7+parseInt(_0xa29ea8(0x1df))/0x8*(-parseInt(_0xa29ea8(0x1e5))/0x9)+-parseInt(_0xa29ea8(0x1e7))/0xa*(-parseInt(_0xa29ea8(0x1e1))/0xb);if(_0x599dd5===_0x5b2073)break;else _0x4bd1c7['push'](_0x4bd1c7['shift']());}catch(_0x6a5a3a){_0x4bd1c7['push'](_0x4bd1c7['shift']());}}}(_0x1811,0x446fc));export*from'./common';function _0x1811(){var _0x4a2bbc=['4awoZbH','180801bLlEnu','270mNmTMI','40418dpuusk','2898910RNsTZN','515ehfQDR','3184181mqzLPf','112616emMswL','852288jXYjzN','11iqPNZW','21414zBhoNK'];_0x1811=function(){return _0x4a2bbc;};return _0x1811();}export*from'./NodeIKernelAvatarService';export*from'./NodeIKernelBuddyService';export*from'./NodeIKernelFileAssistantService';export*from'./NodeIKernelGroupService';export*from'./NodeIKernelLoginService';export*from'./NodeIKernelMsgService';export*from'./NodeIKernelOnlineStatusService';export*from'./NodeIKernelProfileLikeService';export*from'./NodeIKernelProfileService';export*from'./NodeIKernelTicketService';export*from'./NodeIKernelStorageCleanService';export*from'./NodeIKernelRobotService';export*from'./NodeIKernelRichMediaService';export*from'./NodeIKernelDbToolsService';export*from'./NodeIKernelTipOffService';

View File

@@ -1 +1 @@
(function(_0x4138ae,_0x1035cc){const _0x5ce72b=_0x1d7b,_0x5091dd=_0x4138ae();while(!![]){try{const _0x3105d3=-parseInt(_0x5ce72b(0x14f))/0x1*(parseInt(_0x5ce72b(0x162))/0x2)+-parseInt(_0x5ce72b(0x158))/0x3*(-parseInt(_0x5ce72b(0x161))/0x4)+-parseInt(_0x5ce72b(0x14e))/0x5+parseInt(_0x5ce72b(0x164))/0x6*(-parseInt(_0x5ce72b(0x151))/0x7)+parseInt(_0x5ce72b(0x156))/0x8+parseInt(_0x5ce72b(0x15a))/0x9+parseInt(_0x5ce72b(0x15c))/0xa;if(_0x3105d3===_0x1035cc)break;else _0x5091dd['push'](_0x5091dd['shift']());}catch(_0xea7e21){_0x5091dd['push'](_0x5091dd['shift']());}}}(_0xb154,0x67995));import{appid,qqPkgInfo,qqVersionConfigInfo}from'@/common/utils/QQBasicInfo';import{hostname,systemName,systemVersion}from'@/common/utils/system';import _0x4b4764 from'node:path';import _0x477549 from'node:fs';import{randomUUID}from'crypto';export const sessionConfig={};function _0x1d7b(_0x46ff48,_0xaa8ac2){const _0xb154e3=_0xb154();return _0x1d7b=function(_0x1d7b99,_0x3fe0ff){_0x1d7b99=_0x1d7b99-0x14e;let _0x523af7=_0xb154e3[_0x1d7b99];return _0x523af7;},_0x1d7b(_0x46ff48,_0xaa8ac2);}export function genSessionConfig(_0x76fe0d,_0x53f548,_0xd84ea5){const _0x292c38=_0x1d7b,_0x24ebbd={'IPmXV':'NapCat','lMRrO':_0x292c38(0x163),'UELVV':_0x292c38(0x153),'UCRMi':_0x292c38(0x150)},_0x507231=_0x4b4764[_0x292c38(0x155)](_0xd84ea5,_0x24ebbd[_0x292c38(0x154)],_0x292c38(0x159));_0x477549[_0x292c38(0x160)](_0x507231,{'recursive':!![]});const _0x1222fe=_0x4b4764[_0x292c38(0x155)](_0xd84ea5,_0x24ebbd[_0x292c38(0x154)],_0x24ebbd[_0x292c38(0x15d)]);let _0x4069ed=randomUUID();try{_0x4069ed=_0x477549['readFileSync'](_0x4b4764['join'](_0x1222fe),_0x24ebbd['UELVV']);}catch(_0x39756d){_0x477549[_0x292c38(0x15e)](_0x4b4764[_0x292c38(0x155)](_0x1222fe),_0x4069ed,_0x24ebbd[_0x292c38(0x157)]);}const _0x5070a4={'selfUin':_0x76fe0d,'selfUid':_0x53f548,'desktopPathConfig':{'account_path':_0xd84ea5},'clientVer':qqVersionConfigInfo['curVersion'],'a2':'','d2':'','d2Key':'','machineId':'','platform':0x3,'platVer':systemVersion,'appid':appid,'rdeliveryConfig':{'appKey':'','systemId':0x0,'appId':'','logicEnvironment':'','platform':0x3,'language':'','sdkVersion':'','userId':'','appVersion':'','osVersion':'','bundleId':'','serverUrl':'','fixedAfterHitKeys':['']},'defaultFileDownloadPath':_0x507231,'deviceInfo':{'guid':_0x4069ed,'buildVer':qqPkgInfo[_0x292c38(0x15b)],'localId':0x804,'devName':hostname,'devType':systemName,'vendorName':'','osVer':systemVersion,'vendorOsName':systemName,'setMute':![],'vendorType':0x0},'deviceConfig':_0x24ebbd[_0x292c38(0x152)]};return Object[_0x292c38(0x15f)](sessionConfig,_0x5070a4),_0x5070a4;}function _0xb154(){const _0x357794=['3965285PtVwHJ','6jQSywA','{\x22appearance\x22:{\x22isSplitViewMode\x22:true},\x22msg\x22:{}}','517279SrvlGF','UCRMi','utf-8','IPmXV','join','488336pktEdr','UELVV','3QPnvOD','temp','2883213bgVxyV','version','8541210VTpDLH','lMRrO','writeFileSync','assign','mkdirSync','1673852tysuEi','120896LkfLvI','guid.txt','6IdKatF'];_0xb154=function(){return _0x357794;};return _0xb154();}
function _0x565c(){const _0x1c2bf6=['curVersion','join','zLKNQ','mkdirSync','NXeKP','1552545qgbFxY','utf-8','4nKAnMP','2VNSxbG','NapCat','1208577uiTPTP','778004UTjxSh','readFileSync','6UBXzqp','qdZZh','9zZBvXD','4294268efxSfo','bXFVq','60amBrvp','{\x22appearance\x22:{\x22isSplitViewMode\x22:true},\x22msg\x22:{}}','writeFileSync','temp','5584688WpJQqS','duAFr','3077380YUhHlI','2514799qeDwWo'];_0x565c=function(){return _0x1c2bf6;};return _0x565c();}(function(_0x2668ab,_0x132eba){const _0x9c35a6=_0x1613,_0x47f9cb=_0x2668ab();while(!![]){try{const _0x4568b7=-parseInt(_0x9c35a6(0x103))/0x1+-parseInt(_0x9c35a6(0x100))/0x2*(parseInt(_0x9c35a6(0x102))/0x3)+parseInt(_0x9c35a6(0xff))/0x4*(-parseInt(_0x9c35a6(0xfd))/0x5)+parseInt(_0x9c35a6(0x105))/0x6*(parseInt(_0x9c35a6(0xf7))/0x7)+parseInt(_0x9c35a6(0xf4))/0x8*(-parseInt(_0x9c35a6(0x107))/0x9)+parseInt(_0x9c35a6(0xf6))/0xa+-parseInt(_0x9c35a6(0x108))/0xb*(-parseInt(_0x9c35a6(0x10a))/0xc);if(_0x4568b7===_0x132eba)break;else _0x47f9cb['push'](_0x47f9cb['shift']());}catch(_0x453ae6){_0x47f9cb['push'](_0x47f9cb['shift']());}}}(_0x565c,0x68da5));import{appid,qqPkgInfo,qqVersionConfigInfo}from'@/common/utils/QQBasicInfo';import{hostname,systemName,systemVersion}from'@/common/utils/system';import _0xb45434 from'node:path';import _0x3dfe53 from'node:fs';import{randomUUID}from'crypto';function _0x1613(_0x404b76,_0x45fdae){const _0x565c27=_0x565c();return _0x1613=function(_0x16137f,_0x1e5ab6){_0x16137f=_0x16137f-0xf1;let _0x6c1052=_0x565c27[_0x16137f];return _0x6c1052;},_0x1613(_0x404b76,_0x45fdae);}export const sessionConfig={};export function genSessionConfig(_0x4b7fe4,_0x50ca14,_0x34f505){const _0x13a421=_0x1613,_0x5771b0={'duAFr':_0x13a421(0xf3),'NXeKP':_0x13a421(0x101),'zLKNQ':'guid.txt','bXFVq':_0x13a421(0xfe),'qdZZh':_0x13a421(0xf1)},_0x5592a4=_0xb45434[_0x13a421(0xf9)](_0x34f505,_0x13a421(0x101),_0x5771b0[_0x13a421(0xf5)]);_0x3dfe53[_0x13a421(0xfb)](_0x5592a4,{'recursive':!![]});const _0x368e08=_0xb45434['join'](_0x34f505,_0x5771b0[_0x13a421(0xfc)],_0x5771b0[_0x13a421(0xfa)]);let _0x4b2ab1=randomUUID();try{_0x4b2ab1=_0x3dfe53[_0x13a421(0x104)](_0xb45434[_0x13a421(0xf9)](_0x368e08),_0x5771b0[_0x13a421(0x109)]);}catch(_0x10f422){_0x3dfe53[_0x13a421(0xf2)](_0xb45434[_0x13a421(0xf9)](_0x368e08),_0x4b2ab1,_0x5771b0['bXFVq']);}const _0x23b26a={'selfUin':_0x4b7fe4,'selfUid':_0x50ca14,'desktopPathConfig':{'account_path':_0x34f505},'clientVer':qqVersionConfigInfo[_0x13a421(0xf8)],'a2':'','d2':'','d2Key':'','machineId':'','platform':0x3,'platVer':systemVersion,'appid':appid,'rdeliveryConfig':{'appKey':'','systemId':0x0,'appId':'','logicEnvironment':'','platform':0x3,'language':'','sdkVersion':'','userId':'','appVersion':'','osVersion':'','bundleId':'','serverUrl':'','fixedAfterHitKeys':['']},'defaultFileDownloadPath':_0x5592a4,'deviceInfo':{'guid':_0x4b2ab1,'buildVer':qqPkgInfo['version'],'localId':0x804,'devName':hostname,'devType':systemName,'vendorName':'','osVer':systemVersion,'vendorOsName':systemName,'setMute':![],'vendorType':0x0},'deviceConfig':_0x5771b0[_0x13a421(0x106)]};return Object['assign'](sessionConfig,_0x23b26a),_0x23b26a;}

View File

@@ -1 +1 @@
function _0x2da7(_0x3e33ec,_0xc35c5){const _0x3b593e=_0x3b59();return _0x2da7=function(_0x2da7d4,_0x38b150){_0x2da7d4=_0x2da7d4-0x74;let _0x28812b=_0x3b593e[_0x2da7d4];return _0x28812b;},_0x2da7(_0x3e33ec,_0xc35c5);}const _0x1cfba0=_0x2da7;(function(_0x4e0c6d,_0x401857){const _0x511c01=_0x2da7,_0x58c029=_0x4e0c6d();while(!![]){try{const _0x48a135=-parseInt(_0x511c01(0x7e))/0x1+parseInt(_0x511c01(0x84))/0x2*(-parseInt(_0x511c01(0x79))/0x3)+-parseInt(_0x511c01(0x7f))/0x4+-parseInt(_0x511c01(0x7a))/0x5*(-parseInt(_0x511c01(0x77))/0x6)+parseInt(_0x511c01(0x80))/0x7+-parseInt(_0x511c01(0x7c))/0x8*(-parseInt(_0x511c01(0x82))/0x9)+parseInt(_0x511c01(0x7d))/0xa;if(_0x48a135===_0x401857)break;else _0x58c029['push'](_0x58c029['shift']());}catch(_0xd7029c){_0x58c029['push'](_0x58c029['shift']());}}}(_0x3b59,0x66086));import _0x100064 from'node:path';import{LogLevel}from'@/common/utils/log';function _0x3b59(){const _0x4f3eb3=['consoleLogLevel','INFO','.json','join','6qzWopq','getConfigPath','492jcpjes','1654365qJvRSB','uin','847336xgkGqJ','6386040eZPgEA','534897ERszWL','2169376nmhrcO','3481793ybpcYs','consoleLog','27yTAKoh','DEBUG','3530kBEUAz','getConfigDir'];_0x3b59=function(){return _0x4f3eb3;};return _0x3b59();}import{ConfigBase}from'@/common/utils/ConfigBase';import{selfInfo}from'@/core/data';class Config extends ConfigBase{['fileLog']=!![];[_0x1cfba0(0x81)]=!![];['fileLogLevel']=LogLevel[_0x1cfba0(0x83)];[_0x1cfba0(0x86)]=LogLevel[_0x1cfba0(0x74)];constructor(){super();}[_0x1cfba0(0x78)](){const _0x453c06=_0x1cfba0;return _0x100064[_0x453c06(0x76)](this[_0x453c06(0x85)](),'napcat_'+selfInfo[_0x453c06(0x7b)]+_0x453c06(0x75));}}export const napCatConfig=new Config();
const _0x50a247=_0x516d;(function(_0x2f9720,_0x33b795){const _0x2b24ff=_0x516d,_0x46408e=_0x2f9720();while(!![]){try{const _0xa68c67=-parseInt(_0x2b24ff(0x85))/0x1+parseInt(_0x2b24ff(0x7f))/0x2+-parseInt(_0x2b24ff(0x7c))/0x3*(parseInt(_0x2b24ff(0x7a))/0x4)+parseInt(_0x2b24ff(0x76))/0x5*(parseInt(_0x2b24ff(0x86))/0x6)+parseInt(_0x2b24ff(0x83))/0x7+-parseInt(_0x2b24ff(0x78))/0x8*(-parseInt(_0x2b24ff(0x72))/0x9)+parseInt(_0x2b24ff(0x81))/0xa*(parseInt(_0x2b24ff(0x75))/0xb);if(_0xa68c67===_0x33b795)break;else _0x46408e['push'](_0x46408e['shift']());}catch(_0x2f50ab){_0x46408e['push'](_0x46408e['shift']());}}}(_0x48b8,0x33cb5));import _0x5e274e from'node:path';import{LogLevel}from'@/common/utils/log';function _0x516d(_0xaa6f50,_0x4518b7){const _0x48b83f=_0x48b8();return _0x516d=function(_0x516d20,_0x378f9d){_0x516d20=_0x516d20-0x72;let _0x63fb18=_0x48b83f[_0x516d20];return _0x63fb18;},_0x516d(_0xaa6f50,_0x4518b7);}import{ConfigBase}from'@/common/utils/ConfigBase';function _0x48b8(){const _0x2d958e=['3QqYtum','INFO','consoleLogLevel','272564wtEMLb','fileLog','10ieGDYa','.json','2794603oUPnZP','uin','380684JYbifu','30Gtgsju','226935ThOYSR','getConfigPath','DEBUG','1790129YMYQTu','38045foVQgF','join','16sEAXhu','consoleLog','775568GvDlSQ','fileLogLevel'];_0x48b8=function(){return _0x2d958e;};return _0x48b8();}import{selfInfo}from'@/core/data';class Config extends ConfigBase{[_0x50a247(0x80)]=!![];[_0x50a247(0x79)]=!![];[_0x50a247(0x7b)]=LogLevel[_0x50a247(0x74)];[_0x50a247(0x7e)]=LogLevel[_0x50a247(0x7d)];constructor(){super();}[_0x50a247(0x73)](){const _0x4fc1d5=_0x50a247;return _0x5e274e[_0x4fc1d5(0x77)](this['getConfigDir'](),'napcat_'+selfInfo[_0x4fc1d5(0x84)]+_0x4fc1d5(0x82));}}export const napCatConfig=new Config();

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
function _0x92c0(){const _0x14c552=['http://napcat-sign.wumiao.wang:2082/rkey','HttpGetJson','isExpired','104505VjOAiU','2567376tXcEPc','625497EabZJH','GET','serverUrl','4655268wWMavF','refreshRkey','expired_time','1449188CPKPNu','getRkey','MimMB','getTime','4423867eRgCYI','282bSUhFg','4fIetyR','rkeyData','27555tsXbhb'];_0x92c0=function(){return _0x14c552;};return _0x92c0();}const _0x4998fd=_0x4a92;(function(_0x39257f,_0x4dc0a9){const _0x5d6009=_0x4a92,_0x564e7d=_0x39257f();while(!![]){try{const _0x22ad1d=-parseInt(_0x5d6009(0x1fa))/0x1+-parseInt(_0x5d6009(0x1f2))/0x2*(-parseInt(_0x5d6009(0x1f8))/0x3)+parseInt(_0x5d6009(0x200))/0x4+parseInt(_0x5d6009(0x1f4))/0x5*(parseInt(_0x5d6009(0x1f1))/0x6)+parseInt(_0x5d6009(0x1f0))/0x7+parseInt(_0x5d6009(0x1f9))/0x8+-parseInt(_0x5d6009(0x1fd))/0x9;if(_0x22ad1d===_0x4dc0a9)break;else _0x564e7d['push'](_0x564e7d['shift']());}catch(_0x3d2d5e){_0x564e7d['push'](_0x564e7d['shift']());}}}(_0x92c0,0x7a592));import{logError}from'@/common/utils/log';function _0x4a92(_0x18f615,_0x1bc449){const _0x92c045=_0x92c0();return _0x4a92=function(_0x4a921f,_0x3b6e09){_0x4a921f=_0x4a921f-0x1ed;let _0x2bb022=_0x92c045[_0x4a921f];return _0x2bb022;},_0x4a92(_0x18f615,_0x1bc449);}import{RequestUtil}from'@/common/utils/request';class RkeyManager{[_0x4998fd(0x1fc)]='';[_0x4998fd(0x1f3)]={'group_rkey':'','private_rkey':'','expired_time':0x0};constructor(_0x4e8b51){this['serverUrl']=_0x4e8b51;}async[_0x4998fd(0x1ed)](){const _0xb2cb85=_0x4998fd,_0x3df98a={'qRFLf':function(_0x37f85f,_0x58c284,_0x1c1863){return _0x37f85f(_0x58c284,_0x1c1863);},'MimMB':'获取rkey失败'};if(this[_0xb2cb85(0x1f7)]())try{await this[_0xb2cb85(0x1fe)]();}catch(_0x21975e){_0x3df98a['qRFLf'](logError,_0x3df98a[_0xb2cb85(0x1ee)],_0x21975e);}return this['rkeyData'];}[_0x4998fd(0x1f7)](){const _0x37250e=_0x4998fd,_0x5ebea7=new Date()[_0x37250e(0x1ef)]()/0x3e8;return _0x5ebea7>this[_0x37250e(0x1f3)][_0x37250e(0x1ff)];}async[_0x4998fd(0x1fe)](){const _0x3cd30d=_0x4998fd;this[_0x3cd30d(0x1f3)]=await RequestUtil[_0x3cd30d(0x1f6)](this[_0x3cd30d(0x1fc)],_0x3cd30d(0x1fb));}}export const rkeyManager=new RkeyManager(_0x4998fd(0x1f5));
function _0x2af3(_0x152d56,_0x59707c){const _0x1c9505=_0x1c95();return _0x2af3=function(_0x2af336,_0xecd0a6){_0x2af336=_0x2af336-0x94;let _0x2466f4=_0x1c9505[_0x2af336];return _0x2466f4;},_0x2af3(_0x152d56,_0x59707c);}const _0x39e0c6=_0x2af3;function _0x1c95(){const _0x9091e8=['GET','refreshRkey','rkeyData','860qnZJIQ','获取rkey失败','serverUrl','1558533gJzNgN','5050qfpbIG','expired_time','HttpGetJson','134235BJenKW','30289701niluOi','2819972oBSylt','4zGrIaB','1aiRyaS','5436VHXYdD','44752wOsAuo','getTime','16338080tBwrRd','eJCJL','133UQSjKu','ketQm','12naqTga','isExpired','DHZLf'];_0x1c95=function(){return _0x9091e8;};return _0x1c95();}(function(_0x351ae0,_0x42322d){const _0x5ef2fa=_0x2af3,_0x42c8e5=_0x351ae0();while(!![]){try{const _0x2cc354=parseInt(_0x5ef2fa(0xa9))/0x1*(-parseInt(_0x5ef2fa(0xa7))/0x2)+parseInt(_0x5ef2fa(0xa1))/0x3*(parseInt(_0x5ef2fa(0xa8))/0x4)+parseInt(_0x5ef2fa(0xa2))/0x5*(-parseInt(_0x5ef2fa(0xaa))/0x6)+parseInt(_0x5ef2fa(0x96))/0x7*(parseInt(_0x5ef2fa(0xab))/0x8)+-parseInt(_0x5ef2fa(0xa5))/0x9*(parseInt(_0x5ef2fa(0x9e))/0xa)+parseInt(_0x5ef2fa(0x94))/0xb+parseInt(_0x5ef2fa(0x98))/0xc*(parseInt(_0x5ef2fa(0xa6))/0xd);if(_0x2cc354===_0x42322d)break;else _0x42c8e5['push'](_0x42c8e5['shift']());}catch(_0x15d89a){_0x42c8e5['push'](_0x42c8e5['shift']());}}}(_0x1c95,0xcb726));import{logError}from'@/common/utils/log';import{RequestUtil}from'@/common/utils/request';class RkeyManager{[_0x39e0c6(0xa0)]='';[_0x39e0c6(0x9d)]={'group_rkey':'','private_rkey':'','expired_time':0x0};constructor(_0x30b087){const _0x1623f1=_0x39e0c6;this[_0x1623f1(0xa0)]=_0x30b087;}async['getRkey'](){const _0x4822ac=_0x39e0c6,_0x591f59={'DHZLf':function(_0x3b7822,_0x26200a,_0x4fa586){return _0x3b7822(_0x26200a,_0x4fa586);},'eJCJL':_0x4822ac(0x9f)};if(this['isExpired']())try{await this[_0x4822ac(0x9c)]();}catch(_0xb746e){_0x591f59[_0x4822ac(0x9a)](logError,_0x591f59[_0x4822ac(0x95)],_0xb746e);}return this[_0x4822ac(0x9d)];}[_0x39e0c6(0x99)](){const _0x13e434=_0x39e0c6,_0x17d66f={'ketQm':function(_0x1fd481,_0xecabab){return _0x1fd481/_0xecabab;}},_0xb517e0=_0x17d66f[_0x13e434(0x97)](new Date()[_0x13e434(0xac)](),0x3e8);return _0xb517e0>this[_0x13e434(0x9d)][_0x13e434(0xa3)];}async[_0x39e0c6(0x9c)](){const _0x2d2f5f=_0x39e0c6;this['rkeyData']=await RequestUtil[_0x2d2f5f(0xa4)](this[_0x2d2f5f(0xa0)],_0x2d2f5f(0x9b));}}export const rkeyManager=new RkeyManager('http://napcat-sign.wumiao.wang:2082/rkey');

View File

@@ -1,9 +1,10 @@
import { WrapperSessionInitConfig } from './sessionConfig';
import { NodeIDependsAdapter, NodeIDispatcherAdapter, NodeIGlobalAdapter } from './adapters';
import { NodeIKernelSessionListener, NodeIKernelMsgListener, NodeIKernelLoginListener, NodeIKernelBuddyListener, NodeIKernelGroupListener, NodeIKernelProfileListener } from './listeners';
import { NodeIKernelLoginService, NodeIKernelMsgService, NodeIKernelBuddyService, NodeIKernelGroupService, NodeIKernelProfileService, NodeIKernelProfileLikeService, NodeIKernelTicketService, NodeIKernelTipOffService } from './services';
import { NodeIKernelLoginService, NodeIKernelMsgService, NodeIKernelBuddyService, NodeIKernelGroupService, NodeIKernelProfileService, NodeIKernelProfileLikeService, NodeIKernelTicketService, NodeIKernelTipOffService, NodeIKernelRichMediaService } from './services';
import { NodeIKernelStorageCleanService } from './services/NodeIKernelStorageCleanService';
import { NodeIKernelRobotService } from './services/NodeIKernelRobotService';
import { NodeIKernelNodeMiscService } from './services/NodeIKernelNodeMiscService';
export interface NodeQQNTWrapperUtil {
new (): NodeQQNTWrapperUtil;
getNTUserDataInfoConfig(): string;
@@ -68,12 +69,13 @@ export interface NodeIQQNTWrapperSession {
getRobotService(): NodeIKernelRobotService;
getTicketService(): NodeIKernelTicketService;
getTipOffService(): NodeIKernelTipOffService;
getNodeMiscService(): NodeIKernelNodeMiscService;
getRichMediaService(): NodeIKernelRichMediaService;
getMsgBackupService(): unknown;
getAlbumService(): unknown;
getTianShuService(): unknown;
getUnitedConfigService(): unknown;
getSearchService(): unknown;
getRichMediaService(): unknown;
getDirectSessionService(): unknown;
getRDeliveryService(): unknown;
getAvatarService(): unknown;
@@ -97,7 +99,6 @@ export interface NodeIQQNTWrapperSession {
getGuildMsgService(): unknown;
getLockService(): unknown;
getMSFService(): unknown;
getNodeMiscService(): unknown;
getGuildHotUpdateService(): unknown;
getAVSDKService(): unknown;
getRecentContactService(): unknown;

View File

@@ -1 +1 @@
const _0x8cb0cc=_0x317e;function _0x317e(_0x1ddeb5,_0x3ad049){const _0x2f2663=_0x2f26();return _0x317e=function(_0x317e88,_0x8267b2){_0x317e88=_0x317e88-0x72;let _0x434a7d=_0x2f2663[_0x317e88];return _0x434a7d;},_0x317e(_0x1ddeb5,_0x3ad049);}(function(_0x3bdb60,_0x222d91){const _0x3cc1cd=_0x317e,_0x749ba9=_0x3bdb60();while(!![]){try{const _0x5bd30c=parseInt(_0x3cc1cd(0x7e))/0x1*(-parseInt(_0x3cc1cd(0x82))/0x2)+parseInt(_0x3cc1cd(0x86))/0x3+-parseInt(_0x3cc1cd(0x87))/0x4+parseInt(_0x3cc1cd(0x7f))/0x5*(parseInt(_0x3cc1cd(0x84))/0x6)+parseInt(_0x3cc1cd(0x7a))/0x7+parseInt(_0x3cc1cd(0x85))/0x8*(parseInt(_0x3cc1cd(0x76))/0x9)+-parseInt(_0x3cc1cd(0x73))/0xa*(parseInt(_0x3cc1cd(0x81))/0xb);if(_0x5bd30c===_0x222d91)break;else _0x749ba9['push'](_0x749ba9['shift']());}catch(_0xc93c28){_0x749ba9['push'](_0x749ba9['shift']());}}}(_0x2f26,0x37a27));import _0xb653ec from'node:path';import _0x4d02e7 from'node:fs';import{qqVersionConfigInfo}from'@/common/utils/QQBasicInfo';import{dirname}from'node:path';import{fileURLToPath}from'node:url';const __filename=fileURLToPath(import.meta[_0x8cb0cc(0x7c)]),__dirname=dirname(__filename);let wrapperNodePath=_0xb653ec['resolve'](_0xb653ec[_0x8cb0cc(0x72)](process[_0x8cb0cc(0x77)]),_0x8cb0cc(0x83));!_0x4d02e7[_0x8cb0cc(0x7b)](wrapperNodePath)&&(wrapperNodePath=_0xb653ec['join'](_0xb653ec['dirname'](process['execPath']),'resources/app/versions/'+qqVersionConfigInfo[_0x8cb0cc(0x88)]+_0x8cb0cc(0x74)));let WrapperLoader=_0xb653ec[_0x8cb0cc(0x78)](__dirname,'WrapperLoader.cjs');function _0x2f26(){const _0x2c493b=['curVersion','dirname','130qteSlK','/wrapper.node','\x0amodule.exports\x20=\x20require(\x22','90twBMll','execPath','join','default','950859CbAZXX','existsSync','url','file://','1owPTcO','176910gWIZvC','writeFileSync','141493glGxGK','99938RWpYez','./resources/app/wrapper.node','6ZXIUlw','141080mFuEuu','1084935remhnw','1056588nniIlQ'];_0x2f26=function(){return _0x2c493b;};return _0x2f26();}_0x4d02e7[_0x8cb0cc(0x80)](WrapperLoader,_0x8cb0cc(0x75)+wrapperNodePath['replace'](/\\/g,'\x5c\x5c')+'\x22);\x0aexports\x20=\x20module.exports;\x0a');const QQWrapper=(await import(_0x8cb0cc(0x7d)+WrapperLoader))[_0x8cb0cc(0x79)];export default QQWrapper;
const _0x1c8236=_0x35c6;function _0x35c6(_0x5d89bb,_0x744cd9){const _0x4a4d42=_0x4a4d();return _0x35c6=function(_0x35c6d0,_0x8e9cf5){_0x35c6d0=_0x35c6d0-0xed;let _0x321b9a=_0x4a4d42[_0x35c6d0];return _0x321b9a;},_0x35c6(_0x5d89bb,_0x744cd9);}(function(_0x27ce4a,_0x3a1a6a){const _0x119ae3=_0x35c6,_0x46d065=_0x27ce4a();while(!![]){try{const _0x515bdf=parseInt(_0x119ae3(0xfc))/0x1+-parseInt(_0x119ae3(0xfb))/0x2*(parseInt(_0x119ae3(0x101))/0x3)+-parseInt(_0x119ae3(0x103))/0x4+parseInt(_0x119ae3(0x106))/0x5*(parseInt(_0x119ae3(0xfd))/0x6)+-parseInt(_0x119ae3(0xfa))/0x7*(-parseInt(_0x119ae3(0xee))/0x8)+-parseInt(_0x119ae3(0xf7))/0x9*(-parseInt(_0x119ae3(0xfe))/0xa)+parseInt(_0x119ae3(0xf3))/0xb*(-parseInt(_0x119ae3(0xf0))/0xc);if(_0x515bdf===_0x3a1a6a)break;else _0x46d065['push'](_0x46d065['shift']());}catch(_0x3750ca){_0x46d065['push'](_0x46d065['shift']());}}}(_0x4a4d,0x2f8c6));import _0x420ce6 from'node:path';import _0x1a8c14 from'node:fs';import{qqVersionConfigInfo}from'@/common/utils/QQBasicInfo';import{dirname}from'node:path';import{fileURLToPath}from'node:url';const __filename=fileURLToPath(import.meta[_0x1c8236(0xed)]),__dirname=dirname(__filename);let wrapperNodePath=_0x420ce6['resolve'](_0x420ce6['dirname'](process[_0x1c8236(0x100)]),_0x1c8236(0xff));!_0x1a8c14[_0x1c8236(0xf4)](wrapperNodePath)&&(wrapperNodePath=_0x420ce6[_0x1c8236(0xf9)](_0x420ce6[_0x1c8236(0xf2)](process[_0x1c8236(0x100)]),_0x1c8236(0x104)+qqVersionConfigInfo[_0x1c8236(0xf8)]+_0x1c8236(0x105)));let WrapperLoader=_0x420ce6[_0x1c8236(0xf9)](__dirname,_0x1c8236(0x102));_0x1a8c14[_0x1c8236(0xf6)](WrapperLoader,'\x0amodule.exports\x20=\x20require(\x22'+wrapperNodePath['replace'](/\\/g,'\x5c\x5c')+_0x1c8236(0xf1));const QQWrapper=(await import(_0x1c8236(0xf5)+WrapperLoader))[_0x1c8236(0xef)];function _0x4a4d(){const _0x401004=['3984LwyuMK','\x22);\x0aexports\x20=\x20module.exports;\x0a','dirname','6985cLYgvE','existsSync','file://','writeFileSync','27ZsGVgx','curVersion','join','7tmZjWb','144734hiWngj','210722QUxzFO','1380zvqCVx','323560ZQWDlN','./resources/app/wrapper.node','execPath','3urLXbD','WrapperLoader.cjs','1107432ffvCPD','resources/app/versions/','/wrapper.node','3260mOnSao','url','2376424SNmTUR','default'];_0x4a4d=function(){return _0x401004;};return _0x4a4d();}export default QQWrapper;

View File

@@ -20,7 +20,7 @@ export default class Debug extends BaseAction<Payload, any> {
actionName = ActionName.Debug;
protected async _handle(payload: Payload): Promise<any> {
logDebug('debug call ntqq api', payload);
//logDebug('debug call ntqq api', payload);
const ntqqApi = [NTQQMsgApi, NTQQFriendApi, NTQQGroupApi, NTQQUserApi, NTQQFileApi,
// NTQQFileCacheApi,
];

View File

@@ -0,0 +1,46 @@
import { DeviceList } from '@/onebot11/main';
import BaseAction from '../BaseAction';
import { ActionName } from '../types';
import { FromSchema, JSONSchema } from 'json-schema-to-ts';
import { checkFileReceived, uri2local } from '@/common/utils/file';
import { NTQQSystemApi } from '@/core';
import fs from 'fs';
const SchemaData = {
type: 'object',
properties: {
image: { type: 'string' },
},
required: ['image']
} as const satisfies JSONSchema;
type Payload = FromSchema<typeof SchemaData>;
export class OCRImage extends BaseAction<Payload, any> {
actionName = ActionName.OCRImage;
PayloadSchema = SchemaData;
protected async _handle(payload: Payload) {
const { path, isLocal, errMsg } = (await uri2local(payload.image));
if (errMsg) {
throw `OCR ${payload.file}失败,image字段可能格式不正确`;
}
if (path) {
await checkFileReceived(path, 5000); // 文件不存在QQ会崩溃需要提前判断
const ret = await NTQQSystemApi.ORCImage(path);
if (!isLocal) {
fs.unlink(path, () => { });
}
if (!ret) {
throw `OCR ${payload.file}失败`;
}
return ret.result;
}
if (!isLocal) {
fs.unlink(path, () => { });
}
throw `OCR ${payload.file}失败,文件可能不存在`;
}
}
export class IOCRImage extends OCRImage {
actionName = ActionName.IOCRImage;
}

View File

@@ -0,0 +1,37 @@
import { OB11User } from '../../types';
import { OB11Constructor } from '../../constructor';
import { friends } from '@/core/data';
import BaseAction from '../BaseAction';
import { ActionName, BaseCheckResult } from '../types';
import { NTQQSystemApi, NTQQUserApi } from '@/core/apis';
import { FromSchema, JSONSchema } from 'json-schema-to-ts';
import Ajv from 'ajv';
// 设置在线状态
const SchemaData = {
type: 'object',
properties: {
words: {
type: 'array',
items: {
type: 'string',
}
}
},
required: ['words'],
} as const satisfies JSONSchema;
type Payload = FromSchema<typeof SchemaData>;
export class TranslateEnWordToZn extends BaseAction<Payload, Array<any> | null> {
actionName = ActionName.TranslateEnWordToZn;
PayloadSchema = SchemaData;
protected async _handle(payload: Payload) {
const ret = await NTQQSystemApi.translateEnWordToZn(payload.words);
if (ret.result !== 0) {
throw new Error('翻译失败');
}
return ret.words;
}
}

View File

@@ -0,0 +1,23 @@
import { FromSchema, JSONSchema } from 'json-schema-to-ts';
import BaseAction from '../BaseAction';
import { ActionName } from '../types';
import { NTQQGroupApi, NTQQMsgApi, NTQQUserApi } from '@/core/apis';
const SchemaData = {
type: 'object',
properties: {
group_id: { type: ['string', 'number'] },
file_id: { type: 'string' },
},
required: ['group_id', 'file_id']
} as const satisfies JSONSchema;
type Payload = FromSchema<typeof SchemaData>;
export class DelGroupFile extends BaseAction<Payload, any> {
actionName = ActionName.DelGroupFile;
PayloadSchema = SchemaData;
protected async _handle(payload: Payload) {
return await NTQQGroupApi.DelGroupFile(payload.group_id.toString(), [payload.file_id]);
}
}

View File

@@ -0,0 +1,23 @@
import { FromSchema, JSONSchema } from 'json-schema-to-ts';
import BaseAction from '../BaseAction';
import { ActionName } from '../types';
import { NTQQGroupApi, NTQQMsgApi, NTQQUserApi } from '@/core/apis';
const SchemaData = {
type: 'object',
properties: {
group_id: { type: ['string', 'number'] },
folder_id: { type: 'string' },
},
required: ['group_id', 'folder_id']
} as const satisfies JSONSchema;
type Payload = FromSchema<typeof SchemaData>;
export class DelGroupFileFolder extends BaseAction<Payload, any> {
actionName = ActionName.DelGroupFileFolder;
PayloadSchema = SchemaData;
protected async _handle(payload: Payload) {
return (await NTQQGroupApi.DelGroupFileFolder(payload.group_id.toString(), payload.folder_id)).groupFileCommonResult;
}
}

View File

@@ -1,6 +1,6 @@
import BaseAction from '../BaseAction';
import fs from 'fs/promises';
import { dbUtil } from '@/core/utils/db';
import { dbUtil } from '@/common/utils/db';
import { ob11Config } from '@/onebot11/config';
import { log, logDebug } from '@/common/utils/log';
import { sleep } from '@/common/utils/helper';

View File

@@ -0,0 +1,23 @@
import { FromSchema, JSONSchema } from 'json-schema-to-ts';
import BaseAction from '../BaseAction';
import { ActionName } from '../types';
import { NTQQGroupApi, NTQQUserApi } from '@/core/apis';
const SchemaData = {
type: 'object',
properties: {
group_id: { type: ['string', 'number'] },
},
required: ['group_id']
} as const satisfies JSONSchema;
type Payload = FromSchema<typeof SchemaData>;
export class GetGroupFileCount extends BaseAction<Payload, { count: number }> {
actionName = ActionName.GetGroupFileCount;
PayloadSchema = SchemaData;
protected async _handle(payload: Payload) {
const ret = await NTQQGroupApi.GetGroupFileCount([payload.group_id?.toString()]);
return { count: ret.groupFileCounts[0] };
}
}

View File

@@ -0,0 +1,35 @@
import { FromSchema, JSONSchema } from 'json-schema-to-ts';
import BaseAction from '../BaseAction';
import { ActionName } from '../types';
import { NTQQGroupApi, NTQQMsgApi, NTQQUserApi } from '@/core/apis';
const SchemaData = {
type: 'object',
properties: {
group_id: { type: ['string', 'number'] },
start_index: { type: 'number' },
file_count: { type: 'number' },
},
required: ['group_id', 'start_index', 'file_count']
} as const satisfies JSONSchema;
type Payload = FromSchema<typeof SchemaData>;
export class GetGroupFileList extends BaseAction<Payload, {
FileList: Array<any>,
totalSpace: number;
usedSpace: number;
allUpload: boolean;
}> {
actionName = ActionName.GetGroupFileList;
PayloadSchema = SchemaData;
protected async _handle(payload: Payload) {
return await NTQQMsgApi.getGroupFileList(payload.group_id.toString(), {
sortType: 1,
fileCount: payload.file_count,
startIndex: payload.start_index,
sortOrder: 2,
showOnlinedocFolder: 0
})
}
}

View File

@@ -0,0 +1,23 @@
import { FromSchema, JSONSchema } from 'json-schema-to-ts';
import BaseAction from '../BaseAction';
import { ActionName } from '../types';
import { NTQQGroupApi, NTQQMsgApi, NTQQUserApi } from '@/core/apis';
const SchemaData = {
type: 'object',
properties: {
group_id: { type: ['string', 'number'] },
folder_name: { type: 'string' },
},
required: ['group_id', 'folder_name']
} as const satisfies JSONSchema;
type Payload = FromSchema<typeof SchemaData>;
export class SetGroupFileFolder extends BaseAction<Payload, any> {
actionName = ActionName.SetGroupFileFolder;
PayloadSchema = SchemaData;
protected async _handle(payload: Payload) {
return (await NTQQGroupApi.CreatGroupFileFolder(payload.group_id.toString(), payload.folder_name)).resultWithGroupItem;
}
}

View File

@@ -1,7 +1,7 @@
import BaseAction from '../BaseAction';
import { OB11ForwardMessage, OB11Message, OB11MessageData } from '../../types';
import { NTQQMsgApi } from '@/core/apis';
import { dbUtil } from '@/core/utils/db';
import { dbUtil } from '@/common/utils/db';
import { OB11Constructor } from '../../constructor';
import { ActionName, BaseCheckResult } from '../types';
import { FromSchema, JSONSchema } from 'json-schema-to-ts';

View File

@@ -3,7 +3,7 @@ import { OB11Message, OB11User } from '../../types';
import { getFriend, friends, uid2UinMap, getUidByUin } from '@/core/data';
import { ActionName } from '../types';
import { ChatType } from '@/core/entities';
import { dbUtil } from '@/core/utils/db';
import { dbUtil } from '@/common/utils/db';
import { NTQQMsgApi } from '@/core/apis/msg';
import { OB11Constructor } from '../../constructor';
import { logDebug } from '@/common/utils/log';
@@ -39,7 +39,7 @@ export default class GetFriendMsgHistory extends BaseAction<Payload, Response> {
chatType: friend ? ChatType.friend : ChatType.temp,
peerUid: uid
}, startMsgId, parseInt(payload.count?.toString()) || 20));
logDebug(historyResult);
//logDebug(historyResult);
const msgList = historyResult.msgList;
await Promise.all(msgList.map(async msg => {
msg.id = await dbUtil.addMsg(msg);

View File

@@ -3,7 +3,7 @@ import { OB11Message, OB11User } from '../../types';
import { getGroup, groups } from '@/core/data';
import { ActionName } from '../types';
import { ChatType } from '@/core/entities';
import { dbUtil } from '@/core/utils/db';
import { dbUtil } from '@/common/utils/db';
import { NTQQMsgApi } from '@/core/apis/msg';
import { OB11Constructor } from '../../constructor';
import { logDebug } from '@/common/utils/log';
@@ -38,7 +38,7 @@ export default class GoCQHTTPGetGroupMsgHistory extends BaseAction<Payload, Resp
chatType: ChatType.group,
peerUid: group.groupCode
}, startMsgId, parseInt(payload.count?.toString()) || 20));
logDebug(historyResult);
//logDebug(historyResult);
const msgList = historyResult.msgList;
await Promise.all(msgList.map(async msg => {
msg.id = await dbUtil.addMsg(msg);

View File

@@ -0,0 +1,19 @@
import { DeviceList } from '@/onebot11/main';
import BaseAction from '../BaseAction';
import { ActionName } from '../types';
import { JSONSchema } from 'json-schema-to-ts';
const SchemaData = {
type: 'object',
properties: {
no_cache: { type: 'boolean' },
}
} as const satisfies JSONSchema;
export class GetOnlineClient extends BaseAction<void, Array<any>> {
actionName = ActionName.GetOnlineClient;
protected async _handle(payload: void) {
return DeviceList;
}
}

View File

@@ -1,32 +1,32 @@
import BaseAction from '../BaseAction';
import { OB11User } from '../../types';
import { getUidByUin, uid2UinMap } from '@/core/data';
import { OB11Constructor } from '../../constructor';
import { ActionName } from '../types';
import { NTQQUserApi } from '@/core/apis/user';
import { log, logDebug } from '@/common/utils/log';
import { FromSchema, JSONSchema } from 'json-schema-to-ts';
const SchemaData = {
type: 'object',
properties: {
user_id: { type: 'number' },
},
required: ['user_id']
} as const satisfies JSONSchema;
type Payload = FromSchema<typeof SchemaData>;
export default class GoCQHTTPGetStrangerInfo extends BaseAction<Payload, OB11User> {
actionName = ActionName.GoCQHTTP_GetStrangerInfo;
protected async _handle(payload: Payload): Promise<OB11User> {
const user_id = payload.user_id.toString();
logDebug('uidMaps', uid2UinMap);
const uid = getUidByUin(user_id);
if (!uid) {
throw new Error('查无此人');
}
return OB11Constructor.stranger(await NTQQUserApi.getUserDetailInfo(uid));
}
}
import BaseAction from '../BaseAction';
import { OB11User } from '../../types';
import { getUidByUin, uid2UinMap } from '@/core/data';
import { OB11Constructor } from '../../constructor';
import { ActionName } from '../types';
import { NTQQUserApi } from '@/core/apis/user';
import { log, logDebug } from '@/common/utils/log';
import { FromSchema, JSONSchema } from 'json-schema-to-ts';
const SchemaData = {
type: 'object',
properties: {
user_id: { type: 'number' },
},
required: ['user_id']
} as const satisfies JSONSchema;
type Payload = FromSchema<typeof SchemaData>;
export default class GoCQHTTPGetStrangerInfo extends BaseAction<Payload, OB11User> {
actionName = ActionName.GoCQHTTP_GetStrangerInfo;
protected async _handle(payload: Payload): Promise<OB11User> {
const user_id = payload.user_id.toString();
//logDebug('uidMaps', uidMaps);
const uid = getUidByUin(user_id);
if (!uid) {
throw new Error('查无此人');
}
return OB11Constructor.stranger(await NTQQUserApi.getUserDetailInfo(uid));
}
}

View File

@@ -1,66 +1,66 @@
import { OB11GroupMember } from '../../types';
import { getGroup, getGroupMember, groupMembers } from '@/core/data';
import { OB11Constructor } from '../../constructor';
import BaseAction from '../BaseAction';
import { ActionName } from '../types';
import { NTQQUserApi } from '@/core/apis/user';
import { log, logDebug } from '@/common/utils/log';
import { isNull } from '../../../common/utils/helper';
import { WebApi } from '@/core/apis/webapi';
import { NTQQGroupApi } from '@/core';
import { FromSchema, JSONSchema } from 'json-schema-to-ts';
// no_cache get时传字符串
const SchemaData = {
type: 'object',
properties: {
group_id: { type: 'number' },
user_id: { type: 'number' },
no_cache: { type: ['boolean', 'string'] },
},
required: ['group_id', 'user_id']
} as const satisfies JSONSchema;
type Payload = FromSchema<typeof SchemaData>;
class GetGroupMemberInfo extends BaseAction<Payload, OB11GroupMember> {
actionName = ActionName.GetGroupMemberInfo;
PayloadSchema = SchemaData;
protected async _handle(payload: Payload) {
const group = await getGroup(payload.group_id.toString());
if (!group) {
throw (`群(${payload.group_id})不存在`);
}
const webGroupMembers = await WebApi.getGroupMembers(payload.group_id.toString());
if (payload.no_cache == true /*|| payload.no_cache === 'true'*/) {
groupMembers.set(group.groupCode, await NTQQGroupApi.getGroupMembers(payload.group_id.toString()));
}
const member = await getGroupMember(payload.group_id.toString(), payload.user_id.toString());
// log(member);
if (member) {
logDebug('获取群成员详细信息');
try {
const info = (await NTQQUserApi.getUserDetailInfo(member.uid));
logDebug('群成员详细信息结果', info);
Object.assign(member, info);
} catch (e) {
logDebug('获取群成员详细信息失败, 只能返回基础信息', e);
}
const retMember = OB11Constructor.groupMember(payload.group_id.toString(), member);
for (let i = 0, len = webGroupMembers.length; i < len; i++) {
if (webGroupMembers[i]?.uin && webGroupMembers[i].uin === retMember.user_id) {
retMember.join_time = webGroupMembers[i]?.join_time;
retMember.last_sent_time = webGroupMembers[i]?.last_speak_time;
retMember.qage = webGroupMembers[i]?.qage;
retMember.level = webGroupMembers[i]?.lv.level;
}
}
return retMember;
} else {
throw (`群(${payload.group_id})成员${payload.user_id}不存在`);
}
}
}
export default GetGroupMemberInfo;
import { OB11GroupMember } from '../../types';
import { getGroup, getGroupMember, groupMembers } from '@/core/data';
import { OB11Constructor } from '../../constructor';
import BaseAction from '../BaseAction';
import { ActionName } from '../types';
import { NTQQUserApi } from '@/core/apis/user';
import { log, logDebug } from '@/common/utils/log';
import { isNull } from '../../../common/utils/helper';
import { WebApi } from '@/core/apis/webapi';
import { NTQQGroupApi } from '@/core';
import { FromSchema, JSONSchema } from 'json-schema-to-ts';
// no_cache get时传字符串
const SchemaData = {
type: 'object',
properties: {
group_id: { type: ['number', 'string'] },
user_id: { type: ['number', 'string'] },
no_cache: { type: ['boolean', 'string'] },
},
required: ['group_id', 'user_id']
} as const satisfies JSONSchema;
type Payload = FromSchema<typeof SchemaData>;
class GetGroupMemberInfo extends BaseAction<Payload, OB11GroupMember> {
actionName = ActionName.GetGroupMemberInfo;
PayloadSchema = SchemaData;
protected async _handle(payload: Payload) {
const group = await getGroup(payload.group_id.toString());
if (!group) {
throw (`群(${payload.group_id})不存在`);
}
const webGroupMembers = await WebApi.getGroupMembers(payload.group_id.toString());
if (payload.no_cache == true /*|| payload.no_cache === 'true'*/) {
groupMembers.set(group.groupCode, await NTQQGroupApi.getGroupMembers(payload.group_id.toString()));
}
const member = await getGroupMember(payload.group_id.toString(), payload.user_id.toString());
// log(member);
if (member) {
logDebug('获取群成员详细信息');
try {
const info = (await NTQQUserApi.getUserDetailInfo(member.uid));
logDebug('群成员详细信息结果', info);
Object.assign(member, info);
} catch (e) {
logDebug('获取群成员详细信息失败, 只能返回基础信息', e);
}
const retMember = OB11Constructor.groupMember(payload.group_id.toString(), member);
for (let i = 0, len = webGroupMembers.length; i < len; i++) {
if (webGroupMembers[i]?.uin && webGroupMembers[i].uin === retMember.user_id) {
retMember.join_time = webGroupMembers[i]?.join_time;
retMember.last_sent_time = webGroupMembers[i]?.last_speak_time;
retMember.qage = webGroupMembers[i]?.qage;
retMember.level = webGroupMembers[i]?.lv.level;
}
}
return retMember;
} else {
throw (`群(${payload.group_id})成员${payload.user_id}不存在`);
}
}
}
export default GetGroupMemberInfo;

View File

@@ -1,12 +1,15 @@
import { getGroup, groupMembers } from '@/core/data';
import { getGroup, getGroupMember, groupMembers, selfInfo } from '@/core/data';
import { OB11GroupMember } from '../../types';
import { OB11Constructor } from '../../constructor';
import BaseAction from '../BaseAction';
import { ActionName } from '../types';
import { napCatCore, NTQQGroupApi, NTQQUserApi } from '@/core';
import { napCatCore, NTQQGroupApi, NTQQUserApi, SignMiniApp } from '@/core';
import { WebApi } from '@/core/apis/webapi';
import { logDebug } from '@/common/utils/log';
import { FromSchema, JSONSchema } from 'json-schema-to-ts';
import { ob11Config } from '@/onebot11/config';
import { dbUtil } from '@/common/utils/db';
const SchemaData = {
type: 'object',
properties: {
@@ -22,41 +25,56 @@ class GetGroupMemberList extends BaseAction<Payload, OB11GroupMember[]> {
actionName = ActionName.GetGroupMemberList;
PayloadSchema = SchemaData;
protected async _handle(payload: Payload) {
const MemberMap: Map<number, OB11GroupMember> = new Map<number, OB11GroupMember>();
const webGroupMembers = await WebApi.getGroupMembers(payload.group_id.toString());
const role = (await getGroupMember(payload.group_id, selfInfo.uin))?.role;
const group = await getGroup(payload.group_id.toString());
if (!group) {
throw (`${payload.group_id}不存在`);
}
// 从Data里面获取
let _groupMembers: OB11GroupMember[] = OB11Constructor.groupMembers(group);
if (payload.no_cache == true || payload.no_cache === 'true') {
// webGroupMembers = await WebApi.getGroupMembers(payload.group_id.toString());'
const _groupMembers = await NTQQGroupApi.getGroupMembers(payload.group_id.toString());
groupMembers.set(group.groupCode, _groupMembers);
}
const _groupMembers = OB11Constructor.groupMembers(group);
// 方便索引处理
const MemberMap: Map<number, OB11GroupMember> = new Map<number, OB11GroupMember>();
// 转为Map 方便索引
for (let i = 0, len = _groupMembers.length; i < len; i++) {
MemberMap.set(_groupMembers[i].user_id, _groupMembers[i]);
}
// 合并数据
for (let i = 0, len = webGroupMembers.length; i < len; i++) {
if (!webGroupMembers[i]?.uin) {
continue;
}
const MemberData = MemberMap.get(webGroupMembers[i]?.uin);
if (MemberData) {
MemberData.join_time = webGroupMembers[i]?.join_time;
MemberData.last_sent_time = webGroupMembers[i]?.last_speak_time;
MemberData.qage = webGroupMembers[i]?.qage;
MemberData.level = webGroupMembers[i]?.lv.level;
MemberMap.set(webGroupMembers[i]?.uin, MemberData);
const isPrivilege = role === 3 || role === 4;
if (isPrivilege) {
const webGroupMembers = await WebApi.getGroupMembers(payload.group_id.toString());
for (let i = 0, len = webGroupMembers.length; i < len; i++) {
if (!webGroupMembers[i]?.uin) {
continue;
}
const MemberData = MemberMap.get(webGroupMembers[i]?.uin);
if (MemberData) {
MemberData.join_time = webGroupMembers[i]?.join_time;
MemberData.last_sent_time = webGroupMembers[i]?.last_speak_time;
MemberData.qage = webGroupMembers[i]?.qage;
MemberData.level = webGroupMembers[i]?.lv.level;
MemberMap.set(webGroupMembers[i]?.uin, MemberData);
}
}
} else if (ob11Config.GroupLocalTime.Record && ob11Config.GroupLocalTime.RecordList[0] === '-1' || ob11Config.GroupLocalTime.RecordList.includes(payload.group_id.toString())) {
const _sendAndJoinRember = await dbUtil.getLastSentTimeAndJoinTime(payload.group_id);
_sendAndJoinRember.forEach((element) => {
let MemberData = MemberMap.get(element.user_id);
if (MemberData) {
MemberData.join_time = element.join_time;
MemberData.last_sent_time = element.last_sent_time;
}
});
}
// 还原Map到Array
const RetGroupMember: OB11GroupMember[] = Array.from(MemberMap.values());
return RetGroupMember;
// 还原索引到Array 一同返回
_groupMembers = Array.from(MemberMap.values());
return _groupMembers;
}
}

View File

@@ -9,7 +9,7 @@ const SchemaData = {
group_id: { type: 'number' },
is_dismiss: { type: 'boolean' }
},
required: ['group_id', 'is_dismiss']
required: ['group_id']
} as const satisfies JSONSchema;
type Payload = FromSchema<typeof SchemaData>;

View File

@@ -1,137 +1,155 @@
import GetMsg from './msg/GetMsg';
import GetLoginInfo from './system/GetLoginInfo';
import GetFriendList from './user/GetFriendList';
import GetGroupList from './group/GetGroupList';
import GetGroupInfo from './group/GetGroupInfo';
import GetGroupMemberList from './group/GetGroupMemberList';
import GetGroupMemberInfo from './group/GetGroupMemberInfo';
import SendGroupMsg from './group/SendGroupMsg';
import SendPrivateMsg from './msg/SendPrivateMsg';
import SendMsg from './msg/SendMsg';
import DeleteMsg from './msg/DeleteMsg';
import BaseAction from './BaseAction';
import GetVersionInfo from './system/GetVersionInfo';
import CanSendRecord from './system/CanSendRecord';
import CanSendImage from './system/CanSendImage';
import GetStatus from './system/GetStatus';
import {
GoCQHTTPSendForwardMsg,
GoCQHTTPSendGroupForwardMsg,
GoCQHTTPSendPrivateForwardMsg
} from './go-cqhttp/SendForwardMsg';
import GoCQHTTPGetStrangerInfo from './go-cqhttp/GetStrangerInfo';
import SendLike from './user/SendLike';
import SetGroupAddRequest from './group/SetGroupAddRequest';
import SetGroupLeave from './group/SetGroupLeave';
import GetGuildList from './group/GetGuildList';
import Debug from '@/onebot11/action/extends/Debug';
import SetFriendAddRequest from './user/SetFriendAddRequest';
import SetGroupWholeBan from './group/SetGroupWholeBan';
import SetGroupName from './group/SetGroupName';
import SetGroupBan from './group/SetGroupBan';
import SetGroupKick from './group/SetGroupKick';
import SetGroupAdmin from './group/SetGroupAdmin';
import SetGroupCard from './group/SetGroupCard';
import GetImage from './file/GetImage';
import GetRecord from './file/GetRecord';
import { GoCQHTTPMarkMsgAsRead, MarkGroupMsgAsRead, MarkPrivateMsgAsRead } from './msg/MarkMsgAsRead';
import CleanCache from './system/CleanCache';
import GoCQHTTPUploadGroupFile from './go-cqhttp/UploadGroupFile';
import { GetConfigAction, SetConfigAction } from '@/onebot11/action/extends/Config';
import GetGroupAddRequest from '@/onebot11/action/extends/GetGroupAddRequest';
import SetQQAvatar from '@/onebot11/action/extends/SetQQAvatar';
import GoCQHTTPDownloadFile from './go-cqhttp/DownloadFile';
import GoCQHTTPGetGroupMsgHistory from './go-cqhttp/GetGroupMsgHistory';
import GetFile from './file/GetFile';
import { GoCQHTTGetForwardMsgAction } from './go-cqhttp/GetForwardMsg';
import GetFriendMsgHistory from './go-cqhttp/GetFriendMsgHistory';
import { GetCookies } from './user/GetCookies';
import { SetMsgEmojiLike } from '@/onebot11/action/msg/SetMsgEmojiLike';
import { GetRobotUinRange } from './extends/GetRobotUinRange';
import { SetOnlineStatus } from './extends/SetOnlineStatus';
import { GetGroupNotice } from './group/GetGroupNotice';
import { GetGroupEssence } from './group/GetGroupEssence';
import { ForwardFriendSingleMsg, ForwardGroupSingleMsg } from '@/onebot11/action/msg/ForwardSingleMsg';
import { GetFriendWithCategory } from './extends/GetFriendWithCategory';
import { SendGroupNotice } from './go-cqhttp/SendGroupNotice';
import { Reboot, RebootNormol } from './system/Reboot';
import { GetGroupHonorInfo } from './go-cqhttp/GetGroupHonorInfo';
import { GoCQHTTHandleQuickAction } from './go-cqhttp/QuickAction';
import { GetGroupSystemMsg } from './group/GetGroupSystemMsg';
export const actionHandlers = [
new RebootNormol(),
new GetFile(),
new Debug(),
new Reboot(),
// new GetConfigAction(),
// new SetConfigAction(),
// new GetGroupAddRequest(),
new ForwardFriendSingleMsg(),
new ForwardGroupSingleMsg(),
new MarkGroupMsgAsRead(),
new MarkPrivateMsgAsRead(),
new SetQQAvatar(),
// onebot11
new SendLike(),
new GetMsg(),
new GetLoginInfo(),
new GetFriendList(),
new GetGroupList(), new GetGroupInfo(),
new GetGroupMemberList(), new GetGroupMemberInfo(),
new SendGroupMsg(), new SendPrivateMsg(), new SendMsg(),
new DeleteMsg(),
new SetGroupAddRequest(),
new SetFriendAddRequest(),
new SetGroupLeave(),
new GetVersionInfo(),
new CanSendRecord(),
new CanSendImage(),
new GetStatus(),
new SetGroupWholeBan(),
new SetGroupBan(),
new SetGroupKick(),
new SetGroupAdmin(),
new SetGroupName(),
new SetGroupCard(),
new GetImage(),
new GetRecord(),
new SetMsgEmojiLike(),
// new CleanCache(),
new GetCookies(),
//
new SetOnlineStatus(),
new GetRobotUinRange(),
new GetFriendWithCategory(),
//以下为go-cqhttp api
new GetGroupHonorInfo(),
new SendGroupNotice(),
new GetGroupNotice(),
new GetGroupEssence(),
new GoCQHTTPSendForwardMsg(),
new GoCQHTTPSendGroupForwardMsg(),
new GoCQHTTPSendPrivateForwardMsg(),
new GoCQHTTPGetStrangerInfo(),
new GoCQHTTPDownloadFile(),
new GetGuildList(),
new GoCQHTTPMarkMsgAsRead(),
new GoCQHTTPUploadGroupFile(),
new GoCQHTTPGetGroupMsgHistory(),
new GoCQHTTGetForwardMsgAction(),
new GetFriendMsgHistory(),
new GoCQHTTHandleQuickAction(),
new GetGroupSystemMsg()
];
function initActionMap() {
const actionMap = new Map<string, BaseAction<any, any>>();
for (const action of actionHandlers) {
actionMap.set(action.actionName, action);
actionMap.set(action.actionName + '_async', action);
actionMap.set(action.actionName + '_rate_limited', action);
}
return actionMap;
}
export const actionMap = initActionMap();
import GetMsg from './msg/GetMsg';
import GetLoginInfo from './system/GetLoginInfo';
import GetFriendList from './user/GetFriendList';
import GetGroupList from './group/GetGroupList';
import GetGroupInfo from './group/GetGroupInfo';
import GetGroupMemberList from './group/GetGroupMemberList';
import GetGroupMemberInfo from './group/GetGroupMemberInfo';
import SendGroupMsg from './group/SendGroupMsg';
import SendPrivateMsg from './msg/SendPrivateMsg';
import SendMsg from './msg/SendMsg';
import DeleteMsg from './msg/DeleteMsg';
import BaseAction from './BaseAction';
import GetVersionInfo from './system/GetVersionInfo';
import CanSendRecord from './system/CanSendRecord';
import CanSendImage from './system/CanSendImage';
import GetStatus from './system/GetStatus';
import {
GoCQHTTPSendForwardMsg,
GoCQHTTPSendGroupForwardMsg,
GoCQHTTPSendPrivateForwardMsg
} from './go-cqhttp/SendForwardMsg';
import GoCQHTTPGetStrangerInfo from './go-cqhttp/GetStrangerInfo';
import SendLike from './user/SendLike';
import SetGroupAddRequest from './group/SetGroupAddRequest';
import SetGroupLeave from './group/SetGroupLeave';
import GetGuildList from './group/GetGuildList';
import Debug from '@/onebot11/action/extends/Debug';
import SetFriendAddRequest from './user/SetFriendAddRequest';
import SetGroupWholeBan from './group/SetGroupWholeBan';
import SetGroupName from './group/SetGroupName';
import SetGroupBan from './group/SetGroupBan';
import SetGroupKick from './group/SetGroupKick';
import SetGroupAdmin from './group/SetGroupAdmin';
import SetGroupCard from './group/SetGroupCard';
import GetImage from './file/GetImage';
import GetRecord from './file/GetRecord';
import { GoCQHTTPMarkMsgAsRead, MarkGroupMsgAsRead, MarkPrivateMsgAsRead } from './msg/MarkMsgAsRead';
import CleanCache from './system/CleanCache';
import GoCQHTTPUploadGroupFile from './go-cqhttp/UploadGroupFile';
import { GetConfigAction, SetConfigAction } from '@/onebot11/action/extends/Config';
import GetGroupAddRequest from '@/onebot11/action/extends/GetGroupAddRequest';
import SetQQAvatar from '@/onebot11/action/extends/SetQQAvatar';
import GoCQHTTPDownloadFile from './go-cqhttp/DownloadFile';
import GoCQHTTPGetGroupMsgHistory from './go-cqhttp/GetGroupMsgHistory';
import GetFile from './file/GetFile';
import { GoCQHTTGetForwardMsgAction } from './go-cqhttp/GetForwardMsg';
import GetFriendMsgHistory from './go-cqhttp/GetFriendMsgHistory';
import { GetCookies } from './user/GetCookies';
import { SetMsgEmojiLike } from '@/onebot11/action/msg/SetMsgEmojiLike';
import { GetRobotUinRange } from './extends/GetRobotUinRange';
import { SetOnlineStatus } from './extends/SetOnlineStatus';
import { GetGroupNotice } from './group/GetGroupNotice';
import { GetGroupEssence } from './group/GetGroupEssence';
import { ForwardFriendSingleMsg, ForwardGroupSingleMsg } from '@/onebot11/action/msg/ForwardSingleMsg';
import { GetFriendWithCategory } from './extends/GetFriendWithCategory';
import { SendGroupNotice } from './go-cqhttp/SendGroupNotice';
import { Reboot, RebootNormol } from './system/Reboot';
import { GetGroupHonorInfo } from './go-cqhttp/GetGroupHonorInfo';
import { GoCQHTTHandleQuickAction } from './go-cqhttp/QuickAction';
import { GetGroupSystemMsg } from './group/GetGroupSystemMsg';
import { GetOnlineClient } from './go-cqhttp/GetOnlineClient';
import { IOCRImage, OCRImage } from './extends/OCRImage';
import { GetGroupFileCount } from './file/GetGroupFileCount';
import { GetGroupFileList } from './file/GetGroupFileList';
import { TranslateEnWordToZn } from './extends/TranslateEnWordToZn';
import { SetGroupFileFolder } from './file/SetGroupFileFolder';
import { DelGroupFile } from './file/DelGroupFile';
import { DelGroupFileFolder } from './file/DelGroupFileFolder';
export const actionHandlers = [
new RebootNormol(),
new GetFile(),
new Debug(),
new Reboot(),
// new GetConfigAction(),
// new SetConfigAction(),
// new GetGroupAddRequest(),
// TranslateEnWordToZn = "translate_en2zh",
new ForwardFriendSingleMsg(),
new ForwardGroupSingleMsg(),
new MarkGroupMsgAsRead(),
new MarkPrivateMsgAsRead(),
new SetQQAvatar(),
new TranslateEnWordToZn(),
new GetGroupFileCount(),
new GetGroupFileList(),
new SetGroupFileFolder(),
new DelGroupFile(),
new DelGroupFileFolder(),
// onebot11
new SendLike(),
new GetMsg(),
new GetLoginInfo(),
new GetFriendList(),
new GetGroupList(), new GetGroupInfo(),
new GetGroupMemberList(), new GetGroupMemberInfo(),
new SendGroupMsg(), new SendPrivateMsg(), new SendMsg(),
new DeleteMsg(),
new SetGroupAddRequest(),
new SetFriendAddRequest(),
new SetGroupLeave(),
new GetVersionInfo(),
new CanSendRecord(),
new CanSendImage(),
new GetStatus(),
new SetGroupWholeBan(),
new SetGroupBan(),
new SetGroupKick(),
new SetGroupAdmin(),
new SetGroupName(),
new SetGroupCard(),
new GetImage(),
new GetRecord(),
new SetMsgEmojiLike(),
// new CleanCache(),
new GetCookies(),
//
new SetOnlineStatus(),
new GetRobotUinRange(),
new GetFriendWithCategory(),
//以下为go-cqhttp api
new GetOnlineClient(),
new OCRImage(),
new IOCRImage(),
new GetGroupHonorInfo(),
new SendGroupNotice(),
new GetGroupNotice(),
new GetGroupEssence(),
new GoCQHTTPSendForwardMsg(),
new GoCQHTTPSendGroupForwardMsg(),
new GoCQHTTPSendPrivateForwardMsg(),
new GoCQHTTPGetStrangerInfo(),
new GoCQHTTPDownloadFile(),
new GetGuildList(),
new GoCQHTTPMarkMsgAsRead(),
new GoCQHTTPUploadGroupFile(),
new GoCQHTTPGetGroupMsgHistory(),
new GoCQHTTGetForwardMsgAction(),
new GetFriendMsgHistory(),
new GoCQHTTHandleQuickAction(),
new GetGroupSystemMsg()
];
function initActionMap() {
const actionMap = new Map<string, BaseAction<any, any>>();
for (const action of actionHandlers) {
actionMap.set(action.actionName, action);
actionMap.set(action.actionName + '_async', action);
actionMap.set(action.actionName + '_rate_limited', action);
}
return actionMap;
}
export const actionMap = initActionMap();

View File

@@ -1,7 +1,7 @@
import { NTQQMsgApi } from '@/core/apis';
import { ActionName } from '../types';
import BaseAction from '../BaseAction';
import { dbUtil } from '@/core/utils/db';
import { dbUtil } from '@/common/utils/db';
import { FromSchema, JSONSchema } from 'json-schema-to-ts';
const SchemaData = {

View File

@@ -1,62 +1,62 @@
import BaseAction from '../BaseAction';
import { NTQQMsgApi } from '@/core/apis';
import { ChatType, Peer } from '@/core/entities';
import { dbUtil } from '@/core/utils/db';
import { getUidByUin } from '@/core/data';
import { ActionName } from '../types';
import { FromSchema, JSONSchema } from 'json-schema-to-ts';
const SchemaData = {
type: 'object',
properties: {
message_id: { type: 'number' },
group_id: { type: 'number' },
user_id: { type: 'number' }
},
required: ['message_id']
} as const satisfies JSONSchema;
type Payload = FromSchema<typeof SchemaData>;
class ForwardSingleMsg extends BaseAction<Payload, null> {
protected async getTargetPeer(payload: Payload): Promise<Peer> {
if (payload.user_id) {
const peerUid = getUidByUin(payload.user_id.toString());
if (!peerUid) {
throw new Error(`无法找到私聊对象${payload.user_id}`);
}
return { chatType: ChatType.friend, peerUid };
}
return { chatType: ChatType.group, peerUid: payload.group_id!.toString() };
}
protected async _handle(payload: Payload): Promise<null> {
const msg = await dbUtil.getMsgByShortId(payload.message_id);
if (!msg) {
throw new Error(`无法找到消息${payload.message_id}`);
}
const peer = await this.getTargetPeer(payload);
const ret = await NTQQMsgApi.forwardMsg(
{
chatType: msg.chatType,
peerUid: msg.peerUid,
},
peer,
[msg.msgId],
);
if (ret.result !== 0) {
throw new Error(`转发消息失败 ${ret.errMsg}`);
}
return null;
}
}
export class ForwardFriendSingleMsg extends ForwardSingleMsg {
PayloadSchema = SchemaData;
actionName = ActionName.ForwardFriendSingleMsg;
}
export class ForwardGroupSingleMsg extends ForwardSingleMsg {
PayloadSchema = SchemaData;
actionName = ActionName.ForwardGroupSingleMsg;
}
import BaseAction from '../BaseAction';
import { NTQQMsgApi } from '@/core/apis';
import { ChatType, Peer } from '@/core/entities';
import { dbUtil } from '@/common/utils/db';
import { getUidByUin } from '@/core/data';
import { ActionName } from '../types';
import { FromSchema, JSONSchema } from 'json-schema-to-ts';
const SchemaData = {
type: 'object',
properties: {
message_id: { type: 'number' },
group_id: { type: 'number' },
user_id: { type: 'number' }
},
required: ['message_id']
} as const satisfies JSONSchema;
type Payload = FromSchema<typeof SchemaData>;
class ForwardSingleMsg extends BaseAction<Payload, null> {
protected async getTargetPeer(payload: Payload): Promise<Peer> {
if (payload.user_id) {
const peerUid = getUidByUin(payload.user_id.toString());
if (!peerUid) {
throw new Error(`无法找到私聊对象${payload.user_id}`);
}
return { chatType: ChatType.friend, peerUid };
}
return { chatType: ChatType.group, peerUid: payload.group_id!.toString() };
}
protected async _handle(payload: Payload): Promise<null> {
const msg = await dbUtil.getMsgByShortId(payload.message_id);
if (!msg) {
throw new Error(`无法找到消息${payload.message_id}`);
}
const peer = await this.getTargetPeer(payload);
const ret = await NTQQMsgApi.forwardMsg(
{
chatType: msg.chatType,
peerUid: msg.peerUid,
},
peer,
[msg.msgId],
);
if (ret.result !== 0) {
throw new Error(`转发消息失败 ${ret.errMsg}`);
}
return null;
}
}
export class ForwardFriendSingleMsg extends ForwardSingleMsg {
PayloadSchema = SchemaData;
actionName = ActionName.ForwardFriendSingleMsg;
}
export class ForwardGroupSingleMsg extends ForwardSingleMsg {
PayloadSchema = SchemaData;
actionName = ActionName.ForwardGroupSingleMsg;
}

View File

@@ -2,7 +2,7 @@ import { OB11Message } from '../../types';
import { OB11Constructor } from '../../constructor';
import BaseAction from '../BaseAction';
import { ActionName } from '../types';
import { dbUtil } from '@/core/utils/db';
import { dbUtil } from '@/common/utils/db';
import { FromSchema, JSONSchema } from 'json-schema-to-ts';

View File

@@ -1,247 +1,249 @@
import { OB11MessageData, OB11MessageDataType, OB11MessageFileBase } from '@/onebot11/types';
import {
AtType,
CustomMusicSignPostData,
Group,
IdMusicSignPostData,
NTQQFileApi,
SendMessageElement,
SendMsgElementConstructor
} from '@/core';
import { getGroupMember } from '@/core/data';
import { dbUtil } from '@/core/utils/db';
import { logDebug, logError } from '@/common/utils/log';
import { uri2local } from '@/common/utils/file';
import { ob11Config } from '@/onebot11/config';
import { RequestUtil } from '@/common/utils/request';
import fs from 'node:fs';
export type MessageContext = {
group?: Group,
deleteAfterSentFiles: string[],
}
async function handleOb11FileLikeMessage(
{ data: { file, name: payloadFileName } }: OB11MessageFileBase,
{ deleteAfterSentFiles }: MessageContext
) {
let uri = file;
const cache = await dbUtil.getFileCacheByName(file);
if (cache) {
if (fs.existsSync(cache.path)) {
uri = 'file://' + cache.path;
} else if (cache.url) {
uri = cache.url;
} else {
const fileMsg = await dbUtil.getMsgByLongId(cache.msgId);
if (fileMsg) {
cache.path = await NTQQFileApi.downloadMedia(
fileMsg.msgId, fileMsg.chatType, fileMsg.peerUid,
cache.elementId, '', ''
);
uri = 'file://' + cache.path;
dbUtil.updateFileCache(cache);
}
}
logDebug('找到文件缓存', uri);
}
const { path, isLocal, fileName, errMsg } = (await uri2local(uri));
if (errMsg) {
logError('文件下载失败', errMsg);
throw Error('文件下载失败' + errMsg);
}
if (!isLocal) { // 只删除http和base64转过来的文件
deleteAfterSentFiles.push(path);
}
return { path, fileName: payloadFileName || fileName };
}
const _handlers: {
[Key in OB11MessageDataType]: (
sendMsg: Extract<OB11MessageData, { type: Key }>,
// This picks the correct message type out
// How great the type system of TypeScript is!
context: MessageContext
) => SendMessageElement | undefined | Promise<SendMessageElement | undefined>
} = {
[OB11MessageDataType.text]: ({ data: { text } }) => SendMsgElementConstructor.text(text),
[OB11MessageDataType.at]: async ({ data: { qq: atQQ } }, context) => {
if (!context.group) return undefined;
if (atQQ === 'all') return SendMsgElementConstructor.at(atQQ, atQQ, AtType.atAll, '全体成员');
// then the qq is a group member
const atMember = await getGroupMember(context.group.groupCode, atQQ);
return atMember ?
SendMsgElementConstructor.at(atQQ, atMember.uid, AtType.atUser, atMember.cardName || atMember.nick) :
undefined;
},
[OB11MessageDataType.reply]: async ({ data: { id } }) => {
const replyMsg = await dbUtil.getMsgByShortId(parseInt(id));
return replyMsg ?
SendMsgElementConstructor.reply(replyMsg.msgSeq, replyMsg.msgId, replyMsg.senderUin!, replyMsg.senderUin!) :
undefined;
},
[OB11MessageDataType.face]: ({ data: { id } }) => SendMsgElementConstructor.face(parseInt(id)),
[OB11MessageDataType.mface]: ({
data: {
emoji_package_id,
emoji_id,
key,
summary
}
}) => SendMsgElementConstructor.mface(emoji_package_id, emoji_id, key, summary),
// File service
[OB11MessageDataType.image]: async (sendMsg, context) => {
const PicEle = await SendMsgElementConstructor.pic(
(await handleOb11FileLikeMessage(sendMsg, context)).path,
sendMsg.data.summary || '',
sendMsg.data.subType || 0
);
context.deleteAfterSentFiles.push(PicEle.picElement.sourcePath);
return PicEle;
}
, // currently not supported
[OB11MessageDataType.file]: async (sendMsg, context) => {
const { path, fileName } = await handleOb11FileLikeMessage(sendMsg, context);
logDebug('发送文件', path, fileName);
return SendMsgElementConstructor.file(path, fileName);
},
[OB11MessageDataType.video]: async (sendMsg, context) => {
const { path, fileName } = await handleOb11FileLikeMessage(sendMsg, context);
logDebug('发送视频', path, fileName);
let thumb = sendMsg.data.thumb;
if (thumb) {
const uri2LocalRes = await uri2local(thumb);
if (uri2LocalRes.success) thumb = uri2LocalRes.path;
}
return SendMsgElementConstructor.video(path, fileName, thumb);
},
[OB11MessageDataType.voice]: async (sendMsg, context) =>
SendMsgElementConstructor.ptt((await handleOb11FileLikeMessage(sendMsg, context)).path),
[OB11MessageDataType.json]: ({ data: { data } }) => SendMsgElementConstructor.ark(data),
[OB11MessageDataType.dice]: ({ data: { result } }) => SendMsgElementConstructor.dice(result),
[OB11MessageDataType.RPS]: ({ data: { result } }) => SendMsgElementConstructor.rps(result),
[OB11MessageDataType.markdown]: ({ data: { content } }) => SendMsgElementConstructor.markdown(content),
[OB11MessageDataType.music]: async ({ data }) => {
// 保留, 直到...找到更好的解决方案
if (data.type === 'custom') {
if (!data.url) {
logError('自定义音卡缺少参数url');
return undefined;
}
if (!data.audio) {
logError('自定义音卡缺少参数audio');
return undefined;
}
if (!data.title) {
logError('自定义音卡缺少参数title');
return undefined;
}
} else {
if (!['qq', '163'].includes(data.type)) {
logError('音乐卡片type错误, 只支持qq、163、custom当前type:', data.type);
return undefined;
}
if (!data.id) {
logError('音乐卡片缺少参数id');
return undefined;
}
}
let postData: IdMusicSignPostData | CustomMusicSignPostData;
if (data.type === 'custom' && data.content) {
const { content, ...others } = data;
postData = { singer: content, ...others };
} else {
postData = data;
}
const signUrl = ob11Config.musicSignUrl;
if (!signUrl) {
throw Error('音乐消息签名地址未配置');
}
try {
const musicJson = await RequestUtil.HttpGetJson<any>(signUrl, 'POST', postData);
return SendMsgElementConstructor.ark(musicJson);
} catch (e) {
logError('生成音乐消息失败', e);
}
},
[OB11MessageDataType.node]: () => undefined,
[OB11MessageDataType.forward]: () => undefined,
[OB11MessageDataType.xml]: () => undefined,
[OB11MessageDataType.poke]: () => undefined,
};
const handlers = <{
[Key in OB11MessageDataType]: (
sendMsg: OB11MessageData,
context: MessageContext
) => SendMessageElement | undefined | Promise<SendMessageElement | undefined>
}>_handlers;
export default async function createSendElements(
messageData: OB11MessageData[],
group?: Group,
ignoreTypes: OB11MessageDataType[] = []
) {
const sendElements: SendMessageElement[] = [];
const deleteAfterSentFiles: string[] = [];
for (const sendMsg of messageData) {
if (ignoreTypes.includes(sendMsg.type)) {
continue;
}
const callResult = await handlers[sendMsg.type](
sendMsg,
{ group, deleteAfterSentFiles }
);
if (callResult) sendElements.push(callResult);
}
return { sendElements, deleteAfterSentFiles };
}
export async function createSendElementsParallel(
messageData: OB11MessageData[],
group?: Group,
ignoreTypes: OB11MessageDataType[] = []
) {
const deleteAfterSentFiles: string[] = [];
const sendElements = <SendMessageElement[]>(
await Promise.all(
messageData.map(async sendMsg => ignoreTypes.includes(sendMsg.type) ?
undefined :
handlers[sendMsg.type](sendMsg, { group, deleteAfterSentFiles }))
).then(
results => results.filter(
element => element !== undefined
)
)
);
return { sendElements, deleteAfterSentFiles };
}
import { OB11MessageData, OB11MessageDataType, OB11MessageFileBase } from '@/onebot11/types';
import {
AtType,
CustomMusicSignPostData,
Group,
IdMusicSignPostData,
NTQQFileApi,
SendArkElement,
SendMessageElement,
SendMsgElementConstructor
} from '@/core';
import { getGroupMember } from '@/core/data';
import { dbUtil } from '@/common/utils/db';
import { logDebug, logError } from '@/common/utils/log';
import { uri2local } from '@/common/utils/file';
import { ob11Config } from '@/onebot11/config';
import { RequestUtil } from '@/common/utils/request';
import fs from 'node:fs';
export type MessageContext = {
group?: Group,
deleteAfterSentFiles: string[],
}
async function handleOb11FileLikeMessage(
{ data: { file, name: payloadFileName } }: OB11MessageFileBase,
{ deleteAfterSentFiles }: MessageContext
) {
let uri = file;
const cache = await dbUtil.getFileCacheByName(file);
if (cache) {
if (fs.existsSync(cache.path)) {
uri = 'file://' + cache.path;
} else if (cache.url) {
uri = cache.url;
} else {
const fileMsg = await dbUtil.getMsgByLongId(cache.msgId);
if (fileMsg) {
cache.path = await NTQQFileApi.downloadMedia(
fileMsg.msgId, fileMsg.chatType, fileMsg.peerUid,
cache.elementId, '', ''
);
uri = 'file://' + cache.path;
dbUtil.updateFileCache(cache);
}
}
logDebug('找到文件缓存', uri);
}
const { path, isLocal, fileName, errMsg } = (await uri2local(uri));
if (errMsg) {
logError('文件下载失败', errMsg);
throw Error('文件下载失败' + errMsg);
}
if (!isLocal) { // 只删除http和base64转过来的文件
deleteAfterSentFiles.push(path);
}
return { path, fileName: payloadFileName || fileName };
}
const _handlers: {
[Key in OB11MessageDataType]: (
sendMsg: Extract<OB11MessageData, { type: Key }>,
// This picks the correct message type out
// How great the type system of TypeScript is!
context: MessageContext
) => SendMessageElement | undefined | Promise<SendMessageElement | undefined>
} = {
[OB11MessageDataType.text]: ({ data: { text } }) => SendMsgElementConstructor.text(text),
[OB11MessageDataType.at]: async ({ data: { qq: atQQ } }, context) => {
if (!context.group) return undefined;
if (atQQ === 'all') return SendMsgElementConstructor.at(atQQ, atQQ, AtType.atAll, '全体成员');
// then the qq is a group member
const atMember = await getGroupMember(context.group.groupCode, atQQ);
return atMember ?
SendMsgElementConstructor.at(atQQ, atMember.uid, AtType.atUser, atMember.cardName || atMember.nick) :
undefined;
},
[OB11MessageDataType.reply]: async ({ data: { id } }) => {
const replyMsg = await dbUtil.getMsgByShortId(parseInt(id));
return replyMsg ?
SendMsgElementConstructor.reply(replyMsg.msgSeq, replyMsg.msgId, replyMsg.senderUin!, replyMsg.senderUin!) :
undefined;
},
[OB11MessageDataType.face]: ({ data: { id } }) => SendMsgElementConstructor.face(parseInt(id)),
[OB11MessageDataType.mface]: ({
data: {
emoji_package_id,
emoji_id,
key,
summary
}
}) => SendMsgElementConstructor.mface(emoji_package_id, emoji_id, key, summary),
// File service
[OB11MessageDataType.image]: async (sendMsg, context) => {
const PicEle = await SendMsgElementConstructor.pic(
(await handleOb11FileLikeMessage(sendMsg, context)).path,
sendMsg.data.summary || '',
sendMsg.data.subType || 0
);
context.deleteAfterSentFiles.push(PicEle.picElement.sourcePath);
return PicEle;
}
, // currently not supported
[OB11MessageDataType.file]: async (sendMsg, context) => {
const { path, fileName } = await handleOb11FileLikeMessage(sendMsg, context);
//logDebug('发送文件', path, fileName);
return SendMsgElementConstructor.file(path, fileName);
},
[OB11MessageDataType.video]: async (sendMsg, context) => {
const { path, fileName } = await handleOb11FileLikeMessage(sendMsg, context);
//logDebug('发送视频', path, fileName);
let thumb = sendMsg.data.thumb;
if (thumb) {
const uri2LocalRes = await uri2local(thumb);
if (uri2LocalRes.success) thumb = uri2LocalRes.path;
}
return SendMsgElementConstructor.video(path, fileName, thumb);
},
[OB11MessageDataType.miniapp]: async ({ data: any }) => SendMsgElementConstructor.miniapp(),
[OB11MessageDataType.voice]: async (sendMsg, context) =>
SendMsgElementConstructor.ptt((await handleOb11FileLikeMessage(sendMsg, context)).path),
[OB11MessageDataType.json]: ({ data: { data } }) => SendMsgElementConstructor.ark(data),
[OB11MessageDataType.dice]: ({ data: { result } }) => SendMsgElementConstructor.dice(result),
[OB11MessageDataType.RPS]: ({ data: { result } }) => SendMsgElementConstructor.rps(result),
[OB11MessageDataType.markdown]: ({ data: { content } }) => SendMsgElementConstructor.markdown(content),
[OB11MessageDataType.music]: async ({ data }) => {
// 保留, 直到...找到更好的解决方案
if (data.type === 'custom') {
if (!data.url) {
logError('自定义音卡缺少参数url');
return undefined;
}
if (!data.audio) {
logError('自定义音卡缺少参数audio');
return undefined;
}
if (!data.title) {
logError('自定义音卡缺少参数title');
return undefined;
}
} else {
if (!['qq', '163'].includes(data.type)) {
logError('音乐卡片type错误, 只支持qq、163、custom当前type:', data.type);
return undefined;
}
if (!data.id) {
logError('音乐卡片缺少参数id');
return undefined;
}
}
let postData: IdMusicSignPostData | CustomMusicSignPostData;
if (data.type === 'custom' && data.content) {
const { content, ...others } = data;
postData = { singer: content, ...others };
} else {
postData = data;
}
const signUrl = ob11Config.musicSignUrl;
if (!signUrl) {
throw Error('音乐消息签名地址未配置');
}
try {
const musicJson = await RequestUtil.HttpGetJson<any>(signUrl, 'POST', postData);
return SendMsgElementConstructor.ark(musicJson);
} catch (e) {
logError('生成音乐消息失败', e);
}
},
[OB11MessageDataType.node]: () => undefined,
[OB11MessageDataType.forward]: () => undefined,
[OB11MessageDataType.xml]: () => undefined,
[OB11MessageDataType.poke]: () => undefined,
};
const handlers = <{
[Key in OB11MessageDataType]: (
sendMsg: OB11MessageData,
context: MessageContext
) => SendMessageElement | undefined | Promise<SendMessageElement | undefined>
}>_handlers;
export default async function createSendElements(
messageData: OB11MessageData[],
group?: Group,
ignoreTypes: OB11MessageDataType[] = []
) {
const sendElements: SendMessageElement[] = [];
const deleteAfterSentFiles: string[] = [];
for (const sendMsg of messageData) {
if (ignoreTypes.includes(sendMsg.type)) {
continue;
}
const callResult = await handlers[sendMsg.type](
sendMsg,
{ group, deleteAfterSentFiles }
);
if (callResult) sendElements.push(callResult);
}
return { sendElements, deleteAfterSentFiles };
}
export async function createSendElementsParallel(
messageData: OB11MessageData[],
group?: Group,
ignoreTypes: OB11MessageDataType[] = []
) {
const deleteAfterSentFiles: string[] = [];
const sendElements = <SendMessageElement[]>(
await Promise.all(
messageData.map(async sendMsg => ignoreTypes.includes(sendMsg.type) ?
undefined :
handlers[sendMsg.type](sendMsg, { group, deleteAfterSentFiles }))
).then(
results => results.filter(
element => element !== undefined
)
)
);
return { sendElements, deleteAfterSentFiles };
}

View File

@@ -1,7 +1,7 @@
import { ChatType, ElementType, Group, NTQQMsgApi, Peer, RawMessage, SendMessageElement } from '@/core';
import { OB11MessageNode } from '@/onebot11/types';
import { selfInfo } from '@/core/data';
import { dbUtil } from '@/core/utils/db';
import { dbUtil } from '@/common/utils/db';
import createSendElements from '@/onebot11/action/msg/SendMsg/create-send-elements';
import { logDebug, logError } from '@/common/utils/log';
import { sleep } from '@/common/utils/helper';
@@ -14,7 +14,7 @@ async function cloneMsg(msg: RawMessage): Promise<RawMessage | undefined> {
peerUid: selfInfo.uid
};
logDebug('克隆的目标消息', msg);
// logDebug('克隆的目标消息', msg);
const sendElements: SendMessageElement[] = [];
@@ -26,7 +26,7 @@ async function cloneMsg(msg: RawMessage): Promise<RawMessage | undefined> {
logDebug('需要clone的消息无法解析将会忽略掉', msg);
}
logDebug('克隆消息', sendElements);
//logDebug('克隆消息', sendElements);
try {
const nodeMsg = await NTQQMsgApi.sendMsg(selfPeer, sendElements, true);
@@ -71,7 +71,7 @@ export async function handleForwardNode(destPeer: Peer, messageNodes: OB11Messag
// 提取消息段发给自己生成消息id
try {
const { sendElements } = await createSendElements(normalize(messageNode.data.content), group);
logDebug('开始生成转发节点', sendElements);
//logDebug('开始生成转发节点', sendElements);
const sendElementsSplit: SendMessageElement[][] = [];
let splitIndex = 0;
for (const sendElement of sendElements) {
@@ -88,7 +88,7 @@ export async function handleForwardNode(destPeer: Peer, messageNodes: OB11Messag
} else {
sendElementsSplit[splitIndex].push(sendElement);
}
logDebug(sendElementsSplit);
//logDebug(sendElementsSplit);
}
// log("分割后的转发节点", sendElementsSplit)
const MsgNodeList: Promise<RawMessage>[] = [];
@@ -100,7 +100,7 @@ export async function handleForwardNode(destPeer: Peer, messageNodes: OB11Messag
for (const msgNode of MsgNodeList) {
const result = await msgNode;
nodeMsgIds.push(result.msgId);
logDebug('转发节点生成成功', result.msgId);
//logDebug('转发节点生成成功', result.msgId);
}
} catch (e) {
logDebug('生成转发消息节点失败', e);
@@ -124,10 +124,10 @@ export async function handleForwardNode(destPeer: Peer, messageNodes: OB11Messag
}
}
}
logDebug('nodeMsgArray', nodeMsgArray);
//logDebug('nodeMsgArray', nodeMsgArray);
nodeMsgIds = nodeMsgArray.map(msg => msg.msgId);
if (needSendSelf) {
logDebug('需要克隆转发消息');
//logDebug('需要克隆转发消息');
for (const [index, msg] of nodeMsgArray.entries()) {
if (msg.peerUid !== selfInfo.uid) {
const clonedMsg = await cloneMsg(msg);

View File

@@ -8,7 +8,7 @@ import {
} from '@/onebot11/types';
import { ActionName, BaseCheckResult } from '@/onebot11/action/types';
import { getFriend, getGroup, getUidByUin } from '@/core/data';
import { dbUtil } from '@/core/utils/db';
import { dbUtil } from '@/common/utils/db';
import { ChatType, ElementType, Group, NTQQMsgApi, Peer, SendMessageElement, } from '@/core';
import fs from 'node:fs';
import { logDebug, logError } from '@/common/utils/log';

View File

@@ -1,6 +1,6 @@
import { ActionName } from '../types';
import BaseAction from '../BaseAction';
import { dbUtil } from '@/core/utils/db';
import { dbUtil } from '@/common/utils/db';
import { NTQQMsgApi } from '@/core/apis';
import { FromSchema, JSONSchema } from 'json-schema-to-ts';

View File

@@ -7,7 +7,7 @@ import {
ChatCacheListItemBasic,
CacheFileType
} from '@/core/entities';
import { dbUtil } from '@/core/utils/db';
import { dbUtil } from '@/common/utils/db';
import { NTQQFileApi, NTQQFileCacheApi } from '@/core/apis/file';
export default class CleanCache extends BaseAction<void, void> {

View File

@@ -1,82 +1,91 @@
export type BaseCheckResult = ValidCheckResult | InvalidCheckResult
export interface ValidCheckResult {
valid: true
[k: string | number]: any
}
export interface InvalidCheckResult {
valid: false
message: string
[k: string | number]: any
}
export enum ActionName {
// 以下为扩展napcat扩展
RebootNormol = 'reboot_normol',//无快速登录重新启动
GetRobotUinRange = 'get_robot_uin_range',
SetOnlineStatus = 'set_online_status',
GetFriendsWithCategory = 'get_friends_with_category',
GetGroupIgnoreAddRequest = 'get_group_ignore_add_request',
SetQQAvatar = 'set_qq_avatar',
GetConfig = 'get_config',
SetConfig = 'set_config',
Debug = 'debug',
GetFile = 'get_file',
ForwardFriendSingleMsg = 'forward_friend_single_msg',
ForwardGroupSingleMsg = 'forward_group_single_msg',
// onebot 11
Reboot = 'set_restart',
SendLike = 'send_like',
GetLoginInfo = 'get_login_info',
GetFriendList = 'get_friend_list',
GetGroupInfo = 'get_group_info',
GetGroupList = 'get_group_list',
GetGroupMemberInfo = 'get_group_member_info',
GetGroupMemberList = 'get_group_member_list',
GetMsg = 'get_msg',
SendMsg = 'send_msg',
SendGroupMsg = 'send_group_msg',
SendPrivateMsg = 'send_private_msg',
DeleteMsg = 'delete_msg',
SetMsgEmojiLike = 'set_msg_emoji_like',
SetGroupAddRequest = 'set_group_add_request',
SetFriendAddRequest = 'set_friend_add_request',
SetGroupLeave = 'set_group_leave',
GetVersionInfo = 'get_version_info',
GetStatus = 'get_status',
CanSendRecord = 'can_send_record',
CanSendImage = 'can_send_image',
SetGroupKick = 'set_group_kick',
SetGroupBan = 'set_group_ban',
SetGroupWholeBan = 'set_group_whole_ban',
SetGroupAdmin = 'set_group_admin',
SetGroupCard = 'set_group_card',
SetGroupName = 'set_group_name',
GetImage = 'get_image',
GetRecord = 'get_record',
CleanCache = 'clean_cache',
GetCookies = 'get_cookies',
// 以下为go-cqhttp api
GoCQHTTP_HandleQuickAction = '.handle_quick_operation',
GetGroupHonorInfo = 'get_group_honor_info',
GoCQHTTP_GetEssenceMsg = 'get_essence_msg_list',
GoCQHTTP_SendGroupNotice = '_send_group_notice',
GoCQHTTP_GetGroupNotice = '_get_group_notice',
GoCQHTTP_SendForwardMsg = 'send_forward_msg',
GoCQHTTP_SendGroupForwardMsg = 'send_group_forward_msg',
GoCQHTTP_SendPrivateForwardMsg = 'send_private_forward_msg',
GoCQHTTP_GetStrangerInfo = 'get_stranger_info',
GoCQHTTP_MarkMsgAsRead = 'mark_msg_as_read',
GetGuildList = 'get_guild_list',
MarkPrivateMsgAsRead = 'mark_private_msg_as_read',
MarkGroupMsgAsRead = 'mark_group_msg_as_read',
GoCQHTTP_UploadGroupFile = 'upload_group_file',
GoCQHTTP_DownloadFile = 'download_file',
GoCQHTTP_GetGroupMsgHistory = 'get_group_msg_history',
GoCQHTTP_GetForwardMsg = 'get_forward_msg',
GetFriendMsgHistory = 'get_friend_msg_history',
GetGroupSystemMsg = 'get_group_system_msg'
}
export type BaseCheckResult = ValidCheckResult | InvalidCheckResult
export interface ValidCheckResult {
valid: true
[k: string | number]: any
}
export interface InvalidCheckResult {
valid: false
message: string
[k: string | number]: any
}
export enum ActionName {
// 以下为扩展napcat扩展
RebootNormol = 'reboot_normol',//无快速登录重新启动
GetRobotUinRange = 'get_robot_uin_range',
SetOnlineStatus = 'set_online_status',
GetFriendsWithCategory = 'get_friends_with_category',
GetGroupIgnoreAddRequest = 'get_group_ignore_add_request',
SetQQAvatar = 'set_qq_avatar',
GetConfig = 'get_config',
SetConfig = 'set_config',
Debug = 'debug',
GetFile = 'get_file',
ForwardFriendSingleMsg = 'forward_friend_single_msg',
ForwardGroupSingleMsg = 'forward_group_single_msg',
TranslateEnWordToZn = "translate_en2zh",
GetGroupFileCount = "get_group_file_count",
GetGroupFileList = "get_group_file_list",
SetGroupFileFolder = "set_group_file_folder",
DelGroupFile = "del_group_file",
DelGroupFileFolder = "del_group_file_folder",
// onebot 11
Reboot = 'set_restart',
SendLike = 'send_like',
GetLoginInfo = 'get_login_info',
GetFriendList = 'get_friend_list',
GetGroupInfo = 'get_group_info',
GetGroupList = 'get_group_list',
GetGroupMemberInfo = 'get_group_member_info',
GetGroupMemberList = 'get_group_member_list',
GetMsg = 'get_msg',
SendMsg = 'send_msg',
SendGroupMsg = 'send_group_msg',
SendPrivateMsg = 'send_private_msg',
DeleteMsg = 'delete_msg',
SetMsgEmojiLike = 'set_msg_emoji_like',
SetGroupAddRequest = 'set_group_add_request',
SetFriendAddRequest = 'set_friend_add_request',
SetGroupLeave = 'set_group_leave',
GetVersionInfo = 'get_version_info',
GetStatus = 'get_status',
CanSendRecord = 'can_send_record',
CanSendImage = 'can_send_image',
SetGroupKick = 'set_group_kick',
SetGroupBan = 'set_group_ban',
SetGroupWholeBan = 'set_group_whole_ban',
SetGroupAdmin = 'set_group_admin',
SetGroupCard = 'set_group_card',
SetGroupName = 'set_group_name',
GetImage = 'get_image',
GetRecord = 'get_record',
CleanCache = 'clean_cache',
GetCookies = 'get_cookies',
// 以下为go-cqhttp api
GoCQHTTP_HandleQuickAction = '.handle_quick_operation',
GetGroupHonorInfo = 'get_group_honor_info',
GoCQHTTP_GetEssenceMsg = 'get_essence_msg_list',
GoCQHTTP_SendGroupNotice = '_send_group_notice',
GoCQHTTP_GetGroupNotice = '_get_group_notice',
GoCQHTTP_SendForwardMsg = 'send_forward_msg',
GoCQHTTP_SendGroupForwardMsg = 'send_group_forward_msg',
GoCQHTTP_SendPrivateForwardMsg = 'send_private_forward_msg',
GoCQHTTP_GetStrangerInfo = 'get_stranger_info',
GoCQHTTP_MarkMsgAsRead = 'mark_msg_as_read',
GetGuildList = 'get_guild_list',
MarkPrivateMsgAsRead = 'mark_private_msg_as_read',
MarkGroupMsgAsRead = 'mark_group_msg_as_read',
GoCQHTTP_UploadGroupFile = 'upload_group_file',
GoCQHTTP_DownloadFile = 'download_file',
GoCQHTTP_GetGroupMsgHistory = 'get_group_msg_history',
GoCQHTTP_GetForwardMsg = 'get_forward_msg',
GetFriendMsgHistory = 'get_friend_msg_history',
GetGroupSystemMsg = 'get_group_system_msg',
GetOnlineClient = "get_online_clients",
OCRImage = "ocr_image",
IOCRImage = ".ocr_image"
}

View File

@@ -3,7 +3,7 @@ import { OB11Constructor } from '../../constructor';
import { friends, selfInfo } from '@/core/data';
import BaseAction from '../BaseAction';
import { ActionName } from '../types';
import { NTQQUserApi } from '@/core/apis';
import { NTQQUserApi, WebApi } from '@/core/apis';
import { FromSchema, JSONSchema } from 'json-schema-to-ts';
interface Response {
cookies: string
@@ -22,9 +22,17 @@ export class GetCookies extends BaseAction<Payload, Response> {
actionName = ActionName.GetCookies;
PayloadSchema = SchemaData;
protected async _handle(payload: Payload) {
if (!payload.domain){
if (!payload.domain) {
throw new Error('缺少参数 domain');
}
if (payload.domain.endsWith("qzone.qq.com")) {
const _Skey = await NTQQUserApi.getSkey() as string;
// 兼容整个 *.qzone.qq.com
let data = (await NTQQUserApi.getQzoneCookies());
const Bkn = WebApi.genBkn(data.p_skey);
const CookieValue = 'p_skey=' + data.p_skey + '; skey=' + data.skey + '; p_uin=o' + selfInfo.uin + '; uin=o' + selfInfo.uin;
return { cookies: CookieValue };
}
const _Skey = await NTQQUserApi.getSkey();
// 取Skey
// 先NodeIKernelTicketService.forceFetchClientKey('')
@@ -52,7 +60,7 @@ export class GetCookies extends BaseAction<Payload, Response> {
if (!_PSkey || !_Skey) {
throw new Error('获取Cookies失败');
}
const cookies = `p_skey=${_PSkey}; skey=${_Skey}; p_uin=o${selfInfo.uin}`;
const cookies = `p_skey=${_PSkey}; skey=${_Skey}; p_uin=o${selfInfo.uin}; uin=o${selfInfo.uin}`;
return {
cookies
};

View File

@@ -20,7 +20,7 @@ export default class SendLike extends BaseAction<Payload, null> {
actionName = ActionName.SendLike;
PayloadSchema = SchemaData;
protected async _handle(payload: Payload): Promise<null> {
logDebug('点赞参数', payload);
//logDebug('点赞参数', payload);
try {
const qq = payload.user_id.toString();
const friend = await getFriend(qq);
@@ -31,7 +31,7 @@ export default class SendLike extends BaseAction<Payload, null> {
uid = friend.uid;
}
const result = await NTQQUserApi.like(uid, parseInt(payload.times?.toString()) || 1);
logDebug('点赞结果', result);
//logDebug('点赞结果', result);
if (result.result !== 0) {
throw Error(result.errMsg);
}

View File

@@ -32,7 +32,10 @@ export interface OB11Config {
musicSignUrl: string;
reportSelfMessage: boolean;
token: string;
GroupLocalTime: {
Record: boolean,
RecordList: Array<string>
},
read(): OB11Config;
save(config: OB11Config): void;
@@ -64,6 +67,10 @@ class Config extends ConfigBase<OB11Config> implements OB11Config {
musicSignUrl = '';
reportSelfMessage = false;
token = '';
GroupLocalTime = {
Record: false,
RecordList: [] as Array<string>
};
getConfigPath() {
return path.join(this.getConfigDir(), `onebot11_${selfInfo.uin}.json`);

View File

@@ -26,7 +26,7 @@ import {
} from '@/core/entities';
import { EventType } from './event/OB11BaseEvent';
import { encodeCQCode } from './cqcode';
import { dbUtil } from '@/core/utils/db';
import { dbUtil } from '@/common/utils/db';
import { OB11GroupIncreaseEvent } from './event/notice/OB11GroupIncreaseEvent';
import { OB11GroupBanEvent } from './event/notice/OB11GroupBanEvent';
import { OB11GroupUploadNoticeEvent } from './event/notice/OB11GroupUploadNoticeEvent';

View File

@@ -1,4 +1,6 @@
import { OB11GroupNoticeEvent } from './OB11GroupNoticeEvent';
import { dbUtil } from '@/common/utils/db';
import { ob11Config } from '@/onebot11/config';
type GroupIncreaseSubType = 'approve' | 'invite';
export class OB11GroupIncreaseEvent extends OB11GroupNoticeEvent {
@@ -11,5 +13,8 @@ export class OB11GroupIncreaseEvent extends OB11GroupNoticeEvent {
this.operator_id = operatorId;
this.user_id = userId;
this.sub_type = subType;
if(ob11Config.GroupLocalTime.Record && (ob11Config.GroupLocalTime.RecordList[0] == '-1' || ob11Config.GroupLocalTime.RecordList.includes(groupId.toString())))
dbUtil.insertJoinTime(groupId, userId, Math.floor(Date.now() / 1000))
}
}

View File

@@ -18,7 +18,7 @@ import { httpHeart, ob11HTTPServer } from '@/onebot11/server/http';
import { ob11WebsocketServer } from '@/onebot11/server/ws/WebsocketServer';
import { ob11ReverseWebsockets } from '@/onebot11/server/ws/ReverseWebsocket';
import { friendRequests, getFriend, getGroup, getGroupMember, groupNotifies, selfInfo, uid2UinMap } from '@/core/data';
import { dbUtil } from '@/core/utils/db';
import { dbUtil } from '@/common/utils/db';
import { BuddyListener, GroupListener, NodeIKernelBuddyListener } from '@/core/listeners';
import { OB11FriendRequestEvent } from '@/onebot11/event/request/OB11FriendRequest';
import { NTQQGroupApi, NTQQUserApi } from '@/core/apis';
@@ -32,10 +32,22 @@ import { logMessage, logNotice, logRequest } from '@/onebot11/log';
import { OB11Message } from '@/onebot11/types';
import { OB11LifeCycleEvent } from './event/meta/OB11LifeCycleEvent';
import { Data as SysData } from '@/proto/SysMessage';
import { Data as DeviceData } from '@/proto/SysMessage.DeviceChange';
import { OB11FriendPokeEvent, OB11GroupPokeEvent } from './event/notice/OB11PokeEvent';
import { isEqual } from '@/common/utils/helper';
//下面几个其实应该移进Core-Data 缓存实现 但是现在在这里方便
//
export interface LineDevice {
app_id: string;
device_name: string;
device_kind: string;
}
export let DeviceList = new Array<LineDevice>();
//peer->cached(boolen)
const PokeCache = new Map<string, boolean>();
export class NapCatOnebot11 {
private bootTime: number = Date.now() / 1000; // 秒
@@ -75,11 +87,11 @@ export class NapCatOnebot11 {
// Create MsgListener
const msgListener = new MsgListener();
msgListener.onRecvSysMsg = async (protobufData: number[]) => {
// function buf2hex(buffer: Buffer) {
// return [...new Uint8Array(buffer)]
// .map(x => x.toString(16).padStart(2, '0'))
// .join('');
// }
function buf2hex(buffer: Buffer) {
return [...new Uint8Array(buffer)]
.map(x => x.toString(16).padStart(2, '0'))
.join('');
}
// let Data: Data = {
// header: {
// GroupNumber: 0,
@@ -98,7 +110,10 @@ export class NapCatOnebot11 {
// }
// };
try {
//console.log(buf2hex(Buffer.from(protobufData)));
// 生产环境会自己去掉
if (import.meta.env.MODE == 'development') {
console.log(buf2hex(Buffer.from(protobufData)));
}
const sysMsg = SysData.fromBinary(Buffer.from(protobufData));
const peeruin = sysMsg.header[0].peerNumber;
const peeruid = sysMsg.header[0].peerString;
@@ -129,6 +144,18 @@ export class NapCatOnebot11 {
postOB11Event(pokeEvent);
}
}
if (MsgType == 528 && subType0 == 349) {
const sysDeviceMsg = DeviceData.fromBinary(Buffer.from(protobufData));
DeviceList = [];
sysDeviceMsg.event[0].content[0].devices.forEach(device => {
DeviceList.push({
app_id: '0',
device_name: device.deviceName,
device_kind: 'none'
})
// log('[设备列表] 设备名称: ' + device.deviceName);
});
}
// 未区分增加与减少
// if (MsgType == 34 && subType0 == 0) {
// const role = (await getGroupMember(peeruin, selfInfo.uin))?.role;
@@ -152,6 +179,7 @@ export class NapCatOnebot11 {
// 528 68 GroupApply
// 528 138 C2CRecall
// 528 290 C2CPoke
// 528 349 DeviceChange
// 732 12 GroupBan
// 732 16 GroupUniqueTitleChange
// 732 17 GroupRecall
@@ -165,6 +193,7 @@ export class NapCatOnebot11 {
msgListener.onKickedOffLine = (Info: KickedOffLineInfo) => {
// 下线通知
//postOB11Event
selfInfo.online = false;
};
msgListener.onRecvMsg = (msg) => {
// console.log('ob11 onRecvMsg', JSON.stringify(msg, null, 2));
@@ -258,6 +287,10 @@ export class NapCatOnebot11 {
}
if (msg.post_type === 'message') {
logMessage(msg as OB11Message).then().catch(logError);
// 大概测试了一下10000个以内 includes 和 find 性能差距不大
if (msg.message_type == 'group' && msg.group_id && ob11Config.GroupLocalTime.Record && (ob11Config.GroupLocalTime.RecordList[0] === '-1' || ob11Config.GroupLocalTime.RecordList.find(gid => gid == msg.group_id?.toString()))) {
dbUtil.insertLastSentTime(msg.group_id, msg.user_id, msg.time);
}
} else if (msg.post_type === 'notice') {
logNotice(msg).then().catch(logError);
} else if (msg.post_type === 'request') {

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