mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2025-12-18 20:30:08 +08:00
feat: 适配41697
This commit is contained in:
parent
db16db911b
commit
36fdaac406
@ -139,10 +139,20 @@ export interface NodeQQNTWrapperUtil {
|
||||
|
||||
isNull(): unknown;
|
||||
}
|
||||
|
||||
export interface NodeIQQNTStartupSessionWrapper {
|
||||
create(): NodeIQQNTStartupSessionWrapper;
|
||||
stop(): void;
|
||||
start(): void;
|
||||
createWithModuleList(uk: unknown): unknown;
|
||||
getSessionIdList(): unknown;
|
||||
}
|
||||
export interface NodeIQQNTWrapperSession {
|
||||
getNTWrapperSession(str: string): NodeIQQNTWrapperSession;
|
||||
|
||||
get(): NodeIQQNTWrapperSession;
|
||||
|
||||
new(): NodeIQQNTWrapperSession;
|
||||
|
||||
create(): NodeIQQNTWrapperSession;
|
||||
|
||||
init(
|
||||
@ -271,6 +281,7 @@ export interface WrapperNodeApi {
|
||||
NodeIO3MiscService: NodeIO3MiscService;
|
||||
NodeQQNTWrapperUtil: NodeQQNTWrapperUtil;
|
||||
NodeIQQNTWrapperSession: NodeIQQNTWrapperSession;
|
||||
NodeIQQNTStartupSessionWrapper: NodeIQQNTStartupSessionWrapper
|
||||
NodeIQQNTWrapperEngine: NodeIQQNTWrapperEngine;
|
||||
NodeIKernelLoginService: NodeIKernelLoginService;
|
||||
|
||||
|
||||
@ -126,7 +126,11 @@ export class OneBotGroupApi {
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
async registerParseGroupReactEvent() {
|
||||
this.obContext.core.context.packetHandler.onCmd('trpc.msg.olpush.OlPushService.MsgPush', async (packet) => {
|
||||
console.log(packet.seq, packet.hex_data);
|
||||
});
|
||||
}
|
||||
async parsePaiYiPai(msg: RawMessage, jsonStr: string) {
|
||||
const json = JSON.parse(jsonStr);
|
||||
//判断业务类型
|
||||
|
||||
@ -10,6 +10,7 @@ import {
|
||||
loadQQWrapper,
|
||||
NapCatCore,
|
||||
NapCatCoreWorkingEnv,
|
||||
NodeIQQNTStartupSessionWrapper,
|
||||
NodeIQQNTWrapperEngine,
|
||||
NodeIQQNTWrapperSession,
|
||||
PlatformType,
|
||||
@ -242,7 +243,8 @@ async function handleLoginInner(context: { isLogined: boolean }, logger: LogWrap
|
||||
|
||||
async function initializeSession(
|
||||
session: NodeIQQNTWrapperSession,
|
||||
sessionConfig: WrapperSessionInitConfig
|
||||
sessionConfig: WrapperSessionInitConfig,
|
||||
startupSession: NodeIQQNTStartupSessionWrapper | null
|
||||
) {
|
||||
return new Promise<void>((resolve, reject) => {
|
||||
const sessionListener = new NodeIKernelSessionListener();
|
||||
@ -259,13 +261,17 @@ async function initializeSession(
|
||||
new NodeIDispatcherAdapter(),
|
||||
sessionListener,
|
||||
);
|
||||
try {
|
||||
session.startNT(0);
|
||||
} catch {
|
||||
if (startupSession) {
|
||||
startupSession.start();
|
||||
} else {
|
||||
try {
|
||||
session.startNT();
|
||||
} catch (e: unknown) {
|
||||
reject(new Error('init failed ' + (e as Error).message));
|
||||
session.startNT(0);
|
||||
} catch {
|
||||
try {
|
||||
session.startNT();
|
||||
} catch (e: unknown) {
|
||||
reject(new Error('init failed ' + (e as Error).message));
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -335,8 +341,17 @@ export async function NCoreInitShell() {
|
||||
|
||||
const engine = wrapper.NodeIQQNTWrapperEngine.get();
|
||||
const loginService = wrapper.NodeIKernelLoginService.get();
|
||||
const session = new wrapper.NodeIQQNTWrapperSession();
|
||||
|
||||
let session: NodeIQQNTWrapperSession;
|
||||
let startupSession: NodeIQQNTStartupSessionWrapper | null = null;
|
||||
try {
|
||||
//session = new wrapper.NodeIQQNTWrapperSession();
|
||||
startupSession = wrapper.NodeIQQNTStartupSessionWrapper.create();
|
||||
// data.start();
|
||||
session = wrapper.NodeIQQNTWrapperSession.getNTWrapperSession('nt_1');
|
||||
} catch (e: unknown) {
|
||||
session = wrapper.NodeIQQNTWrapperSession.create();
|
||||
console.log('Error creating session:', e);
|
||||
}
|
||||
const [dataPath, dataPathGlobal] = getDataPaths(wrapper);
|
||||
const systemPlatform = getPlatformType();
|
||||
|
||||
@ -370,7 +385,7 @@ export async function NCoreInitShell() {
|
||||
dataPath,
|
||||
);
|
||||
|
||||
await initializeSession(session, sessionConfig);
|
||||
await initializeSession(session, sessionConfig, startupSession);
|
||||
|
||||
const accountDataPath = path.resolve(dataPath, './NapCat/data');
|
||||
//判断dataPath是否为根目录 或者 D:/ 之类的盘目录
|
||||
|
||||
Loading…
Reference in New Issue
Block a user