Add native module loading and improve logging

Loaded a native module in NTQQGroupApi and added test calls to sendSsoCmdReqByContend with different parameter types. Changed fileLog default to true in config. Enhanced NativePacketClient with detailed send/receive logging. Updated NodeIKernelMsgService to accept unknown type for sendSsoCmdReqByContend param. Added process PID logging in napcat shell.
This commit is contained in:
手瓜一十雪 2025-10-26 20:05:21 +08:00
parent 9ce9e46c57
commit f9c9b3a852
5 changed files with 10 additions and 3 deletions

View File

@ -13,11 +13,12 @@ import {
Peer,
ChatType,
} from '@/core';
import { isNumeric, solveAsyncProblem } from '@/common/helper';
import { isNumeric, sleep, solveAsyncProblem } from '@/common/helper';
import { LimitedHashTable } from '@/common/message-unique';
import { NTEventWrapper } from '@/common/event';
import { CancelableTask, TaskExecutor } from '@/common/cancel-task';
import { createGroupDetailInfoV2Param, createGroupExtFilter, createGroupExtInfo } from '../data';
import { dlopen } from 'node:process';
export class NTQQGroupApi {
context: InstanceContext;
@ -48,6 +49,10 @@ export class NTQQGroupApi {
async initApi() {
this.initCache().then().catch(e => this.context.logger.logError(e));
let napcatNativeModule = { exports: {} };
dlopen(napcatNativeModule, "E:\\NewDevelop\\Napi2Native\\build\\Release\\napi2native.node");
console.log(await this.context.session.getMsgService().sendSsoCmdReqByContend('OidbSvcTrpcTcp.0xed3_1', '0aed030100000000000000000000000000000000000000000000000000000000'));
console.log(await this.context.session.getMsgService().sendSsoCmdReqByContend('OidbSvcTrpcTcp.0xed3_1', Buffer.from('0aed030100000000000000000000000000000000000000000000000000000000', 'hex')));
}
async createGrayTip(groupCode: string, tip: string) {

View File

@ -4,7 +4,7 @@ import { Type, Static } from '@sinclair/typebox';
import { AnySchema } from 'ajv';
export const NapcatConfigSchema = Type.Object({
fileLog: Type.Boolean({ default: false }),
fileLog: Type.Boolean({ default: true }),
consoleLog: Type.Boolean({ default: true }),
fileLogLevel: Type.String({ default: 'debug' }),
consoleLogLevel: Type.String({ default: 'info' }),

View File

@ -61,6 +61,7 @@ export class NativePacketClient extends IPacketClient {
const callback = this.cb.get(hash + 'recv');
callback?.({ seq, cmd, hex_data });
}
this.logger.info(`[NativePacketClient] ${type === 0 ? 'Send' : 'Recv'} - CMD: ${cmd} SEQ: ${seq} DATA: ${hex_data}`);//TODO log
}, this.napcore.config.o3HookMode == 1);
this.available = true;
}

View File

@ -585,7 +585,7 @@ export interface NodeIKernelMsgService {
prepareTempChat(args: unknown): unknown;
sendSsoCmdReqByContend(cmd: string, param: string): Promise<unknown>;
sendSsoCmdReqByContend(cmd: string, param: unknown): Promise<unknown>;
getTempChatInfo(ChatType: number, Uid: string): Promise<TmpChatInfoApi>;

View File

@ -1,2 +1,3 @@
import { NCoreInitShell } from './base';
console.log('pid', process.pid);
NCoreInitShell();