Compare commits

..

14 Commits

Author SHA1 Message Date
手瓜一十雪
149b518f48 release: v1.5.0 2024-06-03 17:15:43 +08:00
手瓜一十雪
74621447ff fix: 提高兼容性 2024-06-03 17:12:53 +08:00
手瓜一十雪
3280952931 fix: 提高Api兼容性 2024-06-03 17:09:23 +08:00
手瓜一十雪
9e670e2736 Merge branch 'main' of https://github.com/NapNeko/NapCatQQ 2024-06-03 16:56:28 +08:00
手瓜一十雪
9fc6347a2f fix: 进一步标准化 2024-06-03 16:56:08 +08:00
Version
ec7a15a192 chore:version change 2024-06-03 08:50:25 +00:00
手瓜一十雪
7f99982810 release: v1.4.9 2024-06-03 16:49:08 +08:00
Version
935d83aaf8 chore:version change 2024-06-02 13:01:32 +00:00
手瓜一十雪
0ff6edd546 style: lint 2024-06-02 20:49:09 +08:00
手瓜一十雪
94f629585a build: v1.4.8-beta2 2024-06-02 20:40:41 +08:00
手瓜一十雪
89c04be02f fix 2024-06-02 13:58:51 +08:00
手瓜一十雪
3151965ea8 build: 1.3.8-beta1 2024-06-02 13:45:48 +08:00
手瓜一十雪
bdf5159be1 refactor: guid 2024-06-02 13:38:33 +08:00
手瓜一十雪
0499ebbea3 release: v1.4.7 2024-06-01 15:52:06 +08:00
81 changed files with 1892 additions and 1773 deletions

View File

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

View File

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

View File

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

View File

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

View File

@@ -2,7 +2,7 @@
"name": "napcat",
"private": true,
"type": "module",
"version": "1.4.6",
"version": "1.5.0",
"scripts": {
"watch:dev": "vite --mode development",
"watch:prod": "vite --mode production",

View File

@@ -1,181 +1,182 @@
import { NodeIKernelMsgListener } from "@/core";
import { NodeIQQNTWrapperSession } from "@/core/wrapper";
import { randomUUID } from "crypto";
interface Internal_MapKey {
timeout: number,
createtime: number,
func: Function
}
export class ListenerClassBase {
[key: string]: string;
}
export interface ListenerIBase {
// eslint-disable-next-line @typescript-eslint/no-misused-new
new(listener: any): ListenerClassBase;
}
export class NTEventWrapper {
private ListenerMap: { [key: string]: ListenerIBase } | undefined;//ListenerName-Unique -> Listener构造函数
private WrapperSession: NodeIQQNTWrapperSession | undefined;//WrapperSession
private ListenerManger: Map<string, ListenerClassBase> = new Map<string, ListenerClassBase>(); //ListenerName-Unique -> Listener实例
private EventTask = new Map<string, Map<string, Map<string, Internal_MapKey>>>();//tasks ListenerMainName -> ListenerSubName-> uuid -> {timeout,createtime,func}
constructor() {
}
createProxyDispatch(ListenerMainName: string) {
let current = this;
return new Proxy({}, {
get(target: any, prop: any, receiver: any) {
// console.log('get', prop, typeof target[prop]);
if (typeof target[prop] === 'undefined') {
// 如果方法不存在返回一个函数这个函数调用existentMethod
return (...args: any[]) => {
current.DispatcherListener.apply(current, [ListenerMainName, prop, ...args]).then();
};
}
// 如果方法存在,正常返回
return Reflect.get(target, prop, receiver);
}
});
}
init({ ListenerMap, WrapperSession }: { ListenerMap: { [key: string]: typeof ListenerClassBase }, WrapperSession: NodeIQQNTWrapperSession }) {
this.ListenerMap = ListenerMap;
this.WrapperSession = WrapperSession;
}
CreatEventFunction<T extends (...args: any) => any>(eventName: string): T | undefined {
let eventNameArr = eventName.split('/');
type eventType = {
[key: string]: () => { [key: string]: (...params: Parameters<T>) => Promise<ReturnType<T>> }
}
if (eventNameArr.length > 1) {
let serviceName = 'get' + eventNameArr[0].replace('NodeIKernel', '');
let eventName = eventNameArr[1];
//getNodeIKernelGroupListener,GroupService
//console.log('2', eventName);
let services = (this.WrapperSession as unknown as eventType)[serviceName]();
let event = services[eventName];
//重新绑定this
event = event.bind(services);
if (event) {
return event as T;
}
return undefined;
}
}
CreatListenerFunction<T>(listenerMainName: string, uniqueCode: string = ""): T {
let ListenerType = this.ListenerMap![listenerMainName];
let Listener = this.ListenerManger.get(listenerMainName + uniqueCode);
if (!Listener && ListenerType) {
Listener = new ListenerType(this.createProxyDispatch(listenerMainName));
let ServiceSubName = listenerMainName.match(/^NodeIKernel(.*?)Listener$/)![1];
let Service = "NodeIKernel" + ServiceSubName + "Service/addKernel" + ServiceSubName + "Listener";
let addfunc = this.CreatEventFunction<(listener: T) => number>(Service);
addfunc!(Listener as T);
//console.log(addfunc!(Listener as T));
this.ListenerManger.set(listenerMainName + uniqueCode, Listener);
}
return Listener as T;
}
//统一回调清理事件
async DispatcherListener(ListenerMainName: string, ListenerSubName: string, ...args: any[]) {
//console.log(ListenerMainName, this.EventTask.get(ListenerMainName), ListenerSubName, this.EventTask.get(ListenerMainName)?.get(ListenerSubName));
this.EventTask.get(ListenerMainName)?.get(ListenerSubName)?.forEach((task, uuid) => {
//console.log(task.func, uuid, task.createtime, task.timeout);
if (task.createtime + task.timeout < Date.now()) {
this.EventTask.get(ListenerMainName)?.get(ListenerSubName)?.delete(uuid);
return;
}
task.func(...args);
})
}
async CallNoListenerEvent<EventType extends (...args: any[]) => Promise<any>,>(EventName = '', timeout: number = 3000, ...args: Parameters<EventType>) {
return new Promise<ReturnType<EventType>>(async (resolve, reject) => {
let EventFunc = this.CreatEventFunction<EventType>(EventName);
let complete = false;
let Timeouter = setTimeout(() => {
if (!complete) {
reject(new Error('NTEvent EventName:' + EventName + ' timeout'));
}
}, timeout);
let retData = await EventFunc!(...args);
complete = true;
resolve(retData);
});
}
async CallNormalEvent<EventType extends (...args: any[]) => Promise<any>, ListenerType extends (...args: any[]) => void>(EventName = '', ListenerName = '', waitTimes = 1, timeout: number = 3000, ...args: Parameters<EventType>) {
return new Promise<[EventRet: Awaited<ReturnType<EventType>>, ...Parameters<ListenerType>]>(async (resolve, reject) => {
const id = randomUUID();
let complete = 0;
let retData: ArrayLike<Parameters<ListenerType>> | undefined = undefined;
let retEvent: any = {};
let databack = () => {
if (complete < waitTimes) {
reject(new Error('NTEvent EventName:' + EventName + ' ListenerName:' + ListenerName + ' timeout'));
} else {
resolve([retEvent as Awaited<ReturnType<EventType>>, ...(retData as Parameters<ListenerType>)]);
}
}
let Timeouter = setTimeout(databack, timeout);
let ListenerNameList = ListenerName.split('/');
let ListenerMainName = ListenerNameList[0];
let ListenerSubName = ListenerNameList[1];
let eventCallbak = {
timeout: timeout,
createtime: Date.now(),
func: (...args: any[]) => {
complete++;
//console.log('func', ...args);
retData = args as ArrayLike<Parameters<ListenerType>>;
if (complete >= waitTimes) {
clearTimeout(Timeouter);
databack();
}
}
}
if (!this.EventTask.get(ListenerMainName)) {
this.EventTask.set(ListenerMainName, new Map());
}
if (!(this.EventTask.get(ListenerMainName)?.get(ListenerSubName))) {
this.EventTask.get(ListenerMainName)?.set(ListenerSubName, new Map());
}
this.EventTask.get(ListenerMainName)?.get(ListenerSubName)?.set(id, eventCallbak);
this.CreatListenerFunction(ListenerMainName);
let EventFunc = this.CreatEventFunction<EventType>(EventName);
retEvent = await EventFunc!(...args);
});
}
}
export const NTEventDispatch = new NTEventWrapper();
// 示例代码 快速创建事件
// let NTEvent = new NTEventWrapper();
// let TestEvent = NTEvent.CreatEventFunction<(force: boolean) => Promise<Number>>('NodeIKernelProfileLikeService/GetTest');
// if (TestEvent) {
// TestEvent(true);
// }
// 示例代码 快速创建监听Listener类
// let NTEvent = new NTEventWrapper();
// NTEvent.CreatListenerFunction<NodeIKernelMsgListener>('NodeIKernelMsgListener', 'core')
// 调用接口
//let NTEvent = new NTEventWrapper();
//let ret = await NTEvent.CallNormalEvent<(force: boolean) => Promise<Number>, (data1: string, data2: number) => void>('NodeIKernelProfileLikeService/GetTest', 'NodeIKernelMsgListener/onAddSendMsg', 1, 3000, true);
// 注册监听 解除监听
// NTEventDispatch.RigisterListener('NodeIKernelMsgListener/onAddSendMsg','core',cb);
// NTEventDispatch.UnRigisterListener('NodeIKernelMsgListener/onAddSendMsg','core');
// let GetTest = NTEventDispatch.CreatEvent('NodeIKernelProfileLikeService/GetTest','NodeIKernelMsgListener/onAddSendMsg',Mode);
// GetTest('test');
// always模式
import { NodeIKernelMsgListener } from '@/core';
import { NodeIQQNTWrapperSession } from '@/core/wrapper';
import { randomUUID } from 'crypto';
interface Internal_MapKey {
timeout: number,
createtime: number,
func: (...arg: any[]) => any,
}
export class ListenerClassBase {
[key: string]: string;
}
export interface ListenerIBase {
// eslint-disable-next-line @typescript-eslint/no-misused-new
new(listener: any): ListenerClassBase;
}
export class NTEventWrapper {
private ListenerMap: { [key: string]: ListenerIBase } | undefined;//ListenerName-Unique -> Listener构造函数
private WrapperSession: NodeIQQNTWrapperSession | undefined;//WrapperSession
private ListenerManger: Map<string, ListenerClassBase> = new Map<string, ListenerClassBase>(); //ListenerName-Unique -> Listener实例
private EventTask = new Map<string, Map<string, Map<string, Internal_MapKey>>>();//tasks ListenerMainName -> ListenerSubName-> uuid -> {timeout,createtime,func}
constructor() {
}
createProxyDispatch(ListenerMainName: string) {
// eslint-disable-next-line @typescript-eslint/no-this-alias
const current = this;
return new Proxy({}, {
get(target: any, prop: any, receiver: any) {
// console.log('get', prop, typeof target[prop]);
if (typeof target[prop] === 'undefined') {
// 如果方法不存在返回一个函数这个函数调用existentMethod
return (...args: any[]) => {
current.DispatcherListener.apply(current, [ListenerMainName, prop, ...args]).then();
};
}
// 如果方法存在,正常返回
return Reflect.get(target, prop, receiver);
}
});
}
init({ ListenerMap, WrapperSession }: { ListenerMap: { [key: string]: typeof ListenerClassBase }, WrapperSession: NodeIQQNTWrapperSession }) {
this.ListenerMap = ListenerMap;
this.WrapperSession = WrapperSession;
}
CreatEventFunction<T extends (...args: any) => any>(eventName: string): T | undefined {
const eventNameArr = eventName.split('/');
type eventType = {
[key: string]: () => { [key: string]: (...params: Parameters<T>) => Promise<ReturnType<T>> }
}
if (eventNameArr.length > 1) {
const serviceName = 'get' + eventNameArr[0].replace('NodeIKernel', '');
const eventName = eventNameArr[1];
//getNodeIKernelGroupListener,GroupService
//console.log('2', eventName);
const services = (this.WrapperSession as unknown as eventType)[serviceName]();
let event = services[eventName];
//重新绑定this
event = event.bind(services);
if (event) {
return event as T;
}
return undefined;
}
}
CreatListenerFunction<T>(listenerMainName: string, uniqueCode: string = ''): T {
const ListenerType = this.ListenerMap![listenerMainName];
let Listener = this.ListenerManger.get(listenerMainName + uniqueCode);
if (!Listener && ListenerType) {
Listener = new ListenerType(this.createProxyDispatch(listenerMainName));
const ServiceSubName = listenerMainName.match(/^NodeIKernel(.*?)Listener$/)![1];
const Service = 'NodeIKernel' + ServiceSubName + 'Service/addKernel' + ServiceSubName + 'Listener';
const addfunc = this.CreatEventFunction<(listener: T) => number>(Service);
addfunc!(Listener as T);
//console.log(addfunc!(Listener as T));
this.ListenerManger.set(listenerMainName + uniqueCode, Listener);
}
return Listener as T;
}
//统一回调清理事件
async DispatcherListener(ListenerMainName: string, ListenerSubName: string, ...args: any[]) {
//console.log(ListenerMainName, this.EventTask.get(ListenerMainName), ListenerSubName, this.EventTask.get(ListenerMainName)?.get(ListenerSubName));
this.EventTask.get(ListenerMainName)?.get(ListenerSubName)?.forEach((task, uuid) => {
//console.log(task.func, uuid, task.createtime, task.timeout);
if (task.createtime + task.timeout < Date.now()) {
this.EventTask.get(ListenerMainName)?.get(ListenerSubName)?.delete(uuid);
return;
}
task.func(...args);
});
}
async CallNoListenerEvent<EventType extends (...args: any[]) => Promise<any>,>(EventName = '', timeout: number = 3000, ...args: Parameters<EventType>) {
return new Promise<ReturnType<EventType>>(async (resolve, reject) => {
const EventFunc = this.CreatEventFunction<EventType>(EventName);
let complete = false;
const Timeouter = setTimeout(() => {
if (!complete) {
reject(new Error('NTEvent EventName:' + EventName + ' timeout'));
}
}, timeout);
const retData = await EventFunc!(...args);
complete = true;
resolve(retData);
});
}
async CallNormalEvent<EventType extends (...args: any[]) => Promise<any>, ListenerType extends (...args: any[]) => void>(EventName = '', ListenerName = '', waitTimes = 1, timeout: number = 3000, ...args: Parameters<EventType>) {
return new Promise<[EventRet: Awaited<ReturnType<EventType>>, ...Parameters<ListenerType>]>(async (resolve, reject) => {
const id = randomUUID();
let complete = 0;
let retData: ArrayLike<Parameters<ListenerType>> | undefined = undefined;
let retEvent: any = {};
const databack = () => {
if (complete < waitTimes) {
reject(new Error('NTEvent EventName:' + EventName + ' ListenerName:' + ListenerName + ' timeout'));
} else {
resolve([retEvent as Awaited<ReturnType<EventType>>, ...(retData as Parameters<ListenerType>)]);
}
};
const Timeouter = setTimeout(databack, timeout);
const ListenerNameList = ListenerName.split('/');
const ListenerMainName = ListenerNameList[0];
const ListenerSubName = ListenerNameList[1];
const eventCallbak = {
timeout: timeout,
createtime: Date.now(),
func: (...args: any[]) => {
complete++;
//console.log('func', ...args);
retData = args as ArrayLike<Parameters<ListenerType>>;
if (complete >= waitTimes) {
clearTimeout(Timeouter);
databack();
}
}
};
if (!this.EventTask.get(ListenerMainName)) {
this.EventTask.set(ListenerMainName, new Map());
}
if (!(this.EventTask.get(ListenerMainName)?.get(ListenerSubName))) {
this.EventTask.get(ListenerMainName)?.set(ListenerSubName, new Map());
}
this.EventTask.get(ListenerMainName)?.get(ListenerSubName)?.set(id, eventCallbak);
this.CreatListenerFunction(ListenerMainName);
const EventFunc = this.CreatEventFunction<EventType>(EventName);
retEvent = await EventFunc!(...args);
});
}
}
export const NTEventDispatch = new NTEventWrapper();
// 示例代码 快速创建事件
// let NTEvent = new NTEventWrapper();
// let TestEvent = NTEvent.CreatEventFunction<(force: boolean) => Promise<Number>>('NodeIKernelProfileLikeService/GetTest');
// if (TestEvent) {
// TestEvent(true);
// }
// 示例代码 快速创建监听Listener类
// let NTEvent = new NTEventWrapper();
// NTEvent.CreatListenerFunction<NodeIKernelMsgListener>('NodeIKernelMsgListener', 'core')
// 调用接口
//let NTEvent = new NTEventWrapper();
//let ret = await NTEvent.CallNormalEvent<(force: boolean) => Promise<Number>, (data1: string, data2: number) => void>('NodeIKernelProfileLikeService/GetTest', 'NodeIKernelMsgListener/onAddSendMsg', 1, 3000, true);
// 注册监听 解除监听
// NTEventDispatch.RigisterListener('NodeIKernelMsgListener/onAddSendMsg','core',cb);
// NTEventDispatch.UnRigisterListener('NodeIKernelMsgListener/onAddSendMsg','core');
// let GetTest = NTEventDispatch.CreatEvent('NodeIKernelProfileLikeService/GetTest','NodeIKernelMsgListener/onAddSendMsg',Mode);
// GetTest('test');
// always模式
// NTEventDispatch.CreatEvent('NodeIKernelProfileLikeService/GetTest','NodeIKernelMsgListener/onAddSendMsg',Mode,(...args:any[])=>{ console.log(args) });

View File

@@ -1,145 +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;
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;

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

@@ -1 +1 @@
function _0x5222(){var _0x3091f8=['6273aTfWba','9981447HMXcwA','2890585oSjsvJ','8TdYIWz','3243588DGNCtB','getGroupCode','43803705QezSUk','1200309ykLrjF','1770620oiFLFj','6070xVmufr','18IROTnB','4AICfZO'];_0x5222=function(){return _0x3091f8;};return _0x5222();}var _0x5fba51=_0x5d34;(function(_0x4bf11c,_0x14198d){var _0x2fd03f=_0x5d34,_0x4d6419=_0x4bf11c();while(!![]){try{var _0x4850c9=parseInt(_0x2fd03f(0xf8))/0x1+-parseInt(_0x2fd03f(0xed))/0x2+-parseInt(_0x2fd03f(0xf5))/0x3*(-parseInt(_0x2fd03f(0xf0))/0x4)+-parseInt(_0x2fd03f(0xf3))/0x5*(-parseInt(_0x2fd03f(0xef))/0x6)+-parseInt(_0x2fd03f(0xf2))/0x7*(-parseInt(_0x2fd03f(0xf4))/0x8)+-parseInt(_0x2fd03f(0xf1))/0x9*(-parseInt(_0x2fd03f(0xee))/0xa)+-parseInt(_0x2fd03f(0xf7))/0xb;if(_0x4850c9===_0x14198d)break;else _0x4d6419['push'](_0x4d6419['shift']());}catch(_0xba978e){_0x4d6419['push'](_0x4d6419['shift']());}}}(_0x5222,0xf380f));function _0x5d34(_0x5ef46e,_0x5e79b3){var _0x522282=_0x5222();return _0x5d34=function(_0x5d3489,_0x588abc){_0x5d3489=_0x5d3489-0xed;var _0x48f8f8=_0x522282[_0x5d3489];return _0x48f8f8;},_0x5d34(_0x5ef46e,_0x5e79b3);}export class DependsAdapter{['onMSFStatusChange'](_0x358442,_0x58882d){}['onMSFSsoError'](_0xfb5a9){}[_0x5fba51(0xf6)](_0x260bf6){}}
var _0x1061d1=_0x4744;(function(_0x2a10e0,_0x258add){var _0x50331b=_0x4744,_0x314614=_0x2a10e0();while(!![]){try{var _0x527921=-parseInt(_0x50331b(0x19c))/0x1+parseInt(_0x50331b(0x197))/0x2+-parseInt(_0x50331b(0x196))/0x3+-parseInt(_0x50331b(0x19a))/0x4+parseInt(_0x50331b(0x19d))/0x5+parseInt(_0x50331b(0x193))/0x6*(parseInt(_0x50331b(0x199))/0x7)+-parseInt(_0x50331b(0x198))/0x8*(-parseInt(_0x50331b(0x19b))/0x9);if(_0x527921===_0x258add)break;else _0x314614['push'](_0x314614['shift']());}catch(_0x1d7995){_0x314614['push'](_0x314614['shift']());}}}(_0x4a07,0x4d856));function _0x4744(_0x4cb419,_0x5a62cc){var _0x4a0770=_0x4a07();return _0x4744=function(_0x47440c,_0x11aabb){_0x47440c=_0x47440c-0x193;var _0x4b16cf=_0x4a0770[_0x47440c];return _0x4b16cf;},_0x4744(_0x4cb419,_0x5a62cc);}export class DependsAdapter{[_0x1061d1(0x194)](_0x18e985,_0x5071cd){}[_0x1061d1(0x195)](_0x4caa94){}['getGroupCode'](_0x29d708){}}function _0x4a07(){var _0x1b4f91=['onMSFStatusChange','onMSFSsoError','1841751XVxVjf','1225904bwCghB','305336Nplodu','373667tIGowu','2479268AXcKwa','144tdRuJV','266911qPVfpD','2172020sZpiUH','18JoPQNC'];_0x4a07=function(){return _0x1b4f91;};return _0x4a07();}

View File

@@ -1 +1 @@
var _0x446bc4=_0x23d3;(function(_0x29f86c,_0x5c4b14){var _0x248c41=_0x23d3,_0x2d6705=_0x29f86c();while(!![]){try{var _0x492b46=-parseInt(_0x248c41(0x1e6))/0x1*(parseInt(_0x248c41(0x1f1))/0x2)+parseInt(_0x248c41(0x1ea))/0x3*(-parseInt(_0x248c41(0x1e5))/0x4)+parseInt(_0x248c41(0x1e7))/0x5*(-parseInt(_0x248c41(0x1e4))/0x6)+parseInt(_0x248c41(0x1ee))/0x7*(-parseInt(_0x248c41(0x1e8))/0x8)+-parseInt(_0x248c41(0x1ef))/0x9*(-parseInt(_0x248c41(0x1ec))/0xa)+parseInt(_0x248c41(0x1eb))/0xb+parseInt(_0x248c41(0x1ed))/0xc;if(_0x492b46===_0x5c4b14)break;else _0x2d6705['push'](_0x2d6705['shift']());}catch(_0x19c0ed){_0x2d6705['push'](_0x2d6705['shift']());}}}(_0x31c0,0x869c3));function _0x23d3(_0x4975dd,_0x15298b){var _0x31c0be=_0x31c0();return _0x23d3=function(_0x23d3fb,_0x3a72cc){_0x23d3fb=_0x23d3fb-0x1e3;var _0x3c86b0=_0x31c0be[_0x23d3fb];return _0x3c86b0;},_0x23d3(_0x4975dd,_0x15298b);}export class DispatcherAdapter{[_0x446bc4(0x1f0)](_0x29d72b){}[_0x446bc4(0x1e3)](_0x2e1f1a){}[_0x446bc4(0x1e9)](_0x65ccb0){}}function _0x31c0(){var _0x3b66c2=['11163240gZXndg','418210TdxHIv','24745548UBUMrc','6461469ZxcrWQ','9xVzuwt','dispatchRequest','9686KBUNcw','dispatchCall','1287066gmiUyH','4Yfdlzd','180wspPyu','5lktlSW','8uPKQfS','dispatchCallWithJson','1674327qyXtIY'];_0x31c0=function(){return _0x3b66c2;};return _0x31c0();}
function _0x1b0d(_0x227d16,_0x4d3a9c){var _0x5dfe5c=_0x5dfe();return _0x1b0d=function(_0x1b0d57,_0x10ae68){_0x1b0d57=_0x1b0d57-0x1d4;var _0x924160=_0x5dfe5c[_0x1b0d57];return _0x924160;},_0x1b0d(_0x227d16,_0x4d3a9c);}function _0x5dfe(){var _0x4aa4a5=['11743490LgOGHh','6fYiWVv','1958652lmRwYc','1522295TywOnC','4slQRPm','2ynonqR','dispatchCallWithJson','13923JmeQYX','2624251OrQgXp','437992HNmgdY','44447lZumsH','dispatchRequest','11WWcPBS'];_0x5dfe=function(){return _0x4aa4a5;};return _0x5dfe();}var _0x4ce69d=_0x1b0d;(function(_0x132232,_0x193157){var _0x37f43d=_0x1b0d,_0x21da6c=_0x132232();while(!![]){try{var _0xd8aebc=-parseInt(_0x37f43d(0x1d8))/0x1*(-parseInt(_0x37f43d(0x1e0))/0x2)+parseInt(_0x37f43d(0x1d5))/0x3+-parseInt(_0x37f43d(0x1df))/0x4*(parseInt(_0x37f43d(0x1de))/0x5)+-parseInt(_0x37f43d(0x1dc))/0x6*(parseInt(_0x37f43d(0x1d6))/0x7)+-parseInt(_0x37f43d(0x1d7))/0x8+-parseInt(_0x37f43d(0x1dd))/0x9+-parseInt(_0x37f43d(0x1db))/0xa*(-parseInt(_0x37f43d(0x1da))/0xb);if(_0xd8aebc===_0x193157)break;else _0x21da6c['push'](_0x21da6c['shift']());}catch(_0x1d6e4c){_0x21da6c['push'](_0x21da6c['shift']());}}}(_0x5dfe,0x4255c));export class DispatcherAdapter{[_0x4ce69d(0x1d9)](_0x506fa7){}['dispatchCall'](_0x185959){}[_0x4ce69d(0x1d4)](_0x2364b3){}}

View File

@@ -1 +1 @@
var _0x57f683=_0x159c;(function(_0xd6f12e,_0xd56e15){var _0x2105d2=_0x159c,_0x1a3224=_0xd6f12e();while(!![]){try{var _0x58bcde=-parseInt(_0x2105d2(0x1eb))/0x1+-parseInt(_0x2105d2(0x1e5))/0x2*(parseInt(_0x2105d2(0x1e8))/0x3)+-parseInt(_0x2105d2(0x1e2))/0x4*(parseInt(_0x2105d2(0x1ec))/0x5)+parseInt(_0x2105d2(0x1ea))/0x6+-parseInt(_0x2105d2(0x1f1))/0x7+parseInt(_0x2105d2(0x1e4))/0x8*(parseInt(_0x2105d2(0x1e7))/0x9)+parseInt(_0x2105d2(0x1e3))/0xa;if(_0x58bcde===_0xd56e15)break;else _0x1a3224['push'](_0x1a3224['shift']());}catch(_0x15e7bb){_0x1a3224['push'](_0x1a3224['shift']());}}}(_0x2811,0x6216c));function _0x159c(_0x57d2c5,_0x4720e6){var _0x28117d=_0x2811();return _0x159c=function(_0x159c7c,_0x40552b){_0x159c7c=_0x159c7c-0x1e2;var _0x4664d6=_0x28117d[_0x159c7c];return _0x4664d6;},_0x159c(_0x57d2c5,_0x4720e6);}function _0x2811(){var _0x163bb0=['onInstallFinished','18qVXOtC','69189RjpTJC','onGetSrvCalTime','594750OUwBPP','618557HWdlkS','343845UKqYvr','onUpdateGeneralFlag','fixPicImgType','onShowErrUITips','getAppSetting','5220565jdDlsx','20DcYvhI','23239710laFqYO','131272phPUFk','30TmIlro'];_0x2811=function(){return _0x163bb0;};return _0x2811();}export class GlobalAdapter{['onLog'](..._0x523c0b){}[_0x57f683(0x1e9)](..._0x2bf536){}[_0x57f683(0x1ef)](..._0x485cd2){}[_0x57f683(0x1ee)](..._0x12aa96){}[_0x57f683(0x1f0)](..._0x303573){}[_0x57f683(0x1e6)](..._0x52a026){}[_0x57f683(0x1ed)](..._0x59ab7f){}['onGetOfflineMsg'](..._0x5bc331){}}
function _0xd4f5(){var _0x60be0=['onLog','8298OZuKLh','onGetSrvCalTime','2775552oXZApV','2698084NlCzDa','31497YLyxAE','686599RSeFHu','6520318zyvnNL','246xOQOBY','onShowErrUITips','onGetOfflineMsg','4620bOOabS','fixPicImgType','getAppSetting','12911616aoxdne'];_0xd4f5=function(){return _0x60be0;};return _0xd4f5();}var _0xe4342=_0x586d;(function(_0x5ebfa4,_0x4f0141){var _0x768f7d=_0x586d,_0x1b212e=_0x5ebfa4();while(!![]){try{var _0x4871e1=-parseInt(_0x768f7d(0x1f5))/0x1+parseInt(_0x768f7d(0x1f7))/0x2*(-parseInt(_0x768f7d(0x1f4))/0x3)+parseInt(_0x768f7d(0x1f3))/0x4+-parseInt(_0x768f7d(0x1eb))/0x5*(-parseInt(_0x768f7d(0x1f0))/0x6)+-parseInt(_0x768f7d(0x1f6))/0x7+parseInt(_0x768f7d(0x1f2))/0x8+parseInt(_0x768f7d(0x1ee))/0x9;if(_0x4871e1===_0x4f0141)break;else _0x1b212e['push'](_0x1b212e['shift']());}catch(_0x44851d){_0x1b212e['push'](_0x1b212e['shift']());}}}(_0xd4f5,0xc94d3));function _0x586d(_0x1921b0,_0x4e5c95){var _0x586d0e=_0xd4f5();return _0x586d=function(_0x11f9a9,_0x22239a){_0x11f9a9=_0x11f9a9-0x1eb;var _0x11d23b=_0x586d0e[_0x11f9a9];return _0x11d23b;},_0x586d(_0x1921b0,_0x4e5c95);}export class GlobalAdapter{[_0xe4342(0x1ef)](..._0x46daa9){}[_0xe4342(0x1f1)](..._0x257496){}[_0xe4342(0x1f8)](..._0xc16111){}[_0xe4342(0x1ec)](..._0x379207){}[_0xe4342(0x1ed)](..._0x175a7b){}['onInstallFinished'](..._0x2ae097){}['onUpdateGeneralFlag'](..._0x1f5c0f){}[_0xe4342(0x1f9)](..._0xe292fd){}}

View File

@@ -1 +1 @@
(function(_0x459b6c,_0xbe8aba){var _0x5f4bbd=_0x3502,_0x44fc04=_0x459b6c();while(!![]){try{var _0x54afcd=-parseInt(_0x5f4bbd(0x1ca))/0x1+-parseInt(_0x5f4bbd(0x1d0))/0x2+parseInt(_0x5f4bbd(0x1ce))/0x3+parseInt(_0x5f4bbd(0x1c9))/0x4*(-parseInt(_0x5f4bbd(0x1cf))/0x5)+-parseInt(_0x5f4bbd(0x1d1))/0x6+parseInt(_0x5f4bbd(0x1cc))/0x7*(parseInt(_0x5f4bbd(0x1cb))/0x8)+parseInt(_0x5f4bbd(0x1cd))/0x9;if(_0x54afcd===_0xbe8aba)break;else _0x44fc04['push'](_0x44fc04['shift']());}catch(_0x5739de){_0x44fc04['push'](_0x44fc04['shift']());}}}(_0x5d6f,0x1d0e2));export*from'./NodeIDependsAdapter';function _0x3502(_0x51e4e7,_0x739e67){var _0x5d6f78=_0x5d6f();return _0x3502=function(_0x350229,_0x130029){_0x350229=_0x350229-0x1c9;var _0x3c3026=_0x5d6f78[_0x350229];return _0x3c3026;},_0x3502(_0x51e4e7,_0x739e67);}export*from'./NodeIDispatcherAdapter';export*from'./NodeIGlobalAdapter';function _0x5d6f(){var _0x3610ea=['52vRScrw','25856oiAZCW','1368344RjJglV','7Jcuwfz','939915xTemSD','663786JOdCmy','51905luPwgg','109624OShybw','972654VhkBIU'];_0x5d6f=function(){return _0x3610ea;};return _0x5d6f();}
function _0x31d4(){var _0x1e9bcd=['1161711GrnywJ','770364ojnkYr','37430TJFjvw','5378744OUmIzf','1153566YVVucR','487480ZvAQjI','5vOFGyo','721301SMrTGj'];_0x31d4=function(){return _0x1e9bcd;};return _0x31d4();}(function(_0x5b1d31,_0x4d2e34){var _0x3a75fa=_0x1628,_0x38854b=_0x5b1d31();while(!![]){try{var _0x570c2a=-parseInt(_0x3a75fa(0x12b))/0x1+parseInt(_0x3a75fa(0x12a))/0x2+parseInt(_0x3a75fa(0x129))/0x3+-parseInt(_0x3a75fa(0x12e))/0x4*(parseInt(_0x3a75fa(0x12f))/0x5)+parseInt(_0x3a75fa(0x12d))/0x6+parseInt(_0x3a75fa(0x128))/0x7+-parseInt(_0x3a75fa(0x12c))/0x8;if(_0x570c2a===_0x4d2e34)break;else _0x38854b['push'](_0x38854b['shift']());}catch(_0x141178){_0x38854b['push'](_0x38854b['shift']());}}}(_0x31d4,0x39a30));export*from'./NodeIDependsAdapter';function _0x1628(_0x2a63b8,_0xf0be68){var _0x31d4d3=_0x31d4();return _0x1628=function(_0x162876,_0x2eb280){_0x162876=_0x162876-0x128;var _0x2cbab4=_0x31d4d3[_0x162876];return _0x2cbab4;},_0x1628(_0x2a63b8,_0xf0be68);}export*from'./NodeIDispatcherAdapter';export*from'./NodeIGlobalAdapter';

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
function _0x16e3(_0x2cac3f,_0x3950e4){const _0x5d91a3=_0x5d91();return _0x16e3=function(_0x16e37f,_0x41e584){_0x16e37f=_0x16e37f-0x108;let _0x3d98b3=_0x5d91a3[_0x16e37f];return _0x3d98b3;},_0x16e3(_0x2cac3f,_0x3950e4);}const _0x64ac8=_0x16e3;(function(_0x37e875,_0x53b9da){const _0x34f5e9=_0x16e3,_0x1125cc=_0x37e875();while(!![]){try{const _0xfe587f=parseInt(_0x34f5e9(0x109))/0x1+-parseInt(_0x34f5e9(0x10a))/0x2+-parseInt(_0x34f5e9(0x115))/0x3+-parseInt(_0x34f5e9(0x111))/0x4*(-parseInt(_0x34f5e9(0x11b))/0x5)+parseInt(_0x34f5e9(0x116))/0x6+parseInt(_0x34f5e9(0x114))/0x7+-parseInt(_0x34f5e9(0x113))/0x8;if(_0xfe587f===_0x53b9da)break;else _0x1125cc['push'](_0x1125cc['shift']());}catch(_0x4d1972){_0x1125cc['push'](_0x1125cc['shift']());}}}(_0x5d91,0x20979));import{napCatCore}from'@/core';function _0x5d91(){const _0x325d8b=['1356866JiZmvw','410358GYbZyu','1138656WGuhKJ','NodeIKernelBuddyListener/onBuddyListChange','friendUid','zlzYv','getFriends','3590uMjIMR','session','139807KQwyoc','33122ikfAGj','approvalFriendRequest','buddyList','uid','handleFriendRequest','uin','getBuddyService','320HrBzKd','NodeIKernelBuddyService/getBuddyList','2352136fLPXwu'];_0x5d91=function(){return _0x325d8b;};return _0x5d91();}import{uid2UinMap}from'@/core/data';import{NTEventDispatch}from'@/common/utils/EventTask';export class NTQQFriendApi{static async[_0x64ac8(0x11a)](_0x53e4b8=![]){const _0x4e4c14=_0x64ac8,_0x5e5549={'zlzYv':_0x4e4c14(0x112),'dANZY':_0x4e4c14(0x117)};let [_0x477ee8,_0x1ba15b]=await NTEventDispatch['CallNormalEvent'](_0x5e5549[_0x4e4c14(0x119)],_0x5e5549['dANZY'],0x1,0x1388,_0x53e4b8);const _0x5643f1=[];for(const _0x3bd7ad of _0x1ba15b){for(const _0x5e8771 of _0x3bd7ad[_0x4e4c14(0x10c)]){_0x5643f1['push'](_0x5e8771),uid2UinMap[_0x5e8771[_0x4e4c14(0x10d)]]=_0x5e8771[_0x4e4c14(0x10f)];}}return _0x5643f1;}static async[_0x64ac8(0x10e)](_0x243564,_0x13e0f7){const _0x682b79=_0x64ac8;napCatCore[_0x682b79(0x108)][_0x682b79(0x110)]()?.[_0x682b79(0x10b)]({'friendUid':_0x243564[_0x682b79(0x118)],'reqTime':_0x243564['reqTime'],'accept':_0x13e0f7});}}
function _0x44cd(){const _0x53bbf6=['415098RcXDEV','push','reqTime','8834749onjeeP','session','CallNormalEvent','buddyList','1676rrWXBy','NodeIKernelBuddyListener/onBuddyListChange','44699280kNSMHB','56gusyin','1964547OiEIxg','5070600vfPmrs','NodeIKernelBuddyService/getBuddyList','1680bhZSZW','approvalFriendRequest','getFriends','582090Nisahp','uin','handleFriendRequest','2sUqxFV','uid','qjTeZ'];_0x44cd=function(){return _0x53bbf6;};return _0x44cd();}const _0x4d614a=_0x5f1e;(function(_0x40a84c,_0x50bfd1){const _0x424a0e=_0x5f1e,_0x2cc564=_0x40a84c();while(!![]){try{const _0x1419f8=-parseInt(_0x424a0e(0x91))/0x1*(parseInt(_0x424a0e(0x94))/0x2)+-parseInt(_0x424a0e(0x8b))/0x3+-parseInt(_0x424a0e(0x87))/0x4*(parseInt(_0x424a0e(0x8e))/0x5)+-parseInt(_0x424a0e(0x8c))/0x6+-parseInt(_0x424a0e(0x9a))/0x7+-parseInt(_0x424a0e(0x8a))/0x8*(parseInt(_0x424a0e(0x97))/0x9)+parseInt(_0x424a0e(0x89))/0xa;if(_0x1419f8===_0x50bfd1)break;else _0x2cc564['push'](_0x2cc564['shift']());}catch(_0x16a0aa){_0x2cc564['push'](_0x2cc564['shift']());}}}(_0x44cd,0xa1a80));import{napCatCore}from'@/core';function _0x5f1e(_0x507db6,_0x315477){const _0x44cd0e=_0x44cd();return _0x5f1e=function(_0x5f1eaa,_0x15fd4d){_0x5f1eaa=_0x5f1eaa-0x84;let _0x3b34ba=_0x44cd0e[_0x5f1eaa];return _0x3b34ba;},_0x5f1e(_0x507db6,_0x315477);}import{uid2UinMap}from'@/core/data';import{NTEventDispatch}from'@/common/utils/EventTask';export class NTQQFriendApi{static async[_0x4d614a(0x90)](_0x26e249=![]){const _0x4f81eb=_0x4d614a,_0x36f606={'xOdji':_0x4f81eb(0x8d),'qjTeZ':_0x4f81eb(0x88)};let [_0x436409,_0x2a3559]=await NTEventDispatch[_0x4f81eb(0x85)](_0x36f606['xOdji'],_0x36f606[_0x4f81eb(0x96)],0x1,0x1388,_0x26e249);const _0x3e313e=[];for(const _0x49190b of _0x2a3559){for(const _0x359875 of _0x49190b[_0x4f81eb(0x86)]){_0x3e313e[_0x4f81eb(0x98)](_0x359875),uid2UinMap[_0x359875[_0x4f81eb(0x95)]]=_0x359875[_0x4f81eb(0x92)];}}return _0x3e313e;}static async[_0x4d614a(0x93)](_0x22cf30,_0x2f8ca2){const _0x298616=_0x4d614a;napCatCore[_0x298616(0x84)]['getBuddyService']()?.[_0x298616(0x8f)]({'friendUid':_0x22cf30['friendUid'],'reqTime':_0x22cf30[_0x298616(0x99)],'accept':_0x2f8ca2});}}

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
(function(_0x2b687f,_0x36155e){var _0x2a495c=_0x5e8b,_0x1af3d6=_0x2b687f();while(!![]){try{var _0x57bc47=parseInt(_0x2a495c(0x6d))/0x1+-parseInt(_0x2a495c(0x74))/0x2*(-parseInt(_0x2a495c(0x6e))/0x3)+-parseInt(_0x2a495c(0x75))/0x4+parseInt(_0x2a495c(0x72))/0x5+-parseInt(_0x2a495c(0x6c))/0x6*(-parseInt(_0x2a495c(0x71))/0x7)+-parseInt(_0x2a495c(0x6f))/0x8*(parseInt(_0x2a495c(0x70))/0x9)+-parseInt(_0x2a495c(0x76))/0xa*(parseInt(_0x2a495c(0x73))/0xb);if(_0x57bc47===_0x36155e)break;else _0x1af3d6['push'](_0x1af3d6['shift']());}catch(_0x4a0474){_0x1af3d6['push'](_0x1af3d6['shift']());}}}(_0x28b0,0x8098f));export*from'./file';export*from'./friend';function _0x5e8b(_0x4dbf5e,_0x40ff6a){var _0x28b071=_0x28b0();return _0x5e8b=function(_0x5e8bd0,_0x398021){_0x5e8bd0=_0x5e8bd0-0x6c;var _0x416fc4=_0x28b071[_0x5e8bd0];return _0x416fc4;},_0x5e8b(_0x4dbf5e,_0x40ff6a);}export*from'./group';export*from'./msg';export*from'./user';export*from'./webapi';export*from'./sign';function _0x28b0(){var _0x4863b3=['30StkYjn','1135768WXsnad','9CwEkei','133hhFQQI','3556650vFJLxQ','11gXuNxp','102074fiGDhE','1009820BNwrhv','19514420WHHuFL','200778uMPPKC','1015106FJwFaR'];_0x28b0=function(){return _0x4863b3;};return _0x28b0();}export*from'./system';
(function(_0x10c93e,_0x8a35ee){var _0x34e403=_0x2179,_0x293caa=_0x10c93e();while(!![]){try{var _0x27f966=-parseInt(_0x34e403(0x69))/0x1+parseInt(_0x34e403(0x6d))/0x2+-parseInt(_0x34e403(0x67))/0x3*(parseInt(_0x34e403(0x6c))/0x4)+parseInt(_0x34e403(0x68))/0x5*(-parseInt(_0x34e403(0x6a))/0x6)+-parseInt(_0x34e403(0x64))/0x7*(parseInt(_0x34e403(0x6f))/0x8)+parseInt(_0x34e403(0x6b))/0x9*(-parseInt(_0x34e403(0x66))/0xa)+parseInt(_0x34e403(0x65))/0xb*(parseInt(_0x34e403(0x6e))/0xc);if(_0x27f966===_0x8a35ee)break;else _0x293caa['push'](_0x293caa['shift']());}catch(_0x5e43de){_0x293caa['push'](_0x293caa['shift']());}}}(_0x4081,0x824ec));export*from'./file';export*from'./friend';export*from'./group';export*from'./msg';export*from'./user';export*from'./webapi';export*from'./sign';function _0x2179(_0x23e756,_0x2e99a9){var _0x40814e=_0x4081();return _0x2179=function(_0x217956,_0x39d2cb){_0x217956=_0x217956-0x64;var _0x42e7ab=_0x40814e[_0x217956];return _0x42e7ab;},_0x2179(_0x23e756,_0x2e99a9);}function _0x4081(){var _0x17d96a=['1365088XqpduL','2016976QPUPmG','852VkXjic','8qqxltC','1863463EttXXx','216183gnchEc','1690wZqsVq','3qPGSPr','5wKVTAf','190925tDQMCO','4776396cKKpxL','14679JGMoQt'];_0x4081=function(){return _0x17d96a;};return _0x4081();}export*from'./system';

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
(function(_0x57745a,_0x1a3c84){const _0x2277fc=_0x1a0e,_0x2d9c64=_0x57745a();while(!![]){try{const _0x1effcc=-parseInt(_0x2277fc(0x164))/0x1*(parseInt(_0x2277fc(0x157))/0x2)+parseInt(_0x2277fc(0x180))/0x3*(-parseInt(_0x2277fc(0x160))/0x4)+parseInt(_0x2277fc(0x183))/0x5*(parseInt(_0x2277fc(0x182))/0x6)+parseInt(_0x2277fc(0x17a))/0x7+-parseInt(_0x2277fc(0x16c))/0x8+-parseInt(_0x2277fc(0x16e))/0x9+parseInt(_0x2277fc(0x168))/0xa*(parseInt(_0x2277fc(0x161))/0xb);if(_0x1effcc===_0x1a3c84)break;else _0x2d9c64['push'](_0x2d9c64['shift']());}catch(_0x5e1791){_0x2d9c64['push'](_0x2d9c64['shift']());}}}(_0x21f4,0xacd09));import{logDebug}from'@/common/utils/log';function _0x21f4(){const _0x42bb31=['p_skey','sourcelogo','skey','353454PwuBmL','&ark=','6fnKqAa','1557445ceixFn','bvqVR','getQzoneCookies','\x5c/\x5c/','6WsmDjc',';\x20p_uin=o','getSkey','UWGgQ',';\x20uin=o','dqQFX','vKtNy','prompt','GET','24tkOImJ','364749mNlpAs','jumpUrl','GIZPu','127661YWBBmO','mGSXm','stringify','signed_ark','710gCpWvv','tianxuan.imgJumpArk','title','preview','535984KtRFYr','source','9009027RNpBAr','MiniApp\x20JSON\x20消息生成失败','tag','replace','gMdSV','FpoJe','MOTyE','XRUAa','genBkn','HouMH','miniapp','XvEMd','1399741aFLNRy','https://h5.qzone.qq.com/v2/vip/tx/trpc/ark-share/GenNewSignedArk?g_tk=','uin'];_0x21f4=function(){return _0x42bb31;};return _0x21f4();}import{NTQQUserApi}from'./user';function _0x1a0e(_0x10c532,_0x2cda74){const _0x21f438=_0x21f4();return _0x1a0e=function(_0x1a0e4c,_0xeae817){_0x1a0e4c=_0x1a0e4c-0x157;let _0x39783d=_0x21f438[_0x1a0e4c];return _0x39783d;},_0x1a0e(_0x10c532,_0x2cda74);}import{selfInfo}from'../data';import{RequestUtil}from'@/common/utils/request';import{WebApi}from'./webapi';export async function SignMiniApp(_0x562e1a){const _0x11c92b=_0x1a0e,_0x36180b={'XRUAa':_0x11c92b(0x169),'mGSXm':_0x11c92b(0x178),'GIZPu':'normal','MOTyE':_0x11c92b(0x186),'XvEMd':function(_0x2c07ff,_0x95d6fc){return _0x2c07ff+_0x95d6fc;},'UWGgQ':function(_0x55f76f,_0x382560){return _0x55f76f+_0x382560;},'vKtNy':'p_skey=','FpoJe':';\x20skey=','gMdSV':_0x11c92b(0x158),'lnlLx':_0x11c92b(0x15b),'HouMH':function(_0x399641,_0x317dc2){return _0x399641+_0x317dc2;},'ilxji':function(_0x11d6fb,_0x35d8cf){return _0x11d6fb+_0x35d8cf;},'xaIfm':function(_0x464a77,_0x5cf494){return _0x464a77(_0x5cf494);},'bvqVR':_0x11c92b(0x15f),'dqQFX':_0x11c92b(0x16f)};let _0x50da80={'app':'com.tencent.miniapp.lua','bizsrc':_0x36180b[_0x11c92b(0x175)],'view':_0x36180b[_0x11c92b(0x165)],'prompt':_0x562e1a[_0x11c92b(0x15e)],'config':{'type':_0x36180b[_0x11c92b(0x163)],'forward':0x1,'autosize':0x0},'meta':{'miniapp':{'title':_0x562e1a[_0x11c92b(0x16a)],'preview':_0x562e1a[_0x11c92b(0x16b)][_0x11c92b(0x171)](/\\/g,_0x36180b[_0x11c92b(0x174)]),'jumpUrl':_0x562e1a[_0x11c92b(0x162)]['replace'](/\\/g,_0x11c92b(0x186)),'tag':_0x562e1a[_0x11c92b(0x170)],'tagIcon':_0x562e1a['tagIcon'][_0x11c92b(0x171)](/\\/g,_0x36180b[_0x11c92b(0x174)]),'source':_0x562e1a[_0x11c92b(0x16d)],'sourcelogo':_0x562e1a[_0x11c92b(0x17e)][_0x11c92b(0x171)](/\\/g,_0x11c92b(0x186))}}};const _0x19a52a=await NTQQUserApi[_0x11c92b(0x159)]();let _0x5c56b0=await NTQQUserApi[_0x11c92b(0x185)]();const _0x148dab=WebApi[_0x11c92b(0x176)](_0x5c56b0[_0x11c92b(0x17d)]),_0x577015=_0x36180b['XvEMd'](_0x36180b['XvEMd'](_0x36180b[_0x11c92b(0x15a)](_0x36180b[_0x11c92b(0x179)](_0x36180b[_0x11c92b(0x15a)](_0x36180b['XvEMd'](_0x36180b[_0x11c92b(0x179)](_0x36180b[_0x11c92b(0x15d)],_0x5c56b0['p_skey']),_0x36180b[_0x11c92b(0x173)]),_0x5c56b0[_0x11c92b(0x17f)]),_0x36180b[_0x11c92b(0x172)]),selfInfo[_0x11c92b(0x17c)]),_0x36180b['lnlLx']),selfInfo[_0x11c92b(0x17c)]);let _0x5765c6=_0x36180b[_0x11c92b(0x177)](_0x36180b['ilxji'](_0x11c92b(0x17b)+_0x148dab,_0x11c92b(0x181)),_0x36180b['xaIfm'](encodeURIComponent,JSON[_0x11c92b(0x166)](_0x50da80))),_0x47ae97='';try{let _0x3f0e2f=await RequestUtil['HttpGetJson'](_0x5765c6,_0x36180b[_0x11c92b(0x184)],undefined,{'Cookie':_0x577015});_0x47ae97=_0x3f0e2f['data'][_0x11c92b(0x167)];}catch(_0x5c0005){logDebug(_0x36180b[_0x11c92b(0x15c)],_0x5c0005);}return _0x47ae97;}
function _0x44dc(){const _0x1bef26=['preview','312zyeoRL','uin','4AAfMHW','1731788kNQBWL','GET','hNvYw','normal','FOqhW','getSkey','Itgml','JmkDj',';\x20uin=o',';\x20skey=','miniapp','33047MvPYUD','com.tencent.miniapp.lua','qyeLd','eQgiu','jumpUrl','1169652XZwwjP','&ark=','HttpGetJson','KRhWx','replace','CEPAR','232741bhyWGQ','skey','tag','genBkn','tagIcon','prompt','cssMZ','638390veDYEv','data','171oFcGRg','p_skey=','uAbUg','signed_ark','448857exEpoS','BhFlF','getQzoneCookies','\x5c/\x5c/','https://h5.qzone.qq.com/v2/vip/tx/trpc/ark-share/GenNewSignedArk?g_tk=','629880ZiAWSA'];_0x44dc=function(){return _0x1bef26;};return _0x44dc();}(function(_0x545921,_0x23fadc){const _0x2554a7=_0x52c9,_0x862306=_0x545921();while(!![]){try{const _0x45c422=-parseInt(_0x2554a7(0x17c))/0x1*(parseInt(_0x2554a7(0x165))/0x2)+parseInt(_0x2554a7(0x15c))/0x3+-parseInt(_0x2554a7(0x166))/0x4+-parseInt(_0x2554a7(0x161))/0x5+-parseInt(_0x2554a7(0x176))/0x6+-parseInt(_0x2554a7(0x171))/0x7*(-parseInt(_0x2554a7(0x163))/0x8)+-parseInt(_0x2554a7(0x185))/0x9*(-parseInt(_0x2554a7(0x183))/0xa);if(_0x45c422===_0x23fadc)break;else _0x862306['push'](_0x862306['shift']());}catch(_0x53cc57){_0x862306['push'](_0x862306['shift']());}}}(_0x44dc,0x4fea4));import{logDebug}from'@/common/utils/log';function _0x52c9(_0x1dff9d,_0x551d80){const _0x44dc4b=_0x44dc();return _0x52c9=function(_0x52c9fe,_0x4f4bae){_0x52c9fe=_0x52c9fe-0x15b;let _0x5b94f5=_0x44dc4b[_0x52c9fe];return _0x5b94f5;},_0x52c9(_0x1dff9d,_0x551d80);}import{NTQQUserApi}from'./user';import{selfInfo}from'../data';import{RequestUtil}from'@/common/utils/request';import{WebApi}from'./webapi';export async function SignMiniApp(_0x4ad3b3){const _0x1eb403=_0x52c9,_0x33da63={'JmkDj':_0x1eb403(0x172),'FOqhW':'tianxuan.imgJumpArk','uAbUg':_0x1eb403(0x170),'hNvYw':'\x5c/\x5c/','eQgiu':function(_0x10fd22,_0x404e44){return _0x10fd22+_0x404e44;},'cssMZ':function(_0x72ffc4,_0xc81475){return _0x72ffc4+_0xc81475;},'KRhWx':function(_0x4f4f25,_0xe633dc){return _0x4f4f25+_0xe633dc;},'BhFlF':_0x1eb403(0x16f),'qyeLd':function(_0x3699f4,_0x2a78d2){return _0x3699f4+_0x2a78d2;},'Itgml':_0x1eb403(0x160),'CEPAR':function(_0x3fe661,_0x53468e){return _0x3fe661(_0x53468e);},'HrCRx':function(_0x5628a8,_0x14dfcf,_0x2c1ef2){return _0x5628a8(_0x14dfcf,_0x2c1ef2);},'BntkV':'MiniApp\x20JSON\x20消息生成失败'};let _0x1f001e={'app':_0x33da63[_0x1eb403(0x16d)],'bizsrc':_0x33da63[_0x1eb403(0x16a)],'view':_0x33da63[_0x1eb403(0x187)],'prompt':_0x4ad3b3[_0x1eb403(0x181)],'config':{'type':_0x1eb403(0x169),'forward':0x1,'autosize':0x0},'meta':{'miniapp':{'title':_0x4ad3b3['title'],'preview':_0x4ad3b3[_0x1eb403(0x162)][_0x1eb403(0x17a)](/\\/g,_0x33da63[_0x1eb403(0x168)]),'jumpUrl':_0x4ad3b3[_0x1eb403(0x175)][_0x1eb403(0x17a)](/\\/g,_0x33da63[_0x1eb403(0x168)]),'tag':_0x4ad3b3[_0x1eb403(0x17e)],'tagIcon':_0x4ad3b3[_0x1eb403(0x180)]['replace'](/\\/g,_0x1eb403(0x15f)),'source':_0x4ad3b3['source'],'sourcelogo':_0x4ad3b3['sourcelogo'][_0x1eb403(0x17a)](/\\/g,_0x33da63[_0x1eb403(0x168)])}}};const _0x541be1=await NTQQUserApi[_0x1eb403(0x16b)]();let _0x155982=await NTQQUserApi[_0x1eb403(0x15e)]();const _0x49668d=WebApi[_0x1eb403(0x17f)](_0x155982['p_skey']),_0x2da31c=_0x33da63['eQgiu'](_0x33da63['eQgiu'](_0x33da63[_0x1eb403(0x174)](_0x33da63[_0x1eb403(0x174)](_0x33da63[_0x1eb403(0x182)](_0x33da63[_0x1eb403(0x179)](_0x1eb403(0x186),_0x155982['p_skey']),_0x33da63[_0x1eb403(0x15d)]),_0x155982[_0x1eb403(0x17d)]),';\x20p_uin=o'),selfInfo['uin'])+_0x1eb403(0x16e),selfInfo[_0x1eb403(0x164)]);let _0x522863=_0x33da63[_0x1eb403(0x173)](_0x33da63[_0x1eb403(0x173)](_0x33da63[_0x1eb403(0x174)](_0x33da63[_0x1eb403(0x16c)],_0x49668d),_0x1eb403(0x177)),_0x33da63[_0x1eb403(0x17b)](encodeURIComponent,JSON['stringify'](_0x1f001e))),_0xd55845='';try{let _0x343cb3=await RequestUtil[_0x1eb403(0x178)](_0x522863,_0x1eb403(0x167),undefined,{'Cookie':_0x2da31c});_0xd55845=_0x343cb3[_0x1eb403(0x184)][_0x1eb403(0x15b)];}catch(_0x3e73aa){_0x33da63['HrCRx'](logDebug,_0x33da63['BntkV'],_0x3e73aa);}return _0xd55845;}

View File

@@ -1 +1 @@
var _0x46f4c6=_0x5595;(function(_0x44dd50,_0x3b947d){var _0x490293=_0x5595,_0x36a92f=_0x44dd50();while(!![]){try{var _0xe91141=-parseInt(_0x490293(0x1b7))/0x1+parseInt(_0x490293(0x1b5))/0x2+-parseInt(_0x490293(0x1bc))/0x3*(-parseInt(_0x490293(0x1b4))/0x4)+-parseInt(_0x490293(0x1b3))/0x5+parseInt(_0x490293(0x1ba))/0x6*(parseInt(_0x490293(0x1be))/0x7)+-parseInt(_0x490293(0x1c0))/0x8+parseInt(_0x490293(0x1b6))/0x9*(parseInt(_0x490293(0x1b9))/0xa);if(_0xe91141===_0x3b947d)break;else _0x36a92f['push'](_0x36a92f['shift']());}catch(_0x301625){_0x36a92f['push'](_0x36a92f['shift']());}}}(_0x208f,0x77b48));import{napCatCore}from'@/core';function _0x208f(){var _0x173e6f=['203538HburDh','session','2072955IZgqrb','util','182ZHpPcJ','translateEnWordToZn','7188528oMkiTL','getRichMediaService','wantWinScreenOCR','getNodeMiscService','3149375lfaGAY','4wyaoob','1814032hTGpsF','9ZJfcNu','666193IiHbMy','ORCImage','2049470ufpuRa'];_0x208f=function(){return _0x173e6f;};return _0x208f();}function _0x5595(_0x4385e4,_0x290d58){var _0x208f62=_0x208f();return _0x5595=function(_0x55954f,_0x1e15da){_0x55954f=_0x55954f-0x1b2;var _0x3c1fc1=_0x208f62[_0x55954f];return _0x3c1fc1;},_0x5595(_0x4385e4,_0x290d58);}export class NTQQSystemApi{static async['hasOtherRunningQQProcess'](){var _0x1c1b60=_0x5595;return napCatCore[_0x1c1b60(0x1bd)]['hasOtherRunningQQProcess']();}static async[_0x46f4c6(0x1b8)](_0x847f46){var _0x3690a4=_0x46f4c6;return napCatCore[_0x3690a4(0x1bb)][_0x3690a4(0x1b2)]()[_0x3690a4(0x1c2)](_0x847f46);}static async[_0x46f4c6(0x1bf)](_0x5ec62f){var _0x4775af=_0x46f4c6;return napCatCore[_0x4775af(0x1bb)][_0x4775af(0x1c1)]()[_0x4775af(0x1bf)](_0x5ec62f);}}
var _0x48fabb=_0x5cdf;function _0x4f01(){var _0x16a11d=['wantWinScreenOCR','678285qErWna','hasOtherRunningQQProcess','7uvBmqp','483438jMCYoh','18992cKhrVp','ORCImage','translateEnWordToZn','util','249953CdtBIb','448392ZhBXuP','39578OGXpGX','session','288728rIRoMw','250BJLnky','getRichMediaService','getNodeMiscService','216QRONSH','3eVoHON'];_0x4f01=function(){return _0x16a11d;};return _0x4f01();}(function(_0x1ae161,_0x5bc7a4){var _0x5b8593=_0x5cdf,_0x1464e5=_0x1ae161();while(!![]){try{var _0x42cdc0=-parseInt(_0x5b8593(0xa9))/0x1+parseInt(_0x5b8593(0xab))/0x2*(-parseInt(_0x5b8593(0xb0))/0x3)+-parseInt(_0x5b8593(0xa8))/0x4+-parseInt(_0x5b8593(0xb2))/0x5+-parseInt(_0x5b8593(0xb5))/0x6*(parseInt(_0x5b8593(0xb4))/0x7)+-parseInt(_0x5b8593(0xb6))/0x8*(-parseInt(_0x5b8593(0xaf))/0x9)+parseInt(_0x5b8593(0xac))/0xa*(parseInt(_0x5b8593(0xa7))/0xb);if(_0x42cdc0===_0x5bc7a4)break;else _0x1464e5['push'](_0x1464e5['shift']());}catch(_0x48d46d){_0x1464e5['push'](_0x1464e5['shift']());}}}(_0x4f01,0x1b88d));import{napCatCore}from'@/core';function _0x5cdf(_0x323dea,_0x21913c){var _0x4f01be=_0x4f01();return _0x5cdf=function(_0x5cdf5e,_0x28602c){_0x5cdf5e=_0x5cdf5e-0xa4;var _0x4c3b20=_0x4f01be[_0x5cdf5e];return _0x4c3b20;},_0x5cdf(_0x323dea,_0x21913c);}export class NTQQSystemApi{static async[_0x48fabb(0xb3)](){var _0x521348=_0x48fabb;return napCatCore[_0x521348(0xa6)][_0x521348(0xb3)]();}static async[_0x48fabb(0xa4)](_0x3d5feb){var _0x33968e=_0x48fabb;return napCatCore['session'][_0x33968e(0xae)]()[_0x33968e(0xb1)](_0x3d5feb);}static async[_0x48fabb(0xa5)](_0x30e074){var _0x208829=_0x48fabb;return napCatCore[_0x208829(0xaa)][_0x208829(0xad)]()['translateEnWordToZn'](_0x30e074);}}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
const _0xf372a0=_0xbd24;(function(_0x3e7981,_0x228726){const _0x1a5d46=_0xbd24,_0x1c2d45=_0x3e7981();while(!![]){try{const _0x26231f=-parseInt(_0x1a5d46(0x18f))/0x1*(parseInt(_0x1a5d46(0x188))/0x2)+parseInt(_0x1a5d46(0x191))/0x3+-parseInt(_0x1a5d46(0x189))/0x4*(parseInt(_0x1a5d46(0x183))/0x5)+parseInt(_0x1a5d46(0x187))/0x6*(-parseInt(_0x1a5d46(0x185))/0x7)+-parseInt(_0x1a5d46(0x190))/0x8+-parseInt(_0x1a5d46(0x195))/0x9+parseInt(_0x1a5d46(0x182))/0xa;if(_0x26231f===_0x228726)break;else _0x1c2d45['push'](_0x1c2d45['shift']());}catch(_0x4c31bb){_0x1c2d45['push'](_0x1c2d45['shift']());}}}(_0x53c0,0x31056));import{isNumeric}from'@/common/utils/helper';import{NTQQGroupApi}from'@/core/apis';export const Credentials={'Skey':'','CreatTime':0x0,'Cookies':new Map(),'ClientKey':'','KeyIndex':'','PskeyData':new Map(),'PskeyTime':new Map()};export const WebGroupData={'GroupData':new Map(),'GroupTime':new Map()};export const selfInfo={'uid':'','uin':'','nick':'','online':!![]};export const groups=new Map();function _0xbd24(_0x386d08,_0x3a5679){const _0x53c0b9=_0x53c0();return _0xbd24=function(_0xbd2468,_0x30994c){_0xbd2468=_0xbd2468-0x180;let _0x5309a2=_0x53c0b9[_0xbd2468];return _0x5309a2;},_0xbd24(_0x386d08,_0x3a5679);}function _0x53c0(){const _0x4d7054=['30QOAcfs','2Fjxgjr','1520812BRiGik','bUUgz','bXFGX','from','find','groupCode','15607cNybRu','21984BYlzgr','532536VNnsba','getGroups','delete','set','1476495EtOflf','values','NapCat未能正常启动请检查日志查看错误','get','jVafp','toString','8484360XCdQxu','5geFPmQ','getGroupMembers','367563TfUgrq','forEach'];_0x53c0=function(){return _0x4d7054;};return _0x53c0();}export function deleteGroup(_0x333bf8){const _0x1e6460=_0xbd24;groups[_0x1e6460(0x193)](_0x333bf8),groupMembers['delete'](_0x333bf8);}export const groupMembers=new Map();export const friends=new Map();export const friendRequests={};export const groupNotifies={};export const napCatError={'ffmpegError':'','httpServerError':'','wsServerError':'','otherError':_0xf372a0(0x197)};export async function getFriend(_0x12e8fc){const _0x5a0140=_0xf372a0;_0x12e8fc=_0x12e8fc[_0x5a0140(0x181)]();if(isNumeric(_0x12e8fc)){const _0x1e7c70=Array[_0x5a0140(0x18c)](friends[_0x5a0140(0x196)]());return _0x1e7c70[_0x5a0140(0x18d)](_0x12c5d9=>_0x12c5d9['uin']===_0x12e8fc);}else return friends['get'](_0x12e8fc);}export async function getGroup(_0x5f1736){const _0x559836=_0xf372a0;let _0x4421ac=groups[_0x559836(0x198)](_0x5f1736[_0x559836(0x181)]());if(!_0x4421ac)try{const _0x3268ea=await NTQQGroupApi[_0x559836(0x192)]();_0x3268ea['length']&&_0x3268ea[_0x559836(0x186)](_0x36820a=>{const _0x255e64=_0x559836;groups[_0x255e64(0x194)](_0x36820a[_0x255e64(0x18e)],_0x36820a);});}catch(_0x4a9f99){return undefined;}return _0x4421ac=groups[_0x559836(0x198)](_0x5f1736[_0x559836(0x181)]()),_0x4421ac;}export async function getGroupMember(_0x35af6d,_0x265e58){const _0x1ec259=_0xf372a0,_0x5b18a9={'bXFGX':function(_0x407b83,_0x4a3f90){return _0x407b83(_0x4a3f90);},'jVafp':function(_0x402926){return _0x402926();},'bUUgz':function(_0x4ef7ea){return _0x4ef7ea();}};_0x35af6d=_0x35af6d['toString'](),_0x265e58=_0x265e58[_0x1ec259(0x181)]();let _0x27e98f=groupMembers[_0x1ec259(0x198)](_0x35af6d);if(!_0x27e98f)try{_0x27e98f=await NTQQGroupApi['getGroupMembers'](_0x35af6d),groupMembers[_0x1ec259(0x194)](_0x35af6d,_0x27e98f);}catch(_0x49ba5f){return null;}const _0x2e7c74=()=>{const _0x3e98f2=_0x1ec259;let _0x39969a=undefined;return _0x5b18a9[_0x3e98f2(0x18b)](isNumeric,_0x265e58)?_0x39969a=Array[_0x3e98f2(0x18c)](_0x27e98f[_0x3e98f2(0x196)]())[_0x3e98f2(0x18d)](_0x12ef65=>_0x12ef65['uin']===_0x265e58):_0x39969a=_0x27e98f[_0x3e98f2(0x198)](_0x265e58),_0x39969a;};let _0x3521a5=_0x5b18a9[_0x1ec259(0x180)](_0x2e7c74);return!_0x3521a5&&(_0x27e98f=await NTQQGroupApi[_0x1ec259(0x184)](_0x35af6d),_0x3521a5=_0x5b18a9[_0x1ec259(0x18a)](_0x2e7c74)),_0x3521a5;}export const uid2UinMap={};export function getUidByUin(_0x991d74){for(const _0x29c401 in uid2UinMap){if(uid2UinMap[_0x29c401]===_0x991d74)return _0x29c401;}}export const tempGroupCodeMap={};export const rawFriends=[];export const stat={'packet_received':0x0,'packet_sent':0x0,'message_received':0x0,'message_sent':0x0,'last_message_time':0x0,'disconnect_times':0x0,'lost_times':0x0,'packet_lost':0x0};
const _0x6bd0b7=_0x5682;(function(_0x5053e6,_0x41b045){const _0x9f23b=_0x5682,_0xb64d3b=_0x5053e6();while(!![]){try{const _0x5e3911=-parseInt(_0x9f23b(0x130))/0x1*(-parseInt(_0x9f23b(0x120))/0x2)+parseInt(_0x9f23b(0x12e))/0x3+parseInt(_0x9f23b(0x121))/0x4*(-parseInt(_0x9f23b(0x122))/0x5)+-parseInt(_0x9f23b(0x126))/0x6+parseInt(_0x9f23b(0x135))/0x7+-parseInt(_0x9f23b(0x12d))/0x8+parseInt(_0x9f23b(0x12b))/0x9*(parseInt(_0x9f23b(0x136))/0xa);if(_0x5e3911===_0x41b045)break;else _0xb64d3b['push'](_0xb64d3b['shift']());}catch(_0x45621e){_0xb64d3b['push'](_0xb64d3b['shift']());}}}(_0x2fa1,0x4abf7));function _0x2fa1(){const _0x42dae2=['1769640PEeBID','values','length','4tbsYoy','4dhDaYc','3051905lOUxir','get','set','groupCode','1353348BDxjoC','find','forEach','getGroupMembers','NapCat未能正常启动请检查日志查看错误','63AhlweG','delete','3773160GOvADv','148476UBFysl','RKkdf','15953JfqnXa','toString','from','uSFWK','getGroups','2055235zKKspX'];_0x2fa1=function(){return _0x42dae2;};return _0x2fa1();}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(_0x2b6c11){const _0x4ae0cf=_0x5682;groups[_0x4ae0cf(0x12c)](_0x2b6c11),groupMembers[_0x4ae0cf(0x12c)](_0x2b6c11);}export const groupMembers=new Map();export const friends=new Map();export const friendRequests={};export const groupNotifies={};export const napCatError={'ffmpegError':'','httpServerError':'','wsServerError':'','otherError':_0x6bd0b7(0x12a)};export async function getFriend(_0x226557){const _0x2a007c=_0x6bd0b7,_0x5d6cfd={'RKkdf':function(_0x5e1a81,_0x2cbb63){return _0x5e1a81(_0x2cbb63);}};_0x226557=_0x226557[_0x2a007c(0x131)]();if(_0x5d6cfd[_0x2a007c(0x12f)](isNumeric,_0x226557)){const _0x8209c4=Array[_0x2a007c(0x132)](friends['values']());return _0x8209c4[_0x2a007c(0x127)](_0x4286a8=>_0x4286a8['uin']===_0x226557);}else return friends['get'](_0x226557);}export async function getGroup(_0x573159){const _0x50a5c9=_0x6bd0b7;let _0x3cd395=groups['get'](_0x573159[_0x50a5c9(0x131)]());if(!_0x3cd395)try{const _0x30f9cc=await NTQQGroupApi[_0x50a5c9(0x134)]();_0x30f9cc[_0x50a5c9(0x11f)]&&_0x30f9cc[_0x50a5c9(0x128)](_0x52d51d=>{const _0xa1b696=_0x50a5c9;groups[_0xa1b696(0x124)](_0x52d51d[_0xa1b696(0x125)],_0x52d51d);});}catch(_0x3451de){return undefined;}return _0x3cd395=groups['get'](_0x573159[_0x50a5c9(0x131)]()),_0x3cd395;}export async function getGroupMember(_0x3df171,_0x3303e3){const _0xd2f57d=_0x6bd0b7,_0x4a6968={'uSFWK':function(_0x4d37ba){return _0x4d37ba();}};_0x3df171=_0x3df171[_0xd2f57d(0x131)](),_0x3303e3=_0x3303e3[_0xd2f57d(0x131)]();let _0x47d2f7=groupMembers[_0xd2f57d(0x123)](_0x3df171);if(!_0x47d2f7)try{_0x47d2f7=await NTQQGroupApi[_0xd2f57d(0x129)](_0x3df171),groupMembers[_0xd2f57d(0x124)](_0x3df171,_0x47d2f7);}catch(_0x4e239d){return null;}const _0x361e76=()=>{const _0x2e9f0e=_0xd2f57d;let _0x1b2a61=undefined;return isNumeric(_0x3303e3)?_0x1b2a61=Array[_0x2e9f0e(0x132)](_0x47d2f7[_0x2e9f0e(0x137)]())['find'](_0x3c0116=>_0x3c0116['uin']===_0x3303e3):_0x1b2a61=_0x47d2f7[_0x2e9f0e(0x123)](_0x3303e3),_0x1b2a61;};let _0xf14aca=_0x4a6968[_0xd2f57d(0x133)](_0x361e76);return!_0xf14aca&&(_0x47d2f7=await NTQQGroupApi[_0xd2f57d(0x129)](_0x3df171),_0xf14aca=_0x361e76()),_0xf14aca;}function _0x5682(_0x149775,_0x117f74){const _0x2fa19a=_0x2fa1();return _0x5682=function(_0x56822d,_0x5c0103){_0x56822d=_0x56822d-0x11f;let _0x3f8559=_0x2fa19a[_0x56822d];return _0x3f8559;},_0x5682(_0x149775,_0x117f74);}export const uid2UinMap={};export function getUidByUin(_0x27aba6){const _0x5efe80={'DrudH':function(_0x47f6fb,_0x3bc2c8){return _0x47f6fb===_0x3bc2c8;}};for(const _0x2ab022 in uid2UinMap){if(_0x5efe80['DrudH'](uid2UinMap[_0x2ab022],_0x27aba6))return _0x2ab022;}}export const tempGroupCodeMap={};export const rawFriends=[];export const stat={'packet_received':0x0,'packet_sent':0x0,'message_received':0x0,'message_sent':0x0,'last_message_time':0x0,'disconnect_times':0x0,'lost_times':0x0,'packet_lost':0x0};

View File

@@ -1 +1 @@
function _0x3afc(_0x339f7b,_0x2d3197){var _0x3890e9=_0x3890();return _0x3afc=function(_0x3afc68,_0x568dd3){_0x3afc68=_0x3afc68-0x1ba;var _0x5d2a8f=_0x3890e9[_0x3afc68];return _0x5d2a8f;},_0x3afc(_0x339f7b,_0x2d3197);}(function(_0x813259,_0x59d305){var _0xf6b0d4=_0x3afc,_0x420b92=_0x813259();while(!![]){try{var _0x45f709=parseInt(_0xf6b0d4(0x1bf))/0x1+parseInt(_0xf6b0d4(0x1c7))/0x2+-parseInt(_0xf6b0d4(0x1ba))/0x3*(parseInt(_0xf6b0d4(0x1bb))/0x4)+parseInt(_0xf6b0d4(0x1bd))/0x5+parseInt(_0xf6b0d4(0x1ca))/0x6+parseInt(_0xf6b0d4(0x1c0))/0x7+-parseInt(_0xf6b0d4(0x1c5))/0x8;if(_0x45f709===_0x59d305)break;else _0x420b92['push'](_0x420b92['shift']());}catch(_0x1c0de7){_0x420b92['push'](_0x420b92['shift']());}}}(_0x3890,0x51640));;export var CacheFileType;function _0x3890(){var _0x5667bc=['AUDIO','VIDEO','VNAOd','3EFXDUt','819440dYOngK','RRJLQ','3304360WpQtDY','pJUfq','643732YtJvcM','1292914DfkATi','split','kVROy','aYbVD','4|3|1|2|0','11147064wIOeLU','IMAGE','558050ToVTct','PvwdK','DOCUMENT','979728KIcJDF'];_0x3890=function(){return _0x5667bc;};return _0x3890();}(function(_0xc8c05a){var _0x36b80d=_0x3afc,_0xbf6ae0={'kVROy':_0x36b80d(0x1c4),'VNAOd':'OTHER','RRJLQ':_0x36b80d(0x1cb),'aYbVD':_0x36b80d(0x1c9),'PvwdK':_0x36b80d(0x1cc),'pJUfq':_0x36b80d(0x1c6)},_0x2986fe=_0xbf6ae0[_0x36b80d(0x1c2)][_0x36b80d(0x1c1)]('|'),_0x493d32=0x0;while(!![]){switch(_0x2986fe[_0x493d32++]){case'0':_0xc8c05a[_0xc8c05a[_0xbf6ae0[_0x36b80d(0x1cd)]]=0x4]=_0xbf6ae0[_0x36b80d(0x1cd)];continue;case'1':_0xc8c05a[_0xc8c05a[_0xbf6ae0[_0x36b80d(0x1bc)]]=0x2]=_0xbf6ae0[_0x36b80d(0x1bc)];continue;case'2':_0xc8c05a[_0xc8c05a[_0xbf6ae0[_0x36b80d(0x1c3)]]=0x3]=_0xbf6ae0[_0x36b80d(0x1c3)];continue;case'3':_0xc8c05a[_0xc8c05a[_0xbf6ae0[_0x36b80d(0x1c8)]]=0x1]=_0xbf6ae0[_0x36b80d(0x1c8)];continue;case'4':_0xc8c05a[_0xc8c05a[_0xbf6ae0[_0x36b80d(0x1be)]]=0x0]=_0xbf6ae0[_0x36b80d(0x1be)];continue;}break;}}(CacheFileType||(CacheFileType={})));
function _0x1806(){var _0x891ba1=['287998IXXBUH','12969324CpTTHa','415490wvVPTv','split','DOCUMENT','AiULT','IMAGE','2|3|4|1|0','170iDhUDe','104061qIxpag','IdBVd','VIDEO','90tfTGFz','EUtFx','3031owKtcx','OTHER','kwYUI','yQBqy','11XUMvHq','ksAzo','74064SfKygL','10912RSMZir','24CjBDtx','248802Fusayi'];_0x1806=function(){return _0x891ba1;};return _0x1806();}(function(_0x55b185,_0x927958){var _0x283eef=_0x5493,_0x2aa330=_0x55b185();while(!![]){try{var _0x336a10=-parseInt(_0x283eef(0x1ae))/0x1+parseInt(_0x283eef(0x1ad))/0x2+parseInt(_0x283eef(0x1b7))/0x3*(-parseInt(_0x283eef(0x1ac))/0x4)+parseInt(_0x283eef(0x1b6))/0x5*(-parseInt(_0x283eef(0x1aa))/0x6)+parseInt(_0x283eef(0x1bc))/0x7*(parseInt(_0x283eef(0x1ab))/0x8)+-parseInt(_0x283eef(0x1ba))/0x9*(parseInt(_0x283eef(0x1b0))/0xa)+-parseInt(_0x283eef(0x1a8))/0xb*(-parseInt(_0x283eef(0x1af))/0xc);if(_0x336a10===_0x927958)break;else _0x2aa330['push'](_0x2aa330['shift']());}catch(_0x1bdafd){_0x2aa330['push'](_0x2aa330['shift']());}}}(_0x1806,0x71664));;export var CacheFileType;function _0x5493(_0x55a407,_0xd64393){var _0x18060f=_0x1806();return _0x5493=function(_0x549329,_0x176c2d){_0x549329=_0x549329-0x1a5;var _0x205a59=_0x18060f[_0x549329];return _0x205a59;},_0x5493(_0x55a407,_0xd64393);}(function(_0x3e9347){var _0x56628e=_0x5493,_0x42e30f={'EUtFx':_0x56628e(0x1b5),'kwYUI':_0x56628e(0x1a5),'ksAzo':_0x56628e(0x1b2),'yQBqy':_0x56628e(0x1b4),'IdBVd':_0x56628e(0x1b9),'AiULT':'AUDIO'},_0x52b4c0=_0x42e30f[_0x56628e(0x1bb)][_0x56628e(0x1b1)]('|'),_0x111826=0x0;while(!![]){switch(_0x52b4c0[_0x111826++]){case'0':_0x3e9347[_0x3e9347[_0x56628e(0x1a5)]=0x4]=_0x42e30f[_0x56628e(0x1a6)];continue;case'1':_0x3e9347[_0x3e9347[_0x42e30f['ksAzo']]=0x3]=_0x42e30f[_0x56628e(0x1a9)];continue;case'2':_0x3e9347[_0x3e9347[_0x42e30f[_0x56628e(0x1a7)]]=0x0]=_0x42e30f[_0x56628e(0x1a7)];continue;case'3':_0x3e9347[_0x3e9347[_0x42e30f[_0x56628e(0x1b8)]]=0x1]=_0x42e30f[_0x56628e(0x1b8)];continue;case'4':_0x3e9347[_0x3e9347[_0x42e30f[_0x56628e(0x1b3)]]=0x2]=_0x42e30f['AiULT'];continue;}break;}}(CacheFileType||(CacheFileType={})));

View File

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

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
(function(_0x2034f9,_0x19274f){var _0x3d35c6=_0x3722,_0x293d42=_0x2034f9();while(!![]){try{var _0x53324d=parseInt(_0x3d35c6(0x80))/0x1*(parseInt(_0x3d35c6(0x83))/0x2)+parseInt(_0x3d35c6(0x81))/0x3*(-parseInt(_0x3d35c6(0x8c))/0x4)+-parseInt(_0x3d35c6(0x89))/0x5+parseInt(_0x3d35c6(0x8b))/0x6+parseInt(_0x3d35c6(0x7e))/0x7*(parseInt(_0x3d35c6(0x84))/0x8)+parseInt(_0x3d35c6(0x85))/0x9*(parseInt(_0x3d35c6(0x86))/0xa)+-parseInt(_0x3d35c6(0x8a))/0xb;if(_0x53324d===_0x19274f)break;else _0x293d42['push'](_0x293d42['shift']());}catch(_0x3067f9){_0x293d42['push'](_0x293d42['shift']());}}}(_0x4bd8,0xbe31d));function _0x3722(_0x1ee33e,_0x1c8d2f){var _0x4bd832=_0x4bd8();return _0x3722=function(_0x3722de,_0xbfb13f){_0x3722de=_0x3722de-0x7e;var _0x4c7f92=_0x4bd832[_0x3722de];return _0x4c7f92;},_0x3722(_0x1ee33e,_0x1c8d2f);}function _0x4bd8(){var _0x499e08=['557916UncWRI','msPnC','566034ETvbhF','1068920QuxjKp','9DFTrey','6600010tiUMaF','admin','owner','2810670XsVxro','1191564SPXqPw','2770734abvjpP','8aFuyJZ','normal','7IZobXp','ZOLRT','2NUIJnd'];_0x4bd8=function(){return _0x499e08;};return _0x4bd8();}export var GroupMemberRole;(function(_0x1d3ac7){var _0x2e2fa0=_0x3722,_0x2ee60c={'msPnC':_0x2e2fa0(0x8d),'ZOLRT':_0x2e2fa0(0x87)};_0x1d3ac7[_0x1d3ac7[_0x2ee60c[_0x2e2fa0(0x82)]]=0x2]=_0x2ee60c[_0x2e2fa0(0x82)],_0x1d3ac7[_0x1d3ac7[_0x2ee60c[_0x2e2fa0(0x7f)]]=0x3]=_0x2ee60c[_0x2e2fa0(0x7f)],_0x1d3ac7[_0x1d3ac7[_0x2e2fa0(0x88)]=0x4]=_0x2e2fa0(0x88);}(GroupMemberRole||(GroupMemberRole={})));
(function(_0x5cea7d,_0x3780ef){var _0x3f3cae=_0x3e14,_0x240696=_0x5cea7d();while(!![]){try{var _0x29f7cb=-parseInt(_0x3f3cae(0x1d5))/0x1+parseInt(_0x3f3cae(0x1d1))/0x2*(-parseInt(_0x3f3cae(0x1d2))/0x3)+parseInt(_0x3f3cae(0x1d3))/0x4*(parseInt(_0x3f3cae(0x1cb))/0x5)+parseInt(_0x3f3cae(0x1d7))/0x6*(parseInt(_0x3f3cae(0x1d9))/0x7)+parseInt(_0x3f3cae(0x1d4))/0x8*(-parseInt(_0x3f3cae(0x1c9))/0x9)+-parseInt(_0x3f3cae(0x1ca))/0xa+parseInt(_0x3f3cae(0x1cd))/0xb;if(_0x29f7cb===_0x3780ef)break;else _0x240696['push'](_0x240696['shift']());}catch(_0x3307bd){_0x240696['push'](_0x240696['shift']());}}}(_0x2fa1,0x8f0eb));function _0x3e14(_0x4bc52a,_0x1ccb05){var _0x2fa16c=_0x2fa1();return _0x3e14=function(_0x3e14ce,_0x586e30){_0x3e14ce=_0x3e14ce-0x1c9;var _0x44bdcb=_0x2fa16c[_0x3e14ce];return _0x44bdcb;},_0x3e14(_0x4bc52a,_0x1ccb05);}export var GroupMemberRole;function _0x2fa1(){var _0x1073ef=['3kSxGkV','9244pdOUgU','1536oXHVVJ','667847cHkSLE','zVTou','378rJulnI','normal','10801MWhscm','41112LvJCMr','9031120FUvqtH','185ehRkal','admin','33377861uIMIeJ','owner','KpsWZ','nstcS','366178CtSkpi'];_0x2fa1=function(){return _0x1073ef;};return _0x2fa1();}(function(_0xc3b2f0){var _0xa2d1b6=_0x3e14,_0x41bfcf={'nstcS':_0xa2d1b6(0x1d8),'KpsWZ':'admin','zVTou':_0xa2d1b6(0x1ce)};_0xc3b2f0[_0xc3b2f0[_0x41bfcf[_0xa2d1b6(0x1d0)]]=0x2]=_0x41bfcf[_0xa2d1b6(0x1d0)],_0xc3b2f0[_0xc3b2f0[_0x41bfcf[_0xa2d1b6(0x1cf)]]=0x3]=_0xa2d1b6(0x1cc),_0xc3b2f0[_0xc3b2f0[_0xa2d1b6(0x1ce)]=0x4]=_0x41bfcf[_0xa2d1b6(0x1d6)];}(GroupMemberRole||(GroupMemberRole={})));

View File

@@ -1 +1 @@
(function(_0x31c8d5,_0x20b270){var _0x1bd470=_0x5704,_0x12e48a=_0x31c8d5();while(!![]){try{var _0x52ebf4=parseInt(_0x1bd470(0xf9))/0x1+-parseInt(_0x1bd470(0xf8))/0x2*(parseInt(_0x1bd470(0xf2))/0x3)+parseInt(_0x1bd470(0xf6))/0x4+parseInt(_0x1bd470(0xfc))/0x5*(parseInt(_0x1bd470(0xf5))/0x6)+parseInt(_0x1bd470(0xf4))/0x7+parseInt(_0x1bd470(0xf3))/0x8*(-parseInt(_0x1bd470(0xfb))/0x9)+parseInt(_0x1bd470(0xf7))/0xa*(parseInt(_0x1bd470(0xfa))/0xb);if(_0x52ebf4===_0x20b270)break;else _0x12e48a['push'](_0x12e48a['shift']());}catch(_0x5c08e6){_0x12e48a['push'](_0x12e48a['shift']());}}}(_0x153a,0xb9dbd));function _0x5704(_0x36b321,_0x596c16){var _0x153a10=_0x153a();return _0x5704=function(_0x570489,_0x2da390){_0x570489=_0x570489-0xf2;var _0x1c99e4=_0x153a10[_0x570489];return _0x1c99e4;},_0x5704(_0x36b321,_0x596c16);}export*from'./user';export*from'./group';export*from'./msg';function _0x153a(){var _0x56ca13=['44YkNSWR','9eCozhL','20zOAQno','3sCByOi','9783536BAXjdW','5570236WYZLPC','518490nctbWJ','1439224evHEdt','977770UAzBYM','2089744gePXAM','1136769hGmpbd'];_0x153a=function(){return _0x56ca13;};return _0x153a();}export*from'./notify';export*from'./cache';export*from'./constructor';
(function(_0x2f3d80,_0x5e2c40){var _0x1e9cc0=_0x49ac,_0x256817=_0x2f3d80();while(!![]){try{var _0x20c16a=-parseInt(_0x1e9cc0(0x137))/0x1*(-parseInt(_0x1e9cc0(0x134))/0x2)+-parseInt(_0x1e9cc0(0x130))/0x3*(-parseInt(_0x1e9cc0(0x132))/0x4)+parseInt(_0x1e9cc0(0x131))/0x5*(-parseInt(_0x1e9cc0(0x139))/0x6)+parseInt(_0x1e9cc0(0x133))/0x7+parseInt(_0x1e9cc0(0x138))/0x8+parseInt(_0x1e9cc0(0x12f))/0x9+parseInt(_0x1e9cc0(0x136))/0xa*(-parseInt(_0x1e9cc0(0x135))/0xb);if(_0x20c16a===_0x5e2c40)break;else _0x256817['push'](_0x256817['shift']());}catch(_0x48d495){_0x256817['push'](_0x256817['shift']());}}}(_0x11f3,0x8930c));export*from'./user';export*from'./group';function _0x11f3(){var _0x3c7b3a=['4939730aJzutA','181520vBdkvb','8548984oPtrRp','42YCKroo','7846002HqqhMb','3GMVmSV','46615SAJfgJ','956924jibyfN','1339422NvAFsC','8NgNzOW','55JYhmYJ'];_0x11f3=function(){return _0x3c7b3a;};return _0x11f3();}export*from'./msg';export*from'./notify';function _0x49ac(_0x45c297,_0x3aa09b){var _0x11f380=_0x11f3();return _0x49ac=function(_0x49aca0,_0xb40376){_0x49aca0=_0x49aca0-0x12f;var _0x543c4e=_0x11f380[_0x49aca0];return _0x543c4e;},_0x49ac(_0x45c297,_0x3aa09b);}export*from'./cache';export*from'./constructor';

View File

@@ -115,6 +115,7 @@ export interface FileElement {
fileSize: string;
picHeight?: number;
picWidth?: number;
folderId?: string;
picThumbPath?: Map<number, string>;
file10MMd5?: string;
fileSha?: string;

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
(function(_0x11bd49,_0x4a6b55){var _0x1140aa=_0xb159,_0x5488b9=_0x11bd49();while(!![]){try{var _0x281b74=-parseInt(_0x1140aa(0xcf))/0x1*(-parseInt(_0x1140aa(0xe1))/0x2)+parseInt(_0x1140aa(0xea))/0x3*(-parseInt(_0x1140aa(0xf4))/0x4)+parseInt(_0x1140aa(0xec))/0x5+-parseInt(_0x1140aa(0xe4))/0x6+-parseInt(_0x1140aa(0xe2))/0x7+parseInt(_0x1140aa(0xdd))/0x8*(parseInt(_0x1140aa(0xeb))/0x9)+parseInt(_0x1140aa(0xd1))/0xa*(parseInt(_0x1140aa(0xd8))/0xb);if(_0x281b74===_0x4a6b55)break;else _0x5488b9['push'](_0x5488b9['shift']());}catch(_0x6300ee){_0x5488b9['push'](_0x5488b9['shift']());}}}(_0x21b9,0x291cf));export var GroupNotifyTypes;(function(_0x1213d0){var _0x1e2c99=_0xb159,_0x3c6cf9={'KBkLF':_0x1e2c99(0xdc),'ufAPI':_0x1e2c99(0xe6),'jCVFk':_0x1e2c99(0xe9),'szena':'ADMIN_SET','dqDvM':'INVITE_ME','Ecpkw':_0x1e2c99(0xd0),'dSjzj':_0x1e2c99(0xd5),'tJSjf':_0x1e2c99(0xf0)},_0x839c25='4|6|0|3|1|5|2|7'[_0x1e2c99(0xd3)]('|'),_0x55c032=0x0;while(!![]){switch(_0x839c25[_0x55c032++]){case'0':_0x1213d0[_0x1213d0['JOIN_REQUEST']=0x7]=_0x3c6cf9[_0x1e2c99(0xe0)];continue;case'1':_0x1213d0[_0x1213d0[_0x3c6cf9[_0x1e2c99(0xda)]]=0x9]=_0x3c6cf9[_0x1e2c99(0xda)];continue;case'2':_0x1213d0[_0x1213d0[_0x3c6cf9[_0x1e2c99(0xdf)]]=0xc]=_0x3c6cf9[_0x1e2c99(0xdf)];continue;case'3':_0x1213d0[_0x1213d0[_0x3c6cf9[_0x1e2c99(0xef)]]=0x8]=_0x1e2c99(0xe7);continue;case'4':_0x1213d0[_0x1213d0[_0x3c6cf9[_0x1e2c99(0xe5)]]=0x1]=_0x3c6cf9[_0x1e2c99(0xe5)];continue;case'5':_0x1213d0[_0x1213d0[_0x3c6cf9[_0x1e2c99(0xd6)]]=0xb]=_0x3c6cf9[_0x1e2c99(0xd6)];continue;case'6':_0x1213d0[_0x1213d0['INVITED_JOIN']=0x4]=_0x3c6cf9[_0x1e2c99(0xd9)];continue;case'7':_0x1213d0[_0x1213d0[_0x3c6cf9[_0x1e2c99(0xf1)]]=0xd]=_0x3c6cf9[_0x1e2c99(0xf1)];continue;}break;}}(GroupNotifyTypes||(GroupNotifyTypes={})));function _0xb159(_0x3693bf,_0xc16c38){var _0x21b991=_0x21b9();return _0xb159=function(_0xb159b1,_0x2f2f3e){_0xb159b1=_0xb159b1-0xce;var _0x2ef46a=_0x21b991[_0xb159b1];return _0x2ef46a;},_0xb159(_0x3693bf,_0xc16c38);}export var GroupNotifyStatus;(function(_0x4adee5){var _0x622076=_0xb159,_0x5efb83={'ZmiXQ':_0x622076(0xee),'rcuor':_0x622076(0xdb),'BAJDf':_0x622076(0xde),'AOCHp':_0x622076(0xe8)};_0x4adee5[_0x4adee5['IGNORE']=0x0]=_0x5efb83[_0x622076(0xf3)],_0x4adee5[_0x4adee5[_0x622076(0xdb)]=0x1]=_0x5efb83[_0x622076(0xed)],_0x4adee5[_0x4adee5[_0x5efb83[_0x622076(0xd2)]]=0x2]=_0x622076(0xde),_0x4adee5[_0x4adee5['REJECT']=0x3]=_0x5efb83[_0x622076(0xe3)];}(GroupNotifyStatus||(GroupNotifyStatus={})));export var GroupRequestOperateTypes;(function(_0x2faf71){var _0x4896a5=_0xb159,_0xdce34a={'MPvyq':_0x4896a5(0xd7),'oOdGz':_0x4896a5(0xd4)};_0x2faf71[_0x2faf71[_0xdce34a[_0x4896a5(0xce)]]=0x1]=_0x4896a5(0xd7),_0x2faf71[_0x2faf71[_0xdce34a[_0x4896a5(0xf2)]]=0x2]=_0xdce34a[_0x4896a5(0xf2)];}(GroupRequestOperateTypes||(GroupRequestOperateTypes={})));function _0x21b9(){var _0x44cbcf=['1437510HLIpru','rcuor','IGNORE','szena','ADMIN_UNSET_OTHER','tJSjf','oOdGz','ZmiXQ','4yMIRuo','MPvyq','8MnJAun','MEMBER_EXIT','1281070PsMhOV','BAJDf','split','reject','INVITED_JOIN','Ecpkw','approve','11TIHNkM','dSjzj','ufAPI','WAIT_HANDLE','JOIN_REQUEST','576824pVCRPz','APPROVE','jCVFk','KBkLF','3340pPKQVs','581245EIjuhA','AOCHp','1924284fCoUKm','dqDvM','KICK_MEMBER','ADMIN_SET','REJECT','ADMIN_UNSET','219390PfjxtG','27iqVTDB'];_0x21b9=function(){return _0x44cbcf;};return _0x21b9();}
(function(_0x2df216,_0xc6fe70){var _0x2dbaaa=_0x2c67,_0x2801a4=_0x2df216();while(!![]){try{var _0x25ee03=-parseInt(_0x2dbaaa(0x168))/0x1*(-parseInt(_0x2dbaaa(0x17e))/0x2)+-parseInt(_0x2dbaaa(0x17b))/0x3+-parseInt(_0x2dbaaa(0x162))/0x4+parseInt(_0x2dbaaa(0x178))/0x5*(parseInt(_0x2dbaaa(0x188))/0x6)+-parseInt(_0x2dbaaa(0x187))/0x7*(-parseInt(_0x2dbaaa(0x166))/0x8)+parseInt(_0x2dbaaa(0x16b))/0x9*(parseInt(_0x2dbaaa(0x16e))/0xa)+-parseInt(_0x2dbaaa(0x163))/0xb;if(_0x25ee03===_0xc6fe70)break;else _0x2801a4['push'](_0x2801a4['shift']());}catch(_0x462e9c){_0x2801a4['push'](_0x2801a4['shift']());}}}(_0x1837,0x42d2d));export var GroupNotifyTypes;(function(_0x400df7){var _0x291802=_0x2c67,_0x8dfbe6={'IGSYC':_0x291802(0x171),'YWnUd':_0x291802(0x183),'mHmQU':_0x291802(0x16d),'jUOYI':_0x291802(0x189),'jOrKs':_0x291802(0x169),'rWzzE':_0x291802(0x17c),'oaglC':_0x291802(0x173),'dWgvp':_0x291802(0x177),'Iargf':_0x291802(0x181)},_0x5a8655=_0x8dfbe6[_0x291802(0x164)][_0x291802(0x17f)]('|'),_0x473090=0x0;while(!![]){switch(_0x5a8655[_0x473090++]){case'0':_0x400df7[_0x400df7[_0x291802(0x183)]=0xb]=_0x8dfbe6[_0x291802(0x184)];continue;case'1':_0x400df7[_0x400df7[_0x8dfbe6[_0x291802(0x172)]]=0x8]=_0x8dfbe6[_0x291802(0x172)];continue;case'2':_0x400df7[_0x400df7[_0x8dfbe6[_0x291802(0x17d)]]=0xd]=_0x8dfbe6[_0x291802(0x17d)];continue;case'3':_0x400df7[_0x400df7[_0x8dfbe6['jOrKs']]=0x7]=_0x8dfbe6[_0x291802(0x175)];continue;case'4':_0x400df7[_0x400df7[_0x8dfbe6[_0x291802(0x185)]]=0x4]=_0x291802(0x17c);continue;case'5':_0x400df7[_0x400df7[_0x8dfbe6[_0x291802(0x17a)]]=0x1]=_0x8dfbe6[_0x291802(0x17a)];continue;case'6':_0x400df7[_0x400df7[_0x8dfbe6['dWgvp']]=0xc]=_0x291802(0x177);continue;case'7':_0x400df7[_0x400df7[_0x8dfbe6[_0x291802(0x16f)]]=0x9]=_0x8dfbe6[_0x291802(0x16f)];continue;}break;}}(GroupNotifyTypes||(GroupNotifyTypes={})));export var GroupNotifyStatus;(function(_0x21e314){var _0x347bd3=_0x2c67,_0x26bf7c={'PAazO':_0x347bd3(0x170),'sMVmk':'WAIT_HANDLE','sLtLy':'APPROVE','rUOxL':_0x347bd3(0x165)};_0x21e314[_0x21e314[_0x26bf7c[_0x347bd3(0x167)]]=0x0]=_0x26bf7c[_0x347bd3(0x167)],_0x21e314[_0x21e314[_0x26bf7c[_0x347bd3(0x180)]]=0x1]=_0x347bd3(0x186),_0x21e314[_0x21e314[_0x26bf7c[_0x347bd3(0x174)]]=0x2]=_0x26bf7c[_0x347bd3(0x174)],_0x21e314[_0x21e314[_0x26bf7c[_0x347bd3(0x182)]]=0x3]=_0x26bf7c[_0x347bd3(0x182)];}(GroupNotifyStatus||(GroupNotifyStatus={})));export var GroupRequestOperateTypes;function _0x2c67(_0x4ed370,_0x570164){var _0x1837c7=_0x1837();return _0x2c67=function(_0x2c67da,_0x37e459){_0x2c67da=_0x2c67da-0x162;var _0x5d6113=_0x1837c7[_0x2c67da];return _0x5d6113;},_0x2c67(_0x4ed370,_0x570164);}function _0x1837(){var _0x17bbd8=['mHmQU','INVITE_ME','sLtLy','jOrKs','KpNiZ','ADMIN_UNSET','27575WTatWq','approve','oaglC','113673PuIykM','INVITED_JOIN','jUOYI','2yrjlcK','split','sMVmk','KICK_MEMBER','rUOxL','MEMBER_EXIT','YWnUd','rWzzE','WAIT_HANDLE','1139257aQFBxJ','114TwfnJo','ADMIN_UNSET_OTHER','1291584zbMzQb','3504501zoSCRs','IGSYC','REJECT','16akdtea','PAazO','258443ttvKIx','JOIN_REQUEST','reject','27WFkbHJ','aZnDp','ADMIN_SET','881190HOILKX','Iargf','IGNORE','5|4|3|1|7|0|6|2'];_0x1837=function(){return _0x17bbd8;};return _0x1837();}(function(_0x22b484){var _0x4e402a=_0x2c67,_0xb16a01={'aZnDp':_0x4e402a(0x179),'KpNiZ':_0x4e402a(0x16a)};_0x22b484[_0x22b484[_0xb16a01[_0x4e402a(0x16c)]]=0x1]=_0xb16a01[_0x4e402a(0x16c)],_0x22b484[_0x22b484[_0xb16a01[_0x4e402a(0x176)]]=0x2]=_0x4e402a(0x16a);}(GroupRequestOperateTypes||(GroupRequestOperateTypes={})));

View File

@@ -1 +1 @@
(function(_0x3ee976,_0xa64d14){var _0xec1edf=_0x25c0,_0x2bd8fa=_0x3ee976();while(!![]){try{var _0x5705=-parseInt(_0xec1edf(0xc7))/0x1+parseInt(_0xec1edf(0xcd))/0x2+parseInt(_0xec1edf(0xce))/0x3*(-parseInt(_0xec1edf(0xc6))/0x4)+parseInt(_0xec1edf(0xc2))/0x5+-parseInt(_0xec1edf(0xcb))/0x6*(-parseInt(_0xec1edf(0xc3))/0x7)+-parseInt(_0xec1edf(0xc9))/0x8*(-parseInt(_0xec1edf(0xc5))/0x9)+-parseInt(_0xec1edf(0xcc))/0xa;if(_0x5705===_0xa64d14)break;else _0x2bd8fa['push'](_0x2bd8fa['shift']());}catch(_0x143f7d){_0x2bd8fa['push'](_0x2bd8fa['shift']());}}}(_0x2e55,0x6fb6c));export var Sex;function _0x25c0(_0x17fdd9,_0x2880bb){var _0x2e5508=_0x2e55();return _0x25c0=function(_0x25c032,_0x470880){_0x25c032=_0x25c032-0xc2;var _0x4f2ae6=_0x2e5508[_0x25c032];return _0x4f2ae6;},_0x25c0(_0x17fdd9,_0x2880bb);}function _0x2e55(){var _0x3be66c=['1260096VULntu','129HBtsVI','NFUlN','292765zAIUff','7WruVck','male','341973LBJSdT','76672ShnRlQ','127472rYNDnT','tucCh','104MsmiMj','unknown','1987314GIRmDo','1045050UDRkcl'];_0x2e55=function(){return _0x3be66c;};return _0x2e55();}(function(_0x2dd864){var _0x4790a8=_0x25c0,_0x36e2b1={'eSSAt':_0x4790a8(0xc4),'NFUlN':'female','tucCh':_0x4790a8(0xca)};_0x2dd864[_0x2dd864[_0x36e2b1['eSSAt']]=0x1]=_0x4790a8(0xc4),_0x2dd864[_0x2dd864[_0x36e2b1['NFUlN']]=0x2]=_0x36e2b1[_0x4790a8(0xcf)],_0x2dd864[_0x2dd864[_0x36e2b1[_0x4790a8(0xc8)]]=0xff]='unknown';}(Sex||(Sex={})));
function _0x2057(_0x513379,_0x317453){var _0x12e502=_0x12e5();return _0x2057=function(_0x205719,_0x4cff50){_0x205719=_0x205719-0x1e1;var _0x573b47=_0x12e502[_0x205719];return _0x573b47;},_0x2057(_0x513379,_0x317453);}function _0x12e5(){var _0x1bae49=['3909256ieHHPm','2418045pvWTfj','570892pkbuxp','1574444rlsNjB','957015odExSG','598122MubaIE','aVTnJ','male','vPUYl','602919JPQMYy','unknown','10kTDXsm'];_0x12e5=function(){return _0x1bae49;};return _0x12e5();}(function(_0x234858,_0x3b5889){var _0x5c39f2=_0x2057,_0x523fd2=_0x234858();while(!![]){try{var _0xda138c=parseInt(_0x5c39f2(0x1ea))/0x1+-parseInt(_0x5c39f2(0x1e4))/0x2+parseInt(_0x5c39f2(0x1e5))/0x3+parseInt(_0x5c39f2(0x1e3))/0x4*(parseInt(_0x5c39f2(0x1ec))/0x5)+-parseInt(_0x5c39f2(0x1e6))/0x6+-parseInt(_0x5c39f2(0x1e2))/0x7+parseInt(_0x5c39f2(0x1e1))/0x8;if(_0xda138c===_0x3b5889)break;else _0x523fd2['push'](_0x523fd2['shift']());}catch(_0x3901cd){_0x523fd2['push'](_0x523fd2['shift']());}}}(_0x12e5,0x71343));export var Sex;(function(_0x4aa0cd){var _0x711c7=_0x2057,_0x400689={'HcBwM':_0x711c7(0x1e8),'aVTnJ':'female','vPUYl':_0x711c7(0x1eb)};_0x4aa0cd[_0x4aa0cd[_0x400689['HcBwM']]=0x1]=_0x711c7(0x1e8),_0x4aa0cd[_0x4aa0cd[_0x400689[_0x711c7(0x1e7)]]=0x2]=_0x400689[_0x711c7(0x1e7)],_0x4aa0cd[_0x4aa0cd[_0x400689[_0x711c7(0x1e9)]]=0xff]=_0x711c7(0x1eb);}(Sex||(Sex={})));

View File

@@ -1 +1 @@
(function(_0x37e38c,_0x46b592){var _0x1ad48d=_0x1fc3,_0x3b8733=_0x37e38c();while(!![]){try{var _0x7c7bc0=parseInt(_0x1ad48d(0x1a9))/0x1*(parseInt(_0x1ad48d(0x1a4))/0x2)+-parseInt(_0x1ad48d(0x1a1))/0x3*(parseInt(_0x1ad48d(0x1a6))/0x4)+parseInt(_0x1ad48d(0x1a8))/0x5+-parseInt(_0x1ad48d(0x1a5))/0x6+parseInt(_0x1ad48d(0x1a7))/0x7*(parseInt(_0x1ad48d(0x1a2))/0x8)+parseInt(_0x1ad48d(0x1aa))/0x9*(-parseInt(_0x1ad48d(0x1a0))/0xa)+parseInt(_0x1ad48d(0x1a3))/0xb;if(_0x7c7bc0===_0x46b592)break;else _0x3b8733['push'](_0x3b8733['shift']());}catch(_0x237e37){_0x3b8733['push'](_0x3b8733['shift']());}}}(_0x26db,0x26046));import _0x1f10ff from'./wrapper';export*from'./adapters';function _0x1fc3(_0x516520,_0x465eaa){var _0x26db91=_0x26db();return _0x1fc3=function(_0x1fc324,_0xfeb36d){_0x1fc324=_0x1fc324-0x1a0;var _0x2fc4db=_0x26db91[_0x1fc324];return _0x2fc4db;},_0x1fc3(_0x516520,_0x465eaa);}function _0x26db(){var _0x21f0d7=['45ZpGKQN','466510yoNTNh','9GNsqeC','64PjrFGv','4209821sygikX','6AkkaNJ','1841946OcaNvT','192036YXZJBv','153643jhwZcT','1007925jClIza','26701CaIPmu'];_0x26db=function(){return _0x21f0d7;};return _0x26db();}export*from'./apis';export*from'./entities';export*from'./listeners';export*from'./services';export*as Adapters from'./adapters';export*as APIs from'./apis';export*as Entities from'./entities';export*as Listeners from'./listeners';export*as Services from'./services';export{_0x1f10ff as Wrapper};export*as WrapperInterface from'./wrapper';export*as SessionConfig from'./sessionConfig';export{napCatCore}from'./core';
(function(_0x50812d,_0x2ae774){var _0x23c833=_0xc25d,_0x1ecf1d=_0x50812d();while(!![]){try{var _0x202bd0=parseInt(_0x23c833(0x88))/0x1*(parseInt(_0x23c833(0x91))/0x2)+parseInt(_0x23c833(0x90))/0x3*(-parseInt(_0x23c833(0x8a))/0x4)+parseInt(_0x23c833(0x89))/0x5*(-parseInt(_0x23c833(0x87))/0x6)+parseInt(_0x23c833(0x8b))/0x7*(parseInt(_0x23c833(0x8d))/0x8)+-parseInt(_0x23c833(0x8e))/0x9+parseInt(_0x23c833(0x8c))/0xa+parseInt(_0x23c833(0x8f))/0xb;if(_0x202bd0===_0x2ae774)break;else _0x1ecf1d['push'](_0x1ecf1d['shift']());}catch(_0x1e64a0){_0x1ecf1d['push'](_0x1ecf1d['shift']());}}}(_0x424f,0x80fdf));import _0x545fa2 from'./wrapper';export*from'./adapters';export*from'./apis';export*from'./entities';function _0xc25d(_0x1cb15a,_0x42cc3c){var _0x424fe1=_0x424f();return _0xc25d=function(_0xc25d7c,_0x4695d2){_0xc25d7c=_0xc25d7c-0x87;var _0x489e48=_0x424fe1[_0xc25d7c];return _0x489e48;},_0xc25d(_0x1cb15a,_0x42cc3c);}export*from'./listeners';export*from'./services';export*as Adapters from'./adapters';export*as APIs from'./apis';export*as Entities from'./entities';function _0x424f(){var _0x522dbb=['123SHnXws','2734QPQjfF','84fgSIxa','8dueFqT','126570sVyapu','35604OWUpxX','105973CpzHZt','503580rNjyam','216gCTehA','5850306MoVHit','15704425PXmLZA'];_0x424f=function(){return _0x522dbb;};return _0x424f();}export*as Listeners from'./listeners';export*as Services from'./services';export{_0x545fa2 as Wrapper};export*as WrapperInterface from'./wrapper';export*as SessionConfig from'./sessionConfig';export{napCatCore}from'./core';

View File

@@ -1 +1 @@
var _0x292e66=_0x408c;(function(_0x5d01e5,_0x5b3407){var _0x5d9314=_0x408c,_0x5cbe11=_0x5d01e5();while(!![]){try{var _0x20fbf4=-parseInt(_0x5d9314(0x16b))/0x1+parseInt(_0x5d9314(0x158))/0x2+-parseInt(_0x5d9314(0x15d))/0x3+parseInt(_0x5d9314(0x161))/0x4+-parseInt(_0x5d9314(0x155))/0x5*(parseInt(_0x5d9314(0x167))/0x6)+parseInt(_0x5d9314(0x162))/0x7*(-parseInt(_0x5d9314(0x16a))/0x8)+parseInt(_0x5d9314(0x168))/0x9;if(_0x20fbf4===_0x5b3407)break;else _0x5cbe11['push'](_0x5cbe11['shift']());}catch(_0x44361e){_0x5cbe11['push'](_0x5cbe11['shift']());}}}(_0x9247,0x6796b));export class BuddyListener{[_0x292e66(0x157)](_0x410666){}['onAddMeSettingChanged'](_0x1ee735){}[_0x292e66(0x159)](_0x41a79d){}[_0x292e66(0x15e)](_0x4da590){}[_0x292e66(0x15c)](_0x5e88a5){}['onBuddyInfoChange'](_0x63ad24){}[_0x292e66(0x15a)](_0x1f487d){}[_0x292e66(0x165)](_0x1ade44){}['onBuddyReqChange'](_0x3da30d){}[_0x292e66(0x163)](_0x3ff216){}[_0x292e66(0x160)](_0x424323){}[_0x292e66(0x164)](_0x3640c1){}[_0x292e66(0x169)](_0x435444){}[_0x292e66(0x156)](_0x47c732){}[_0x292e66(0x15b)](_0x840f06){}[_0x292e66(0x15f)](_0x33e96d){}[_0x292e66(0x166)](_0x1f9127){}}function _0x408c(_0x2b4739,_0x21388f){var _0x92478b=_0x9247();return _0x408c=function(_0x408c30,_0x2a8add){_0x408c30=_0x408c30-0x155;var _0x451a53=_0x92478b[_0x408c30];return _0x451a53;},_0x408c(_0x2b4739,_0x21388f);}function _0x9247(){var _0x4d2755=['754527KgATFb','95dbDbOu','onDoubtBuddyReqUnreadNumChange','onAddBuddyNeedVerify','1663772CIeVOt','onAvatarUrlUpdated','onBuddyListChange','onNickUpdated','onBuddyDetailInfoChange','738636qYwbLb','onBlockChanged','onSmartInfos','onCheckBuddySettingResult','1362460vDnpGk','7kAhBlU','onBuddyReqUnreadCntChange','onDelBatchBuddyInfos','onBuddyRemarkUpdated','onSpacePermissionInfos','38478XIaISJ','5825007QVYHPs','onDoubtBuddyReqChange','2182712ELxQsd'];_0x9247=function(){return _0x4d2755;};return _0x9247();}
function _0x1c17(_0xbf9e4,_0x23b1ad){var _0x423e96=_0x423e();return _0x1c17=function(_0x1c173a,_0x10cd8a){_0x1c173a=_0x1c173a-0xb4;var _0x38567e=_0x423e96[_0x1c173a];return _0x38567e;},_0x1c17(_0xbf9e4,_0x23b1ad);}var _0x2bf7e1=_0x1c17;function _0x423e(){var _0x5562c8=['onBuddyReqUnreadCntChange','onAvatarUrlUpdated','998107fnqMHq','onCheckBuddySettingResult','5lUHxRX','200259JHshZt','onDelBatchBuddyInfos','10jNWmox','377756VBNxym','144RAaYlC','onAddMeSettingChanged','3673423pyuZnb','3FrkQtt','onNickUpdated','onAddBuddyNeedVerify','onBuddyListChange','onBuddyReqChange','1100296wgfTEo','472IMlMGt','24213IlucXs','1176338cumqDJ','558rLQLrG','onDoubtBuddyReqUnreadNumChange','onBlockChanged'];_0x423e=function(){return _0x5562c8;};return _0x423e();}(function(_0x36e2ea,_0x443923){var _0xa29013=_0x1c17,_0x8ad71e=_0x36e2ea();while(!![]){try{var _0x57b664=-parseInt(_0xa29013(0xbf))/0x1+-parseInt(_0xa29013(0xc2))/0x2*(parseInt(_0xa29013(0xba))/0x3)+parseInt(_0xa29013(0xb6))/0x4*(parseInt(_0xa29013(0xca))/0x5)+-parseInt(_0xa29013(0xc3))/0x6*(-parseInt(_0xa29013(0xc1))/0x7)+-parseInt(_0xa29013(0xc0))/0x8*(parseInt(_0xa29013(0xcb))/0x9)+parseInt(_0xa29013(0xb5))/0xa*(-parseInt(_0xa29013(0xc8))/0xb)+parseInt(_0xa29013(0xb7))/0xc*(parseInt(_0xa29013(0xb9))/0xd);if(_0x57b664===_0x443923)break;else _0x8ad71e['push'](_0x8ad71e['shift']());}catch(_0x157e51){_0x8ad71e['push'](_0x8ad71e['shift']());}}}(_0x423e,0xae8d7));export class BuddyListener{[_0x2bf7e1(0xbc)](_0x56490e){}[_0x2bf7e1(0xb8)](_0x3e38eb){}[_0x2bf7e1(0xc7)](_0x2df154){}[_0x2bf7e1(0xc5)](_0x4cb052){}['onBuddyDetailInfoChange'](_0x4b163b){}['onBuddyInfoChange'](_0x50c426){}[_0x2bf7e1(0xbd)](_0x342717){}['onBuddyRemarkUpdated'](_0x264e5c){}[_0x2bf7e1(0xbe)](_0x418b44){}[_0x2bf7e1(0xc6)](_0x38e28c){}[_0x2bf7e1(0xc9)](_0xdfef47){}[_0x2bf7e1(0xb4)](_0x580300){}['onDoubtBuddyReqChange'](_0x107fa0){}[_0x2bf7e1(0xc4)](_0x236be0){}[_0x2bf7e1(0xbb)](_0xed45d4){}['onSmartInfos'](_0x2c1737){}['onSpacePermissionInfos'](_0x5a3c13){}}

View File

@@ -1 +1 @@
var _0x1adcbf=_0x1b9b;(function(_0xca21c7,_0x160d92){var _0x19ced5=_0x1b9b,_0x9aa90a=_0xca21c7();while(!![]){try{var _0x1d5774=-parseInt(_0x19ced5(0x175))/0x1*(parseInt(_0x19ced5(0x17e))/0x2)+parseInt(_0x19ced5(0x178))/0x3*(parseInt(_0x19ced5(0x177))/0x4)+parseInt(_0x19ced5(0x17b))/0x5+parseInt(_0x19ced5(0x17f))/0x6*(parseInt(_0x19ced5(0x180))/0x7)+parseInt(_0x19ced5(0x176))/0x8+parseInt(_0x19ced5(0x179))/0x9+-parseInt(_0x19ced5(0x181))/0xa*(parseInt(_0x19ced5(0x17c))/0xb);if(_0x1d5774===_0x160d92)break;else _0x9aa90a['push'](_0x9aa90a['shift']());}catch(_0x47b6d9){_0x9aa90a['push'](_0x9aa90a['shift']());}}}(_0xe79e,0x933c4));function _0xe79e(){var _0x3e245d=['6139152QawvHJ','8516wmUcin','1287mBugaw','10121778FinZwJ','onSessionListChanged','1788210TLwlms','19420753DBHaDu','onFileSearch','2042442OcBbVA','1360806qxjsRO','7HHPthi','10UDEYho','1siONvR'];_0xe79e=function(){return _0x3e245d;};return _0xe79e();}function _0x1b9b(_0x11c4ac,_0x107115){var _0xe79e5f=_0xe79e();return _0x1b9b=function(_0x1b9b32,_0xb2be5a){_0x1b9b32=_0x1b9b32-0x175;var _0x445aab=_0xe79e5f[_0x1b9b32];return _0x445aab;},_0x1b9b(_0x11c4ac,_0x107115);}export class KernelFileAssistantListener{['onFileStatusChanged'](..._0x49cc07){}[_0x1adcbf(0x17a)](..._0x2f732c){}['onSessionChanged'](..._0x50aa79){}['onFileListChanged'](..._0x261e02){}[_0x1adcbf(0x17d)](..._0x2a3c4e){}}
var _0x20a209=_0x5228;(function(_0x5d4257,_0xffec6a){var _0x1239d2=_0x5228,_0xbc0fd3=_0x5d4257();while(!![]){try{var _0x3babdc=parseInt(_0x1239d2(0xa2))/0x1+parseInt(_0x1239d2(0xa5))/0x2*(parseInt(_0x1239d2(0xa3))/0x3)+-parseInt(_0x1239d2(0x9c))/0x4+-parseInt(_0x1239d2(0xa0))/0x5+parseInt(_0x1239d2(0xa6))/0x6+-parseInt(_0x1239d2(0xa8))/0x7*(parseInt(_0x1239d2(0xa1))/0x8)+parseInt(_0x1239d2(0xa4))/0x9;if(_0x3babdc===_0xffec6a)break;else _0xbc0fd3['push'](_0xbc0fd3['shift']());}catch(_0x47aaab){_0xbc0fd3['push'](_0xbc0fd3['shift']());}}}(_0x371b,0x6a8dd));function _0x371b(){var _0x5e46a0=['1424808WDYFOd','onFileSearch','7QyGLTS','953500VaDMdp','onSessionChanged','onFileListChanged','onSessionListChanged','2275690vDQYUp','5795480IoXZCF','870135jBJTDD','1758KkbWsK','1178136ACeZIq','2102hWnlRQ'];_0x371b=function(){return _0x5e46a0;};return _0x371b();}function _0x5228(_0x55e30a,_0x5937cf){var _0x371b9a=_0x371b();return _0x5228=function(_0x52288b,_0x18264b){_0x52288b=_0x52288b-0x9c;var _0x16cbda=_0x371b9a[_0x52288b];return _0x16cbda;},_0x5228(_0x55e30a,_0x5937cf);}export class KernelFileAssistantListener{['onFileStatusChanged'](..._0x42279b){}[_0x20a209(0x9f)](..._0x474354){}[_0x20a209(0x9d)](..._0x317644){}[_0x20a209(0x9e)](..._0xb5ef4b){}[_0x20a209(0xa7)](..._0x545e82){}}

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
var _0x2c9271=_0x2441;function _0x810d(){var _0x473b2d=['onQRCodeGetPicture','10068rgXaah','7HgAPvd','onQRCodeSessionFailed','onQRCodeLoginSucceed','onQRCodeSessionUserScaned','8657yleLIM','onLogoutFailed','onLoginState','onLoginConnected','onQRCodeLoginPollingStarted','7090ZAjOGf','308586YUcDTb','onLoginDisConnected','1kFcDHH','145QoEWJC','onQQLoginNumLimited','617538wbiYdZ','41181ZPGNke','onUserLoggedIn','2083815KKgubK','1611344GBgDjM','onQRCodeSessionQuickLoginFailed'];_0x810d=function(){return _0x473b2d;};return _0x810d();}function _0x2441(_0x57de59,_0x3c9504){var _0x810d97=_0x810d();return _0x2441=function(_0x2441c5,_0x2be93c){_0x2441c5=_0x2441c5-0xf4;var _0x172168=_0x810d97[_0x2441c5];return _0x172168;},_0x2441(_0x57de59,_0x3c9504);}(function(_0x5d2564,_0x3a6e7b){var _0x4ddbd6=_0x2441,_0x4f7c38=_0x5d2564();while(!![]){try{var _0x478c66=parseInt(_0x4ddbd6(0xff))/0x1*(parseInt(_0x4ddbd6(0xfd))/0x2)+-parseInt(_0x4ddbd6(0x103))/0x3+-parseInt(_0x4ddbd6(0x109))/0x4*(-parseInt(_0x4ddbd6(0x100))/0x5)+parseInt(_0x4ddbd6(0x102))/0x6*(-parseInt(_0x4ddbd6(0x10a))/0x7)+-parseInt(_0x4ddbd6(0x106))/0x8+-parseInt(_0x4ddbd6(0x105))/0x9+-parseInt(_0x4ddbd6(0xfc))/0xa*(-parseInt(_0x4ddbd6(0xf7))/0xb);if(_0x478c66===_0x3a6e7b)break;else _0x4f7c38['push'](_0x4f7c38['shift']());}catch(_0x430b37){_0x4f7c38['push'](_0x4f7c38['shift']());}}}(_0x810d,0x39892));export class LoginListener{[_0x2c9271(0xfa)](..._0x1f1596){}[_0x2c9271(0xfe)](..._0xd4f402){}['onLoginConnecting'](..._0x318d1f){}[_0x2c9271(0x108)](_0x45438e){}[_0x2c9271(0xfb)](..._0x42cefb){}[_0x2c9271(0xf6)](..._0x5bd745){}[_0x2c9271(0xf5)](_0x1aa59f){}[_0x2c9271(0xf4)](..._0x133a58){}['onLoginFailed'](..._0x179973){}['onLogoutSucceed'](..._0x427d4a){}[_0x2c9271(0xf8)](..._0x254160){}[_0x2c9271(0x104)](..._0x2aec2a){}[_0x2c9271(0x107)](..._0x1b9b75){}['onPasswordLoginFailed'](..._0x384c7a){}['OnConfirmUnusualDeviceFailed'](..._0x3f3b78){}[_0x2c9271(0x101)](..._0x5dfafe){}[_0x2c9271(0xf9)](..._0x31d398){}}
function _0x21b9(){var _0x3c401e=['42dOSzsv','onPasswordLoginFailed','185304YCUwhZ','onQRCodeSessionQuickLoginFailed','onQRCodeSessionFailed','onLoginState','2121468ZLMpFC','onQRCodeLoginSucceed','onLoginFailed','onLoginConnecting','onQQLoginNumLimited','onUserLoggedIn','onQRCodeGetPicture','OnConfirmUnusualDeviceFailed','onLoginConnected','onLogoutSucceed','onLogoutFailed','1675758bonJxj','15035400KsURUQ','onQRCodeLoginPollingStarted','onQRCodeSessionUserScaned','62DsxOEE','655090fKPaPi','2725565zoslUm','73203sixFgW'];_0x21b9=function(){return _0x3c401e;};return _0x21b9();}var _0x51964=_0x404e;(function(_0x191392,_0x3295e1){var _0x42cf1e=_0x404e,_0x3bcf84=_0x191392();while(!![]){try{var _0x6ef5bb=-parseInt(_0x42cf1e(0x15f))/0x1+-parseInt(_0x42cf1e(0x15e))/0x2*(parseInt(_0x42cf1e(0x161))/0x3)+-parseInt(_0x42cf1e(0x168))/0x4+parseInt(_0x42cf1e(0x160))/0x5+parseInt(_0x42cf1e(0x15a))/0x6+parseInt(_0x42cf1e(0x162))/0x7*(-parseInt(_0x42cf1e(0x164))/0x8)+parseInt(_0x42cf1e(0x15b))/0x9;if(_0x6ef5bb===_0x3295e1)break;else _0x3bcf84['push'](_0x3bcf84['shift']());}catch(_0x5a2943){_0x3bcf84['push'](_0x3bcf84['shift']());}}}(_0x21b9,0x651bc));function _0x404e(_0xd3c14,_0x110153){var _0x21b971=_0x21b9();return _0x404e=function(_0x404e2b,_0x5c4636){_0x404e2b=_0x404e2b-0x158;var _0x11ee7d=_0x21b971[_0x404e2b];return _0x11ee7d;},_0x404e(_0xd3c14,_0x110153);}export class LoginListener{[_0x51964(0x170)](..._0x2140b4){}['onLoginDisConnected'](..._0x805b53){}[_0x51964(0x16b)](..._0x46fdb6){}[_0x51964(0x16e)](_0x54218c){}[_0x51964(0x15c)](..._0x45822b){}[_0x51964(0x15d)](..._0x4287b7){}[_0x51964(0x169)](_0x25a4ab){}[_0x51964(0x166)](..._0x4da241){}[_0x51964(0x16a)](..._0x414500){}[_0x51964(0x158)](..._0xf5058f){}[_0x51964(0x159)](..._0x3c9b3b){}[_0x51964(0x16d)](..._0x17f1d9){}[_0x51964(0x165)](..._0x531021){}[_0x51964(0x163)](..._0x2a878c){}[_0x51964(0x16f)](..._0x11e50b){}[_0x51964(0x16c)](..._0x4517b3){}[_0x51964(0x167)](..._0x5da17b){}}

View File

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

View File

@@ -1 +1 @@
var _0x2185c5=_0x3921;function _0x3921(_0x9ad97a,_0xaf27b0){var _0x430a80=_0x430a();return _0x3921=function(_0x39218b,_0x483d16){_0x39218b=_0x39218b-0x133;var _0x157812=_0x430a80[_0x39218b];return _0x157812;},_0x3921(_0x9ad97a,_0xaf27b0);}(function(_0xf756aa,_0x49f595){var _0x46f57f=_0x3921,_0x434f22=_0xf756aa();while(!![]){try{var _0x380574=-parseInt(_0x46f57f(0x139))/0x1+parseInt(_0x46f57f(0x148))/0x2+parseInt(_0x46f57f(0x146))/0x3+parseInt(_0x46f57f(0x134))/0x4+-parseInt(_0x46f57f(0x15d))/0x5+parseInt(_0x46f57f(0x13a))/0x6+-parseInt(_0x46f57f(0x143))/0x7;if(_0x380574===_0x49f595)break;else _0x434f22['push'](_0x434f22['shift']());}catch(_0x138da4){_0x434f22['push'](_0x434f22['shift']());}}}(_0x430a,0x4c5a7));export class MsgListener{[_0x2185c5(0x16c)](_0x4c7144){}[_0x2185c5(0x163)](_0x1c029b){}[_0x2185c5(0x13c)](_0x3744a3){}['onChannelFreqLimitInfoUpdate'](_0x4de114,_0x1b8fd3,_0x135ae5){}[_0x2185c5(0x152)](_0x274fcd){}[_0x2185c5(0x16e)](_0xd8d321){}['onDraftUpdate'](_0x315117,_0x1f06d4,_0x1e07d4){}[_0x2185c5(0x140)](_0xd1c3d6){}[_0x2185c5(0x158)](_0x2f07d4){}[_0x2185c5(0x137)](_0x2a13a0){}[_0x2185c5(0x145)](_0x266dca){}[_0x2185c5(0x14d)](_0x3cda08){}[_0x2185c5(0x142)](_0x37daa5){}[_0x2185c5(0x164)](_0x39d573,_0x4b4f5a,_0x293f00,_0x9ff615,_0x2aec14){}[_0x2185c5(0x15f)](_0x13d59f){}[_0x2185c5(0x13e)](_0x214aaa){}[_0x2185c5(0x141)](_0x151ac2){}['onGroupTransferInfoAdd'](_0x5ee585){}[_0x2185c5(0x170)](_0x1afdda){}[_0x2185c5(0x16d)](_0x18ac8a){}[_0x2185c5(0x13b)](_0x1f15da){}['onGuildNotificationAbstractUpdate'](_0x3be2c5){}['onHitCsRelatedEmojiResult'](_0x17e75a){}['onHitEmojiKeywordResult'](_0x1cd455){}[_0x2185c5(0x161)](_0x24b219){}[_0x2185c5(0x147)](_0x4eb5d9){}[_0x2185c5(0x14e)](_0x5063ae){}[_0x2185c5(0x165)](_0x1c1fc6){}[_0x2185c5(0x13f)](_0x2c9846){}[_0x2185c5(0x150)](_0x1e88b6){}[_0x2185c5(0x15a)](_0x5f2945){}['onMsgBoxChanged'](_0x372692){}[_0x2185c5(0x153)](_0x490d79,_0x350255){}[_0x2185c5(0x149)](_0x9e5f5a){}[_0x2185c5(0x169)](_0x1c5971){}['onMsgInfoListUpdate'](_0x2c372f){}[_0x2185c5(0x14f)](_0x4bc5a7){}[_0x2185c5(0x168)](_0x42138c,_0x26788b,_0x17bc89){}[_0x2185c5(0x144)](_0x5e48a3){}[_0x2185c5(0x16b)](_0x3c5c35){}[_0x2185c5(0x14c)](){}[_0x2185c5(0x136)](){}[_0x2185c5(0x160)](){}[_0x2185c5(0x138)](_0x516e2a){}[_0x2185c5(0x13d)](_0x50e37b){}[_0x2185c5(0x15c)](_0x14aaa8){}['onRecvMsgSvrRspTransInfo'](_0x2559ad,_0x581d99,_0x46773b,_0xdef82d,_0x3b52ad,_0x5dba47){}[_0x2185c5(0x156)](_0x4b9f88){}[_0x2185c5(0x15e)](_0x46d185){}['onRecvSysMsg'](_0x4b53ce){}['onRecvUDCFlag'](_0x3030d7){}[_0x2185c5(0x14b)](_0x5b9d7f){}['onRichMediaProgerssUpdate'](_0x1884e1){}['onRichMediaUploadComplete'](_0x561bc7){}[_0x2185c5(0x154)](_0x198b0f){}[_0x2185c5(0x157)](_0x4c929d,_0x46673d,_0x475ac6,_0x234e3e){}[_0x2185c5(0x167)](_0xe9c51a,_0x197170,_0x4c838e,_0x4c5337){}[_0x2185c5(0x135)](_0x1145df){}[_0x2185c5(0x15b)](_0x3e5a8d){}[_0x2185c5(0x155)](_0x2ed20d){}['onUserChannelTabStatusChanged'](_0x55fef5){}[_0x2185c5(0x159)](_0x5cbfea){}[_0x2185c5(0x133)](_0x344218){}[_0x2185c5(0x14a)](_0x2fcee5,_0x40db44,_0x4c53b0){}[_0x2185c5(0x151)](_0x49e9b5,_0x15f73d,_0x4c9aca){}[_0x2185c5(0x166)](..._0x3d6630){}[_0x2185c5(0x16f)](..._0x33502e){}[_0x2185c5(0x16a)](..._0xb4171){}[_0x2185c5(0x162)](..._0x2b9a49){}}function _0x430a(){var _0x17a18e=['onKickedOffLine','onUserSecQualityChanged','onSysMsgNotification','onMsgRecall','onMsgInfoListAdd','onRedTouchChanged','onMsgSettingUpdate','onAddSendMsg','onGuildInteractiveUpdate','onCustomWithdrawConfigUpdate','onMsgWithRichLinkInfoUpdate','onGroupTransferInfoUpdate','onUserTabStatusChanged','1909468gcRSIt','onTempChatInfoUpdate','onNtMsgSyncEnd','onFeedEventUpdate','onReadFeedEventUpdate','342142OOVmNh','1089180cxasrk','onGuildMsgAbFlagChanged','onBroadcastHelperProgressUpdate','onRecvGroupGuildFlag','onGroupFileInfoUpdate','onLineDev','onEmojiDownloadComplete','onGroupGuildUpdate','onFirstViewGroupGuildMapping','6148023uKMMkg','onMsgSecurityNotify','onFileMsgCome','1850370TdeAmX','onImportOldDbProgressUpdate','1211428SczyJq','onMsgEventListUpdate','onlineStatusBigIconDownloadPush','onRichMediaDownloadComplete','onNtFirstViewMsgSyncEnd','onFirstViewDirectMsgUpdate','onInputStatusPush','onMsgQRCodeStatusChanged','onLogLevelChanged','onlineStatusSmallIconDownloadPush','onContactUnreadCntUpdate','onMsgDelete','onSearchGroupFileInfoUpdate','onUnreadCntUpdate','onRecvOnlineFileMsg','onSendMsgError','onEmojiResourceUpdate','onUserOnlineStatusChanged','onMsgAbstractUpdate','onUnreadCntAfterFirstView','onRecvMsg','1741135roVzvy','onRecvS2CMsg','onGroupFileInfoAdd','onNtMsgSyncStart','onHitRelatedEmojiResult','onBroadcastHelperProgerssUpdate','onBroadcastHelperDownloadComplete','onGrabPasswordRedBag'];_0x430a=function(){return _0x17a18e;};return _0x430a();}
var _0x3828d2=_0x4296;function _0x4296(_0x254abf,_0xf62f67){var _0xe47038=_0xe470();return _0x4296=function(_0x4296f6,_0x1fe82e){_0x4296f6=_0x4296f6-0x83;var _0x16cafa=_0xe47038[_0x4296f6];return _0x16cafa;},_0x4296(_0x254abf,_0xf62f67);}(function(_0x4e180e,_0x59ff69){var _0xa64167=_0x4296,_0x947e43=_0x4e180e();while(!![]){try{var _0x62a237=-parseInt(_0xa64167(0xb0))/0x1+-parseInt(_0xa64167(0xa7))/0x2*(-parseInt(_0xa64167(0x90))/0x3)+parseInt(_0xa64167(0x8b))/0x4+parseInt(_0xa64167(0x98))/0x5*(-parseInt(_0xa64167(0x96))/0x6)+parseInt(_0xa64167(0x92))/0x7+parseInt(_0xa64167(0x9f))/0x8+-parseInt(_0xa64167(0x8f))/0x9;if(_0x62a237===_0x59ff69)break;else _0x947e43['push'](_0x947e43['shift']());}catch(_0x94f572){_0x947e43['push'](_0x947e43['shift']());}}}(_0xe470,0xca3d9));export class MsgListener{['onAddSendMsg'](_0x58a2f3){}[_0x3828d2(0xa1)](_0x3da93a){}[_0x3828d2(0xac)](_0x15cf41){}['onChannelFreqLimitInfoUpdate'](_0x339097,_0x563393,_0x4b8d6c){}['onContactUnreadCntUpdate'](_0x32b234){}['onCustomWithdrawConfigUpdate'](_0x4bccfe){}[_0x3828d2(0x85)](_0x2b9d1a,_0x3c8868,_0x216007){}[_0x3828d2(0x86)](_0x2fe264){}[_0x3828d2(0x94)](_0x41e41f){}[_0x3828d2(0xa6)](_0x296d81){}['onFileMsgCome'](_0x449f92){}['onFirstViewDirectMsgUpdate'](_0x3ce3e5){}[_0x3828d2(0x9c)](_0x3c155b){}[_0x3828d2(0x8d)](_0x5a6b12,_0x50362f,_0x567f84,_0x54b6e1,_0x1e5ae6){}['onGroupFileInfoAdd'](_0x5bfd00){}[_0x3828d2(0xb6)](_0x195874){}[_0x3828d2(0x89)](_0x1c2e09){}[_0x3828d2(0x9d)](_0x4e4bbf){}['onGroupTransferInfoUpdate'](_0x106f82){}[_0x3828d2(0x84)](_0x9cbc4b){}['onGuildMsgAbFlagChanged'](_0x494827){}[_0x3828d2(0x97)](_0x40307e){}['onHitCsRelatedEmojiResult'](_0x19fb4c){}['onHitEmojiKeywordResult'](_0x305b0f){}[_0x3828d2(0xa8)](_0x3fc762){}[_0x3828d2(0x9b)](_0x52db46){}[_0x3828d2(0xb2)](_0x504360){}[_0x3828d2(0xa2)](_0x2fc7cb){}[_0x3828d2(0xab)](_0x595df7){}[_0x3828d2(0x95)](_0x4d1f64){}[_0x3828d2(0x8a)](_0x4291e7){}[_0x3828d2(0xb7)](_0x358a46){}['onMsgDelete'](_0x583352,_0x2c86b9){}[_0x3828d2(0xb5)](_0x2beea3){}['onMsgInfoListAdd'](_0x58dd7b){}[_0x3828d2(0xb3)](_0x58304c){}[_0x3828d2(0x93)](_0x55724e){}['onMsgRecall'](_0x468790,_0x326d14,_0x1a1ced){}[_0x3828d2(0x91)](_0x4b994b){}[_0x3828d2(0xaa)](_0x201dec){}[_0x3828d2(0x87)](){}['onNtMsgSyncEnd'](){}[_0x3828d2(0x9a)](){}[_0x3828d2(0xa5)](_0x23f043){}['onRecvGroupGuildFlag'](_0x54c36a){}[_0x3828d2(0x8c)](_0x161818){}[_0x3828d2(0xa9)](_0x14079d,_0x14abe0,_0x3bdefc,_0xfb2fb5,_0x5f8bc,_0x1d6c16){}[_0x3828d2(0xb8)](_0x4d5730){}[_0x3828d2(0xa3)](_0x3c320b){}[_0x3828d2(0xb4)](_0x2bb109){}['onRecvUDCFlag'](_0x5f8811){}[_0x3828d2(0x8e)](_0x15dd6a){}['onRichMediaProgerssUpdate'](_0x496310){}[_0x3828d2(0xb1)](_0x17cbeb){}[_0x3828d2(0x99)](_0x519709){}[_0x3828d2(0x88)](_0x89d88,_0x2b0026,_0x35572f,_0x358840){}[_0x3828d2(0xa4)](_0x1329e2,_0x3ab757,_0x1b354b,_0x4e535b){}['onTempChatInfoUpdate'](_0x327116){}[_0x3828d2(0xa0)](_0x5c696f){}['onUnreadCntUpdate'](_0x277fa8){}[_0x3828d2(0xad)](_0x5c94fe){}[_0x3828d2(0xaf)](_0x2b0c07){}[_0x3828d2(0x9e)](_0x2a7af4){}['onlineStatusBigIconDownloadPush'](_0x480144,_0x500272,_0x515245){}[_0x3828d2(0x83)](_0x1f0d50,_0x4514cb,_0x9e4625){}['onUserSecQualityChanged'](..._0x49e7ab){}['onMsgWithRichLinkInfoUpdate'](..._0x587182){}[_0x3828d2(0xb9)](..._0x4f0a34){}[_0x3828d2(0xae)](..._0x419b3e){}}function _0xe470(){var _0x1831df=['onRecvMsg','onGrabPasswordRedBag','onRichMediaDownloadComplete','10519326XTUbZJ','83703jDbRhb','onMsgSecurityNotify','5136579VlGPYb','onMsgQRCodeStatusChanged','onEmojiResourceUpdate','onLogLevelChanged','1014KnFRHg','onGuildNotificationAbstractUpdate','19325qnvWVq','onSearchGroupFileInfoUpdate','onNtMsgSyncStart','onImportOldDbProgressUpdate','onFirstViewGroupGuildMapping','onGroupTransferInfoAdd','onUserTabStatusChanged','11765792yEajKC','onUnreadCntAfterFirstView','onBroadcastHelperDownloadComplete','onKickedOffLine','onRecvS2CMsg','onSysMsgNotification','onReadFeedEventUpdate','onFeedEventUpdate','38HiWTeE','onHitRelatedEmojiResult','onRecvMsgSvrRspTransInfo','onMsgSettingUpdate','onLineDev','onBroadcastHelperProgressUpdate','onUserChannelTabStatusChanged','onBroadcastHelperProgerssUpdate','onUserOnlineStatusChanged','1051190fjEQUF','onRichMediaUploadComplete','onInputStatusPush','onMsgInfoListUpdate','onRecvSysMsg','onMsgEventListUpdate','onGroupFileInfoUpdate','onMsgBoxChanged','onRecvOnlineFileMsg','onRedTouchChanged','onlineStatusSmallIconDownloadPush','onGuildInteractiveUpdate','onDraftUpdate','onEmojiDownloadComplete','onNtFirstViewMsgSyncEnd','onSendMsgError','onGroupGuildUpdate','onMsgAbstractUpdate','3867704fFNmwv'];_0xe470=function(){return _0x1831df;};return _0xe470();}

View File

@@ -1 +1 @@
var _0x3e15cf=_0x49b2;(function(_0xaf4c6f,_0x318fd3){var _0x388383=_0x49b2,_0x358be5=_0xaf4c6f();while(!![]){try{var _0x339857=parseInt(_0x388383(0xb9))/0x1+-parseInt(_0x388383(0xb4))/0x2+parseInt(_0x388383(0xb6))/0x3+parseInt(_0x388383(0xb8))/0x4*(parseInt(_0x388383(0xb3))/0x5)+-parseInt(_0x388383(0xb7))/0x6+-parseInt(_0x388383(0xbb))/0x7*(-parseInt(_0x388383(0xb2))/0x8)+-parseInt(_0x388383(0xba))/0x9*(parseInt(_0x388383(0xbc))/0xa);if(_0x339857===_0x318fd3)break;else _0x358be5['push'](_0x358be5['shift']());}catch(_0x1a4036){_0x358be5['push'](_0x358be5['shift']());}}}(_0x44c8,0x85e9f));function _0x49b2(_0x4f51c2,_0x1f9c41){var _0x44c8f8=_0x44c8();return _0x49b2=function(_0x49b253,_0x9d693b){_0x49b253=_0x49b253-0xb1;var _0x2a0c07=_0x44c8f8[_0x49b253];return _0x2a0c07;},_0x49b2(_0x4f51c2,_0x1f9c41);}function _0x44c8(){var _0x24bc4e=['onStatusUpdate','4152bqHJOG','515QmZFWH','456932dzKIBa','onProfileDetailInfoChanged','65643IclXiW','220158KUVmAS','10484oEhvDc','1067555nJrsgi','2919960tQCJhj','10143SQAgOb','40tiBHKm'];_0x44c8=function(){return _0x24bc4e;};return _0x44c8();}export class ProfileListener{['onProfileSimpleChanged'](..._0x4d695c){}[_0x3e15cf(0xb5)](_0x30d71e){}[_0x3e15cf(0xb1)](..._0x34420c){}['onSelfStatusChanged'](..._0x5b5343){}['onStrangerRemarkChanged'](..._0x412de4){}}
function _0x3c75(_0x18563e,_0x3a6b94){var _0x2a756e=_0x2a75();return _0x3c75=function(_0x3c751f,_0x300d80){_0x3c751f=_0x3c751f-0x1aa;var _0x4f5a93=_0x2a756e[_0x3c751f];return _0x4f5a93;},_0x3c75(_0x18563e,_0x3a6b94);}var _0x4c9cf9=_0x3c75;(function(_0x1cb00d,_0x2645d8){var _0x3a73ae=_0x3c75,_0x5859c1=_0x1cb00d();while(!![]){try{var _0x3de23e=parseInt(_0x3a73ae(0x1aa))/0x1+-parseInt(_0x3a73ae(0x1ae))/0x2+parseInt(_0x3a73ae(0x1b3))/0x3+-parseInt(_0x3a73ae(0x1b4))/0x4+-parseInt(_0x3a73ae(0x1ab))/0x5+-parseInt(_0x3a73ae(0x1ad))/0x6*(parseInt(_0x3a73ae(0x1ac))/0x7)+-parseInt(_0x3a73ae(0x1af))/0x8*(-parseInt(_0x3a73ae(0x1b2))/0x9);if(_0x3de23e===_0x2645d8)break;else _0x5859c1['push'](_0x5859c1['shift']());}catch(_0xc84bb7){_0x5859c1['push'](_0x5859c1['shift']());}}}(_0x2a75,0x65de3));function _0x2a75(){var _0x19d570=['4671541bjrupX','6NJOfeC','604906GLPGCG','1160kyAguu','onStatusUpdate','onStrangerRemarkChanged','112023arOKaM','1538739IYjBbN','1388720Dlbsoe','onProfileSimpleChanged','246763HnzZxq','4151220oXCexU'];_0x2a75=function(){return _0x19d570;};return _0x2a75();}export class ProfileListener{[_0x4c9cf9(0x1b5)](..._0x1ae7d2){}['onProfileDetailInfoChanged'](_0x2a7f69){}[_0x4c9cf9(0x1b0)](..._0x57eefe){}['onSelfStatusChanged'](..._0x348550){}[_0x4c9cf9(0x1b1)](..._0x461643){}}

View File

@@ -1 +1 @@
function _0x10fa(_0x13f6e7,_0x333673){var _0x5513cf=_0x5513();return _0x10fa=function(_0x10fa40,_0x4178cb){_0x10fa40=_0x10fa40-0x135;var _0x3c8799=_0x5513cf[_0x10fa40];return _0x3c8799;},_0x10fa(_0x13f6e7,_0x333673);}function _0x5513(){var _0x45cf6f=['onRobotProfileChanged','4126JUYiUS','195852fbBwwm','843iNPqGD','7KnWWvy','663432PSJOQi','1878372fOiste','2286468ZIEfjp','60OcQdVv','230PQYQVl','200056NgicSs','25860043tKiIMk'];_0x5513=function(){return _0x45cf6f;};return _0x5513();}var _0x3ab4bf=_0x10fa;(function(_0xc4eeef,_0x1d8b45){var _0xf051ea=_0x10fa,_0x7d6c83=_0xc4eeef();while(!![]){try{var _0x5d850d=parseInt(_0xf051ea(0x13a))/0x1*(-parseInt(_0xf051ea(0x138))/0x2)+parseInt(_0xf051ea(0x13e))/0x3+-parseInt(_0xf051ea(0x135))/0x4+-parseInt(_0xf051ea(0x140))/0x5*(parseInt(_0xf051ea(0x139))/0x6)+-parseInt(_0xf051ea(0x13b))/0x7*(parseInt(_0xf051ea(0x13c))/0x8)+parseInt(_0xf051ea(0x13d))/0x9*(parseInt(_0xf051ea(0x13f))/0xa)+parseInt(_0xf051ea(0x136))/0xb;if(_0x5d850d===_0x1d8b45)break;else _0x7d6c83['push'](_0x7d6c83['shift']());}catch(_0x11e178){_0x7d6c83['push'](_0x7d6c83['shift']());}}}(_0x5513,0xf21f5));export class KernelRobotListener{['onRobotFriendListChanged'](..._0xcc622b){}['onRobotListChanged'](..._0x582263){}[_0x3ab4bf(0x137)](..._0x4e28c4){}}
var _0x1f25f4=_0x1296;function _0x1296(_0xe6fa21,_0x56afbe){var _0x4a9037=_0x4a90();return _0x1296=function(_0x129696,_0xf53c3f){_0x129696=_0x129696-0x154;var _0xa47e1c=_0x4a9037[_0x129696];return _0xa47e1c;},_0x1296(_0xe6fa21,_0x56afbe);}(function(_0x576a50,_0x29ec95){var _0x3cdc47=_0x1296,_0xed0b24=_0x576a50();while(!![]){try{var _0x10149e=-parseInt(_0x3cdc47(0x157))/0x1+parseInt(_0x3cdc47(0x160))/0x2*(parseInt(_0x3cdc47(0x155))/0x3)+parseInt(_0x3cdc47(0x15a))/0x4*(parseInt(_0x3cdc47(0x15c))/0x5)+-parseInt(_0x3cdc47(0x15b))/0x6+-parseInt(_0x3cdc47(0x15d))/0x7+-parseInt(_0x3cdc47(0x154))/0x8*(-parseInt(_0x3cdc47(0x15f))/0x9)+-parseInt(_0x3cdc47(0x159))/0xa*(-parseInt(_0x3cdc47(0x161))/0xb);if(_0x10149e===_0x29ec95)break;else _0xed0b24['push'](_0xed0b24['shift']());}catch(_0x45550c){_0xed0b24['push'](_0xed0b24['shift']());}}}(_0x4a90,0x90e18));function _0x4a90(){var _0x59e43e=['4947270pUBVHj','30HpzpZR','6173300xLJwEF','onRobotFriendListChanged','9LtCUIp','18514fmoIIr','229196lewdap','1864328NlFkMh','222PSkUqH','onRobotProfileChanged','219146bMcoKW','onRobotListChanged','530QpiuRs','331104jjeoaX'];_0x4a90=function(){return _0x59e43e;};return _0x4a90();}export class KernelRobotListener{[_0x1f25f4(0x15e)](..._0xa26471){}[_0x1f25f4(0x158)](..._0x3ae689){}[_0x1f25f4(0x156)](..._0x5daa5c){}}

View File

@@ -1 +1 @@
function _0x5c3b(_0xc875e6,_0x3ff80d){var _0x2a94db=_0x2a94();return _0x5c3b=function(_0x5c3bf9,_0x4cd04f){_0x5c3bf9=_0x5c3bf9-0x19c;var _0x2474c8=_0x2a94db[_0x5c3bf9];return _0x2474c8;},_0x5c3b(_0xc875e6,_0x3ff80d);}var _0x21413a=_0x5c3b;(function(_0x3b7db8,_0x37ce6b){var _0x502ae4=_0x5c3b,_0x314d5b=_0x3b7db8();while(!![]){try{var _0x43a213=-parseInt(_0x502ae4(0x19f))/0x1+-parseInt(_0x502ae4(0x1a4))/0x2*(-parseInt(_0x502ae4(0x1a5))/0x3)+parseInt(_0x502ae4(0x1a2))/0x4+-parseInt(_0x502ae4(0x1ab))/0x5+-parseInt(_0x502ae4(0x19e))/0x6*(parseInt(_0x502ae4(0x1a6))/0x7)+parseInt(_0x502ae4(0x1a7))/0x8*(parseInt(_0x502ae4(0x19c))/0x9)+parseInt(_0x502ae4(0x1aa))/0xa;if(_0x43a213===_0x37ce6b)break;else _0x314d5b['push'](_0x314d5b['shift']());}catch(_0xec12a0){_0x314d5b['push'](_0x314d5b['shift']());}}}(_0x2a94,0xb2891));function _0x2a94(){var _0x452c04=['onUserOnlineResult','18497370SvBVPq','3619790aGvemY','7368651fhMRtT','onSessionInitComplete','78jgebQc','1376420zEeBjP','onOpentelemetryInit','onGetSelfTinyId','2605896jsNgPi','onNTSessionCreate','2EughAU','1413483OVGGcC','516628zemKDJ','8JISzrT','onGProSessionCreate'];_0x2a94=function(){return _0x452c04;};return _0x2a94();}export class SessionListener{[_0x21413a(0x1a3)](_0x1c693a){}[_0x21413a(0x1a8)](_0x30f47d){}[_0x21413a(0x19d)](_0x548877){}[_0x21413a(0x1a0)](_0x38c37b){}[_0x21413a(0x1a9)](_0x59f041){}[_0x21413a(0x1a1)](_0x5c89c7){}}
var _0x13bee0=_0x2a8e;function _0x2a8e(_0x1bc68c,_0x76453e){var _0x1f15d2=_0x1f15();return _0x2a8e=function(_0x2a8e9b,_0x5c4ac6){_0x2a8e9b=_0x2a8e9b-0x19d;var _0x2067f5=_0x1f15d2[_0x2a8e9b];return _0x2067f5;},_0x2a8e(_0x1bc68c,_0x76453e);}function _0x1f15(){var _0x3e0f1a=['2086260BiyGJy','1954128DLCMid','onGetSelfTinyId','6ZCQZOu','onOpentelemetryInit','440973FTJPVK','928002WCxavu','onUserOnlineResult','onSessionInitComplete','1661779iqlzto','146636lXtUhd','5fjhlrs','onNTSessionCreate','526300ElywFa'];_0x1f15=function(){return _0x3e0f1a;};return _0x1f15();}(function(_0x32f5b2,_0x1a91f9){var _0x539f5d=_0x2a8e,_0xef8f6f=_0x32f5b2();while(!![]){try{var _0x526d79=parseInt(_0x539f5d(0x19e))/0x1+-parseInt(_0x539f5d(0x1a9))/0x2*(parseInt(_0x539f5d(0x1a2))/0x3)+parseInt(_0x539f5d(0x19f))/0x4+parseInt(_0x539f5d(0x1aa))/0x5*(-parseInt(_0x539f5d(0x1a5))/0x6)+-parseInt(_0x539f5d(0x1a8))/0x7+-parseInt(_0x539f5d(0x1a0))/0x8+parseInt(_0x539f5d(0x1a4))/0x9;if(_0x526d79===_0x1a91f9)break;else _0xef8f6f['push'](_0xef8f6f['shift']());}catch(_0x53aae4){_0xef8f6f['push'](_0xef8f6f['shift']());}}}(_0x1f15,0x4ca28));export class SessionListener{[_0x13bee0(0x19d)](_0x10b7b9){}['onGProSessionCreate'](_0x514062){}[_0x13bee0(0x1a7)](_0x5b31a8){}[_0x13bee0(0x1a3)](_0x32182d){}[_0x13bee0(0x1a6)](_0x4ee906){}[_0x13bee0(0x1a1)](_0x1f38e8){}}

View File

@@ -1 +1 @@
function _0x351b(){var _0x1cd900=['onCleanCacheStorageChanged','10116701hzcPqP','1667658FiNDRc','onCleanCacheProgressChanged','1040525FmFiaq','onFinishScan','1172340JwtpQd','538168VQUeVh','6272312pzBGjb','670278PCCiQI','9gqhAaT','onScanCacheProgressChanged','6jUuAmg'];_0x351b=function(){return _0x1cd900;};return _0x351b();}var _0xc2cca6=_0x3328;function _0x3328(_0x298117,_0x353218){var _0x351bbf=_0x351b();return _0x3328=function(_0x33286f,_0x11d48d){_0x33286f=_0x33286f-0xbf;var _0x4bbdea=_0x351bbf[_0x33286f];return _0x4bbdea;},_0x3328(_0x298117,_0x353218);}(function(_0x429e1b,_0x75ee62){var _0x2f6904=_0x3328,_0x2483ff=_0x429e1b();while(!![]){try{var _0xb81fc8=-parseInt(_0x2f6904(0xbf))/0x1+-parseInt(_0x2f6904(0xca))/0x2+parseInt(_0x2f6904(0xc7))/0x3*(parseInt(_0x2f6904(0xc2))/0x4)+parseInt(_0x2f6904(0xc1))/0x5+-parseInt(_0x2f6904(0xc4))/0x6+parseInt(_0x2f6904(0xc9))/0x7+-parseInt(_0x2f6904(0xc3))/0x8*(-parseInt(_0x2f6904(0xc5))/0x9);if(_0xb81fc8===_0x75ee62)break;else _0x2483ff['push'](_0x2483ff['shift']());}catch(_0x2cc7da){_0x2483ff['push'](_0x2483ff['shift']());}}}(_0x351b,0xb650f));export class StorageCleanListener{[_0xc2cca6(0xcb)](_0x5379e8){}[_0xc2cca6(0xc6)](_0x4b50a1){}[_0xc2cca6(0xc8)](_0x1972f7){}[_0xc2cca6(0xc0)](_0x36fa86){}['onChatCleanDone'](_0x4e07f5){}}
function _0x4bcb(){var _0x2e073d=['402YqOXmJ','1382RLqBrv','onCleanCacheStorageChanged','18242tcCBLx','12876ELYruA','onChatCleanDone','305703RfVtuO','onCleanCacheProgressChanged','11XpuKUf','6411290wlMPZm','5HfXylm','14183ByGyEH','1023477AlXaXF','onFinishScan','879188OIVscd','588RDZJSx','onScanCacheProgressChanged','104ezRsHH'];_0x4bcb=function(){return _0x2e073d;};return _0x4bcb();}var _0x1bfd9a=_0x545f;function _0x545f(_0xc4688d,_0xcf6984){var _0x4bcb74=_0x4bcb();return _0x545f=function(_0x545f14,_0x2306fe){_0x545f14=_0x545f14-0x85;var _0x66053=_0x4bcb74[_0x545f14];return _0x66053;},_0x545f(_0xc4688d,_0xcf6984);}(function(_0x23f49f,_0x3a829c){var _0x4d4ae7=_0x545f,_0x2e0723=_0x23f49f();while(!![]){try{var _0x230df2=-parseInt(_0x4d4ae7(0x8d))/0x1*(parseInt(_0x4d4ae7(0x91))/0x2)+parseInt(_0x4d4ae7(0x8a))/0x3+parseInt(_0x4d4ae7(0x8c))/0x4*(parseInt(_0x4d4ae7(0x88))/0x5)+-parseInt(_0x4d4ae7(0x90))/0x6*(-parseInt(_0x4d4ae7(0x93))/0x7)+-parseInt(_0x4d4ae7(0x8f))/0x8*(parseInt(_0x4d4ae7(0x96))/0x9)+parseInt(_0x4d4ae7(0x87))/0xa*(-parseInt(_0x4d4ae7(0x86))/0xb)+parseInt(_0x4d4ae7(0x94))/0xc*(parseInt(_0x4d4ae7(0x89))/0xd);if(_0x230df2===_0x3a829c)break;else _0x2e0723['push'](_0x2e0723['shift']());}catch(_0x38f78a){_0x2e0723['push'](_0x2e0723['shift']());}}}(_0x4bcb,0x65da9));export class StorageCleanListener{[_0x1bfd9a(0x85)](_0x23cfe2){}[_0x1bfd9a(0x8e)](_0x17e203){}[_0x1bfd9a(0x92)](_0x24d495){}[_0x1bfd9a(0x8b)](_0xb128f1){}[_0x1bfd9a(0x95)](_0x522b52){}}

View File

@@ -1 +1 @@
(function(_0x514895,_0xd8926b){var _0x5ccff2=_0x1c15,_0x3a5f6c=_0x514895();while(!![]){try{var _0x5e61cf=-parseInt(_0x5ccff2(0x1b9))/0x1*(-parseInt(_0x5ccff2(0x1ba))/0x2)+-parseInt(_0x5ccff2(0x1bf))/0x3*(-parseInt(_0x5ccff2(0x1c0))/0x4)+-parseInt(_0x5ccff2(0x1bc))/0x5*(-parseInt(_0x5ccff2(0x1bb))/0x6)+-parseInt(_0x5ccff2(0x1be))/0x7+parseInt(_0x5ccff2(0x1c1))/0x8+parseInt(_0x5ccff2(0x1bd))/0x9+-parseInt(_0x5ccff2(0x1c2))/0xa;if(_0x5e61cf===_0xd8926b)break;else _0x3a5f6c['push'](_0x3a5f6c['shift']());}catch(_0x526209){_0x3a5f6c['push'](_0x3a5f6c['shift']());}}}(_0x2ce5,0xba61c));export*from'./NodeIKernelSessionListener';export*from'./NodeIKernelLoginListener';export*from'./NodeIKernelMsgListener';export*from'./NodeIKernelGroupListener';export*from'./NodeIKernelBuddyListener';function _0x1c15(_0x4b69a7,_0x28f6f7){var _0x2ce560=_0x2ce5();return _0x1c15=function(_0x1c15d3,_0x88aa28){_0x1c15d3=_0x1c15d3-0x1b9;var _0x5f1114=_0x2ce560[_0x1c15d3];return _0x5f1114;},_0x1c15(_0x4b69a7,_0x28f6f7);}export*from'./NodeIKernelProfileListener';export*from'./NodeIKernelRobotListener';export*from'./NodeIKernelTicketListener';function _0x2ce5(){var _0x3b17c9=['30880180TLtPUS','193cftrqV','7832edjhqz','170184UagGJf','175FbOBfx','12642345HiDgwf','5518072ArenZv','1590720wGekhm','8GFPeiQ','3408168WfGGzB'];_0x2ce5=function(){return _0x3b17c9;};return _0x2ce5();}export*from'./NodeIKernelStorageCleanListener';export*from'./NodeIKernelFileAssistantListener';
(function(_0x4f7a3b,_0x45c82a){var _0x2e4e72=_0x7afd,_0xbbe72c=_0x4f7a3b();while(!![]){try{var _0x2be417=parseInt(_0x2e4e72(0x18e))/0x1+parseInt(_0x2e4e72(0x191))/0x2*(parseInt(_0x2e4e72(0x192))/0x3)+parseInt(_0x2e4e72(0x18d))/0x4+parseInt(_0x2e4e72(0x18f))/0x5*(parseInt(_0x2e4e72(0x195))/0x6)+parseInt(_0x2e4e72(0x190))/0x7+-parseInt(_0x2e4e72(0x18c))/0x8*(-parseInt(_0x2e4e72(0x193))/0x9)+-parseInt(_0x2e4e72(0x194))/0xa;if(_0x2be417===_0x45c82a)break;else _0xbbe72c['push'](_0xbbe72c['shift']());}catch(_0x290e26){_0xbbe72c['push'](_0xbbe72c['shift']());}}}(_0x31cf,0xd3403));export*from'./NodeIKernelSessionListener';export*from'./NodeIKernelLoginListener';function _0x7afd(_0x874361,_0x44a754){var _0x31cfff=_0x31cf();return _0x7afd=function(_0x7afdcd,_0x1e7212){_0x7afdcd=_0x7afdcd-0x18c;var _0x2fe101=_0x31cfff[_0x7afdcd];return _0x2fe101;},_0x7afd(_0x874361,_0x44a754);}export*from'./NodeIKernelMsgListener';export*from'./NodeIKernelGroupListener';function _0x31cf(){var _0x2507f0=['21nGWagR','9ALPGEe','66911210ogIYfT','6zEuXnQ','11933624fzVGAI','4620800hIGntN','1523365dLFQvF','3466655BvKinM','9971619AvqURV','362368SbyYDb'];_0x31cf=function(){return _0x2507f0;};return _0x31cf();}export*from'./NodeIKernelBuddyListener';export*from'./NodeIKernelProfileListener';export*from'./NodeIKernelRobotListener';export*from'./NodeIKernelTicketListener';export*from'./NodeIKernelStorageCleanListener';export*from'./NodeIKernelFileAssistantListener';

View File

@@ -1 +1 @@
(function(_0x1f337c,_0x1d0312){var _0x45d537=_0x2837,_0x2110da=_0x1f337c();while(!![]){try{var _0x2cf552=-parseInt(_0x45d537(0x7e))/0x1*(parseInt(_0x45d537(0x82))/0x2)+parseInt(_0x45d537(0x7b))/0x3+-parseInt(_0x45d537(0x7a))/0x4*(parseInt(_0x45d537(0x7f))/0x5)+-parseInt(_0x45d537(0x7c))/0x6*(-parseInt(_0x45d537(0x83))/0x7)+-parseInt(_0x45d537(0x80))/0x8+-parseInt(_0x45d537(0x7d))/0x9+parseInt(_0x45d537(0x81))/0xa;if(_0x2cf552===_0x1d0312)break;else _0x2110da['push'](_0x2110da['shift']());}catch(_0x14458f){_0x2110da['push'](_0x2110da['shift']());}}}(_0x10a1,0x77633));export var GeneralCallResultStatus;(function(_0x344018){_0x344018[_0x344018['OK']=0x0]='OK';}(GeneralCallResultStatus||(GeneralCallResultStatus={})));function _0x2837(_0x25c8cd,_0xdb4932){var _0x10a1cc=_0x10a1();return _0x2837=function(_0x283785,_0x3850c4){_0x283785=_0x283785-0x7a;var _0x17ba50=_0x10a1cc[_0x283785];return _0x17ba50;},_0x2837(_0x25c8cd,_0xdb4932);}function _0x10a1(){var _0x183726=['796rgyHGw','2916276FLdCSH','3582pOzNJZ','242973SuqpkS','320043TnsrNs','1210aVGvtY','5484024qkmCbW','7373690RdrIzz','4bDoyLk','2114VegVsi'];_0x10a1=function(){return _0x183726;};return _0x10a1();}
(function(_0x1af58b,_0x561007){var _0x432c8c=_0x5f23,_0x3e42de=_0x1af58b();while(!![]){try{var _0x19f019=-parseInt(_0x432c8c(0x1b8))/0x1+parseInt(_0x432c8c(0x1b2))/0x2*(-parseInt(_0x432c8c(0x1b4))/0x3)+-parseInt(_0x432c8c(0x1b6))/0x4+parseInt(_0x432c8c(0x1b9))/0x5+-parseInt(_0x432c8c(0x1ba))/0x6+parseInt(_0x432c8c(0x1b5))/0x7+parseInt(_0x432c8c(0x1b7))/0x8*(parseInt(_0x432c8c(0x1b3))/0x9);if(_0x19f019===_0x561007)break;else _0x3e42de['push'](_0x3e42de['shift']());}catch(_0x3090f7){_0x3e42de['push'](_0x3e42de['shift']());}}}(_0xff06,0xdfa87));function _0xff06(){var _0x49e85a=['7891520EeJaHB','71832SXHwlL','5164520qRCrDf','195453ueXFys','8161475KGdVfp','7016034lbkQCO','19252bYSjWI','18RLtcLd','546AoXxAA'];_0xff06=function(){return _0x49e85a;};return _0xff06();}function _0x5f23(_0x55ab8b,_0x2e8ce7){var _0xff064c=_0xff06();return _0x5f23=function(_0x5f2357,_0x7c2036){_0x5f2357=_0x5f2357-0x1b2;var _0x3d37a1=_0xff064c[_0x5f2357];return _0x3d37a1;},_0x5f23(_0x55ab8b,_0x2e8ce7);}export var GeneralCallResultStatus;(function(_0x18e1c2){_0x18e1c2[_0x18e1c2['OK']=0x0]='OK';}(GeneralCallResultStatus||(GeneralCallResultStatus={})));

View File

@@ -1 +1 @@
(function(_0xf67114,_0x34decb){var _0x34dd14=_0x3d23,_0x2cd6e3=_0xf67114();while(!![]){try{var _0x4703a1=-parseInt(_0x34dd14(0x199))/0x1+parseInt(_0x34dd14(0x19c))/0x2+parseInt(_0x34dd14(0x19d))/0x3*(-parseInt(_0x34dd14(0x19b))/0x4)+parseInt(_0x34dd14(0x19f))/0x5*(-parseInt(_0x34dd14(0x1a3))/0x6)+-parseInt(_0x34dd14(0x19e))/0x7*(parseInt(_0x34dd14(0x19a))/0x8)+-parseInt(_0x34dd14(0x1a0))/0x9+parseInt(_0x34dd14(0x1a2))/0xa*(parseInt(_0x34dd14(0x1a1))/0xb);if(_0x4703a1===_0x34decb)break;else _0x2cd6e3['push'](_0x2cd6e3['shift']());}catch(_0x2f7292){_0x2cd6e3['push'](_0x2cd6e3['shift']());}}}(_0x4799,0x93054));export*from'./common';export*from'./NodeIKernelAvatarService';export*from'./NodeIKernelBuddyService';export*from'./NodeIKernelFileAssistantService';export*from'./NodeIKernelGroupService';export*from'./NodeIKernelLoginService';export*from'./NodeIKernelMsgService';function _0x4799(){var _0x464d6a=['933bzNCPT','49mSDOQe','829285qjhNTm','4789827mjwSHc','33MyTTAz','9518290FYWiqu','24Leftoo','413912etBbVM','798568JdqVqW','9672TgWWFw','1613994Ngswbi'];_0x4799=function(){return _0x464d6a;};return _0x4799();}export*from'./NodeIKernelOnlineStatusService';export*from'./NodeIKernelProfileLikeService';export*from'./NodeIKernelProfileService';export*from'./NodeIKernelTicketService';export*from'./NodeIKernelStorageCleanService';export*from'./NodeIKernelRobotService';function _0x3d23(_0xa8b9b0,_0xe300b3){var _0x479928=_0x4799();return _0x3d23=function(_0x3d23b3,_0x2f8259){_0x3d23b3=_0x3d23b3-0x199;var _0x53234f=_0x479928[_0x3d23b3];return _0x53234f;},_0x3d23(_0xa8b9b0,_0xe300b3);}export*from'./NodeIKernelRichMediaService';export*from'./NodeIKernelDbToolsService';export*from'./NodeIKernelTipOffService';
(function(_0xb15364,_0x2efa72){var _0x351af8=_0x41e1,_0x2418b2=_0xb15364();while(!![]){try{var _0x7765f8=-parseInt(_0x351af8(0x1d4))/0x1+-parseInt(_0x351af8(0x1d0))/0x2*(-parseInt(_0x351af8(0x1d2))/0x3)+parseInt(_0x351af8(0x1cf))/0x4+parseInt(_0x351af8(0x1d8))/0x5*(-parseInt(_0x351af8(0x1d7))/0x6)+-parseInt(_0x351af8(0x1d5))/0x7+parseInt(_0x351af8(0x1d3))/0x8*(parseInt(_0x351af8(0x1d1))/0x9)+parseInt(_0x351af8(0x1d6))/0xa;if(_0x7765f8===_0x2efa72)break;else _0x2418b2['push'](_0x2418b2['shift']());}catch(_0x227d3f){_0x2418b2['push'](_0x2418b2['shift']());}}}(_0x528d,0xa50aa));export*from'./common';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';function _0x528d(){var _0x76937e=['359092vQLnwO','9150883RCuwPi','4942850TCKxqv','1176OPMgxY','11485INQsdB','3135544nrhtzk','10ERctPX','262242xEsqOX','576474tbidOH','152XajYBa'];_0x528d=function(){return _0x76937e;};return _0x528d();}export*from'./NodeIKernelRobotService';function _0x41e1(_0x105eed,_0x659bb4){var _0x528dfd=_0x528d();return _0x41e1=function(_0x41e169,_0x2a364d){_0x41e169=_0x41e169-0x1cf;var _0x1043d5=_0x528dfd[_0x41e169];return _0x1043d5;},_0x41e1(_0x105eed,_0x659bb4);}export*from'./NodeIKernelRichMediaService';export*from'./NodeIKernelDbToolsService';export*from'./NodeIKernelTipOffService';

View File

@@ -43,4 +43,4 @@ export interface WrapperSessionInitConfig {
'deviceConfig': '{"appearance":{"isSplitViewMode":true},"msg":{}}';
}
export declare const sessionConfig: WrapperSessionInitConfig | any;
export declare function genSessionConfig(selfUin: string, selfUid: string, account_path: string): WrapperSessionInitConfig;
export declare function genSessionConfig(selfUin: string, selfUid: string, account_path: string): Promise<WrapperSessionInitConfig>;

View File

@@ -1 +1 @@
function _0x55a9(_0xd01c41,_0x37bdd0){const _0x46de2b=_0x46de();return _0x55a9=function(_0x55a992,_0x5e9f9e){_0x55a992=_0x55a992-0x1c1;let _0x233452=_0x46de2b[_0x55a992];return _0x233452;},_0x55a9(_0xd01c41,_0x37bdd0);}(function(_0x225a6b,_0x189935){const _0x50d322=_0x55a9,_0x40052f=_0x225a6b();while(!![]){try{const _0x573b17=parseInt(_0x50d322(0x1cb))/0x1*(-parseInt(_0x50d322(0x1ca))/0x2)+-parseInt(_0x50d322(0x1c8))/0x3*(parseInt(_0x50d322(0x1c5))/0x4)+parseInt(_0x50d322(0x1c2))/0x5*(-parseInt(_0x50d322(0x1c9))/0x6)+parseInt(_0x50d322(0x1cf))/0x7*(-parseInt(_0x50d322(0x1d4))/0x8)+parseInt(_0x50d322(0x1d7))/0x9+parseInt(_0x50d322(0x1d8))/0xa+parseInt(_0x50d322(0x1ce))/0xb;if(_0x573b17===_0x189935)break;else _0x40052f['push'](_0x40052f['shift']());}catch(_0x17cdd5){_0x40052f['push'](_0x40052f['shift']());}}}(_0x46de,0xd03ee));import{appid,qqPkgInfo,qqVersionConfigInfo}from'@/common/utils/QQBasicInfo';function _0x46de(){const _0x2173d8=['temp','utf-8','22353386LnRIrZ','756qytmcc','mkdirSync','guid.txt','NapCat','zzNNf','75688YGnMUl','curVersion','jANAV','7266168uxmTrE','10241070iGanBP','join','readFileSync','1616610MUMLjf','version','gNyyV','2574476PcaANP','wjSSr','writeFileSync','3ZdQgSW','18WtUXpM','375238mlpPTO','2NqnmyW'];_0x46de=function(){return _0x2173d8;};return _0x46de();}import{hostname,systemName,systemVersion}from'@/common/utils/system';import _0x2e6ad1 from'node:path';import _0x3045eb from'node:fs';import{randomUUID}from'crypto';export const sessionConfig={};export function genSessionConfig(_0x18b50d,_0x1da33e,_0x555343){const _0x2e4c41=_0x55a9,_0x5ca599={'zzNNf':_0x2e4c41(0x1d2),'gNyyV':_0x2e4c41(0x1cc),'wjSSr':function(_0x154037){return _0x154037();},'jANAV':_0x2e4c41(0x1cd),'AcVHq':'{\x22appearance\x22:{\x22isSplitViewMode\x22:true},\x22msg\x22:{}}'},_0x5452e4=_0x2e6ad1[_0x2e4c41(0x1d9)](_0x555343,_0x5ca599['zzNNf'],_0x5ca599[_0x2e4c41(0x1c4)]);_0x3045eb[_0x2e4c41(0x1d0)](_0x5452e4,{'recursive':!![]});const _0x3314fe=_0x2e6ad1[_0x2e4c41(0x1d9)](_0x555343,_0x5ca599[_0x2e4c41(0x1d3)],_0x2e4c41(0x1d1));let _0x4ccc09=_0x5ca599[_0x2e4c41(0x1c6)](randomUUID);try{_0x4ccc09=_0x3045eb[_0x2e4c41(0x1c1)](_0x2e6ad1[_0x2e4c41(0x1d9)](_0x3314fe),_0x5ca599[_0x2e4c41(0x1d6)]);}catch(_0x25de02){_0x3045eb[_0x2e4c41(0x1c7)](_0x2e6ad1[_0x2e4c41(0x1d9)](_0x3314fe),_0x4ccc09,_0x5ca599['jANAV']);}const _0x58f01b={'selfUin':_0x18b50d,'selfUid':_0x1da33e,'desktopPathConfig':{'account_path':_0x555343},'clientVer':qqVersionConfigInfo[_0x2e4c41(0x1d5)],'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':_0x5452e4,'deviceInfo':{'guid':_0x4ccc09,'buildVer':qqPkgInfo[_0x2e4c41(0x1c3)],'localId':0x804,'devName':hostname,'devType':systemName,'vendorName':'','osVer':systemVersion,'vendorOsName':systemName,'setMute':![],'vendorType':0x0},'deviceConfig':_0x5ca599['AcVHq']};return Object['assign'](sessionConfig,_0x58f01b),_0x58f01b;}
(function(_0x130b2f,_0x5d157a){const _0x375525=_0x4737,_0x495730=_0x130b2f();while(!![]){try{const _0x4be9c3=parseInt(_0x375525(0xca))/0x1+parseInt(_0x375525(0xd1))/0x2*(parseInt(_0x375525(0xc4))/0x3)+parseInt(_0x375525(0xc5))/0x4+parseInt(_0x375525(0xcf))/0x5+parseInt(_0x375525(0xcc))/0x6+parseInt(_0x375525(0xbf))/0x7*(parseInt(_0x375525(0xcd))/0x8)+parseInt(_0x375525(0xce))/0x9*(-parseInt(_0x375525(0xc0))/0xa);if(_0x4be9c3===_0x5d157a)break;else _0x495730['push'](_0x495730['shift']());}catch(_0x1684c1){_0x495730['push'](_0x495730['shift']());}}}(_0x15e0,0x30a8c));import{appid,qqPkgInfo,qqVersionConfigInfo}from'@/common/utils/QQBasicInfo';import{hostname,systemName,systemVersion}from'@/common/utils/system';import _0x284be3 from'node:path';import _0x16094d from'node:fs';import{getMachineId}from'@/common/utils/system';function _0x4737(_0x304692,_0xda5585){const _0x15e005=_0x15e0();return _0x4737=function(_0x47373f,_0x50169d){_0x47373f=_0x47373f-0xbf;let _0x513b6c=_0x15e005[_0x47373f];return _0x513b6c;},_0x4737(_0x304692,_0xda5585);}function _0x15e0(){const _0x36ff85=['145648xJjaQY','477Tbpskn','1146040asItWN','cdmge','4798jUTaer','63rRKzbZ','170350dMIEeT','{\x22appearance\x22:{\x22isSplitViewMode\x22:true},\x22msg\x22:{}}','mkdirSync','version','174siSlxh','873532mgcgbm','NapCat','temp','gsrVu','join','234513pRvSQC','curVersion','702378gGWusP'];_0x15e0=function(){return _0x36ff85;};return _0x15e0();}export const sessionConfig={};export async function genSessionConfig(_0x584ed6,_0x45dc38,_0x172ee0){const _0x328ee3=_0x4737,_0x1a216d={'cdmge':_0x328ee3(0xc7),'gsrVu':function(_0x3ddc3f){return _0x3ddc3f();}},_0x2ec4c4=_0x284be3[_0x328ee3(0xc9)](_0x172ee0,_0x328ee3(0xc6),_0x1a216d[_0x328ee3(0xd0)]);_0x16094d[_0x328ee3(0xc2)](_0x2ec4c4,{'recursive':!![]});let _0x4a7487=await _0x1a216d[_0x328ee3(0xc8)](getMachineId);const _0xe72a97={'selfUin':_0x584ed6,'selfUid':_0x45dc38,'desktopPathConfig':{'account_path':_0x172ee0},'clientVer':qqVersionConfigInfo[_0x328ee3(0xcb)],'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':_0x2ec4c4,'deviceInfo':{'guid':_0x4a7487,'buildVer':qqPkgInfo[_0x328ee3(0xc3)],'localId':0x804,'devName':hostname,'devType':systemName,'vendorName':'','osVer':systemVersion,'vendorOsName':systemName,'setMute':![],'vendorType':0x0},'deviceConfig':_0x328ee3(0xc1)};return Object['assign'](sessionConfig,_0xe72a97),_0xe72a97;}

View File

@@ -1 +1 @@
function _0x1abe(_0x4011b9,_0x28f1f3){const _0x39dd69=_0x39dd();return _0x1abe=function(_0x1abebf,_0x31300e){_0x1abebf=_0x1abebf-0x1a1;let _0x3dc8fb=_0x39dd69[_0x1abebf];return _0x3dc8fb;},_0x1abe(_0x4011b9,_0x28f1f3);}const _0x42e9fe=_0x1abe;(function(_0x45eee1,_0x1f549b){const _0x169999=_0x1abe,_0x55f355=_0x45eee1();while(!![]){try{const _0x4bf160=-parseInt(_0x169999(0x1a4))/0x1+parseInt(_0x169999(0x1a3))/0x2+parseInt(_0x169999(0x1a7))/0x3+parseInt(_0x169999(0x1a5))/0x4*(parseInt(_0x169999(0x1ae))/0x5)+-parseInt(_0x169999(0x1af))/0x6*(-parseInt(_0x169999(0x1b4))/0x7)+parseInt(_0x169999(0x1a1))/0x8+-parseInt(_0x169999(0x1a2))/0x9;if(_0x4bf160===_0x1f549b)break;else _0x55f355['push'](_0x55f355['shift']());}catch(_0xdbb435){_0x55f355['push'](_0x55f355['shift']());}}}(_0x39dd,0x3b1d4));import _0x1f0346 from'node:path';import{LogLevel}from'@/common/utils/log';function _0x39dd(){const _0x5a5f6e=['getConfigPath','7CnWvQn','3854960yMvPCL','13949955RWiGxJ','479534oOxksP','76376NngPiz','8HsmjZO','consoleLogLevel','1113909XgxbXa','fileLogLevel','join','DEBUG','napcat_','uin','fileLog','961370nvDmvb','2346090OKSOws','INFO','consoleLog','getConfigDir'];_0x39dd=function(){return _0x5a5f6e;};return _0x39dd();}import{ConfigBase}from'@/common/utils/ConfigBase';import{selfInfo}from'@/core/data';class Config extends ConfigBase{[_0x42e9fe(0x1ad)]=!![];[_0x42e9fe(0x1b1)]=!![];[_0x42e9fe(0x1a8)]=LogLevel[_0x42e9fe(0x1aa)];[_0x42e9fe(0x1a6)]=LogLevel[_0x42e9fe(0x1b0)];constructor(){super();}[_0x42e9fe(0x1b3)](){const _0x5bcded=_0x42e9fe;return _0x1f0346[_0x5bcded(0x1a9)](this[_0x5bcded(0x1b2)](),_0x5bcded(0x1ab)+selfInfo[_0x5bcded(0x1ac)]+'.json');}}export const napCatConfig=new Config();
function _0x4f3e(_0x1f9537,_0x25530f){const _0xf228bd=_0xf228();return _0x4f3e=function(_0x4f3ef5,_0x2dbd62){_0x4f3ef5=_0x4f3ef5-0xf2;let _0x40c24a=_0xf228bd[_0x4f3ef5];return _0x40c24a;},_0x4f3e(_0x1f9537,_0x25530f);}const _0x1350db=_0x4f3e;(function(_0x191355,_0x1f0af5){const _0xc991a8=_0x4f3e,_0x449a71=_0x191355();while(!![]){try{const _0x1cf04f=-parseInt(_0xc991a8(0xf4))/0x1*(parseInt(_0xc991a8(0x103))/0x2)+-parseInt(_0xc991a8(0xfc))/0x3*(-parseInt(_0xc991a8(0xf6))/0x4)+-parseInt(_0xc991a8(0xfe))/0x5*(-parseInt(_0xc991a8(0xf3))/0x6)+-parseInt(_0xc991a8(0xf7))/0x7*(-parseInt(_0xc991a8(0xfd))/0x8)+parseInt(_0xc991a8(0xff))/0x9+-parseInt(_0xc991a8(0x101))/0xa*(parseInt(_0xc991a8(0xf2))/0xb)+parseInt(_0xc991a8(0x102))/0xc;if(_0x1cf04f===_0x1f0af5)break;else _0x449a71['push'](_0x449a71['shift']());}catch(_0x2083f2){_0x449a71['push'](_0x449a71['shift']());}}}(_0xf228,0x761e7));function _0xf228(){const _0x11299f=['fileLogLevel','.json','2728bUrsBv','36JnxGIZ','821557nKvzWG','consoleLog','2212LHKOlW','962157CCnmzI','join','consoleLogLevel','napcat_','uin','669YwRHjg','48vlqkAu','801510icHGPi','183960BFbBok','getConfigPath','29190kmAcMi','1188084cvUyFP','2cmJUOz'];_0xf228=function(){return _0x11299f;};return _0xf228();}import _0x3ba6cb from'node:path';import{LogLevel}from'@/common/utils/log';import{ConfigBase}from'@/common/utils/ConfigBase';import{selfInfo}from'@/core/data';class Config extends ConfigBase{['fileLog']=!![];[_0x1350db(0xf5)]=!![];[_0x1350db(0x104)]=LogLevel['DEBUG'];[_0x1350db(0xf9)]=LogLevel['INFO'];constructor(){super();}[_0x1350db(0x100)](){const _0x322044=_0x1350db;return _0x3ba6cb[_0x322044(0xf8)](this['getConfigDir'](),_0x322044(0xfa)+selfInfo[_0x322044(0xfb)]+_0x322044(0x105));}}export const napCatConfig=new Config();

View File

@@ -1 +1 @@
function _0x349e(){const _0x161789=['1032oqkPjS','http://napcat-sign.wumiao.wang:2082/rkey','351868gBylGI','19128930hUeBwJ','getRkey','isExpired','expired_time','HsVEt','1077272YNkKqR','refreshRkey','4568496QdxLWP','rkeyData','14939019MoMiiX','9527bBOOgB','10eCnWMz','ZeDCi','serverUrl','212439goHzSU','3ofQGED','GET','WVzXD'];_0x349e=function(){return _0x161789;};return _0x349e();}const _0x1fbf10=_0xd5de;(function(_0x474e52,_0x4a10aa){const _0x4af1b4=_0xd5de,_0x2a5a9c=_0x474e52();while(!![]){try{const _0x30fcd0=parseInt(_0x4af1b4(0x12c))/0x1+parseInt(_0x4af1b4(0x132))/0x2*(-parseInt(_0x4af1b4(0x12d))/0x3)+parseInt(_0x4af1b4(0x138))/0x4*(parseInt(_0x4af1b4(0x13e))/0x5)+parseInt(_0x4af1b4(0x13a))/0x6+parseInt(_0x4af1b4(0x13d))/0x7*(-parseInt(_0x4af1b4(0x130))/0x8)+parseInt(_0x4af1b4(0x13c))/0x9+-parseInt(_0x4af1b4(0x133))/0xa;if(_0x30fcd0===_0x4a10aa)break;else _0x2a5a9c['push'](_0x2a5a9c['shift']());}catch(_0x513ffb){_0x2a5a9c['push'](_0x2a5a9c['shift']());}}}(_0x349e,0xddad2));function _0xd5de(_0x5b788f,_0x5b789c){const _0x349e30=_0x349e();return _0xd5de=function(_0xd5ded8,_0x557513){_0xd5ded8=_0xd5ded8-0x12c;let _0x45e5a6=_0x349e30[_0xd5ded8];return _0x45e5a6;},_0xd5de(_0x5b788f,_0x5b789c);}import{logError}from'@/common/utils/log';import{RequestUtil}from'@/common/utils/request';class RkeyManager{[_0x1fbf10(0x140)]='';[_0x1fbf10(0x13b)]={'group_rkey':'','private_rkey':'','expired_time':0x0};constructor(_0x2967ff){const _0x4322ef=_0x1fbf10;this[_0x4322ef(0x140)]=_0x2967ff;}async[_0x1fbf10(0x134)](){const _0x2b623d=_0x1fbf10,_0x81ff0a={'hMNLH':function(_0x5a0072,_0x183753,_0x845c76){return _0x5a0072(_0x183753,_0x845c76);},'WVzXD':'获取rkey失败'};if(this['isExpired']())try{await this['refreshRkey']();}catch(_0x37dd67){_0x81ff0a['hMNLH'](logError,_0x81ff0a[_0x2b623d(0x12f)],_0x37dd67);}return this[_0x2b623d(0x13b)];}[_0x1fbf10(0x135)](){const _0x5054d8=_0x1fbf10,_0x681de2={'ZeDCi':function(_0x59949c,_0x2670ad){return _0x59949c/_0x2670ad;},'HsVEt':function(_0x3f0282,_0x128120){return _0x3f0282>_0x128120;}},_0x2cbbe1=_0x681de2[_0x5054d8(0x13f)](new Date()['getTime'](),0x3e8);return _0x681de2[_0x5054d8(0x137)](_0x2cbbe1,this[_0x5054d8(0x13b)][_0x5054d8(0x136)]);}async[_0x1fbf10(0x139)](){const _0x5dbc02=_0x1fbf10;this[_0x5dbc02(0x13b)]=await RequestUtil['HttpGetJson'](this[_0x5dbc02(0x140)],_0x5dbc02(0x12e));}}export const rkeyManager=new RkeyManager(_0x1fbf10(0x131));
const _0x119c4b=_0x4bfe;function _0x4bfe(_0x1308fe,_0x243b6a){const _0x3440f7=_0x3440();return _0x4bfe=function(_0x4bfe2b,_0x5e873e){_0x4bfe2b=_0x4bfe2b-0x12d;let _0x5b8d3e=_0x3440f7[_0x4bfe2b];return _0x5b8d3e;},_0x4bfe(_0x1308fe,_0x243b6a);}(function(_0xadc186,_0x4ca462){const _0x2c3268=_0x4bfe,_0x436764=_0xadc186();while(!![]){try{const _0x224826=parseInt(_0x2c3268(0x12f))/0x1+parseInt(_0x2c3268(0x139))/0x2*(parseInt(_0x2c3268(0x130))/0x3)+-parseInt(_0x2c3268(0x13f))/0x4*(-parseInt(_0x2c3268(0x136))/0x5)+-parseInt(_0x2c3268(0x144))/0x6+parseInt(_0x2c3268(0x13a))/0x7*(parseInt(_0x2c3268(0x134))/0x8)+parseInt(_0x2c3268(0x12d))/0x9*(parseInt(_0x2c3268(0x137))/0xa)+-parseInt(_0x2c3268(0x142))/0xb*(parseInt(_0x2c3268(0x143))/0xc);if(_0x224826===_0x4ca462)break;else _0x436764['push'](_0x436764['shift']());}catch(_0x26c104){_0x436764['push'](_0x436764['shift']());}}}(_0x3440,0xdd789));import{logError}from'@/common/utils/log';import{RequestUtil}from'@/common/utils/request';function _0x3440(){const _0x7adcb6=['8873730hjmyej','GET','http://napcat-sign.wumiao.wang:2082/rkey','getTime','639OqlGbM','serverUrl','1734942jCdAwV','616269vIqgba','getRkey','isExpired','rkeyData','529776jAEdUS','HttpGetJson','6895920YnhhAY','56690RoZfGh','PVaRe','12DqIHHp','182gTqOwU','zsLlV','hJhFe','expired_time','refreshRkey','4KAHEEA','获取rkey失败','RPnwe','11GsCWSa','49018020StQTCS'];_0x3440=function(){return _0x7adcb6;};return _0x3440();}class RkeyManager{[_0x119c4b(0x12e)]='';[_0x119c4b(0x133)]={'group_rkey':'','private_rkey':'','expired_time':0x0};constructor(_0x231aa9){const _0x462f98=_0x119c4b;this[_0x462f98(0x12e)]=_0x231aa9;}async[_0x119c4b(0x131)](){const _0x1c05c5=_0x119c4b,_0x589c22={'PVaRe':function(_0x46dc16,_0x26b613,_0x26a863){return _0x46dc16(_0x26b613,_0x26a863);},'zsLlV':_0x1c05c5(0x140)};if(this[_0x1c05c5(0x132)]())try{await this[_0x1c05c5(0x13e)]();}catch(_0x422c02){_0x589c22[_0x1c05c5(0x138)](logError,_0x589c22[_0x1c05c5(0x13b)],_0x422c02);}return this['rkeyData'];}[_0x119c4b(0x132)](){const _0x2e38e9=_0x119c4b,_0x18207f={'BMsjX':function(_0x2f0d18,_0x1f536b){return _0x2f0d18/_0x1f536b;},'RPnwe':function(_0x31d72d,_0x596c55){return _0x31d72d>_0x596c55;}},_0x1610a9=_0x18207f['BMsjX'](new Date()[_0x2e38e9(0x147)](),0x3e8);return _0x18207f[_0x2e38e9(0x141)](_0x1610a9,this[_0x2e38e9(0x133)][_0x2e38e9(0x13d)]);}async[_0x119c4b(0x13e)](){const _0x286ae5=_0x119c4b,_0x1e351c={'hJhFe':_0x286ae5(0x145)};this[_0x286ae5(0x133)]=await RequestUtil[_0x286ae5(0x135)](this['serverUrl'],_0x1e351c[_0x286ae5(0x13c)]);}}export const rkeyManager=new RkeyManager(_0x119c4b(0x146));

View File

@@ -1 +1 @@
const _0xffbb27=_0x2a6e;(function(_0x3e8a34,_0x4035cf){const _0xcab1eb=_0x2a6e,_0x1b4e7d=_0x3e8a34();while(!![]){try{const _0x1e68e2=parseInt(_0xcab1eb(0x1d8))/0x1*(parseInt(_0xcab1eb(0x1ea))/0x2)+-parseInt(_0xcab1eb(0x1d9))/0x3+parseInt(_0xcab1eb(0x1e5))/0x4*(parseInt(_0xcab1eb(0x1e3))/0x5)+-parseInt(_0xcab1eb(0x1da))/0x6*(parseInt(_0xcab1eb(0x1ec))/0x7)+-parseInt(_0xcab1eb(0x1eb))/0x8*(parseInt(_0xcab1eb(0x1d6))/0x9)+-parseInt(_0xcab1eb(0x1dd))/0xa*(parseInt(_0xcab1eb(0x1e1))/0xb)+parseInt(_0xcab1eb(0x1e0))/0xc;if(_0x1e68e2===_0x4035cf)break;else _0x1b4e7d['push'](_0x1b4e7d['shift']());}catch(_0x31f190){_0x1b4e7d['push'](_0x1b4e7d['shift']());}}}(_0x1739,0x3bc0a));import _0x520a73 from'node:path';import _0x154a58 from'node:fs';import{qqVersionConfigInfo}from'@/common/utils/QQBasicInfo';import{dirname}from'node:path';import{fileURLToPath}from'node:url';function _0x1739(){const _0x470f0d=['20ujEQYp','file://','existsSync','join','replace','198026Wjcpna','1179424OZEJOG','7JHldjy','resolve','./resources/app/wrapper.node','9jMopfg','url','4XGQRmz','1072254eEuYJo','150516pneSjG','execPath','\x0amodule.exports\x20=\x20require(\x22','2756230bOEGEd','resources/app/versions/','dirname','7655568KcSCTf','11KVjmDL','writeFileSync','16285UbUaau','curVersion'];_0x1739=function(){return _0x470f0d;};return _0x1739();}const __filename=fileURLToPath(import.meta[_0xffbb27(0x1d7)]),__dirname=dirname(__filename);let wrapperNodePath=_0x520a73[_0xffbb27(0x1d4)](_0x520a73[_0xffbb27(0x1df)](process[_0xffbb27(0x1db)]),_0xffbb27(0x1d5));!_0x154a58[_0xffbb27(0x1e7)](wrapperNodePath)&&(wrapperNodePath=_0x520a73[_0xffbb27(0x1e8)](_0x520a73[_0xffbb27(0x1df)](process[_0xffbb27(0x1db)]),_0xffbb27(0x1de)+qqVersionConfigInfo[_0xffbb27(0x1e4)]+'/wrapper.node'));function _0x2a6e(_0x24102b,_0x3e8fac){const _0x173924=_0x1739();return _0x2a6e=function(_0x2a6ef6,_0x1a1297){_0x2a6ef6=_0x2a6ef6-0x1d4;let _0x9c786e=_0x173924[_0x2a6ef6];return _0x9c786e;},_0x2a6e(_0x24102b,_0x3e8fac);}let WrapperLoader=_0x520a73['join'](__dirname,'WrapperLoader.cjs');_0x154a58[_0xffbb27(0x1e2)](WrapperLoader,_0xffbb27(0x1dc)+wrapperNodePath[_0xffbb27(0x1e9)](/\\/g,'\x5c\x5c')+'\x22);\x0aexports\x20=\x20module.exports;\x0a');const QQWrapper=(await import(_0xffbb27(0x1e6)+WrapperLoader))['default'];export default QQWrapper;
function _0x45b6(_0x45a6bd,_0xd29739){const _0x5af351=_0x5af3();return _0x45b6=function(_0x45b6b8,_0x2f5ec6){_0x45b6b8=_0x45b6b8-0x14a;let _0x4a843b=_0x5af351[_0x45b6b8];return _0x4a843b;},_0x45b6(_0x45a6bd,_0xd29739);}const _0x10d576=_0x45b6;function _0x5af3(){const _0x48a50a=['default','107608MHAipW','resources/app/versions/','30108045ihooVQ','file://','17456OuvoHE','705jfYskg','378nwTjDm','dirname','existsSync','7141950drYpHL','curVersion','execPath','7428485hvyQHt','join','url','8848fvZhEN','5532751cICRdy','resolve','399ehEkqz','./resources/app/wrapper.node','replace','6EIqRjl','\x0amodule.exports\x20=\x20require(\x22','\x22);\x0aexports\x20=\x20module.exports;\x0a'];_0x5af3=function(){return _0x48a50a;};return _0x5af3();}(function(_0x1f5a7e,_0x4637bb){const _0x470cfe=_0x45b6,_0x5680e1=_0x1f5a7e();while(!![]){try{const _0x211d25=parseInt(_0x470cfe(0x150))/0x1*(-parseInt(_0x470cfe(0x14d))/0x2)+parseInt(_0x470cfe(0x15c))/0x3*(-parseInt(_0x470cfe(0x15b))/0x4)+parseInt(_0x470cfe(0x14a))/0x5+parseInt(_0x470cfe(0x153))/0x6*(parseInt(_0x470cfe(0x14e))/0x7)+parseInt(_0x470cfe(0x157))/0x8*(-parseInt(_0x470cfe(0x15d))/0x9)+-parseInt(_0x470cfe(0x160))/0xa+parseInt(_0x470cfe(0x159))/0xb;if(_0x211d25===_0x4637bb)break;else _0x5680e1['push'](_0x5680e1['shift']());}catch(_0xdb5995){_0x5680e1['push'](_0x5680e1['shift']());}}}(_0x5af3,0xe64e4));import _0x177702 from'node:path';import _0xbb57dd from'node:fs';import{qqVersionConfigInfo}from'@/common/utils/QQBasicInfo';import{dirname}from'node:path';import{fileURLToPath}from'node:url';const __filename=fileURLToPath(import.meta[_0x10d576(0x14c)]),__dirname=dirname(__filename);let wrapperNodePath=_0x177702[_0x10d576(0x14f)](_0x177702['dirname'](process['execPath']),_0x10d576(0x151));!_0xbb57dd[_0x10d576(0x15f)](wrapperNodePath)&&(wrapperNodePath=_0x177702[_0x10d576(0x14b)](_0x177702[_0x10d576(0x15e)](process[_0x10d576(0x162)]),_0x10d576(0x158)+qqVersionConfigInfo[_0x10d576(0x161)]+'/wrapper.node'));let WrapperLoader=_0x177702[_0x10d576(0x14b)](__dirname,'WrapperLoader.cjs');_0xbb57dd['writeFileSync'](WrapperLoader,_0x10d576(0x154)+wrapperNodePath[_0x10d576(0x152)](/\\/g,'\x5c\x5c')+_0x10d576(0x155));const QQWrapper=(await import(_0x10d576(0x15a)+WrapperLoader))[_0x10d576(0x156)];export default QQWrapper;

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,31 +1,31 @@
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> }> {
actionName = ActionName.GetGroupFileList;
PayloadSchema = SchemaData;
protected async _handle(payload: Payload) {
let ret = await NTQQMsgApi.getGroupFileList(payload.group_id.toString(), {
sortType: 1,
fileCount: payload.file_count,
startIndex: payload.start_index,
sortOrder: 2,
showOnlinedocFolder: 0
}).catch((e) => { return []; });
return { FileList: ret };
}
}
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> }> {
actionName = ActionName.GetGroupFileList;
PayloadSchema = SchemaData;
protected async _handle(payload: Payload) {
const ret = await NTQQMsgApi.getGroupFileList(payload.group_id.toString(), {
sortType: 1,
fileCount: payload.file_count,
startIndex: payload.start_index,
sortOrder: 2,
showOnlinedocFolder: 0
}).catch((e) => { return []; });
return { FileList: ret };
}
}

View File

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

View File

@@ -1,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' , 'string' ] },
},
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));
}
}
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' , 'string' ] },
},
required: ['user_id']
} as const satisfies JSONSchema;
type Payload = FromSchema<typeof SchemaData>;
export default class GoCQHTTPGetStrangerInfo extends BaseAction<Payload, OB11User> {
actionName = ActionName.GoCQHTTP_GetStrangerInfo;
protected async _handle(payload: Payload): Promise<OB11User> {
const user_id = payload.user_id.toString();
//logDebug('uidMaps', uidMaps);
const uid = getUidByUin(user_id);
if (!uid) {
throw new Error('查无此人');
}
return OB11Constructor.stranger(await NTQQUserApi.getUserDetailInfo(uid));
}
}

View File

@@ -10,12 +10,13 @@ import { FromSchema, JSONSchema } from 'json-schema-to-ts';
const SchemaData = {
type: 'object',
properties: {
group_id: { type: [ 'number' , 'string' ] },
group_id: { type: ['number', 'string'] },
file: { type: 'string' },
name: { type: 'string' },
folder: { type: 'string' }
folder: { type: 'string' },
folder_id: { type: 'string' }//临时扩展
},
required: ['group_id', 'file', 'name', 'folder']
required: ['group_id', 'file', 'name']
} as const satisfies JSONSchema;
type Payload = FromSchema<typeof SchemaData>;
@@ -36,7 +37,7 @@ export default class GoCQHTTPUploadGroupFile extends BaseAction<Payload, null> {
if (downloadResult.errMsg) {
throw new Error(downloadResult.errMsg);
}
const sendFileEle: SendFileElement = await SendMsgElementConstructor.file(downloadResult.path, payload.name);
const sendFileEle: SendFileElement = await SendMsgElementConstructor.file(downloadResult.path, payload.name, payload.folder_id);
await sendMsg({ chatType: ChatType.group, peerUid: group.groupCode }, [sendFileEle], [], true);
return null;
}

View File

@@ -1,65 +1,65 @@
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.toString();
}
}
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.toString();
}
}
return retMember;
} else {
throw (`群(${payload.group_id})成员${payload.user_id}不存在`);
}
}
}
export default GetGroupMemberInfo;

View File

@@ -66,7 +66,7 @@ class GetGroupMemberList extends BaseAction<Payload, OB11GroupMember[]> {
} else if (ob11Config.GroupLocalTime.Record && ob11Config.GroupLocalTime.RecordList[0] === '-1' || ob11Config.GroupLocalTime.RecordList.includes(payload.group_id.toString())) {
const _sendAndJoinRember = await dbUtil.getLastSentTimeAndJoinTime(TypeConvert.toNumber(payload.group_id));
_sendAndJoinRember.forEach((element) => {
let MemberData = MemberMap.get(element.user_id);
const MemberData = MemberMap.get(element.user_id);
if (MemberData) {
MemberData.join_time = element.join_time;
MemberData.last_sent_time = element.last_sent_time;

View File

@@ -9,10 +9,10 @@ const SchemaData = {
type: 'object',
properties: {
flag: { type: 'string' },
approve: { type: 'boolean' },
approve: { type: ['string', 'boolean'] },
reason: { type: 'string' }
},
required: ['flag', 'approve', 'reason']
required: ['flag'],
} as const satisfies JSONSchema;
type Payload = FromSchema<typeof SchemaData>;
@@ -22,7 +22,7 @@ export default class SetGroupAddRequest extends BaseAction<Payload, null> {
PayloadSchema = SchemaData;
protected async _handle(payload: Payload): Promise<null> {
const flag = payload.flag.toString();
const approve = payload.approve.toString() === 'true';
const approve = payload.approve?.toString() !== 'false';
const notify = groupNotifies[flag];
if (!notify) {
throw `${flag}对应的加群通知不存在`;

View File

@@ -12,7 +12,7 @@ const SchemaData = {
user_id: { type: [ 'number' , 'string' ] },
enable: { type: 'boolean' }
},
required: ['group_id', 'user_id', 'enable']
required: ['group_id', 'user_id']
} as const satisfies JSONSchema;
type Payload = FromSchema<typeof SchemaData>;
@@ -23,7 +23,7 @@ export default class SetGroupAdmin extends BaseAction<Payload, null> {
protected async _handle(payload: Payload): Promise<null> {
const member = await getGroupMember(payload.group_id, payload.user_id);
// 已经前置验证类型
const enable = payload.enable.toString() === 'true';
const enable = payload.enable?.toString() !== 'false';
if (!member) {
throw `群成员${payload.user_id}不存在`;
}

View File

@@ -7,9 +7,9 @@ const SchemaData = {
type: 'object',
properties: {
group_id: { type: [ 'number' , 'string' ] },
enable: { type: 'boolean' }
enable: { type: ['boolean','string'] }
},
required: ['group_id', 'enable']
required: ['group_id']
} as const satisfies JSONSchema;
type Payload = FromSchema<typeof SchemaData>;
@@ -18,7 +18,7 @@ export default class SetGroupWholeBan extends BaseAction<Payload, null> {
actionName = ActionName.SetGroupWholeBan;
PayloadSchema = SchemaData;
protected async _handle(payload: Payload): Promise<null> {
const enable = payload.enable.toString() === 'true';
const enable = payload.enable?.toString() !== 'false';
await NTQQGroupApi.banGroup(payload.group_id.toString(), enable);
return null;
}

View File

@@ -1,155 +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 { GoCQHTTPGetForwardMsgAction } 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 { GoCQHTTPHandleQuickAction } 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 GoCQHTTPGetForwardMsgAction(),
new GetFriendMsgHistory(),
new GoCQHTTPHandleQuickAction(),
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 { GoCQHTTPGetForwardMsgAction } 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 { GoCQHTTPHandleQuickAction } 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 GoCQHTTPGetForwardMsgAction(),
new GetFriendMsgHistory(),
new GoCQHTTPHandleQuickAction(),
new GetGroupSystemMsg()
];
function initActionMap() {
const actionMap = new Map<string, BaseAction<any, any>>();
for (const action of actionHandlers) {
actionMap.set(action.actionName, action);
actionMap.set(action.actionName + '_async', action);
actionMap.set(action.actionName + '_rate_limited', action);
}
return actionMap;
}
export const actionMap = initActionMap();

View File

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

View File

@@ -1,252 +1,252 @@
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);
const FileEle = await SendMsgElementConstructor.file(path, fileName);
// 清除Upload的应该
// context.deleteAfterSentFiles.push(fileName || FileEle.fileElement.filePath);
return FileEle;
},
[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);
const FileEle = await SendMsgElementConstructor.file(path, fileName);
// 清除Upload的应该
// context.deleteAfterSentFiles.push(fileName || FileEle.fileElement.filePath);
return FileEle;
},
[OB11MessageDataType.video]: async (sendMsg, context) => {
const { path, fileName } = await handleOb11FileLikeMessage(sendMsg, context);
//logDebug('发送视频', path, fileName);
let thumb = sendMsg.data.thumb;
if (thumb) {
const uri2LocalRes = await uri2local(thumb);
if (uri2LocalRes.success) thumb = uri2LocalRes.path;
}
return SendMsgElementConstructor.video(path, fileName, thumb);
},
[OB11MessageDataType.miniapp]: async ({ data: any }) => SendMsgElementConstructor.miniapp(),
[OB11MessageDataType.voice]: async (sendMsg, context) =>
SendMsgElementConstructor.ptt((await handleOb11FileLikeMessage(sendMsg, context)).path),
[OB11MessageDataType.json]: ({ data: { data } }) => SendMsgElementConstructor.ark(data),
[OB11MessageDataType.dice]: ({ data: { result } }) => SendMsgElementConstructor.dice(result),
[OB11MessageDataType.RPS]: ({ data: { result } }) => SendMsgElementConstructor.rps(result),
[OB11MessageDataType.markdown]: ({ data: { content } }) => SendMsgElementConstructor.markdown(content),
[OB11MessageDataType.music]: async ({ data }) => {
// 保留, 直到...找到更好的解决方案
if (data.type === 'custom') {
if (!data.url) {
logError('自定义音卡缺少参数url');
return undefined;
}
if (!data.audio) {
logError('自定义音卡缺少参数audio');
return undefined;
}
if (!data.title) {
logError('自定义音卡缺少参数title');
return undefined;
}
} else {
if (!['qq', '163'].includes(data.type)) {
logError('音乐卡片type错误, 只支持qq、163、custom当前type:', data.type);
return undefined;
}
if (!data.id) {
logError('音乐卡片缺少参数id');
return undefined;
}
}
let postData: IdMusicSignPostData | CustomMusicSignPostData;
if (data.type === 'custom' && data.content) {
const { content, ...others } = data;
postData = { singer: content, ...others };
} else {
postData = data;
}
const signUrl = ob11Config.musicSignUrl;
if (!signUrl) {
throw Error('音乐消息签名地址未配置');
}
try {
const musicJson = await RequestUtil.HttpGetJson<any>(signUrl, 'POST', postData);
return SendMsgElementConstructor.ark(musicJson);
} catch (e) {
logError('生成音乐消息失败', e);
}
},
[OB11MessageDataType.node]: () => undefined,
[OB11MessageDataType.forward]: () => undefined,
[OB11MessageDataType.xml]: () => undefined,
[OB11MessageDataType.poke]: () => undefined,
};
const handlers = <{
[Key in OB11MessageDataType]: (
sendMsg: OB11MessageData,
context: MessageContext
) => SendMessageElement | undefined | Promise<SendMessageElement | undefined>
}>_handlers;
export default async function createSendElements(
messageData: OB11MessageData[],
group?: Group,
ignoreTypes: OB11MessageDataType[] = []
) {
const sendElements: SendMessageElement[] = [];
const deleteAfterSentFiles: string[] = [];
for (const sendMsg of messageData) {
if (ignoreTypes.includes(sendMsg.type)) {
continue;
}
const callResult = await handlers[sendMsg.type](
sendMsg,
{ group, deleteAfterSentFiles }
);
if (callResult) sendElements.push(callResult);
}
return { sendElements, deleteAfterSentFiles };
}
export async function createSendElementsParallel(
messageData: OB11MessageData[],
group?: Group,
ignoreTypes: OB11MessageDataType[] = []
) {
const deleteAfterSentFiles: string[] = [];
const sendElements = <SendMessageElement[]>(
await Promise.all(
messageData.map(async sendMsg => ignoreTypes.includes(sendMsg.type) ?
undefined :
handlers[sendMsg.type](sendMsg, { group, deleteAfterSentFiles }))
).then(
results => results.filter(
element => element !== undefined
)
)
);
return { sendElements, deleteAfterSentFiles };
}

View File

@@ -14,7 +14,7 @@ async function cloneMsg(msg: RawMessage): Promise<RawMessage | undefined> {
peerUid: selfInfo.uid
};
// logDebug('克隆的目标消息', msg);
// logDebug('克隆的目标消息', msg);
const sendElements: SendMessageElement[] = [];

View File

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

View File

@@ -25,10 +25,10 @@ export class GetCookies extends BaseAction<Payload, Response> {
if (!payload.domain) {
throw new Error('缺少参数 domain');
}
if (payload.domain.endsWith("qzone.qq.com")) {
if (payload.domain.endsWith('qzone.qq.com')) {
const _Skey = await NTQQUserApi.getSkey() as string;
// 兼容整个 *.qzone.qq.com
let data = (await NTQQUserApi.getQzoneCookies());
const data = (await NTQQUserApi.getQzoneCookies());
const Bkn = WebApi.genBkn(data.p_skey);
const CookieValue = 'p_skey=' + data.p_skey + '; skey=' + data.skey + '; p_uin=o' + selfInfo.uin + '; uin=o' + selfInfo.uin;
return { cookies: CookieValue };

View File

@@ -8,10 +8,10 @@ const SchemaData = {
type: 'object',
properties: {
flag: { type: 'string' },
approve: { type: 'boolean' },
approve: { type: ['string', 'boolean'] },
remark: { type: 'string' }
},
required: ['flag','approve']
required: ['flag']
} as const satisfies JSONSchema;
type Payload = FromSchema<typeof SchemaData>;
@@ -20,7 +20,7 @@ export default class SetFriendAddRequest extends BaseAction<Payload, null> {
actionName = ActionName.SetFriendAddRequest;
PayloadSchema = SchemaData;
protected async _handle(payload: Payload): Promise<null> {
const approve = payload.approve.toString() === 'true';
const approve = payload.approve?.toString() !== 'false';
const request = friendRequests[payload.flag];
await NTQQFriendApi.handleFriendRequest(request, approve);
return null;

View File

@@ -15,6 +15,6 @@ export class OB11GroupIncreaseEvent extends OB11GroupNoticeEvent {
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))
dbUtil.insertJoinTime(groupId, userId, Math.floor(Date.now() / 1000));
}
}

View File

@@ -1,5 +1,5 @@
import { napCatCore } from '@/core';
import { MsgListener } from '@/core/listeners';
import { MsgListener, TempOnRecvParams } from '@/core/listeners';
import { OB11Constructor } from '@/onebot11/constructor';
import { postOB11Event } from '@/onebot11/server/postOB11Event';
import {
@@ -17,7 +17,7 @@ import { OB11Config, ob11Config } from '@/onebot11/config';
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 { friendRequests, getFriend, getGroup, getGroupMember, groupNotifies, selfInfo, tempGroupCodeMap, uid2UinMap } from '@/core/data';
import { dbUtil } from '@/common/utils/db';
import { BuddyListener, GroupListener, NodeIKernelBuddyListener } from '@/core/listeners';
import { OB11FriendRequestEvent } from '@/onebot11/event/request/OB11FriendRequest';
@@ -152,7 +152,7 @@ export class NapCatOnebot11 {
app_id: '0',
device_name: device.deviceName,
device_kind: 'none'
})
});
// log('[设备列表] 设备名称: ' + device.deviceName);
});
}
@@ -195,9 +195,15 @@ export class NapCatOnebot11 {
//postOB11Event
selfInfo.online = false;
};
msgListener.onTempChatInfoUpdate = (tempChatInfo: TempOnRecvParams) => {
if (tempChatInfo.sessionType == 1 && tempChatInfo.chatType == ChatType.temp) {
tempGroupCodeMap[tempChatInfo.peerUid] = tempChatInfo.groupCode;
}
// 临时会话更新 tempGroupCodeMap uid -> source/GroupCode
};
msgListener.onRecvMsg = (msg) => {
// console.log('ob11 onRecvMsg', JSON.stringify(msg, null, 2));
logDebug('收到消息', msg);
// logDebug('收到消息', msg);
for (const m of msg) {
// try: 减掉3s 试图修复消息半天收不到
if (this.bootTime - 3 > parseInt(m.msgTime)) {

View File

@@ -1 +1 @@
export const version = '1.4.6';
export const version = '1.5.0';

View File

@@ -1,28 +1,28 @@
syntax = "proto3";
package SysMessage;
message Data {
repeated Header header = 1;
repeated Body body = 2;
repeated Other other = 2;
}
message Header {
uint32 PeerNumber = 1;
string PeerString = 2;
uint32 Uin = 5;
optional string Uid = 6;
}
message Body {
uint32 MsgType = 1;
uint32 SubType_0 = 2;
uint32 SubType_1 = 3;
uint32 MsgSeq= 5;
uint32 Time = 6;
uint64 MsgID = 12;
uint32 Other = 13;
}
message Event {
}
message Other {
repeated Event event = 2;
}
syntax = "proto3";
package SysMessage;
message Data {
repeated Header header = 1;
repeated Body body = 2;
repeated Other other = 2;
}
message Header {
uint32 PeerNumber = 1;
string PeerString = 2;
uint32 Uin = 5;
optional string Uid = 6;
}
message Body {
uint32 MsgType = 1;
uint32 SubType_0 = 2;
uint32 SubType_1 = 3;
uint32 MsgSeq= 5;
uint32 Time = 6;
uint64 MsgID = 12;
uint32 Other = 13;
}
message Event {
}
message Other {
repeated Event event = 2;
}

16
src/vite-env.d.ts vendored
View File

@@ -1,9 +1,9 @@
/// <reference types="vite/client" />
interface ImportMetaEnv {
VITE_BUILD_TYPE: string
}
interface ImportMeta {
readonly env: ImportMetaEnv
/// <reference types="vite/client" />
interface ImportMetaEnv {
VITE_BUILD_TYPE: string
}
interface ImportMeta {
readonly env: ImportMetaEnv
}

View File

@@ -29,7 +29,7 @@ async function onSettingWindowCreated(view: Element) {
SettingItem(
'<span id="napcat-update-title">Napcat</span>',
undefined,
SettingButton('V1.4.6', 'napcat-update-button', 'secondary')
SettingButton('V1.5.0', '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">

View File

@@ -167,7 +167,7 @@ async function onSettingWindowCreated(view) {
SettingItem(
'<span id="napcat-update-title">Napcat</span>',
void 0,
SettingButton("V1.4.6", "napcat-update-button", "secondary")
SettingButton("V1.5.0", "napcat-update-button", "secondary")
)
]),
SettingList([