mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2026-01-15 12:50:33 +00:00
fix: 177
This commit is contained in:
parent
38894177ee
commit
1c38833998
@ -86,7 +86,7 @@ export abstract class HttpServerBase {
|
|||||||
this.start(port, host);
|
this.start(port, host);
|
||||||
}
|
}
|
||||||
|
|
||||||
abstract handleFailed(res: Response, payload: any, err: any): void
|
abstract handleFailed(res: Response, payload: any, err: Error): void
|
||||||
|
|
||||||
registerRouter(method: 'post' | 'get' | string, url: string, handler: RegisterHandler) {
|
registerRouter(method: 'post' | 'get' | string, url: string, handler: RegisterHandler) {
|
||||||
if (!url.startsWith('/')) {
|
if (!url.startsWith('/')) {
|
||||||
@ -111,7 +111,7 @@ export abstract class HttpServerBase {
|
|||||||
try {
|
try {
|
||||||
res.send(await handler(res, payload));
|
res.send(await handler(res, payload));
|
||||||
} catch (e: any) {
|
} catch (e: any) {
|
||||||
this.handleFailed(res, payload, e.stack.toString());
|
this.handleFailed(res, payload, e);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,7 +14,7 @@ export class NTQQFriendApi {
|
|||||||
);
|
);
|
||||||
return Array.from(data.values());
|
return Array.from(data.values());
|
||||||
}
|
}
|
||||||
@CacheClassFuncAsyncExtend(5000, 'getBuddyIdMap', true)
|
@CacheClassFuncAsyncExtend(3600 * 1000, 'getBuddyIdMap', () => true)
|
||||||
static async getBuddyIdMapCache(refresh = false): Promise<LimitedHashTable<string, string>> {
|
static async getBuddyIdMapCache(refresh = false): Promise<LimitedHashTable<string, string>> {
|
||||||
return await NTQQFriendApi.getBuddyIdMap(refresh);
|
return await NTQQFriendApi.getBuddyIdMap(refresh);
|
||||||
}
|
}
|
||||||
@ -30,6 +30,7 @@ export class NTQQFriendApi {
|
|||||||
data.forEach((value, key) => {
|
data.forEach((value, key) => {
|
||||||
retMap.set(value.uin!, value.uid!);
|
retMap.set(value.uin!, value.uid!);
|
||||||
});
|
});
|
||||||
|
//console.log('getBuddyIdMap', retMap.getValue);
|
||||||
return retMap;
|
return retMap;
|
||||||
}
|
}
|
||||||
static async getBuddyV2ExWithCate(refresh = false) {
|
static async getBuddyV2ExWithCate(refresh = false) {
|
||||||
|
|||||||
@ -23,7 +23,7 @@ export class NTQQGroupApi {
|
|||||||
return groupList;
|
return groupList;
|
||||||
}
|
}
|
||||||
|
|
||||||
@CacheClassFuncAsyncExtend(600, "LastestSendTime", () => true)
|
@CacheClassFuncAsyncExtend(3600 * 1000, "LastestSendTime", () => true)
|
||||||
static async getGroupMemberLastestSendTimeCache(GroupCode: string) {
|
static async getGroupMemberLastestSendTimeCache(GroupCode: string) {
|
||||||
return NTQQGroupApi.getGroupMemberLastestSendTime(GroupCode);
|
return NTQQGroupApi.getGroupMemberLastestSendTime(GroupCode);
|
||||||
}
|
}
|
||||||
@ -184,7 +184,7 @@ export class NTQQGroupApi {
|
|||||||
if (result.errCode !== 0) {
|
if (result.errCode !== 0) {
|
||||||
throw ('获取群成员列表出错,' + result.errMsg);
|
throw ('获取群成员列表出错,' + result.errMsg);
|
||||||
}
|
}
|
||||||
|
|
||||||
//logDebug(`获取群(${groupQQ})成员列表结果:`, `finish: ${result.result.finish}`); //, Array.from(result.result.infos.values()));
|
//logDebug(`获取群(${groupQQ})成员列表结果:`, `finish: ${result.result.finish}`); //, Array.from(result.result.infos.values()));
|
||||||
return result.result.infos;
|
return result.result.infos;
|
||||||
/*
|
/*
|
||||||
|
|||||||
@ -202,11 +202,11 @@ export class NTQQUserApi {
|
|||||||
}
|
}
|
||||||
return skey;
|
return skey;
|
||||||
}
|
}
|
||||||
@CacheClassFuncAsyncExtend(3600, 'Uin2Uid', (Uin: string, Uid: string | undefined) => {
|
@CacheClassFuncAsyncExtend(3600 * 1000, 'Uin2Uid', (Uin: string, Uid: string | undefined) => {
|
||||||
if (Uid && Uid.indexOf('u_') != -1) {
|
if (Uid && Uid.indexOf('u_') != -1) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
logWarn("uin转换到uid时异常", Uin);
|
logWarn("uin转换到uid时异常", Uin, Uid);
|
||||||
return false;
|
return false;
|
||||||
})
|
})
|
||||||
static async getUidByUin(Uin: string) {
|
static async getUidByUin(Uin: string) {
|
||||||
@ -216,11 +216,11 @@ export class NTQQUserApi {
|
|||||||
}
|
}
|
||||||
return await NTQQUserApi.getUidByUinV1(Uin);
|
return await NTQQUserApi.getUidByUinV1(Uin);
|
||||||
}
|
}
|
||||||
@CacheClassFuncAsyncExtend(3600, 'Uid2Uin', (Uid: string | undefined, Uin: number | undefined) => {
|
@CacheClassFuncAsyncExtend(3600 * 1000, 'Uid2Uin', (Uid: string | undefined, Uin: number | undefined) => {
|
||||||
if (Uin && Uin != 0 && !isNaN(Uin)) {
|
if (Uin && Uin != 0 && !isNaN(Uin)) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
logWarn("uid转换到uin时异常", Uid);
|
logWarn("uid转换到uin时异常", Uid, Uin);
|
||||||
return false;
|
return false;
|
||||||
})
|
})
|
||||||
static async getUinByUid(Uid: string) {
|
static async getUinByUid(Uid: string) {
|
||||||
@ -239,13 +239,13 @@ export class NTQQUserApi {
|
|||||||
if (uid) return uid;
|
if (uid) return uid;
|
||||||
uid = (await napCatCore.session.getUixConvertService().getUid([Uin])).uidInfo.get(Uin);
|
uid = (await napCatCore.session.getUixConvertService().getUid([Uin])).uidInfo.get(Uin);
|
||||||
if (uid) return uid;
|
if (uid) return uid;
|
||||||
|
console.log((await NTQQFriendApi.getBuddyIdMapCache(true)));
|
||||||
uid = (await NTQQFriendApi.getBuddyIdMapCache(true)).getValue(Uin);//从Buddy缓存获取Uid
|
uid = (await NTQQFriendApi.getBuddyIdMapCache(true)).getValue(Uin);//从Buddy缓存获取Uid
|
||||||
if (uid) return uid;
|
if (uid) return uid;
|
||||||
uid = (await NTQQFriendApi.getBuddyIdMap(true)).getValue(Uin);
|
uid = (await NTQQFriendApi.getBuddyIdMap(true)).getValue(Uin);
|
||||||
if (uid) return uid;
|
if (uid) return uid;
|
||||||
// let unveifyUid = (await NTQQUserApi.getUserDetailInfoByUin(Uin)).info.uid;//从QQ Native 特殊转换
|
let unveifyUid = (await NTQQUserApi.getUserDetailInfoByUinV2(Uin)).detail.uid;//从QQ Native 特殊转换
|
||||||
// if (unveifyUid.indexOf("*") == -1) uid = unveifyUid;
|
if (unveifyUid.indexOf("*") == -1) uid = unveifyUid;
|
||||||
|
|
||||||
//if (uid) return uid;
|
//if (uid) return uid;
|
||||||
return uid;
|
return uid;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -128,7 +128,7 @@ export class SendMsg extends BaseAction<OB11PostSendMsg, ReturnDataType> {
|
|||||||
return { valid: false, message: `群${payload.group_id}不存在` };
|
return { valid: false, message: `群${payload.group_id}不存在` };
|
||||||
}
|
}
|
||||||
if (payload.user_id && payload.message_type !== 'group') {
|
if (payload.user_id && payload.message_type !== 'group') {
|
||||||
const uid = await NTQQUserApi.getUidByUin(payload.user_id);
|
const uid = await NTQQUserApi.getUidByUin(payload.user_id.toString());
|
||||||
const isBuddy = await NTQQFriendApi.isBuddy(uid!);
|
const isBuddy = await NTQQFriendApi.isBuddy(uid!);
|
||||||
// 此处有问题
|
// 此处有问题
|
||||||
if (!isBuddy) {
|
if (!isBuddy) {
|
||||||
|
|||||||
@ -10,8 +10,8 @@ import { postOB11Event } from '@/onebot11/server/postOB11Event';
|
|||||||
class OB11HTTPServer extends HttpServerBase {
|
class OB11HTTPServer extends HttpServerBase {
|
||||||
name = 'OneBot V11 server';
|
name = 'OneBot V11 server';
|
||||||
|
|
||||||
handleFailed(res: Response, payload: any, e: any) {
|
handleFailed(res: Response, payload: any, e: Error) {
|
||||||
res.send(OB11Response.error(e.stack.toString(), 200));
|
res.send(OB11Response.error(e?.stack?.toString() || e.message || "Error Handle", 200));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected listen(port: number, host: string) {
|
protected listen(port: number, host: string) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user