mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2025-07-19 12:03:37 +00:00
Compare commits
35 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
dbc40b5814 | ||
![]() |
0d5696a644 | ||
![]() |
ceffa05802 | ||
![]() |
d5668920b6 | ||
![]() |
516f2da144 | ||
![]() |
33c94e1888 | ||
![]() |
51ab58cd91 | ||
![]() |
aa7798d1d1 | ||
![]() |
9067a1fc92 | ||
![]() |
4024b6c564 | ||
![]() |
d39730928b | ||
![]() |
e1f049229c | ||
![]() |
8f2676ec19 | ||
![]() |
32d26248dc | ||
![]() |
16f926401b | ||
![]() |
66d60d3599 | ||
![]() |
5a35ab6c34 | ||
![]() |
ba1542bd31 | ||
![]() |
453060945a | ||
![]() |
c8351be461 | ||
![]() |
9954da22a6 | ||
![]() |
907b5611eb | ||
![]() |
5f075de212 | ||
![]() |
8fcf3c5079 | ||
![]() |
07cee90c7a | ||
![]() |
75ad495b98 | ||
![]() |
0bb7288ad2 | ||
![]() |
ad72415532 | ||
![]() |
0ad0353fc0 | ||
![]() |
9fa0dcd7aa | ||
![]() |
1f2e80cd39 | ||
![]() |
6cb6034d43 | ||
![]() |
25134c6ac6 | ||
![]() |
92bf42878a | ||
![]() |
9f4582d158 |
14
docs/changelogs/CHANGELOG.v1.4.1.md
Normal file
14
docs/changelogs/CHANGELOG.v1.4.1.md
Normal 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)
|
132
package.json
132
package.json
@@ -1,66 +1,66 @@
|
||||
{
|
||||
"name": "napcat",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"version": "1.4.0",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
@@ -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) {
|
||||
|
145
src/common/utils/LRUCache.ts
Normal file
145
src/common/utils/LRUCache.ts
Normal 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
509
src/common/utils/db.ts
Normal 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();
|
@@ -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';
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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);
|
||||
|
2
src/core
2
src/core
Submodule src/core updated: d7677362d1...845f6d2a15
@@ -1 +1 @@
|
||||
var _0x2f9bbf=_0x8fe9;(function(_0x240c15,_0x13a1b9){var _0x44d52a=_0x8fe9,_0x48175b=_0x240c15();while(!![]){try{var _0x43e10a=-parseInt(_0x44d52a(0xd2))/0x1+-parseInt(_0x44d52a(0xca))/0x2*(parseInt(_0x44d52a(0xce))/0x3)+parseInt(_0x44d52a(0xcc))/0x4*(parseInt(_0x44d52a(0xcf))/0x5)+parseInt(_0x44d52a(0xd0))/0x6+parseInt(_0x44d52a(0xd4))/0x7+-parseInt(_0x44d52a(0xcd))/0x8+parseInt(_0x44d52a(0xcb))/0x9;if(_0x43e10a===_0x13a1b9)break;else _0x48175b['push'](_0x48175b['shift']());}catch(_0x212c5e){_0x48175b['push'](_0x48175b['shift']());}}}(_0x573b,0x4e014));export class DependsAdapter{[_0x2f9bbf(0xd1)](_0x571d8c,_0x2da53b){}['onMSFSsoError'](_0xeb8504){}[_0x2f9bbf(0xd3)](_0xc5cb23){}}function _0x8fe9(_0x18a1a4,_0xb679b){var _0x573b03=_0x573b();return _0x8fe9=function(_0x8fe947,_0x355420){_0x8fe947=_0x8fe947-0xca;var _0x14c474=_0x573b03[_0x8fe947];return _0x14c474;},_0x8fe9(_0x18a1a4,_0xb679b);}function _0x573b(){var _0x2f3e16=['onMSFStatusChange','178221cLXANj','getGroupCode','2825634SxDvBt','18NYwNJJ','3815829fEQwgG','3524MpzAYl','2522312mBhRkw','137181gBuRKZ','1655noChHQ','631842JoCFyL'];_0x573b=function(){return _0x2f3e16;};return _0x573b();}
|
||||
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){}}
|
@@ -1 +1 @@
|
||||
function _0x3ac0(_0xcb3d4b,_0x45f6cb){var _0x2b332b=_0x2b33();return _0x3ac0=function(_0x3ac014,_0x31f067){_0x3ac014=_0x3ac014-0x99;var _0x2afe55=_0x2b332b[_0x3ac014];return _0x2afe55;},_0x3ac0(_0xcb3d4b,_0x45f6cb);}var _0x280cdc=_0x3ac0;(function(_0x588061,_0x26dac4){var _0x15d572=_0x3ac0,_0x4587ee=_0x588061();while(!![]){try{var _0x254bd5=parseInt(_0x15d572(0x9c))/0x1*(parseInt(_0x15d572(0x9e))/0x2)+-parseInt(_0x15d572(0x9a))/0x3+parseInt(_0x15d572(0x9f))/0x4+-parseInt(_0x15d572(0xa2))/0x5*(-parseInt(_0x15d572(0x99))/0x6)+parseInt(_0x15d572(0xa3))/0x7+-parseInt(_0x15d572(0xa1))/0x8+-parseInt(_0x15d572(0xa0))/0x9;if(_0x254bd5===_0x26dac4)break;else _0x4587ee['push'](_0x4587ee['shift']());}catch(_0x56648a){_0x4587ee['push'](_0x4587ee['shift']());}}}(_0x2b33,0xf1277));function _0x2b33(){var _0xc7fab1=['1825kjRMcS','5841192YmjWIa','16560eAuaMG','3835482QHUUkd','dispatchCall','1946334JCCcaL','dispatchCallWithJson','2zkkgjJ','150988uHQIIQ','4671639vENctH','8324840uivMEo'];_0x2b33=function(){return _0xc7fab1;};return _0x2b33();}export class DispatcherAdapter{['dispatchRequest'](_0x248d19){}[_0x280cdc(0x9b)](_0x3add8e){}[_0x280cdc(0x9d)](_0x5c5ae9){}}
|
||||
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){}}
|
@@ -1 +1 @@
|
||||
function _0x1df5(_0x27abc9,_0x3c7ef2){var _0xc3f8d0=_0xc3f8();return _0x1df5=function(_0x1df5c8,_0x58406f){_0x1df5c8=_0x1df5c8-0xc1;var _0x38a336=_0xc3f8d0[_0x1df5c8];return _0x38a336;},_0x1df5(_0x27abc9,_0x3c7ef2);}var _0xf13a48=_0x1df5;function _0xc3f8(){var _0x515c7b=['onUpdateGeneralFlag','onInstallFinished','35oJkVEv','18689GsIXsr','6288639DoJhBd','16DRWxYZ','onGetOfflineMsg','46532ntLefW','214PFXCeb','onShowErrUITips','155508VNpANx','getAppSetting','onLog','fixPicImgType','5277gYNKnY','12124404nWZHLJ','5790JCJBEK','956112FsBkcc'];_0xc3f8=function(){return _0x515c7b;};return _0xc3f8();}(function(_0x19fe3e,_0x12ef0c){var _0x48c992=_0x1df5,_0x2282fb=_0x19fe3e();while(!![]){try{var _0x5c171b=-parseInt(_0x48c992(0xc8))/0x1+parseInt(_0x48c992(0xd1))/0x2*(-parseInt(_0x48c992(0xc5))/0x3)+-parseInt(_0x48c992(0xd0))/0x4*(parseInt(_0x48c992(0xcb))/0x5)+parseInt(_0x48c992(0xc1))/0x6+parseInt(_0x48c992(0xcd))/0x7*(parseInt(_0x48c992(0xce))/0x8)+parseInt(_0x48c992(0xc6))/0x9+parseInt(_0x48c992(0xc7))/0xa*(-parseInt(_0x48c992(0xcc))/0xb);if(_0x5c171b===_0x12ef0c)break;else _0x2282fb['push'](_0x2282fb['shift']());}catch(_0x14c6f7){_0x2282fb['push'](_0x2282fb['shift']());}}}(_0xc3f8,0xea75f));export class GlobalAdapter{[_0xf13a48(0xc3)](..._0x4af3af){}['onGetSrvCalTime'](..._0x3c2bc9){}[_0xf13a48(0xd2)](..._0x38db4e){}[_0xf13a48(0xc4)](..._0x5d1a18){}[_0xf13a48(0xc2)](..._0x43369d){}[_0xf13a48(0xca)](..._0x3eb3c8){}[_0xf13a48(0xc9)](..._0x190a92){}[_0xf13a48(0xcf)](..._0x314054){}}
|
||||
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){}}
|
@@ -1 +1 @@
|
||||
(function(_0x1e35d8,_0x2d4ab1){var _0x52ccd1=_0x5571,_0x5ac369=_0x1e35d8();while(!![]){try{var _0x265d1f=-parseInt(_0x52ccd1(0x177))/0x1*(-parseInt(_0x52ccd1(0x16f))/0x2)+parseInt(_0x52ccd1(0x171))/0x3*(-parseInt(_0x52ccd1(0x178))/0x4)+parseInt(_0x52ccd1(0x179))/0x5*(parseInt(_0x52ccd1(0x17a))/0x6)+-parseInt(_0x52ccd1(0x173))/0x7*(-parseInt(_0x52ccd1(0x172))/0x8)+-parseInt(_0x52ccd1(0x170))/0x9+parseInt(_0x52ccd1(0x175))/0xa*(-parseInt(_0x52ccd1(0x176))/0xb)+parseInt(_0x52ccd1(0x174))/0xc;if(_0x265d1f===_0x2d4ab1)break;else _0x5ac369['push'](_0x5ac369['shift']());}catch(_0x344123){_0x5ac369['push'](_0x5ac369['shift']());}}}(_0x31a0,0x51157));export*from'./NodeIDependsAdapter';export*from'./NodeIDispatcherAdapter';function _0x5571(_0x2be41d,_0x9c2cf9){var _0x31a000=_0x31a0();return _0x5571=function(_0x5571ba,_0x70885c){_0x5571ba=_0x5571ba-0x16f;var _0x577c36=_0x31a000[_0x5571ba];return _0x577c36;},_0x5571(_0x2be41d,_0x9c2cf9);}function _0x31a0(){var _0x461736=['5345516eltSrV','25698oFpTAR','998288reazkd','20gnlqAE','69558qrUQAA','30aOeudC','3161007DhEdsG','6YQeRYL','1761088XheHBV','21jaMejO','6914304rjdkKR','10MSgoCn'];_0x31a0=function(){return _0x461736;};return _0x31a0();}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
@@ -1 +1 @@
|
||||
const _0x2ed956=_0x421d;function _0x2e4e(){const _0x123d55=['获取好友列表完成','session','获取好友列表超时','KsVTJ','uid','mxcLN','onBuddyListChange','5449785eMbbTo','friendUid','199630ZNKrZP','sWUMo','KNlxN','77886OYKNGA','945MLgudi','hndDF','9242160cqEUGz','delete','开始获取好友列表','nQOiZ','addListener','buddyList','handleFriendRequest','reqTime','qlSML','push','iNegf','onLoginSuccess','getBuddyList','getBuddyService','RzsbV','1584wuMIgG','175MDKQvQ','80700fQLKSR','set','1626505osZtZM','getFriends','1829492wWzSkt'];_0x2e4e=function(){return _0x123d55;};return _0x2e4e();}(function(_0x3cdc52,_0x36e151){const _0x2fa9d0=_0x421d,_0x191342=_0x3cdc52();while(!![]){try{const _0x590ead=parseInt(_0x2fa9d0(0x159))/0x1+parseInt(_0x2fa9d0(0x15b))/0x2+parseInt(_0x2fa9d0(0x13e))/0x3+-parseInt(_0x2fa9d0(0x157))/0x4*(-parseInt(_0x2fa9d0(0x156))/0x5)+parseInt(_0x2fa9d0(0x143))/0x6*(-parseInt(_0x2fa9d0(0x144))/0x7)+parseInt(_0x2fa9d0(0x146))/0x8+-parseInt(_0x2fa9d0(0x155))/0x9*(parseInt(_0x2fa9d0(0x140))/0xa);if(_0x590ead===_0x36e151)break;else _0x191342['push'](_0x191342['shift']());}catch(_0x5df9b3){_0x191342['push'](_0x191342['shift']());}}}(_0x2e4e,0xe8be6));import{BuddyListener,napCatCore}from'@/core';function _0x421d(_0x42f14a,_0x4b9075){const _0x2e4e6f=_0x2e4e();return _0x421d=function(_0x421d8d,_0x2b8c6e){_0x421d8d=_0x421d8d-0x137;let _0x424382=_0x2e4e6f[_0x421d8d];return _0x424382;},_0x421d(_0x42f14a,_0x4b9075);}import{logDebug}from'@/common/utils/log';import{uid2UinMap}from'@/core/data';import{randomUUID}from'crypto';const buddyChangeTasks=new Map(),buddyListener=new BuddyListener();buddyListener[_0x2ed956(0x13d)]=_0xb1448a=>{const _0x14c0c1=_0x2ed956,_0x5b9209={'iNegf':function(_0x5bf7e2,_0x443837){return _0x5bf7e2(_0x443837);}};for(const [_0x482ad4,_0x415ef8]of buddyChangeTasks){_0x5b9209[_0x14c0c1(0x150)](_0x415ef8,_0xb1448a),buddyChangeTasks[_0x14c0c1(0x147)](_0x482ad4);}},setTimeout(()=>{const _0xd10f6d=_0x2ed956;napCatCore[_0xd10f6d(0x151)](()=>{const _0x2e9ec9=_0xd10f6d;napCatCore[_0x2e9ec9(0x14a)](buddyListener);});},0x64);export class NTQQFriendApi{static async[_0x2ed956(0x15a)](_0xf51c05=![]){const _0xbb2276=_0x2ed956,_0x35b699={'KNlxN':function(_0x193b35,_0x3b2c8b){return _0x193b35(_0x3b2c8b);},'RzsbV':_0xbb2276(0x137),'KsVTJ':function(_0x436b57,_0x252bc3){return _0x436b57(_0x252bc3);},'qlSML':_0xbb2276(0x148),'NxWCG':function(_0x53ad1b,_0x28cc05,_0x593b3d){return _0x53ad1b(_0x28cc05,_0x593b3d);},'hndDF':function(_0x2a74ce){return _0x2a74ce();}};return new Promise((_0x576cc4,_0x1f9a43)=>{const _0x3548fd=_0xbb2276,_0x525b6c={'nQOiZ':function(_0x2d5abe,_0x627498){const _0x523923=_0x421d;return _0x35b699[_0x523923(0x142)](_0x2d5abe,_0x627498);},'gVQlA':_0x3548fd(0x139),'PwBlA':function(_0x4d7c6a,_0x394884,_0x313fb1){return _0x4d7c6a(_0x394884,_0x313fb1);},'sWUMo':_0x35b699[_0x3548fd(0x154)],'mxcLN':function(_0x3a1111,_0x58f325){const _0x3d7c07=_0x3548fd;return _0x35b699[_0x3d7c07(0x13a)](_0x3a1111,_0x58f325);},'zdFHf':_0x35b699[_0x3548fd(0x14e)]};let _0x322f36=![];_0x35b699['NxWCG'](setTimeout,()=>{const _0x9f18af=_0x3548fd;!_0x322f36&&(_0x525b6c[_0x9f18af(0x149)](logDebug,_0x525b6c['gVQlA']),_0x525b6c[_0x9f18af(0x149)](_0x1f9a43,_0x525b6c['gVQlA']));},0x1388);const _0x14ed9e=[],_0x5d100a=_0x5edab4=>{const _0x188442=_0x3548fd;for(const _0xd2e480 of _0x5edab4){for(const _0x18d2f1 of _0xd2e480[_0x188442(0x14b)]){_0x14ed9e[_0x188442(0x14f)](_0x18d2f1),uid2UinMap[_0x18d2f1[_0x188442(0x13b)]]=_0x18d2f1['uin'];}}_0x322f36=!![],_0x525b6c['PwBlA'](logDebug,_0x525b6c[_0x188442(0x141)],_0x14ed9e),_0x525b6c[_0x188442(0x13c)](_0x576cc4,_0x14ed9e);};buddyChangeTasks[_0x3548fd(0x158)](_0x35b699[_0x3548fd(0x145)](randomUUID),_0x5d100a),napCatCore[_0x3548fd(0x138)][_0x3548fd(0x153)]()[_0x3548fd(0x152)](_0xf51c05)['then'](_0x4ad51f=>{_0x525b6c['PwBlA'](logDebug,_0x525b6c['zdFHf'],_0x4ad51f);});});}static async[_0x2ed956(0x14c)](_0x14396f,_0x336373){const _0x17477a=_0x2ed956;napCatCore[_0x17477a(0x138)][_0x17477a(0x153)]()?.['approvalFriendRequest']({'friendUid':_0x14396f[_0x17477a(0x13f)],'reqTime':_0x14396f[_0x17477a(0x14d)],'accept':_0x336373});}}
|
||||
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});}}
|
24
src/core.lib/src/apis/group.d.ts
vendored
24
src/core.lib/src/apis/group.d.ts
vendored
@@ -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
@@ -1 +1 @@
|
||||
function _0x216e(){var _0x1df19b=['846KaWYSf','161EFFznE','9056itswTm','5104945nWaDPE','5783vjiUDd','2920HuFlCr','4YeaEtq','6822360YWXhGL','35388wnfIrc','8482792enDWAw','298842mRBYFK','11poianb'];_0x216e=function(){return _0x1df19b;};return _0x216e();}(function(_0x313a28,_0x554195){var _0x5a79ad=_0x1354,_0x5ef870=_0x313a28();while(!![]){try{var _0x3ff0fe=parseInt(_0x5a79ad(0x1cf))/0x1+parseInt(_0x5a79ad(0x1cd))/0x2*(parseInt(_0x5a79ad(0x1d7))/0x3)+parseInt(_0x5a79ad(0x1d1))/0x4*(-parseInt(_0x5a79ad(0x1ce))/0x5)+parseInt(_0x5a79ad(0x1d5))/0x6*(parseInt(_0x5a79ad(0x1d8))/0x7)+parseInt(_0x5a79ad(0x1d4))/0x8+parseInt(_0x5a79ad(0x1d3))/0x9*(-parseInt(_0x5a79ad(0x1d0))/0xa)+-parseInt(_0x5a79ad(0x1d6))/0xb*(parseInt(_0x5a79ad(0x1d2))/0xc);if(_0x3ff0fe===_0x554195)break;else _0x5ef870['push'](_0x5ef870['shift']());}catch(_0x1e3883){_0x5ef870['push'](_0x5ef870['shift']());}}}(_0x216e,0xb754e));export*from'./file';export*from'./friend';export*from'./group';export*from'./msg';export*from'./user';export*from'./webapi';function _0x1354(_0x2467ef,_0x38fcad){var _0x216e9c=_0x216e();return _0x1354=function(_0x135413,_0x3a6bfc){_0x135413=_0x135413-0x1cd;var _0x3c1307=_0x216e9c[_0x135413];return _0x3c1307;},_0x1354(_0x2467ef,_0x38fcad);}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';
|
8
src/core.lib/src/apis/msg.d.ts
vendored
8
src/core.lib/src/apis/msg.d.ts
vendored
@@ -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
@@ -1 +1 @@
|
||||
(function(_0x54aaa3,_0x20c2f2){const _0x3d1e67=_0x2ce1,_0x4f54b2=_0x54aaa3();while(!![]){try{const _0x546a3d=-parseInt(_0x3d1e67(0x15c))/0x1*(parseInt(_0x3d1e67(0x150))/0x2)+parseInt(_0x3d1e67(0x173))/0x3+parseInt(_0x3d1e67(0x14b))/0x4+-parseInt(_0x3d1e67(0x14a))/0x5+-parseInt(_0x3d1e67(0x153))/0x6*(parseInt(_0x3d1e67(0x14d))/0x7)+parseInt(_0x3d1e67(0x151))/0x8*(parseInt(_0x3d1e67(0x15b))/0x9)+parseInt(_0x3d1e67(0x156))/0xa;if(_0x546a3d===_0x20c2f2)break;else _0x4f54b2['push'](_0x4f54b2['shift']());}catch(_0x143fab){_0x4f54b2['push'](_0x4f54b2['shift']());}}}(_0x1cfb,0xa26f1));import{logDebug}from'@/common/utils/log';import{NTQQUserApi}from'./user';function _0x2ce1(_0x6e8d14,_0xda8b7b){const _0x1cfba1=_0x1cfb();return _0x2ce1=function(_0x2ce127,_0x23eba5){_0x2ce127=_0x2ce127-0x149;let _0x4d5b4a=_0x1cfba1[_0x2ce127];return _0x4d5b4a;},_0x2ce1(_0x6e8d14,_0xda8b7b);}import{selfInfo}from'../data';import{RequestUtil}from'@/common/utils/request';import{WebApi}from'./webapi';function _0x1cfb(){const _0x3206b0=['IOgTY','prompt','\x5c/\x5c/','znGko','p_skey','p_skey=','tianxuan.imgJumpArk','MiniApp\x20JSON\x20消息生成失败','yxEiY','eGnIc','&ark=','tfiGu','normal','zuKAZ','kIBHq','VnOfs','3144234RNaVhn','getQzoneCookies','skey','btuKB','GET','replace','LSvPm','signed_ark',';\x20skey=','preview','4719725WgmIqM','2960576VJYPse','miniapp','497iGWsVs','tagIcon','WvIMZ','4TicZIn','8dlJiuO','sourcelogo','34098ZHDWbW','jumpUrl','rODSC','5660050dCzLuX','QeMqd','title','MiniApp\x20JSON\x20消息生成成功',';\x20uin=o','7455132QmITfB','584904ywgFjF','SMOiZ','getSkey','uin','stringify','MsupA','gqNgq'];_0x1cfb=function(){return _0x3206b0;};return _0x1cfb();}export async function SignMiniApp(_0x358138){const _0xa8d864=_0x2ce1,_0x220bfb={'hqquW':'com.tencent.miniapp.lua','QeMqd':_0xa8d864(0x169),'tfiGu':_0xa8d864(0x14c),'eGnIc':_0xa8d864(0x16f),'SMOiZ':_0xa8d864(0x165),'VnOfs':function(_0x127d08,_0x37cb21){return _0x127d08+_0x37cb21;},'yxEiY':function(_0x1c63a3,_0x7e4244){return _0x1c63a3+_0x7e4244;},'znGko':function(_0x2e2b11,_0x141d4d){return _0x2e2b11+_0x141d4d;},'zuKAZ':function(_0x5d80d7,_0x3cac71){return _0x5d80d7+_0x3cac71;},'rODSC':_0xa8d864(0x168),'MsupA':_0xa8d864(0x17b),'btuKB':';\x20p_uin=o','gqNgq':_0xa8d864(0x15a),'WvIMZ':function(_0x2246ca,_0x29b85c){return _0x2246ca+_0x29b85c;},'kIBHq':'https://h5.qzone.qq.com/v2/vip/tx/trpc/ark-share/GenNewSignedArk?g_tk=','IOgTY':_0xa8d864(0x16d),'LSvPm':function(_0x1429e6,_0x3f8bbc){return _0x1429e6(_0x3f8bbc);},'hKIgf':_0xa8d864(0x177),'rMtAp':function(_0x2898f3,_0x228af0,_0x5ee557){return _0x2898f3(_0x228af0,_0x5ee557);}};let _0x4d8a16={'app':_0x220bfb['hqquW'],'bizsrc':_0x220bfb[_0xa8d864(0x157)],'view':_0x220bfb[_0xa8d864(0x16e)],'prompt':_0x358138[_0xa8d864(0x164)],'config':{'type':_0x220bfb[_0xa8d864(0x16c)],'forward':0x1,'autosize':0x0},'meta':{'miniapp':{'title':_0x358138[_0xa8d864(0x158)],'preview':_0x358138[_0xa8d864(0x149)][_0xa8d864(0x178)](/\\/g,_0x220bfb[_0xa8d864(0x15d)]),'jumpUrl':_0x358138[_0xa8d864(0x154)][_0xa8d864(0x178)](/\\/g,_0x220bfb[_0xa8d864(0x15d)]),'tag':_0x358138['tag'],'tagIcon':_0x358138[_0xa8d864(0x14e)][_0xa8d864(0x178)](/\\/g,_0x220bfb['SMOiZ']),'source':_0x358138['source'],'sourcelogo':_0x358138[_0xa8d864(0x152)][_0xa8d864(0x178)](/\\/g,_0x220bfb[_0xa8d864(0x15d)])}}};const _0x31e957=await NTQQUserApi[_0xa8d864(0x15e)]();let _0x27741b=await NTQQUserApi[_0xa8d864(0x174)]();const _0x3e8053=WebApi['genBkn'](_0x27741b[_0xa8d864(0x167)]),_0x2f5063=_0x220bfb[_0xa8d864(0x172)](_0x220bfb[_0xa8d864(0x16b)](_0x220bfb[_0xa8d864(0x16b)](_0x220bfb['yxEiY'](_0x220bfb[_0xa8d864(0x166)](_0x220bfb[_0xa8d864(0x170)](_0x220bfb[_0xa8d864(0x155)],_0x27741b['p_skey']),_0x220bfb[_0xa8d864(0x161)]),_0x27741b[_0xa8d864(0x175)]),_0x220bfb[_0xa8d864(0x176)])+selfInfo[_0xa8d864(0x15f)],_0x220bfb[_0xa8d864(0x162)]),selfInfo[_0xa8d864(0x15f)]);let _0x5f41be=_0x220bfb[_0xa8d864(0x172)](_0x220bfb[_0xa8d864(0x14f)](_0x220bfb[_0xa8d864(0x166)](_0x220bfb[_0xa8d864(0x171)],_0x3e8053),_0x220bfb[_0xa8d864(0x163)]),_0x220bfb[_0xa8d864(0x179)](encodeURIComponent,JSON[_0xa8d864(0x160)](_0x4d8a16))),_0x16e440='';try{let _0x31ef23=await RequestUtil['HttpGetJson'](_0x5f41be,_0x220bfb['hKIgf'],undefined,{'Cookie':_0x2f5063});_0x220bfb['rMtAp'](logDebug,_0xa8d864(0x159),_0x31ef23),_0x16e440=_0x31ef23['data'][_0xa8d864(0x17a)];}catch(_0x3a0cf4){logDebug(_0xa8d864(0x16a),_0x3a0cf4);}return _0x16e440;}
|
||||
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;}
|
4
src/core.lib/src/apis/system.d.ts
vendored
4
src/core.lib/src/apis/system.d.ts
vendored
@@ -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[];
|
||||
}>;
|
||||
}
|
||||
|
@@ -1 +1 @@
|
||||
var _0x3385fe=_0x5d40;(function(_0x4e096e,_0x177c2c){var _0x4bde02=_0x5d40,_0x496d9b=_0x4e096e();while(!![]){try{var _0x324f89=-parseInt(_0x4bde02(0xc7))/0x1+parseInt(_0x4bde02(0xbc))/0x2+-parseInt(_0x4bde02(0xc1))/0x3+parseInt(_0x4bde02(0xbe))/0x4*(parseInt(_0x4bde02(0xbf))/0x5)+-parseInt(_0x4bde02(0xbd))/0x6*(-parseInt(_0x4bde02(0xc4))/0x7)+parseInt(_0x4bde02(0xbb))/0x8*(parseInt(_0x4bde02(0xc5))/0x9)+-parseInt(_0x4bde02(0xc6))/0xa*(parseInt(_0x4bde02(0xc3))/0xb);if(_0x324f89===_0x177c2c)break;else _0x496d9b['push'](_0x496d9b['shift']());}catch(_0x40a97a){_0x496d9b['push'](_0x496d9b['shift']());}}}(_0x43a6,0xc2561));import{napCatCore}from'@/core';function _0x5d40(_0x314a91,_0x2c26e4){var _0x43a636=_0x43a6();return _0x5d40=function(_0x5d4079,_0x214340){_0x5d4079=_0x5d4079-0xbb;var _0x2cb90e=_0x43a636[_0x5d4079];return _0x2cb90e;},_0x5d40(_0x314a91,_0x2c26e4);}export class NTQQSystemApi{static async[_0x3385fe(0xc0)](){var _0x5a8591=_0x3385fe;return napCatCore[_0x5a8591(0xc2)][_0x5a8591(0xc0)]();}}function _0x43a6(){var _0x21774a=['hasOtherRunningQQProcess','3785376LcCVcZ','util','253nLaLRL','36022FTLRie','1090827XaWlka','279460bMyGfV','1360566AQqLKb','96vjIEbL','791320oImEIX','1572fcWrKP','3451076vYNtrg','5GgcdPt'];_0x43a6=function(){return _0x21774a;};return _0x43a6();}
|
||||
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);}}
|
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
@@ -1 +1 @@
|
||||
function _0x1642(_0x1a8662,_0x1d40c7){const _0x66d13f=_0x66d1();return _0x1642=function(_0x164216,_0x1ad570){_0x164216=_0x164216-0xe3;let _0x380bd3=_0x66d13f[_0x164216];return _0x380bd3;},_0x1642(_0x1a8662,_0x1d40c7);}(function(_0x1866c3,_0xe707af){const _0x7fb1e8=_0x1642,_0x3fac90=_0x1866c3();while(!![]){try{const _0x13d3e7=parseInt(_0x7fb1e8(0xea))/0x1*(-parseInt(_0x7fb1e8(0xe4))/0x2)+-parseInt(_0x7fb1e8(0xeb))/0x3+-parseInt(_0x7fb1e8(0xf8))/0x4+-parseInt(_0x7fb1e8(0xf1))/0x5+-parseInt(_0x7fb1e8(0xe7))/0x6+parseInt(_0x7fb1e8(0xf0))/0x7*(-parseInt(_0x7fb1e8(0xf4))/0x8)+-parseInt(_0x7fb1e8(0xf7))/0x9*(-parseInt(_0x7fb1e8(0xe8))/0xa);if(_0x13d3e7===_0xe707af)break;else _0x3fac90['push'](_0x3fac90['shift']());}catch(_0x549291){_0x3fac90['push'](_0x3fac90['shift']());}}}(_0x66d1,0x34954));import{isNumeric}from'@/common/utils/helper';import{NTQQGroupApi}from'@/core/apis';export const Credentials={'Skey':'','CreatTime':0x0,'Cookies':new Map(),'ClientKey':'','KeyIndex':'','PskeyData':new Map(),'PskeyTime':new Map()};export const WebGroupData={'GroupData':new Map(),'GroupTime':new Map()};export const selfInfo={'uid':'','uin':'','nick':'','online':!![]};export const groups=new Map();export function deleteGroup(_0x15a7a6){const _0x2c5d9f=_0x1642;groups[_0x2c5d9f(0xec)](_0x15a7a6),groupMembers[_0x2c5d9f(0xec)](_0x15a7a6);}export const groupMembers=new Map();export const friends=new Map();export const friendRequests={};export const groupNotifies={};export const napCatError={'ffmpegError':'','httpServerError':'','wsServerError':'','otherError':'NapCat未能正常启动,请检查日志查看错误'};export async function getFriend(_0x36c81b){const _0x5070e1=_0x1642;_0x36c81b=_0x36c81b['toString']();if(isNumeric(_0x36c81b)){const _0x2acf8c=Array[_0x5070e1(0xf9)](friends[_0x5070e1(0xed)]());return _0x2acf8c[_0x5070e1(0xe3)](_0xfe1ef7=>_0xfe1ef7[_0x5070e1(0xf5)]===_0x36c81b);}else return friends['get'](_0x36c81b);}export async function getGroup(_0x265c3d){const _0x21d54d=_0x1642;let _0x4b47b8=groups[_0x21d54d(0xe9)](_0x265c3d[_0x21d54d(0xe5)]());if(!_0x4b47b8)try{const _0x3ace3c=await NTQQGroupApi[_0x21d54d(0xfa)]();_0x3ace3c[_0x21d54d(0xf3)]&&_0x3ace3c['forEach'](_0x19263b=>{const _0x248465=_0x21d54d;groups[_0x248465(0xee)](_0x19263b[_0x248465(0xef)],_0x19263b);});}catch(_0x93e832){return undefined;}return _0x4b47b8=groups['get'](_0x265c3d[_0x21d54d(0xe5)]()),_0x4b47b8;}export async function getGroupMember(_0x4c9dde,_0x2a836c){const _0x3c843c=_0x1642,_0x2552a3={'NPAsI':function(_0x423608,_0x3928c7){return _0x423608(_0x3928c7);},'csHUm':function(_0x4dfaa8){return _0x4dfaa8();},'fQDEe':function(_0xe63e3d){return _0xe63e3d();}};_0x4c9dde=_0x4c9dde[_0x3c843c(0xe5)](),_0x2a836c=_0x2a836c[_0x3c843c(0xe5)]();let _0x2f424f=groupMembers[_0x3c843c(0xe9)](_0x4c9dde);if(!_0x2f424f)try{_0x2f424f=await NTQQGroupApi['getGroupMembers'](_0x4c9dde),groupMembers[_0x3c843c(0xee)](_0x4c9dde,_0x2f424f);}catch(_0x121aa6){return null;}const _0x467aab=()=>{const _0x5ba92b=_0x3c843c;let _0x3ae4b1=undefined;return _0x2552a3['NPAsI'](isNumeric,_0x2a836c)?_0x3ae4b1=Array[_0x5ba92b(0xf9)](_0x2f424f['values']())['find'](_0x3f9f4f=>_0x3f9f4f['uin']===_0x2a836c):_0x3ae4b1=_0x2f424f[_0x5ba92b(0xe9)](_0x2a836c),_0x3ae4b1;};let _0x234020=_0x2552a3[_0x3c843c(0xf6)](_0x467aab);return!_0x234020&&(_0x2f424f=await NTQQGroupApi[_0x3c843c(0xe6)](_0x4c9dde),_0x234020=_0x2552a3[_0x3c843c(0xf2)](_0x467aab)),_0x234020;}export const uid2UinMap={};export function getUidByUin(_0x3cc9c2){for(const _0x37ff82 in uid2UinMap){if(uid2UinMap[_0x37ff82]===_0x3cc9c2)return _0x37ff82;}}function _0x66d1(){const _0x1aafc1=['delete','values','set','groupCode','35NkYjYP','1666025YLVJIM','fQDEe','length','445448ZUKZQK','uin','csHUm','13268628HwALlt','214108scqLKw','from','getGroups','find','2rzzIQy','toString','getGroupMembers','827250mHLyYZ','10HaeqNQ','get','236069tAfqDV','659493muGXei'];_0x66d1=function(){return _0x1aafc1;};return _0x66d1();}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};
|
@@ -1 +1 @@
|
||||
function _0x545d(_0x3ef9dc,_0xe5aa36){var _0x101f48=_0x101f();return _0x545d=function(_0x545d67,_0x27e419){_0x545d67=_0x545d67-0xb3;var _0x3ad04c=_0x101f48[_0x545d67];return _0x3ad04c;},_0x545d(_0x3ef9dc,_0xe5aa36);}function _0x101f(){var _0x3f338c=['14ndscRH','YYofk','2953002rmxilI','DOCUMENT','split','xKGzN','20pHxTRb','KxFxV','2740150DbzUDW','231PWAyjZ','ADNkV','AUDIO','IMAGE','9428TgPFRW','OTHER','44912uQZHKJ','0|3|1|2|4','kSBJM','190912UmDJUy','2072727NugLUo','1637336vEufIL'];_0x101f=function(){return _0x3f338c;};return _0x101f();}(function(_0x4a11ea,_0x38ba70){var _0x496e86=_0x545d,_0x20b4e3=_0x4a11ea();while(!![]){try{var _0xbe8e11=parseInt(_0x496e86(0xc1))/0x1+parseInt(_0x496e86(0xbe))/0x2+-parseInt(_0x496e86(0xb8))/0x3*(-parseInt(_0x496e86(0xbc))/0x4)+-parseInt(_0x496e86(0xb7))/0x5+parseInt(_0x496e86(0xc6))/0x6+parseInt(_0x496e86(0xc4))/0x7*(parseInt(_0x496e86(0xc3))/0x8)+-parseInt(_0x496e86(0xc2))/0x9*(parseInt(_0x496e86(0xb5))/0xa);if(_0xbe8e11===_0x38ba70)break;else _0x20b4e3['push'](_0x20b4e3['shift']());}catch(_0x5752e8){_0x20b4e3['push'](_0x20b4e3['shift']());}}}(_0x101f,0x463ea));;export var CacheFileType;(function(_0x5328bf){var _0x83c8ad=_0x545d,_0x26642b={'kSBJM':_0x83c8ad(0xbf),'KxFxV':_0x83c8ad(0xbb),'xKGzN':'AUDIO','ADNkV':_0x83c8ad(0xc7),'YYofk':'VIDEO','LBNan':_0x83c8ad(0xbd)},_0x4ecba1=_0x26642b[_0x83c8ad(0xc0)][_0x83c8ad(0xb3)]('|'),_0x5403d6=0x0;while(!![]){switch(_0x4ecba1[_0x5403d6++]){case'0':_0x5328bf[_0x5328bf[_0x26642b[_0x83c8ad(0xb6)]]=0x0]=_0x26642b[_0x83c8ad(0xb6)];continue;case'1':_0x5328bf[_0x5328bf[_0x26642b[_0x83c8ad(0xb4)]]=0x2]=_0x83c8ad(0xba);continue;case'2':_0x5328bf[_0x5328bf[_0x26642b[_0x83c8ad(0xb9)]]=0x3]=_0x83c8ad(0xc7);continue;case'3':_0x5328bf[_0x5328bf[_0x26642b[_0x83c8ad(0xc5)]]=0x1]=_0x26642b[_0x83c8ad(0xc5)];continue;case'4':_0x5328bf[_0x5328bf[_0x26642b['LBNan']]=0x4]=_0x26642b['LBNan'];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={})));
|
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
function _0x4da7(_0x2dece6,_0x3de6ef){var _0x4b161f=_0x4b16();return _0x4da7=function(_0x4da794,_0x2abd8a){_0x4da794=_0x4da794-0x161;var _0xf1e548=_0x4b161f[_0x4da794];return _0xf1e548;},_0x4da7(_0x2dece6,_0x3de6ef);}(function(_0x18d2b9,_0x1230ef){var _0x2e2a86=_0x4da7,_0x40e364=_0x18d2b9();while(!![]){try{var _0x468e31=parseInt(_0x2e2a86(0x162))/0x1+-parseInt(_0x2e2a86(0x16a))/0x2*(-parseInt(_0x2e2a86(0x164))/0x3)+-parseInt(_0x2e2a86(0x161))/0x4+parseInt(_0x2e2a86(0x167))/0x5*(parseInt(_0x2e2a86(0x168))/0x6)+-parseInt(_0x2e2a86(0x166))/0x7+-parseInt(_0x2e2a86(0x16d))/0x8+-parseInt(_0x2e2a86(0x169))/0x9*(-parseInt(_0x2e2a86(0x165))/0xa);if(_0x468e31===_0x1230ef)break;else _0x40e364['push'](_0x40e364['shift']());}catch(_0x128320){_0x40e364['push'](_0x40e364['shift']());}}}(_0x4b16,0xd59db));function _0x4b16(){var _0x36957f=['9dJaKky','9242NzUVsB','tWQaC','owner','6172288NkVpxF','admin','5560288sHiXxY','646660zLAmzA','yjOxv','963UIXEXG','6511530UkDoaQ','3984414bAfjss','77795OqnHHX','318pMgnEg'];_0x4b16=function(){return _0x36957f;};return _0x4b16();}export var GroupMemberRole;(function(_0x248e7c){var _0x5e4454=_0x4da7,_0x4da84f={'tWQaC':'normal','yjOxv':_0x5e4454(0x16e),'mVDrM':'owner'};_0x248e7c[_0x248e7c[_0x4da84f['tWQaC']]=0x2]=_0x4da84f[_0x5e4454(0x16b)],_0x248e7c[_0x248e7c[_0x4da84f[_0x5e4454(0x163)]]=0x3]=_0x4da84f['yjOxv'],_0x248e7c[_0x248e7c[_0x5e4454(0x16c)]=0x4]=_0x4da84f['mVDrM'];}(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={})));
|
@@ -1 +1 @@
|
||||
(function(_0x3f0194,_0x3a6f4a){var _0x539a8f=_0x4f70,_0x2067a5=_0x3f0194();while(!![]){try{var _0x499e86=-parseInt(_0x539a8f(0x171))/0x1*(-parseInt(_0x539a8f(0x174))/0x2)+parseInt(_0x539a8f(0x177))/0x3*(parseInt(_0x539a8f(0x16f))/0x4)+-parseInt(_0x539a8f(0x173))/0x5+parseInt(_0x539a8f(0x16e))/0x6*(-parseInt(_0x539a8f(0x176))/0x7)+parseInt(_0x539a8f(0x172))/0x8+-parseInt(_0x539a8f(0x170))/0x9+parseInt(_0x539a8f(0x175))/0xa;if(_0x499e86===_0x3a6f4a)break;else _0x2067a5['push'](_0x2067a5['shift']());}catch(_0x41555b){_0x2067a5['push'](_0x2067a5['shift']());}}}(_0x1b61,0x2d476));function _0x4f70(_0x34f5ce,_0x20f4ba){var _0x1b6107=_0x1b61();return _0x4f70=function(_0x4f701e,_0x3ef028){_0x4f701e=_0x4f701e-0x16e;var _0x3b02d3=_0x1b6107[_0x4f701e];return _0x3b02d3;},_0x4f70(_0x34f5ce,_0x20f4ba);}export*from'./user';function _0x1b61(){var _0x4958f7=['863225NcNNqZ','2ixShrg','4260810wFoYio','287ZKlKQo','441843JsnoPO','18108dnDIdy','4CSgZUz','1764612mSDzJh','70654UcFolu','271176ONTsbw'];_0x1b61=function(){return _0x4958f7;};return _0x1b61();}export*from'./group';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';
|
7
src/core.lib/src/entities/msg.d.ts
vendored
7
src/core.lib/src/entities/msg.d.ts
vendored
@@ -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
@@ -1 +1 @@
|
||||
(function(_0x11aac4,_0xb262ba){var _0x413011=_0x1152,_0x1b635c=_0x11aac4();while(!![]){try{var _0x346d09=-parseInt(_0x413011(0xf1))/0x1*(-parseInt(_0x413011(0xe4))/0x2)+-parseInt(_0x413011(0xd6))/0x3+-parseInt(_0x413011(0xf2))/0x4*(parseInt(_0x413011(0xde))/0x5)+-parseInt(_0x413011(0xdf))/0x6+parseInt(_0x413011(0xe8))/0x7*(parseInt(_0x413011(0xe6))/0x8)+-parseInt(_0x413011(0xe9))/0x9*(parseInt(_0x413011(0xe3))/0xa)+-parseInt(_0x413011(0xf0))/0xb*(-parseInt(_0x413011(0xe1))/0xc);if(_0x346d09===_0xb262ba)break;else _0x1b635c['push'](_0x1b635c['shift']());}catch(_0x1bef13){_0x1b635c['push'](_0x1b635c['shift']());}}}(_0x3772,0x1bcb3));export var GroupNotifyTypes;(function(_0x16026e){var _0x4f1c91=_0x1152,_0x1c6235={'KtSBV':_0x4f1c91(0xe7),'XLoSC':_0x4f1c91(0xee),'dalmy':_0x4f1c91(0xda),'UYDTR':_0x4f1c91(0xe5),'nqNhU':_0x4f1c91(0xed),'zZCqt':_0x4f1c91(0xe0),'YjmWf':_0x4f1c91(0xea),'nghVC':_0x4f1c91(0xd0)},_0x126e2a=_0x4f1c91(0xeb)['split']('|'),_0x1b7083=0x0;while(!![]){switch(_0x126e2a[_0x1b7083++]){case'0':_0x16026e[_0x16026e[_0x1c6235[_0x4f1c91(0xd8)]]=0x8]=_0x4f1c91(0xe7);continue;case'1':_0x16026e[_0x16026e[_0x1c6235[_0x4f1c91(0xd1)]]=0xc]=_0x1c6235['XLoSC'];continue;case'2':_0x16026e[_0x16026e[_0x1c6235[_0x4f1c91(0xd3)]]=0x4]=_0x4f1c91(0xda);continue;case'3':_0x16026e[_0x16026e[_0x1c6235[_0x4f1c91(0xd5)]]=0x1]=_0x4f1c91(0xe5);continue;case'4':_0x16026e[_0x16026e[_0x4f1c91(0xed)]=0x9]=_0x1c6235['nqNhU'];continue;case'5':_0x16026e[_0x16026e[_0x1c6235[_0x4f1c91(0xe2)]]=0xd]=_0x1c6235[_0x4f1c91(0xe2)];continue;case'6':_0x16026e[_0x16026e['JOIN_REQUEST']=0x7]=_0x1c6235['YjmWf'];continue;case'7':_0x16026e[_0x16026e[_0x1c6235[_0x4f1c91(0xf3)]]=0xb]=_0x1c6235['nghVC'];continue;}break;}}(GroupNotifyTypes||(GroupNotifyTypes={})));export var GroupNotifyStatus;function _0x1152(_0x3822ec,_0x95d17e){var _0x37720d=_0x3772();return _0x1152=function(_0x1152b0,_0x12c14b){_0x1152b0=_0x1152b0-0xd0;var _0x2f12c4=_0x37720d[_0x1152b0];return _0x2f12c4;},_0x1152(_0x3822ec,_0x95d17e);}function _0x3772(){var _0x3cab80=['IGNORE','INVITED_JOIN','WAIT_HANDLE','kAOQX','reject','10nCHzGe','820980wIqaRQ','ADMIN_UNSET_OTHER','1428SbmiRO','zZCqt','1916410KhGjUX','4CUJuWt','INVITE_ME','16aKZiyZ','ADMIN_SET','664531cpPWvG','9OWhryJ','JOIN_REQUEST','3|2|6|0|4|7|1|5','APPROVE','KICK_MEMBER','ADMIN_UNSET','approve','53108JwTDOc','21874FcyWpd','438316azzzRM','nghVC','MEMBER_EXIT','XLoSC','REJECT','dalmy','sIqXj','UYDTR','440022ggsJdd','lbtzO','KtSBV'];_0x3772=function(){return _0x3cab80;};return _0x3772();}(function(_0x43452b){var _0x429ac7=_0x1152,_0x33ed12={'sIqXj':_0x429ac7(0xd9),'OIgOb':_0x429ac7(0xdb),'jtihM':'APPROVE','lbtzO':_0x429ac7(0xd2)};_0x43452b[_0x43452b[_0x33ed12['sIqXj']]=0x0]=_0x33ed12[_0x429ac7(0xd4)],_0x43452b[_0x43452b[_0x33ed12['OIgOb']]=0x1]=_0x429ac7(0xdb),_0x43452b[_0x43452b[_0x33ed12['jtihM']]=0x2]=_0x429ac7(0xec),_0x43452b[_0x43452b[_0x33ed12[_0x429ac7(0xd7)]]=0x3]=_0x33ed12[_0x429ac7(0xd7)];}(GroupNotifyStatus||(GroupNotifyStatus={})));export var GroupRequestOperateTypes;(function(_0x50545c){var _0x42a296=_0x1152,_0x3614a8={'kAOQX':_0x42a296(0xdd)};_0x50545c[_0x50545c[_0x42a296(0xef)]=0x1]=_0x42a296(0xef),_0x50545c[_0x50545c[_0x3614a8[_0x42a296(0xdc)]]=0x2]=_0x3614a8[_0x42a296(0xdc)];}(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={})));
|
@@ -1 +1 @@
|
||||
function _0xfb09(_0x4069c0,_0x12bb7b){var _0x45d3c7=_0x45d3();return _0xfb09=function(_0xfb0922,_0x312f99){_0xfb0922=_0xfb0922-0x1e6;var _0x2be3a3=_0x45d3c7[_0xfb0922];return _0x2be3a3;},_0xfb09(_0x4069c0,_0x12bb7b);}(function(_0x397b8f,_0x3cdcf4){var _0x2c290c=_0xfb09,_0x5c3bab=_0x397b8f();while(!![]){try{var _0x9e7901=-parseInt(_0x2c290c(0x1e9))/0x1+parseInt(_0x2c290c(0x1e8))/0x2*(-parseInt(_0x2c290c(0x1ea))/0x3)+parseInt(_0x2c290c(0x1ef))/0x4+parseInt(_0x2c290c(0x1f0))/0x5+-parseInt(_0x2c290c(0x1f2))/0x6*(-parseInt(_0x2c290c(0x1f1))/0x7)+-parseInt(_0x2c290c(0x1f3))/0x8*(parseInt(_0x2c290c(0x1ed))/0x9)+parseInt(_0x2c290c(0x1eb))/0xa;if(_0x9e7901===_0x3cdcf4)break;else _0x5c3bab['push'](_0x5c3bab['shift']());}catch(_0x2786db){_0x5c3bab['push'](_0x5c3bab['shift']());}}}(_0x45d3,0x8488c));export var Sex;function _0x45d3(){var _0x31b326=['902520AqROoT','3pOMsye','15807110hhIbCp','MAnXW','46629FMFnnd','male','232080axHzhk','4851910avaOkD','168ecKIdb','17322hofvQf','256egSqie','unknown','female','rCflF','2134458ndfJJQ'];_0x45d3=function(){return _0x31b326;};return _0x45d3();}(function(_0x3453e7){var _0x5f2da7=_0xfb09,_0x431283={'MAnXW':_0x5f2da7(0x1ee),'rCflF':_0x5f2da7(0x1e6)};_0x3453e7[_0x3453e7[_0x5f2da7(0x1ee)]=0x1]=_0x431283[_0x5f2da7(0x1ec)],_0x3453e7[_0x3453e7[_0x431283[_0x5f2da7(0x1e7)]]=0x2]=_0x431283[_0x5f2da7(0x1e7)],_0x3453e7[_0x3453e7['unknown']=0xff]=_0x5f2da7(0x1f4);}(Sex||(Sex={})));
|
||||
(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={})));
|
2
src/core.lib/src/external/hook.js
vendored
2
src/core.lib/src/external/hook.js
vendored
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
(function(_0xb49f97,_0x175077){var _0xf2c564=_0x1e80,_0x20d6f2=_0xb49f97();while(!![]){try{var _0x40fa08=parseInt(_0xf2c564(0x1d5))/0x1*(-parseInt(_0xf2c564(0x1d3))/0x2)+-parseInt(_0xf2c564(0x1d2))/0x3*(-parseInt(_0xf2c564(0x1d1))/0x4)+-parseInt(_0xf2c564(0x1cf))/0x5*(-parseInt(_0xf2c564(0x1d0))/0x6)+-parseInt(_0xf2c564(0x1d8))/0x7*(parseInt(_0xf2c564(0x1d9))/0x8)+parseInt(_0xf2c564(0x1d6))/0x9+-parseInt(_0xf2c564(0x1d4))/0xa*(-parseInt(_0xf2c564(0x1d7))/0xb)+parseInt(_0xf2c564(0x1db))/0xc*(parseInt(_0xf2c564(0x1da))/0xd);if(_0x40fa08===_0x175077)break;else _0x20d6f2['push'](_0x20d6f2['shift']());}catch(_0xa68e15){_0x20d6f2['push'](_0x20d6f2['shift']());}}}(_0x5438,0xd71dd));import _0x299076 from'./wrapper';export*from'./adapters';export*from'./apis';function _0x1e80(_0x3519bc,_0x5ae3be){var _0x54380e=_0x5438();return _0x1e80=function(_0x1e807a,_0x42f54f){_0x1e807a=_0x1e807a-0x1cf;var _0x4ea390=_0x54380e[_0x1e807a];return _0x4ea390;},_0x1e80(_0x3519bc,_0x5ae3be);}export*from'./entities';export*from'./listeners';export*from'./services';export*as Adapters from'./adapters';export*as APIs from'./apis';function _0x5438(){var _0x1bdecc=['2978548JeyFRF','3qNynFd','624adrTwZ','10RtDHVG','3793nnYNyq','3331395NbIiPc','14125463BSaQhs','18830NDslUz','4760AkfUiX','11882ssIBgw','10824nnrrWn','13550FUigJA','978RmEKIP'];_0x5438=function(){return _0x1bdecc;};return _0x5438();}export*as Entities from'./entities';export*as Listeners from'./listeners';export*as Services from'./services';export{_0x299076 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';
|
@@ -1 +1 @@
|
||||
var _0x5b9891=_0x3d05;function _0x3d05(_0x587add,_0x209cf7){var _0x1f0d7e=_0x1f0d();return _0x3d05=function(_0x3d058c,_0x36510b){_0x3d058c=_0x3d058c-0xa6;var _0x29758b=_0x1f0d7e[_0x3d058c];return _0x29758b;},_0x3d05(_0x587add,_0x209cf7);}(function(_0x34f8f2,_0x32c19e){var _0x594364=_0x3d05,_0x1337d3=_0x34f8f2();while(!![]){try{var _0x12cb4a=parseInt(_0x594364(0xb2))/0x1*(parseInt(_0x594364(0xaa))/0x2)+parseInt(_0x594364(0xb1))/0x3*(-parseInt(_0x594364(0xb6))/0x4)+-parseInt(_0x594364(0xb3))/0x5*(parseInt(_0x594364(0xa7))/0x6)+parseInt(_0x594364(0xb4))/0x7+parseInt(_0x594364(0xb8))/0x8*(-parseInt(_0x594364(0xa8))/0x9)+parseInt(_0x594364(0xb5))/0xa+parseInt(_0x594364(0xb9))/0xb;if(_0x12cb4a===_0x32c19e)break;else _0x1337d3['push'](_0x1337d3['shift']());}catch(_0x2755e4){_0x1337d3['push'](_0x1337d3['shift']());}}}(_0x1f0d,0x6415e));function _0x1f0d(){var _0x4056e1=['4116588EFQKhQ','7902060xWIsSQ','2387680LihvQH','onDelBatchBuddyInfos','59672VXOAtG','40601qnwQuW','onBuddyListChange','825270KDtxTf','864ucVOkh','onBuddyDetailInfoChange','478498MSIufy','onDoubtBuddyReqChange','onSpacePermissionInfos','onBlockChanged','onCheckBuddySettingResult','onBuddyRemarkUpdated','onNickUpdated','3wKtJyx','2ygaFbT','5WDXBJD'];_0x1f0d=function(){return _0x4056e1;};return _0x1f0d();}export class BuddyListener{['onAddBuddyNeedVerify'](_0x51b00b){}['onAddMeSettingChanged'](_0x3eaf15){}['onAvatarUrlUpdated'](_0x112f10){}[_0x5b9891(0xad)](_0x43ce56){}[_0x5b9891(0xa9)](_0x2204d2){}['onBuddyInfoChange'](_0x422691){}[_0x5b9891(0xa6)](_0x65f17a){}[_0x5b9891(0xaf)](_0x907d3f){}['onBuddyReqChange'](_0x548cd8){}['onBuddyReqUnreadCntChange'](_0x117373){}[_0x5b9891(0xae)](_0x26e718){}[_0x5b9891(0xb7)](_0x374db5){}[_0x5b9891(0xab)](_0x3ec022){}['onDoubtBuddyReqUnreadNumChange'](_0x386cb3){}[_0x5b9891(0xb0)](_0x499c3f){}['onSmartInfos'](_0x24db0d){}[_0x5b9891(0xac)](_0x5f16fa){}}
|
||||
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){}}
|
@@ -1 +1 @@
|
||||
var _0x499213=_0x44ef;function _0x2201(){var _0x4ea2bb=['onFileStatusChanged','8OqcNAg','50295JZxcPz','onSessionChanged','95150xMjizq','5193nhTzWS','4988KmhBvA','25356xJbTSc','onFileSearch','423996KejVAj','onFileListChanged','740RvXGMy','207420NCHJBO','366JrRNgG','5XDVqgb'];_0x2201=function(){return _0x4ea2bb;};return _0x2201();}function _0x44ef(_0x1b855d,_0x4b1afc){var _0x220165=_0x2201();return _0x44ef=function(_0x44ef48,_0x1c030a){_0x44ef48=_0x44ef48-0x12a;var _0x7cc523=_0x220165[_0x44ef48];return _0x7cc523;},_0x44ef(_0x1b855d,_0x4b1afc);}(function(_0x57e28f,_0x3325ae){var _0x572a35=_0x44ef,_0x14e0e0=_0x57e28f();while(!![]){try{var _0x952b8e=-parseInt(_0x572a35(0x132))/0x1+-parseInt(_0x572a35(0x137))/0x2+-parseInt(_0x572a35(0x138))/0x3*(-parseInt(_0x572a35(0x131))/0x4)+-parseInt(_0x572a35(0x12a))/0x5*(-parseInt(_0x572a35(0x134))/0x6)+-parseInt(_0x572a35(0x12d))/0x7*(parseInt(_0x572a35(0x12c))/0x8)+parseInt(_0x572a35(0x130))/0x9*(parseInt(_0x572a35(0x136))/0xa)+-parseInt(_0x572a35(0x12f))/0xb;if(_0x952b8e===_0x3325ae)break;else _0x14e0e0['push'](_0x14e0e0['shift']());}catch(_0x18ba98){_0x14e0e0['push'](_0x14e0e0['shift']());}}}(_0x2201,0x1d715));export class KernelFileAssistantListener{[_0x499213(0x12b)](..._0x52105e){}['onSessionListChanged'](..._0xc4083d){}[_0x499213(0x12e)](..._0x316788){}[_0x499213(0x135)](..._0x20a56e){}[_0x499213(0x133)](..._0x986a90){}}
|
||||
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
@@ -1 +1 @@
|
||||
var _0x491cb8=_0x14fd;(function(_0x3c1e3a,_0x268bef){var _0x45e94e=_0x14fd,_0x454340=_0x3c1e3a();while(!![]){try{var _0x5ddaa3=parseInt(_0x45e94e(0x1b2))/0x1+-parseInt(_0x45e94e(0x1bb))/0x2+parseInt(_0x45e94e(0x1b9))/0x3+-parseInt(_0x45e94e(0x1ba))/0x4+parseInt(_0x45e94e(0x1c4))/0x5+-parseInt(_0x45e94e(0x1c0))/0x6*(-parseInt(_0x45e94e(0x1c2))/0x7)+-parseInt(_0x45e94e(0x1b3))/0x8;if(_0x5ddaa3===_0x268bef)break;else _0x454340['push'](_0x454340['shift']());}catch(_0x19aab3){_0x454340['push'](_0x454340['shift']());}}}(_0x902a,0xd3c5b));function _0x14fd(_0x46ae82,_0x35d7b5){var _0x902a1f=_0x902a();return _0x14fd=function(_0x14fdb9,_0x41f0f7){_0x14fdb9=_0x14fdb9-0x1b1;var _0x20c7fd=_0x902a1f[_0x14fdb9];return _0x20c7fd;},_0x14fd(_0x46ae82,_0x35d7b5);}function _0x902a(){var _0x1acda1=['onLoginConnected','onLoginState','onLogoutSucceed','6XbrTxS','onLoginFailed','10333267PnYMgw','onQQLoginNumLimited','8080405xdFkpu','onQRCodeLoginPollingStarted','onQRCodeGetPicture','1457662hGKJRT','32821968gSasfy','OnConfirmUnusualDeviceFailed','onUserLoggedIn','onQRCodeSessionFailed','onLogoutFailed','onQRCodeSessionQuickLoginFailed','2103327gNudpf','1037404IKpTeR','43034EDzaxc','onLoginDisConnected'];_0x902a=function(){return _0x1acda1;};return _0x902a();}export class LoginListener{[_0x491cb8(0x1bd)](..._0x200ab1){}[_0x491cb8(0x1bc)](..._0x388694){}['onLoginConnecting'](..._0x5469e4){}[_0x491cb8(0x1b1)](_0xc5a17c){}[_0x491cb8(0x1c5)](..._0x538406){}['onQRCodeSessionUserScaned'](..._0x28abc){}['onQRCodeLoginSucceed'](_0x11427e){}[_0x491cb8(0x1b6)](..._0x3d91e3){}[_0x491cb8(0x1c1)](..._0x2e7d12){}[_0x491cb8(0x1bf)](..._0x508986){}[_0x491cb8(0x1b7)](..._0x2a793b){}[_0x491cb8(0x1b5)](..._0x3b0258){}[_0x491cb8(0x1b8)](..._0x56cbc8){}['onPasswordLoginFailed'](..._0x592aec){}[_0x491cb8(0x1b4)](..._0x491932){}[_0x491cb8(0x1c3)](..._0x42bdc0){}[_0x491cb8(0x1be)](..._0x4119b4){}}
|
||||
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){}}
|
@@ -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;
|
||||
|
@@ -1 +1 @@
|
||||
var _0x9390b7=_0x4e0a;function _0x588c(){var _0x3bf40c=['onMsgSettingUpdate','onRecvUDCFlag','onFirstViewGroupGuildMapping','onTempChatInfoUpdate','onUnreadCntAfterFirstView','onUnreadCntUpdate','6474OyEprl','onEmojiResourceUpdate','onMsgWithRichLinkInfoUpdate','onMsgAbstractUpdate','onKickedOffLine','onRecvGroupGuildFlag','onHitCsRelatedEmojiResult','12gaHbcn','5TJptRv','3252wLmOPx','onRecvMsgSvrRspTransInfo','onFileMsgCome','onContactUnreadCntUpdate','onGrabPasswordRedBag','onLogLevelChanged','onSearchGroupFileInfoUpdate','onUserOnlineStatusChanged','onUserChannelTabStatusChanged','onRedTouchChanged','onRichMediaProgerssUpdate','onGuildNotificationAbstractUpdate','onEmojiDownloadComplete','onSysMsgNotification','onGuildInteractiveUpdate','onBroadcastHelperProgerssUpdate','2343177AOcHBM','onLineDev','onGroupTransferInfoAdd','16FWtSBe','4579290fiAbwy','3822rGQCye','onAddSendMsg','onReadFeedEventUpdate','onBroadcastHelperDownloadComplete','onSendMsgError','onFirstViewDirectMsgUpdate','onImportOldDbProgressUpdate','onlineStatusSmallIconDownloadPush','onGroupTransferInfoUpdate','onRichMediaDownloadComplete','onlineStatusBigIconDownloadPush','onMsgInfoListAdd','onRecvS2CMsg','onInputStatusPush','onUserTabStatusChanged','onUserSecQualityChanged','onMsgBoxChanged','onNtMsgSyncStart','onMsgDelete','3464qtczWu','67ivdaip','onRecvMsg','onRecvOnlineFileMsg','14848537YuDlVl','onGroupGuildUpdate','onRichMediaUploadComplete','1797018nCiDGq','onChannelFreqLimitInfoUpdate','onNtFirstViewMsgSyncEnd'];_0x588c=function(){return _0x3bf40c;};return _0x588c();}function _0x4e0a(_0x34f23c,_0x546e83){var _0x588cb5=_0x588c();return _0x4e0a=function(_0x4e0a57,_0x6c950c){_0x4e0a57=_0x4e0a57-0x89;var _0x14c59c=_0x588cb5[_0x4e0a57];return _0x14c59c;},_0x4e0a(_0x34f23c,_0x546e83);}(function(_0xc77cef,_0x3a2f5){var _0x49cc86=_0x4e0a,_0x386fc1=_0xc77cef();while(!![]){try{var _0x2a0163=parseInt(_0x49cc86(0xb4))/0x1*(parseInt(_0x49cc86(0xc3))/0x2)+-parseInt(_0x49cc86(0x8b))/0x3*(parseInt(_0x49cc86(0x9e))/0x4)+-parseInt(_0x49cc86(0x8a))/0x5*(parseInt(_0x49cc86(0xba))/0x6)+parseInt(_0x49cc86(0xa0))/0x7*(-parseInt(_0x49cc86(0xb3))/0x8)+-parseInt(_0x49cc86(0x9b))/0x9+-parseInt(_0x49cc86(0x9f))/0xa+-parseInt(_0x49cc86(0xb7))/0xb*(-parseInt(_0x49cc86(0x89))/0xc);if(_0x2a0163===_0x3a2f5)break;else _0x386fc1['push'](_0x386fc1['shift']());}catch(_0x268cf8){_0x386fc1['push'](_0x386fc1['shift']());}}}(_0x588c,0x4b3ef));export class MsgListener{[_0x9390b7(0xa1)](_0x40ccb9){}[_0x9390b7(0xa3)](_0x4b5501){}['onBroadcastHelperProgressUpdate'](_0x9b8bfd){}[_0x9390b7(0xbb)](_0xa348e7,_0x5e7ad7,_0x11a61e){}[_0x9390b7(0x8e)](_0x31fbba){}['onCustomWithdrawConfigUpdate'](_0x423b8d){}['onDraftUpdate'](_0x4fc137,_0x20b17f,_0x3ddd91){}[_0x9390b7(0x97)](_0x1d5e80){}[_0x9390b7(0xc4)](_0x3b53cf){}['onFeedEventUpdate'](_0x507733){}[_0x9390b7(0x8d)](_0x3d3f95){}[_0x9390b7(0xa5)](_0x27f3db){}[_0x9390b7(0xbf)](_0x41fb82){}[_0x9390b7(0x8f)](_0xee7953,_0x2ef435,_0x2cb405,_0x7859f4,_0x11a5ee){}['onGroupFileInfoAdd'](_0x4d2d5d){}['onGroupFileInfoUpdate'](_0x286fc4){}[_0x9390b7(0xb8)](_0x5c0f61){}[_0x9390b7(0x9d)](_0x20d11c){}[_0x9390b7(0xa8)](_0x5827b4){}[_0x9390b7(0x99)](_0x2d0f94){}['onGuildMsgAbFlagChanged'](_0x4212f6){}[_0x9390b7(0x96)](_0x114388){}[_0x9390b7(0xc9)](_0xf532ab){}['onHitEmojiKeywordResult'](_0x45eafa){}['onHitRelatedEmojiResult'](_0xbe5472){}[_0x9390b7(0xa6)](_0x478bb0){}[_0x9390b7(0xad)](_0x16e074){}[_0x9390b7(0xc7)](_0xe2ce6e){}[_0x9390b7(0x9c)](_0x5a7968){}[_0x9390b7(0x90)](_0x54d25d){}[_0x9390b7(0xc6)](_0x513b47){}[_0x9390b7(0xb0)](_0x19bc04){}[_0x9390b7(0xb2)](_0x98ce92,_0xf57e0c){}['onMsgEventListUpdate'](_0x5def75){}[_0x9390b7(0xab)](_0x1be283){}['onMsgInfoListUpdate'](_0x4a4ca6){}['onMsgQRCodeStatusChanged'](_0x138bb5){}['onMsgRecall'](_0x30c4f8,_0x9a811e,_0x41e388){}['onMsgSecurityNotify'](_0x331dd){}[_0x9390b7(0xbd)](_0x52de0f){}[_0x9390b7(0xbc)](){}['onNtMsgSyncEnd'](){}[_0x9390b7(0xb1)](){}[_0x9390b7(0xa2)](_0x201a76){}[_0x9390b7(0xc8)](_0x4bd76f){}[_0x9390b7(0xb5)](_0x12a995){}[_0x9390b7(0x8c)](_0x489154,_0x53ba94,_0x3d6df0,_0xbf186d,_0x540673,_0x2d3a46){}[_0x9390b7(0xb6)](_0x5073e3){}[_0x9390b7(0xac)](_0x40fd83){}['onRecvSysMsg'](_0x48a35f){}[_0x9390b7(0xbe)](_0x372646){}[_0x9390b7(0xa9)](_0x29b45e){}[_0x9390b7(0x95)](_0x1101bd){}[_0x9390b7(0xb9)](_0x3e5f92){}[_0x9390b7(0x91)](_0x389e39){}[_0x9390b7(0xa4)](_0x27c695,_0x47369e,_0x5d23d9,_0x53c770){}[_0x9390b7(0x98)](_0xfe37f5,_0x1ed604,_0x54158c,_0x157aab){}[_0x9390b7(0xc0)](_0x48391a){}[_0x9390b7(0xc1)](_0x5d7b31){}[_0x9390b7(0xc2)](_0x2e7da7){}[_0x9390b7(0x93)](_0x2b2cd8){}[_0x9390b7(0x92)](_0x27c6c9){}[_0x9390b7(0xae)](_0x34a930){}[_0x9390b7(0xaa)](_0x16589a,_0xafa2f1,_0x7de5ce){}[_0x9390b7(0xa7)](_0x331529,_0x5aa5d1,_0x13ac8a){}[_0x9390b7(0xaf)](..._0x342701){}[_0x9390b7(0xc5)](..._0xa2f3b8){}[_0x9390b7(0x94)](..._0x55269d){}[_0x9390b7(0x9a)](..._0xfdcac4){}}
|
||||
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();}
|
@@ -1 +1 @@
|
||||
var _0x38ae40=_0x55ea;function _0x55ea(_0x2408e5,_0x5961bd){var _0x20fd82=_0x20fd();return _0x55ea=function(_0x55ead3,_0x4f2052){_0x55ead3=_0x55ead3-0x105;var _0x33b7ae=_0x20fd82[_0x55ead3];return _0x33b7ae;},_0x55ea(_0x2408e5,_0x5961bd);}(function(_0x27650a,_0x11ed88){var _0x25755b=_0x55ea,_0x47e335=_0x27650a();while(!![]){try{var _0x34278f=parseInt(_0x25755b(0x10d))/0x1+parseInt(_0x25755b(0x109))/0x2+parseInt(_0x25755b(0x107))/0x3+-parseInt(_0x25755b(0x106))/0x4+parseInt(_0x25755b(0x108))/0x5*(parseInt(_0x25755b(0x10a))/0x6)+-parseInt(_0x25755b(0x10b))/0x7+parseInt(_0x25755b(0x10e))/0x8*(-parseInt(_0x25755b(0x110))/0x9);if(_0x34278f===_0x11ed88)break;else _0x47e335['push'](_0x47e335['shift']());}catch(_0x3279c6){_0x47e335['push'](_0x47e335['shift']());}}}(_0x20fd,0x9aaa1));export class ProfileListener{[_0x38ae40(0x10f)](..._0x10e36e){}[_0x38ae40(0x10c)](_0x187127){}['onStatusUpdate'](..._0x5361eb){}['onSelfStatusChanged'](..._0x1b1e9e){}[_0x38ae40(0x105)](..._0x1b44f1){}}function _0x20fd(){var _0x5b3633=['6FQttxL','6167994xMQEkl','onProfileDetailInfoChanged','1256544lGhMhH','2414944IwfOFz','onProfileSimpleChanged','27PPpPqB','onStrangerRemarkChanged','4811488eMVzFa','859428HHiGmK','5154605lCenpg','2098364cJvjhC'];_0x20fd=function(){return _0x5b3633;};return _0x20fd();}
|
||||
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();}
|
@@ -1 +1 @@
|
||||
var _0x5703af=_0x3830;function _0x3830(_0x3fedb3,_0x227fd4){var _0x1ae708=_0x1ae7();return _0x3830=function(_0x383021,_0x17684c){_0x383021=_0x383021-0x1ce;var _0x3da525=_0x1ae708[_0x383021];return _0x3da525;},_0x3830(_0x3fedb3,_0x227fd4);}(function(_0x383bdb,_0x254c5b){var _0x2549c6=_0x3830,_0x2afc07=_0x383bdb();while(!![]){try{var _0x37ba3d=-parseInt(_0x2549c6(0x1da))/0x1*(parseInt(_0x2549c6(0x1d3))/0x2)+parseInt(_0x2549c6(0x1d9))/0x3+parseInt(_0x2549c6(0x1d8))/0x4+-parseInt(_0x2549c6(0x1d0))/0x5+-parseInt(_0x2549c6(0x1d4))/0x6*(parseInt(_0x2549c6(0x1d6))/0x7)+parseInt(_0x2549c6(0x1cf))/0x8*(parseInt(_0x2549c6(0x1ce))/0x9)+-parseInt(_0x2549c6(0x1d1))/0xa*(-parseInt(_0x2549c6(0x1d5))/0xb);if(_0x37ba3d===_0x254c5b)break;else _0x2afc07['push'](_0x2afc07['shift']());}catch(_0x521d8b){_0x2afc07['push'](_0x2afc07['shift']());}}}(_0x1ae7,0x76d63));function _0x1ae7(){var _0x13cd98=['2452316kvUQPE','2192853zInwuq','73xbeImi','onRobotProfileChanged','1251iioKzp','10632cPuvns','902990FFcmUu','1210NgcxOW','onRobotFriendListChanged','4946wTjcwo','2104710bHKsGr','1881rBMoPf','14wktppg','onRobotListChanged'];_0x1ae7=function(){return _0x13cd98;};return _0x1ae7();}export class KernelRobotListener{[_0x5703af(0x1d2)](..._0xc56c22){}[_0x5703af(0x1d7)](..._0x4a1127){}[_0x5703af(0x1db)](..._0x1ac527){}}
|
||||
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){}}
|
@@ -1 +1 @@
|
||||
var _0x50f0bd=_0x53e7;function _0x53e7(_0x206f17,_0x14567b){var _0x567886=_0x5678();return _0x53e7=function(_0x53e74d,_0x46e41b){_0x53e74d=_0x53e74d-0xdf;var _0x4414cf=_0x567886[_0x53e74d];return _0x4414cf;},_0x53e7(_0x206f17,_0x14567b);}function _0x5678(){var _0x25ade4=['onSessionInitComplete','5839105yEsrTy','onGetSelfTinyId','34497DNTRCN','18fBDVJy','369762mnpXbK','onUserOnlineResult','169WjnTtu','4786Xcfbhp','onNTSessionCreate','21rxLrJH','39FjoKcV','5340372YBAYpn','1160GzTZTI','10aLtqel','736468WFLehe','4841452GNHsor'];_0x5678=function(){return _0x25ade4;};return _0x5678();}(function(_0x42c35f,_0x51efad){var _0x20d054=_0x53e7,_0x10989e=_0x42c35f();while(!![]){try{var _0x27f840=-parseInt(_0x20d054(0xe3))/0x1*(parseInt(_0x20d054(0xe4))/0x2)+parseInt(_0x20d054(0xe0))/0x3*(parseInt(_0x20d054(0xeb))/0x4)+-parseInt(_0x20d054(0xee))/0x5+-parseInt(_0x20d054(0xe1))/0x6*(parseInt(_0x20d054(0xe6))/0x7)+parseInt(_0x20d054(0xe9))/0x8*(parseInt(_0x20d054(0xdf))/0x9)+parseInt(_0x20d054(0xea))/0xa*(-parseInt(_0x20d054(0xec))/0xb)+parseInt(_0x20d054(0xe8))/0xc*(parseInt(_0x20d054(0xe7))/0xd);if(_0x27f840===_0x51efad)break;else _0x10989e['push'](_0x10989e['shift']());}catch(_0x2533eb){_0x10989e['push'](_0x10989e['shift']());}}}(_0x5678,0xc2e79));export class SessionListener{[_0x50f0bd(0xe5)](_0x15ba90){}['onGProSessionCreate'](_0x509b5f){}[_0x50f0bd(0xed)](_0x32779f){}['onOpentelemetryInit'](_0x3328ef){}[_0x50f0bd(0xe2)](_0x5eda6f){}[_0x50f0bd(0xef)](_0x4eda0e){}}
|
||||
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){}}
|
@@ -1 +1 @@
|
||||
function _0x472a(){var _0x199e9f=['5886420pKcwza','onCleanCacheProgressChanged','3tUETVD','onFinishScan','onCleanCacheStorageChanged','637714cMkFSk','5730568FQdAaD','4616mfQaBa','onScanCacheProgressChanged','2264446VaTVSR','onChatCleanDone','21360NawLlC','13223qjqktH','8864874IBpIiT','1530UDYkrM'];_0x472a=function(){return _0x199e9f;};return _0x472a();}function _0x6195(_0x2c8f66,_0x9c49bd){var _0x472af7=_0x472a();return _0x6195=function(_0x61956f,_0x18156c){_0x61956f=_0x61956f-0x19b;var _0x571a30=_0x472af7[_0x61956f];return _0x571a30;},_0x6195(_0x2c8f66,_0x9c49bd);}var _0x4dd629=_0x6195;(function(_0x1a2986,_0x535ca7){var _0x43a1a7=_0x6195,_0xb95cd2=_0x1a2986();while(!![]){try{var _0x65ba70=-parseInt(_0x43a1a7(0x19f))/0x1+-parseInt(_0x43a1a7(0x1a3))/0x2*(-parseInt(_0x43a1a7(0x19c))/0x3)+parseInt(_0x43a1a7(0x1a0))/0x4+-parseInt(_0x43a1a7(0x1a9))/0x5+parseInt(_0x43a1a7(0x1a7))/0x6+-parseInt(_0x43a1a7(0x1a6))/0x7*(parseInt(_0x43a1a7(0x1a1))/0x8)+parseInt(_0x43a1a7(0x1a8))/0x9*(-parseInt(_0x43a1a7(0x1a5))/0xa);if(_0x65ba70===_0x535ca7)break;else _0xb95cd2['push'](_0xb95cd2['shift']());}catch(_0x1a5f7a){_0xb95cd2['push'](_0xb95cd2['shift']());}}}(_0x472a,0xbd081));export class StorageCleanListener{[_0x4dd629(0x19b)](_0x36bc97){}[_0x4dd629(0x1a2)](_0x48a6ec){}[_0x4dd629(0x19e)](_0x427db0){}[_0x4dd629(0x19d)](_0x3de796){}[_0x4dd629(0x1a4)](_0x1d9a0f){}}
|
||||
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){}}
|
@@ -1 +1 @@
|
||||
(function(_0x7992d,_0xa483d8){var _0x2b2e5b=_0x4463,_0x57b9ee=_0x7992d();while(!![]){try{var _0x52e6f8=parseInt(_0x2b2e5b(0xf4))/0x1*(parseInt(_0x2b2e5b(0xf5))/0x2)+-parseInt(_0x2b2e5b(0xf2))/0x3+-parseInt(_0x2b2e5b(0xef))/0x4*(-parseInt(_0x2b2e5b(0xee))/0x5)+parseInt(_0x2b2e5b(0xf1))/0x6+-parseInt(_0x2b2e5b(0xed))/0x7+parseInt(_0x2b2e5b(0xf3))/0x8*(parseInt(_0x2b2e5b(0xf0))/0x9)+-parseInt(_0x2b2e5b(0xf6))/0xa;if(_0x52e6f8===_0xa483d8)break;else _0x57b9ee['push'](_0x57b9ee['shift']());}catch(_0x59cbc5){_0x57b9ee['push'](_0x57b9ee['shift']());}}}(_0x4556,0x45c5e));export*from'./NodeIKernelSessionListener';export*from'./NodeIKernelLoginListener';export*from'./NodeIKernelMsgListener';export*from'./NodeIKernelGroupListener';function _0x4556(){var _0x3e363a=['1417230wsnybE','563721okLyRI','16Pbkbpl','69214ruMGJy','8YapoNS','3543830sbhIZZ','1477007KdoPly','35eqohsj','185768ytZUXo','904167FXLtgD'];_0x4556=function(){return _0x3e363a;};return _0x4556();}export*from'./NodeIKernelBuddyListener';export*from'./NodeIKernelProfileListener';function _0x4463(_0x48577b,_0x2ca2f8){var _0x4556c9=_0x4556();return _0x4463=function(_0x4463a8,_0x26c60c){_0x4463a8=_0x4463a8-0xed;var _0x26daa1=_0x4556c9[_0x4463a8];return _0x26daa1;},_0x4463(_0x48577b,_0x2ca2f8);}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';
|
4
src/core.lib/src/services/NodeIKernelNodeMiscService.d.ts
vendored
Normal file
4
src/core.lib/src/services/NodeIKernelNodeMiscService.d.ts
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
import { GeneralCallResult } from "./common";
|
||||
export interface NodeIKernelNodeMiscService {
|
||||
wantWinScreenOCR(imagepath: string): Promise<GeneralCallResult>;
|
||||
}
|
1
src/core.lib/src/services/NodeIKernelNodeMiscService.js
Normal file
1
src/core.lib/src/services/NodeIKernelNodeMiscService.js
Normal file
@@ -0,0 +1 @@
|
||||
export{};
|
@@ -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;
|
||||
|
@@ -1 +1 @@
|
||||
(function(_0x30acb2,_0x2e48a1){var _0x1a8ea4=_0x47b1,_0x5e1d3a=_0x30acb2();while(!![]){try{var _0x175ba5=parseInt(_0x1a8ea4(0x16c))/0x1*(parseInt(_0x1a8ea4(0x16d))/0x2)+parseInt(_0x1a8ea4(0x168))/0x3*(parseInt(_0x1a8ea4(0x170))/0x4)+parseInt(_0x1a8ea4(0x167))/0x5+-parseInt(_0x1a8ea4(0x16a))/0x6+-parseInt(_0x1a8ea4(0x16b))/0x7+parseInt(_0x1a8ea4(0x16e))/0x8*(-parseInt(_0x1a8ea4(0x169))/0x9)+-parseInt(_0x1a8ea4(0x16f))/0xa;if(_0x175ba5===_0x2e48a1)break;else _0x5e1d3a['push'](_0x5e1d3a['shift']());}catch(_0x37ed44){_0x5e1d3a['push'](_0x5e1d3a['shift']());}}}(_0x99e3,0x9489d));export var GeneralCallResultStatus;function _0x47b1(_0x3856c0,_0x5e075f){var _0x99e31e=_0x99e3();return _0x47b1=function(_0x47b1b8,_0x379194){_0x47b1b8=_0x47b1b8-0x167;var _0x4c3c9c=_0x99e31e[_0x47b1b8];return _0x4c3c9c;},_0x47b1(_0x3856c0,_0x5e075f);}(function(_0x35fec3){_0x35fec3[_0x35fec3['OK']=0x0]='OK';}(GeneralCallResultStatus||(GeneralCallResultStatus={})));function _0x99e3(){var _0x1a40c1=['5144190pNJaOL','1236011VCozJh','10505RwlZyG','226lpeQIu','8465704ZIQDJK','6491600xYjgxe','46372IlMfMu','5538480oWIMPe','273mLeUXE','9uWQYjq'];_0x99e3=function(){return _0x1a40c1;};return _0x99e3();}
|
||||
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={})));
|
@@ -1 +1 @@
|
||||
(function(_0x29b726,_0x32f3f1){var _0x32f8c0=_0x3ca2,_0x2d767e=_0x29b726();while(!![]){try{var _0x4deebb=parseInt(_0x32f8c0(0x119))/0x1*(parseInt(_0x32f8c0(0x113))/0x2)+-parseInt(_0x32f8c0(0x118))/0x3+-parseInt(_0x32f8c0(0x111))/0x4*(parseInt(_0x32f8c0(0x110))/0x5)+parseInt(_0x32f8c0(0x112))/0x6*(-parseInt(_0x32f8c0(0x117))/0x7)+-parseInt(_0x32f8c0(0x11a))/0x8+-parseInt(_0x32f8c0(0x116))/0x9*(parseInt(_0x32f8c0(0x114))/0xa)+parseInt(_0x32f8c0(0x115))/0xb;if(_0x4deebb===_0x32f3f1)break;else _0x2d767e['push'](_0x2d767e['shift']());}catch(_0x25a9f2){_0x2d767e['push'](_0x2d767e['shift']());}}}(_0x3b5f,0x9cbad));export*from'./common';export*from'./NodeIKernelAvatarService';export*from'./NodeIKernelBuddyService';export*from'./NodeIKernelFileAssistantService';function _0x3b5f(){var _0x3c02c9=['6069091VzBsrv','489039fSGxKM','19339DHujAJ','9723480oOwKCl','695zwVQXs','30316smGrGq','6bFxiEI','30FbILvS','33710roYvqg','48391024ItBVus','1998vMwwVx'];_0x3b5f=function(){return _0x3c02c9;};return _0x3b5f();}export*from'./NodeIKernelGroupService';export*from'./NodeIKernelLoginService';export*from'./NodeIKernelMsgService';export*from'./NodeIKernelOnlineStatusService';export*from'./NodeIKernelProfileLikeService';export*from'./NodeIKernelProfileService';export*from'./NodeIKernelTicketService';function _0x3ca2(_0x40d67d,_0x307a99){var _0x3b5f71=_0x3b5f();return _0x3ca2=function(_0x3ca28e,_0x582beb){_0x3ca28e=_0x3ca28e-0x110;var _0x334209=_0x3b5f71[_0x3ca28e];return _0x334209;},_0x3ca2(_0x40d67d,_0x307a99);}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';
|
@@ -1 +1 @@
|
||||
function _0x5474(_0x2001a1,_0x25ac56){const _0x11e7c2=_0x11e7();return _0x5474=function(_0x5474ee,_0x46ad87){_0x5474ee=_0x5474ee-0x18a;let _0x1f1317=_0x11e7c2[_0x5474ee];return _0x1f1317;},_0x5474(_0x2001a1,_0x25ac56);}function _0x11e7(){const _0x5d0779=['3637302ymjNNu','3466701DKgJbZ','readFileSync','NapCat','1592950nwnJCt','2879262ruFSwM','dfDom','24322520PHojhL','writeFileSync','mkdirSync','71845PtIIsJ','232yQGVYv','join','guid.txt','{\x22appearance\x22:{\x22isSplitViewMode\x22:true},\x22msg\x22:{}}','qUgaO','833019wLHNQf','RpusD','version','utf-8','KuthO','curVersion'];_0x11e7=function(){return _0x5d0779;};return _0x11e7();}(function(_0x13a425,_0x5aabba){const _0x9a53ba=_0x5474,_0xf2d1d2=_0x13a425();while(!![]){try{const _0x54ec3c=parseInt(_0x9a53ba(0x193))/0x1+parseInt(_0x9a53ba(0x19d))/0x2+parseInt(_0x9a53ba(0x199))/0x3+-parseInt(_0x9a53ba(0x18e))/0x4*(-parseInt(_0x9a53ba(0x18d))/0x5)+parseInt(_0x9a53ba(0x19e))/0x6+-parseInt(_0x9a53ba(0x19a))/0x7+-parseInt(_0x9a53ba(0x18a))/0x8;if(_0x54ec3c===_0x5aabba)break;else _0xf2d1d2['push'](_0xf2d1d2['shift']());}catch(_0x174c44){_0xf2d1d2['push'](_0xf2d1d2['shift']());}}}(_0x11e7,0x97481));import{appid,qqPkgInfo,qqVersionConfigInfo}from'@/common/utils/QQBasicInfo';import{hostname,systemName,systemVersion}from'@/common/utils/system';import _0x16803d from'node:path';import _0x45df1d from'node:fs';import{randomUUID}from'crypto';export const sessionConfig={};export function genSessionConfig(_0x42f2e9,_0x2254af,_0x439ab0){const _0x25c0e4=_0x5474,_0x318715={'KuthO':'temp','RpusD':_0x25c0e4(0x19c),'qUgaO':_0x25c0e4(0x190),'CfRCH':function(_0xb2152c){return _0xb2152c();},'qBWFY':_0x25c0e4(0x196),'dfDom':_0x25c0e4(0x191)},_0x145c2b=_0x16803d['join'](_0x439ab0,_0x25c0e4(0x19c),_0x318715[_0x25c0e4(0x197)]);_0x45df1d[_0x25c0e4(0x18c)](_0x145c2b,{'recursive':!![]});const _0x264a5c=_0x16803d[_0x25c0e4(0x18f)](_0x439ab0,_0x318715[_0x25c0e4(0x194)],_0x318715[_0x25c0e4(0x192)]);let _0x1df916=_0x318715['CfRCH'](randomUUID);try{_0x1df916=_0x45df1d[_0x25c0e4(0x19b)](_0x16803d['join'](_0x264a5c),_0x318715['qBWFY']);}catch(_0x2f373e){_0x45df1d[_0x25c0e4(0x18b)](_0x16803d[_0x25c0e4(0x18f)](_0x264a5c),_0x1df916,_0x25c0e4(0x196));}const _0x4c0b6e={'selfUin':_0x42f2e9,'selfUid':_0x2254af,'desktopPathConfig':{'account_path':_0x439ab0},'clientVer':qqVersionConfigInfo[_0x25c0e4(0x198)],'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':_0x145c2b,'deviceInfo':{'guid':_0x1df916,'buildVer':qqPkgInfo[_0x25c0e4(0x195)],'localId':0x804,'devName':hostname,'devType':systemName,'vendorName':'','osVer':systemVersion,'vendorOsName':systemName,'setMute':![],'vendorType':0x0},'deviceConfig':_0x318715[_0x25c0e4(0x19f)]};return Object['assign'](sessionConfig,_0x4c0b6e),_0x4c0b6e;}
|
||||
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;}
|
@@ -1 +1 @@
|
||||
const _0x1d72c9=_0x5a3e;(function(_0x228659,_0x18947d){const _0x8f0b92=_0x5a3e,_0xe0645c=_0x228659();while(!![]){try{const _0x5e4540=parseInt(_0x8f0b92(0x9d))/0x1+-parseInt(_0x8f0b92(0xa0))/0x2+parseInt(_0x8f0b92(0xa1))/0x3+parseInt(_0x8f0b92(0x9f))/0x4*(parseInt(_0x8f0b92(0xac))/0x5)+-parseInt(_0x8f0b92(0xad))/0x6+-parseInt(_0x8f0b92(0x9e))/0x7*(-parseInt(_0x8f0b92(0xaf))/0x8)+parseInt(_0x8f0b92(0xae))/0x9*(-parseInt(_0x8f0b92(0xa6))/0xa);if(_0x5e4540===_0x18947d)break;else _0xe0645c['push'](_0xe0645c['shift']());}catch(_0x2f1c5d){_0xe0645c['push'](_0xe0645c['shift']());}}}(_0x3d96,0xdb4b8));import _0x41ab16 from'node:path';import{LogLevel}from'@/common/utils/log';function _0x5a3e(_0xc89e9e,_0x2ccf20){const _0x3d9695=_0x3d96();return _0x5a3e=function(_0x5a3eab,_0x3f872e){_0x5a3eab=_0x5a3eab-0x9d;let _0x52ada6=_0x3d9695[_0x5a3eab];return _0x52ada6;},_0x5a3e(_0xc89e9e,_0x2ccf20);}import{ConfigBase}from'@/common/utils/ConfigBase';function _0x3d96(){const _0x6b009b=['consoleLogLevel','89395wXibvk','5062044iFdCGa','31239gBHtkU','144SxdGDH','1004901lxNvED','557921XXJHEP','284wiMaiv','1030774XlahnW','185055yhQIMa','join','fileLogLevel','uin','INFO','4360PzGecr','DEBUG','napcat_','fileLog','getConfigDir'];_0x3d96=function(){return _0x6b009b;};return _0x3d96();}import{selfInfo}from'@/core/data';class Config extends ConfigBase{[_0x1d72c9(0xa9)]=!![];['consoleLog']=!![];[_0x1d72c9(0xa3)]=LogLevel[_0x1d72c9(0xa7)];[_0x1d72c9(0xab)]=LogLevel[_0x1d72c9(0xa5)];constructor(){super();}['getConfigPath'](){const _0x54ebd1=_0x1d72c9;return _0x41ab16[_0x54ebd1(0xa2)](this[_0x54ebd1(0xaa)](),_0x54ebd1(0xa8)+selfInfo[_0x54ebd1(0xa4)]+'.json');}}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
@@ -1 +1 @@
|
||||
function _0x4993(_0x49e763,_0x151811){const _0x48a667=_0x48a6();return _0x4993=function(_0x49930f,_0x7be9f6){_0x49930f=_0x49930f-0x19f;let _0x33f883=_0x48a667[_0x49930f];return _0x33f883;},_0x4993(_0x49e763,_0x151811);}function _0x48a6(){const _0x19d6fb=['serverUrl','WQsbD','tcYnj','http://napcat-sign.wumiao.wang:2082/rkey','2170972WSKfPR','UdUOx','HttpGetJson','isExpired','expired_time','4457684pNuTIl','3NcASFE','3946014NkvrkA','getTime','1112eOyXOz','rkeyData','350661ZGGSSr','refreshRkey','获取rkey失败','8622810WCvQnE','52101eqyels','10026460FicYDH','5EyeCqz'];_0x48a6=function(){return _0x19d6fb;};return _0x48a6();}const _0x15129b=_0x4993;(function(_0x27b228,_0x1b2c9c){const _0x377017=_0x4993,_0x96990d=_0x27b228();while(!![]){try{const _0x44992b=parseInt(_0x377017(0x1a2))/0x1+-parseInt(_0x377017(0x1ad))/0x2+-parseInt(_0x377017(0x1b3))/0x3*(-parseInt(_0x377017(0x1b2))/0x4)+-parseInt(_0x377017(0x1a8))/0x5*(parseInt(_0x377017(0x1b4))/0x6)+parseInt(_0x377017(0x1a5))/0x7+-parseInt(_0x377017(0x1a0))/0x8*(-parseInt(_0x377017(0x1a6))/0x9)+-parseInt(_0x377017(0x1a7))/0xa;if(_0x44992b===_0x1b2c9c)break;else _0x96990d['push'](_0x96990d['shift']());}catch(_0x526571){_0x96990d['push'](_0x96990d['shift']());}}}(_0x48a6,0xb8846));import{logError}from'@/common/utils/log';import{RequestUtil}from'@/common/utils/request';class RkeyManager{[_0x15129b(0x1a9)]='';[_0x15129b(0x1a1)]={'group_rkey':'','private_rkey':'','expired_time':0x0};constructor(_0x4e6bb7){const _0x1a3590=_0x15129b;this[_0x1a3590(0x1a9)]=_0x4e6bb7;}async['getRkey'](){const _0x43ce08=_0x15129b,_0x1d29e9={'WQsbD':function(_0x428976,_0x3ce114,_0x26862b){return _0x428976(_0x3ce114,_0x26862b);}};if(this[_0x43ce08(0x1b0)]())try{await this[_0x43ce08(0x1a3)]();}catch(_0x3a0855){_0x1d29e9[_0x43ce08(0x1aa)](logError,_0x43ce08(0x1a4),_0x3a0855);}return this['rkeyData'];}['isExpired'](){const _0x2ba6ad=_0x15129b,_0x586806={'tcYnj':function(_0x3a3226,_0x31da92){return _0x3a3226/_0x31da92;},'UdUOx':function(_0x2f5183,_0x357620){return _0x2f5183>_0x357620;}},_0x4a3ca7=_0x586806[_0x2ba6ad(0x1ab)](new Date()[_0x2ba6ad(0x19f)](),0x3e8);return _0x586806[_0x2ba6ad(0x1ae)](_0x4a3ca7,this[_0x2ba6ad(0x1a1)][_0x2ba6ad(0x1b1)]);}async[_0x15129b(0x1a3)](){const _0x47fd6d=_0x15129b;this[_0x47fd6d(0x1a1)]=await RequestUtil[_0x47fd6d(0x1af)](this[_0x47fd6d(0x1a9)],'GET');}}export const rkeyManager=new RkeyManager(_0x15129b(0x1ac));
|
||||
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');
|
7
src/core.lib/src/wrapper.d.ts
vendored
7
src/core.lib/src/wrapper.d.ts
vendored
@@ -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;
|
||||
|
@@ -1 +1 @@
|
||||
function _0x3904(_0x4786c6,_0x4828fb){const _0x135136=_0x1351();return _0x3904=function(_0x39049a,_0x25513f){_0x39049a=_0x39049a-0x1f1;let _0x23717c=_0x135136[_0x39049a];return _0x23717c;},_0x3904(_0x4786c6,_0x4828fb);}const _0x1b66da=_0x3904;function _0x1351(){const _0x6b199d=['4698250hsICPp','./resources/app/wrapper.node','default','334416ioZYBW','replace','dirname','\x22);\x0aexports\x20=\x20module.exports;\x0a','writeFileSync','join','resolve','execPath','8QXHMGv','6CIYwEc','48398240yQiGGX','1411565HuzEpq','9yGPQpl','2637585aCfSaW','894372FtwSoq','existsSync','8873417olLTYC','WrapperLoader.cjs','/wrapper.node','12MPijNi'];_0x1351=function(){return _0x6b199d;};return _0x1351();}(function(_0x2f5c5c,_0xa61845){const _0x5e23da=_0x3904,_0x2f18a6=_0x2f5c5c();while(!![]){try{const _0x1d76ef=-parseInt(_0x5e23da(0x202))/0x1+-parseInt(_0x5e23da(0x1f7))/0x2+parseInt(_0x5e23da(0x1f3))/0x3*(-parseInt(_0x5e23da(0x205))/0x4)+parseInt(_0x5e23da(0x204))/0x5*(parseInt(_0x5e23da(0x200))/0x6)+-parseInt(_0x5e23da(0x207))/0x7*(parseInt(_0x5e23da(0x1ff))/0x8)+-parseInt(_0x5e23da(0x203))/0x9*(parseInt(_0x5e23da(0x1f4))/0xa)+parseInt(_0x5e23da(0x201))/0xb;if(_0x1d76ef===_0xa61845)break;else _0x2f18a6['push'](_0x2f18a6['shift']());}catch(_0x16950b){_0x2f18a6['push'](_0x2f18a6['shift']());}}}(_0x1351,0xaefd4));import _0x5ee2ec from'node:path';import _0x3c334a from'node:fs';import{qqVersionConfigInfo}from'@/common/utils/QQBasicInfo';import{dirname}from'node:path';import{fileURLToPath}from'node:url';const __filename=fileURLToPath(import.meta['url']),__dirname=dirname(__filename);let wrapperNodePath=_0x5ee2ec[_0x1b66da(0x1fd)](_0x5ee2ec['dirname'](process[_0x1b66da(0x1fe)]),_0x1b66da(0x1f5));!_0x3c334a[_0x1b66da(0x206)](wrapperNodePath)&&(wrapperNodePath=_0x5ee2ec[_0x1b66da(0x1fc)](_0x5ee2ec[_0x1b66da(0x1f9)](process[_0x1b66da(0x1fe)]),'resources/app/versions/'+qqVersionConfigInfo['curVersion']+_0x1b66da(0x1f2)));let WrapperLoader=_0x5ee2ec[_0x1b66da(0x1fc)](__dirname,_0x1b66da(0x1f1));_0x3c334a[_0x1b66da(0x1fb)](WrapperLoader,'\x0amodule.exports\x20=\x20require(\x22'+wrapperNodePath[_0x1b66da(0x1f8)](/\\/g,'\x5c\x5c')+_0x1b66da(0x1fa));const QQWrapper=(await import('file://'+WrapperLoader))[_0x1b66da(0x1f6)];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;
|
@@ -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,
|
||||
];
|
||||
|
37
src/onebot11/action/extends/TranslateEnWordToZn.ts
Normal file
37
src/onebot11/action/extends/TranslateEnWordToZn.ts
Normal 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;
|
||||
}
|
||||
}
|
23
src/onebot11/action/file/DelGroupFile.ts
Normal file
23
src/onebot11/action/file/DelGroupFile.ts
Normal 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]);
|
||||
}
|
||||
}
|
23
src/onebot11/action/file/DelGroupFileFolder.ts
Normal file
23
src/onebot11/action/file/DelGroupFileFolder.ts
Normal 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;
|
||||
}
|
||||
}
|
@@ -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';
|
||||
|
23
src/onebot11/action/file/GetGroupFileCount.ts
Normal file
23
src/onebot11/action/file/GetGroupFileCount.ts
Normal 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] };
|
||||
}
|
||||
}
|
35
src/onebot11/action/file/GetGroupFileList.ts
Normal file
35
src/onebot11/action/file/GetGroupFileList.ts
Normal 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
|
||||
})
|
||||
}
|
||||
}
|
23
src/onebot11/action/file/SetGroupFileFolder.ts
Normal file
23
src/onebot11/action/file/SetGroupFileFolder.ts
Normal 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;
|
||||
}
|
||||
}
|
@@ -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';
|
||||
|
@@ -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);
|
||||
|
@@ -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);
|
||||
|
@@ -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));
|
||||
}
|
||||
}
|
||||
|
@@ -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;
|
||||
|
@@ -1,4 +1,4 @@
|
||||
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';
|
||||
@@ -7,6 +7,9 @@ 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;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -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>;
|
||||
|
@@ -1,142 +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';
|
||||
import { GetOnlineClient } from './go-cqhttp/GetOnlineClient';
|
||||
import { IOCRImage, OCRImage } from './extends/OCRImage';
|
||||
|
||||
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 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();
|
||||
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();
|
||||
|
@@ -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 = {
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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';
|
||||
|
||||
|
||||
|
@@ -1,249 +1,249 @@
|
||||
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 '@/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.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 };
|
||||
}
|
||||
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 };
|
||||
}
|
||||
|
@@ -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);
|
||||
|
@@ -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';
|
||||
|
@@ -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';
|
||||
|
||||
|
@@ -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> {
|
||||
|
@@ -1,85 +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',
|
||||
GetOnlineClient = "get_online_clients",
|
||||
OCRImage = "ocr_image",
|
||||
IOCRImage = ".ocr_image"
|
||||
}
|
||||
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"
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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`);
|
||||
|
@@ -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';
|
||||
|
@@ -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))
|
||||
}
|
||||
}
|
||||
|
@@ -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';
|
||||
@@ -110,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;
|
||||
@@ -190,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));
|
||||
@@ -283,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') {
|
||||
|
@@ -11,12 +11,13 @@ import { normalize, sendMsg } from '../action/msg/SendMsg';
|
||||
import { OB11FriendRequestEvent } from '../event/request/OB11FriendRequest';
|
||||
import { OB11GroupRequestEvent } from '../event/request/OB11GroupRequest';
|
||||
import { isNull } from '@/common/utils/helper';
|
||||
import { dbUtil } from '@/core/utils/db';
|
||||
import { dbUtil } from '@/common/utils/db';
|
||||
import { friendRequests, getGroup, getUidByUin, groupNotifies, selfInfo } from '@/core/data';
|
||||
import { NTQQFriendApi, NTQQGroupApi, NTQQMsgApi } from '@/core/apis';
|
||||
import createSendElements from '../action/msg/SendMsg/create-send-elements';
|
||||
|
||||
export type QuickActionEvent = OB11Message | OB11BaseMetaEvent | OB11BaseNoticeEvent
|
||||
export type PostEventType = OB11Message | OB11BaseMetaEvent | OB11BaseNoticeEvent
|
||||
|
||||
interface QuickActionPrivateMessage {
|
||||
reply?: string;
|
||||
@@ -97,12 +98,12 @@ export function postOB11Event(msg: QuickActionEvent, reportSelf = false, postWs
|
||||
headers,
|
||||
body: msgStr
|
||||
}).then(async (res) => {
|
||||
logDebug(`新消息事件HTTP上报成功: ${host} `, msgStr);
|
||||
//logDebug(`新消息事件HTTP上报成功: ${host} `, msgStr);
|
||||
// todo: 处理不够优雅,应该使用高级泛型进行QuickAction类型识别
|
||||
let resJson: QuickAction;
|
||||
try {
|
||||
resJson = await res.json();
|
||||
logDebug('新消息事件HTTP上报返回快速操作: ', JSON.stringify(resJson));
|
||||
//logDebug('新消息事件HTTP上报返回快速操作: ', JSON.stringify(resJson));
|
||||
} catch (e) {
|
||||
logDebug('新消息事件HTTP上报没有返回快速操作,不需要处理');
|
||||
return;
|
||||
|
@@ -40,7 +40,7 @@ export class ReverseWebsocket {
|
||||
try {
|
||||
receiveData = JSON.parse(msg.toString());
|
||||
echo = receiveData.echo;
|
||||
logDebug('收到反向Websocket消息', receiveData);
|
||||
//logDebug('收到反向Websocket消息', receiveData);
|
||||
} catch (e) {
|
||||
return wsReply(this.websocket!, OB11Response.error('json解析失败,请检查数据格式', 1400, echo));
|
||||
}
|
||||
|
@@ -1 +1 @@
|
||||
export const version = '1.4.0';
|
||||
export const version = '1.4.1';
|
||||
|
9
src/vite-env.d.ts
vendored
Normal file
9
src/vite-env.d.ts
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
/// <reference types="vite/client" />
|
||||
|
||||
interface ImportMetaEnv {
|
||||
VITE_BUILD_TYPE: string
|
||||
}
|
||||
|
||||
interface ImportMeta {
|
||||
readonly env: ImportMetaEnv
|
||||
}
|
@@ -29,7 +29,7 @@ async function onSettingWindowCreated(view: Element) {
|
||||
SettingItem(
|
||||
'<span id="napcat-update-title">Napcat</span>',
|
||||
undefined,
|
||||
SettingButton('V1.4.0', 'napcat-update-button', 'secondary')
|
||||
SettingButton('V1.4.1', 'napcat-update-button', 'secondary')
|
||||
),
|
||||
]),
|
||||
SettingList([
|
||||
@@ -69,7 +69,7 @@ async function onSettingWindowCreated(view: Element) {
|
||||
</div>
|
||||
<div class="q-input">
|
||||
<input id="config-ob11-http-secret" class="q-input__inner" data-config-key="ob11.http.secret" type="text" value="${ob11Config.http.secret
|
||||
}" placeholder="未设置" />
|
||||
}" placeholder="未设置" />
|
||||
</div>
|
||||
</setting-item>
|
||||
<setting-item data-direction="row">
|
||||
@@ -101,8 +101,7 @@ async function onSettingWindowCreated(view: Element) {
|
||||
'control-display-id': 'config-ob11-reverseWs-urls',
|
||||
})
|
||||
),
|
||||
`<div class="config-host-list" id="config-ob11-reverseWs-urls" ${ob11Config.reverseWs.enable ? '' : 'is-hidden'
|
||||
}>
|
||||
`<div class="config-host-list" id="config-ob11-reverseWs-urls" ${ob11Config.reverseWs.enable ? '' : 'is-hidden'}>
|
||||
<setting-item data-direction="row">
|
||||
<div>
|
||||
<setting-text>反向 WebSocket 监听地址</setting-text>
|
||||
@@ -139,6 +138,22 @@ async function onSettingWindowCreated(view: Element) {
|
||||
`<div class="q-input" style="width:210px;"><input class="q-input__inner" data-config-key="ob11.musicSignUrl" type="text" value="${ob11Config.musicSignUrl}" placeholder="未设置" /></div>`,
|
||||
'ob11.musicSignUrl'
|
||||
),
|
||||
SettingItem(
|
||||
'启用本地进群时间与发言时间记录',
|
||||
undefined,
|
||||
SettingSwitch('ob11.GroupLocalTime.Record', ob11Config.GroupLocalTime.Record, {
|
||||
'control-display-id': 'config-ob11-GroupLocalTime-RecordList',
|
||||
})
|
||||
),
|
||||
`<div class="config-host-list" id="config-ob11-GroupLocalTime-RecordList" ${ob11Config.GroupLocalTime.Record ? '' : 'is-hidden'}>
|
||||
<setting-item data-direction="row">
|
||||
<div>
|
||||
<setting-text>群列表</setting-text>
|
||||
</div>
|
||||
<setting-button id="config-ob11-GroupLocalTime-RecordList-add" data-type="primary">添加</setting-button>
|
||||
</setting-item>
|
||||
<div id="config-ob11-GroupLocalTime-RecordList-list"></div>
|
||||
</div>`,
|
||||
SettingItem(
|
||||
'',
|
||||
undefined,
|
||||
@@ -246,7 +261,6 @@ async function onSettingWindowCreated(view: Element) {
|
||||
inputAttr: any = {}
|
||||
) => {
|
||||
type = type.replace(/\./g, '-');//替换操作
|
||||
|
||||
const hostContainerDom = doc.body.querySelector(
|
||||
`#config-ob11-${type}-list`
|
||||
);
|
||||
@@ -278,6 +292,7 @@ async function onSettingWindowCreated(view: Element) {
|
||||
|
||||
initReverseHost('http.postUrls', doc);
|
||||
initReverseHost('reverseWs.urls', doc);
|
||||
initReverseHost('GroupLocalTime.RecordList', doc);
|
||||
|
||||
doc
|
||||
.querySelector('#config-ob11-http-postUrls-add')
|
||||
@@ -294,7 +309,13 @@ async function onSettingWindowCreated(view: Element) {
|
||||
placeholder: '如:ws://127.0.0.1:5140/onebot',
|
||||
})
|
||||
);
|
||||
|
||||
doc
|
||||
.querySelector('#config-ob11-GroupLocalTime-RecordList-add')
|
||||
?.addEventListener('click', () =>
|
||||
addReverseHost('GroupLocalTime.RecordList', document, {
|
||||
placeholder: '此处填写群号 -1为全部',
|
||||
})
|
||||
);
|
||||
doc.querySelector('#config-ffmpeg-select')?.addEventListener('click', () => {
|
||||
//选择ffmpeg
|
||||
});
|
||||
|
@@ -18,7 +18,10 @@ export interface OB11Config {
|
||||
enable: boolean;
|
||||
urls: string[];
|
||||
};
|
||||
|
||||
GroupLocalTime: {
|
||||
Record: boolean,
|
||||
RecordList: Array<string>
|
||||
};
|
||||
debug: boolean;
|
||||
heartInterval: number;
|
||||
messagePostFormat: 'array' | 'string';
|
||||
@@ -26,6 +29,7 @@ export interface OB11Config {
|
||||
musicSignUrl: '';
|
||||
reportSelfMessage: boolean;
|
||||
token: '';
|
||||
|
||||
}
|
||||
|
||||
class WebUiApiOB11ConfigWrapper {
|
||||
|
7
static/assets/qrcode.min.js
vendored
7
static/assets/qrcode.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -108,7 +108,7 @@ class WebUiApiOB11ConfigWrapper {
|
||||
this.retCredential = Credential;
|
||||
}
|
||||
async GetOB11Config() {
|
||||
let ConfigResponse = await fetch("/api/OB11Config/GetConfig", {
|
||||
const ConfigResponse = await fetch("/api/OB11Config/GetConfig", {
|
||||
method: "POST",
|
||||
headers: {
|
||||
Authorization: "Bearer " + this.retCredential,
|
||||
@@ -116,7 +116,7 @@ class WebUiApiOB11ConfigWrapper {
|
||||
}
|
||||
});
|
||||
if (ConfigResponse.status == 200) {
|
||||
let ConfigResponseJson = await ConfigResponse.json();
|
||||
const ConfigResponseJson = await ConfigResponse.json();
|
||||
if (ConfigResponseJson.code == 0) {
|
||||
return ConfigResponseJson?.data;
|
||||
}
|
||||
@@ -124,7 +124,7 @@ class WebUiApiOB11ConfigWrapper {
|
||||
return {};
|
||||
}
|
||||
async SetOB11Config(config) {
|
||||
let ConfigResponse = await fetch("/api/OB11Config/SetConfig", {
|
||||
const ConfigResponse = await fetch("/api/OB11Config/SetConfig", {
|
||||
method: "POST",
|
||||
headers: {
|
||||
Authorization: "Bearer " + this.retCredential,
|
||||
@@ -133,7 +133,7 @@ class WebUiApiOB11ConfigWrapper {
|
||||
body: JSON.stringify({ config: JSON.stringify(config) })
|
||||
});
|
||||
if (ConfigResponse.status == 200) {
|
||||
let ConfigResponseJson = await ConfigResponse.json();
|
||||
const ConfigResponseJson = await ConfigResponse.json();
|
||||
if (ConfigResponseJson.code == 0) {
|
||||
return true;
|
||||
}
|
||||
@@ -142,10 +142,11 @@ class WebUiApiOB11ConfigWrapper {
|
||||
}
|
||||
}
|
||||
const OB11ConfigWrapper = new WebUiApiOB11ConfigWrapper();
|
||||
|
||||
async function onSettingWindowCreated(view) {
|
||||
const isEmpty = (value) => value === void 0 || value === void 0 || value === "";
|
||||
await OB11ConfigWrapper.Init(localStorage.getItem("auth"));
|
||||
let ob11Config = await OB11ConfigWrapper.GetOB11Config();
|
||||
const ob11Config = await OB11ConfigWrapper.GetOB11Config();
|
||||
const setOB11Config = (key, value) => {
|
||||
const configKey = key.split(".");
|
||||
if (configKey.length === 2) {
|
||||
@@ -273,6 +274,22 @@ async function onSettingWindowCreated(view) {
|
||||
`<div class="q-input" style="width:210px;"><input class="q-input__inner" data-config-key="ob11.musicSignUrl" type="text" value="${ob11Config.musicSignUrl}" placeholder="未设置" /></div>`,
|
||||
"ob11.musicSignUrl"
|
||||
),
|
||||
SettingItem(
|
||||
"启用本地进群时间与发言时间记录",
|
||||
void 0,
|
||||
SettingSwitch("ob11.GroupLocalTime.Record", ob11Config.GroupLocalTime.Record, {
|
||||
"control-display-id": "config-ob11-GroupLocalTime-RecordList"
|
||||
})
|
||||
),
|
||||
`<div class="config-host-list" id="config-ob11-GroupLocalTime-RecordList" ${ob11Config.GroupLocalTime.Record ? "" : "is-hidden"}>
|
||||
<setting-item data-direction="row">
|
||||
<div>
|
||||
<setting-text>群列表</setting-text>
|
||||
</div>
|
||||
<setting-button id="config-ob11-GroupLocalTime-RecordList-add" data-type="primary">添加</setting-button>
|
||||
</setting-item>
|
||||
<div id="config-ob11-GroupLocalTime-RecordList-list"></div>
|
||||
</div>`,
|
||||
SettingItem(
|
||||
"",
|
||||
void 0,
|
||||
@@ -289,18 +306,18 @@ async function onSettingWindowCreated(view) {
|
||||
SettingList([
|
||||
SettingItem(
|
||||
"GitHub 仓库",
|
||||
`https://github.com/NapNeko/NapCatQQ`,
|
||||
"https://github.com/NapNeko/NapCatQQ",
|
||||
SettingButton("点个星星", "open-github")
|
||||
),
|
||||
SettingItem("NapCat 文档", ``, SettingButton("看看文档", "open-docs")),
|
||||
SettingItem("NapCat 文档", "", SettingButton("看看文档", "open-docs")),
|
||||
SettingItem(
|
||||
"Telegram 群",
|
||||
`https://t.me/+nLZEnpne-pQ1OWFl`,
|
||||
"https://t.me/+nLZEnpne-pQ1OWFl",
|
||||
SettingButton("进去逛逛", "open-telegram")
|
||||
),
|
||||
SettingItem(
|
||||
"QQ 群",
|
||||
`545402644`,
|
||||
"545402644",
|
||||
SettingButton("我要进去", "open-qq-group")
|
||||
)
|
||||
]),
|
||||
@@ -387,6 +404,7 @@ async function onSettingWindowCreated(view) {
|
||||
};
|
||||
initReverseHost("http.postUrls", doc);
|
||||
initReverseHost("reverseWs.urls", doc);
|
||||
initReverseHost("GroupLocalTime.RecordList", doc);
|
||||
doc.querySelector("#config-ob11-http-postUrls-add")?.addEventListener(
|
||||
"click",
|
||||
() => addReverseHost("http.postUrls", document, {
|
||||
@@ -399,6 +417,12 @@ async function onSettingWindowCreated(view) {
|
||||
placeholder: "如:ws://127.0.0.1:5140/onebot"
|
||||
})
|
||||
);
|
||||
doc.querySelector("#config-ob11-GroupLocalTime-RecordList-add")?.addEventListener(
|
||||
"click",
|
||||
() => addReverseHost("GroupLocalTime.RecordList", document, {
|
||||
placeholder: "此处填写群号 -1为全部"
|
||||
})
|
||||
);
|
||||
doc.querySelector("#config-ffmpeg-select")?.addEventListener("click", () => {
|
||||
});
|
||||
doc.querySelector("#config-open-log-path")?.addEventListener("click", () => {
|
||||
@@ -413,7 +437,7 @@ async function onSettingWindowCreated(view) {
|
||||
dom.removeAttribute("is-active");
|
||||
if (!isEmpty(dom.dataset.controlDisplayId)) {
|
||||
const displayDom = document.querySelector(
|
||||
//@ts-ignore 等待修复
|
||||
//@ts-expect-error 等待修复
|
||||
`#${dom.dataset.controlDisplayId}`
|
||||
);
|
||||
if (active)
|
||||
|
@@ -1,41 +1,41 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "ES2020",
|
||||
"useDefineForClassFields": true,
|
||||
"module": "ESNext",
|
||||
"lib": [
|
||||
"ES2020",
|
||||
"DOM",
|
||||
"DOM.Iterable"
|
||||
],
|
||||
"skipLibCheck": true,
|
||||
"moduleResolution": "Node",
|
||||
"allowImportingTsExtensions": false,
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"resolveJsonModule": true,
|
||||
"isolatedModules": true,
|
||||
"noEmit": true,
|
||||
"jsx": "preserve",
|
||||
"strict": true,
|
||||
"noUnusedLocals": false,
|
||||
"noUnusedParameters": false,
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"sourceMap": true,
|
||||
"paths": {
|
||||
"@*": [
|
||||
"./src*"
|
||||
],
|
||||
"@/core": [
|
||||
"./src/core/src/index",
|
||||
"./src/core.lib/src/index"
|
||||
],
|
||||
"@/core/*": [
|
||||
"./src/core/src/*",
|
||||
"./src/core.lib/src/*"
|
||||
]
|
||||
}
|
||||
},
|
||||
"include": [
|
||||
"src/**/*.ts"
|
||||
]
|
||||
}
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "ES2020",
|
||||
"useDefineForClassFields": true,
|
||||
"module": "ESNext",
|
||||
"lib": [
|
||||
"ES2020",
|
||||
"DOM",
|
||||
"DOM.Iterable"
|
||||
],
|
||||
"skipLibCheck": true,
|
||||
"moduleResolution": "Node",
|
||||
"allowImportingTsExtensions": false,
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"resolveJsonModule": true,
|
||||
"isolatedModules": true,
|
||||
"noEmit": true,
|
||||
"jsx": "preserve",
|
||||
"strict": true,
|
||||
"noUnusedLocals": false,
|
||||
"noUnusedParameters": false,
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"sourceMap": true,
|
||||
"paths": {
|
||||
"@*": [
|
||||
"./src*"
|
||||
],
|
||||
"@/core": [
|
||||
"./src/core/src/index",
|
||||
"./src/core.lib/src/index"
|
||||
],
|
||||
"@/core/*": [
|
||||
"./src/core/src/*",
|
||||
"./src/core.lib/src/*"
|
||||
]
|
||||
}
|
||||
},
|
||||
"include": [
|
||||
"src/**/*.ts"
|
||||
]
|
||||
}
|
||||
|
Reference in New Issue
Block a user