NapCatQQ/packages/napcat-onebot/api/friend.ts
2025-11-13 15:10:47 +08:00

31 lines
1.1 KiB
TypeScript

import { GrayTipElement, NapCatCore } from 'napcat-core';
import { NapCatOneBot11Adapter } from '@/napcat-onebot/index';
import { OB11FriendPokeEvent } from '@/napcat-onebot/event/notice/OB11PokeEvent';
export class OneBotFriendApi {
obContext: NapCatOneBot11Adapter;
core: NapCatCore;
constructor (obContext: NapCatOneBot11Adapter, core: NapCatCore) {
this.obContext = obContext;
this.core = core;
}
// 使用前预先判断 busiId 1061
async parsePrivatePokeEvent (grayTipElement: GrayTipElement, uin: number) {
const json = JSON.parse(grayTipElement.jsonGrayTipElement.jsonStr);
const pokedetail: Array<{ uid: string; }> = json.items;
// 筛选item带有uid的元素
const poke_uid = pokedetail.filter(item => item.uid);
if (poke_uid.length === 2 && poke_uid[0]?.uid && poke_uid[1]?.uid) {
return new OB11FriendPokeEvent(
this.core,
uin,
parseInt((await this.core.apis.UserApi.getUinByUidV2(poke_uid[0].uid))),
parseInt((await this.core.apis.UserApi.getUinByUidV2(poke_uid[1].uid))),
pokedetail
);
}
return undefined;
}
}