feat: stranger info add sex & qq_level

This commit is contained in:
linyuchen 2024-03-19 00:45:59 +08:00
parent b12d205059
commit dda5ea3972
3 changed files with 15 additions and 7 deletions

View File

@ -5,24 +5,29 @@ import {OB11Constructor} from "../../constructor";
import {ActionName} from "../types";
import {isNull, log} from "../../../common/utils";
import {NTQQUserApi} from "../../../ntqqapi/api/user";
import {Friend, GroupMember} from "../../../ntqqapi/types";
export default class GoCQHTTPGetStrangerInfo extends BaseAction<{ user_id: number }, OB11User> {
actionName = ActionName.GoCQHTTP_GetStrangerInfo
private async refreshInfo(user: Friend | GroupMember){
if (isNull(user.sex)){
let info = (await NTQQUserApi.getUserDetailInfo(user.uid))
Object.assign(user, info);
}
}
protected async _handle(payload: { user_id: number }): Promise<OB11User> {
const user_id = payload.user_id.toString()
const friend = await getFriend(user_id)
if (friend) {
await this.refreshInfo(friend);
return OB11Constructor.friend(friend);
}
for (const group of groups) {
const member = await getGroupMember(group.groupCode, user_id)
if (member) {
if (isNull(member.sex)){
let info = (await NTQQUserApi.getUserDetailInfo(member.uid))
Object.assign(member, info);
}
await this.refreshInfo(member);
return OB11Constructor.groupMember(group.groupCode, member) as OB11User
}
}

View File

@ -305,9 +305,10 @@ export class OB11Constructor {
return {
user_id: parseInt(friend.uin),
nickname: friend.nick,
remark: friend.remark
remark: friend.remark,
sex: OB11Constructor.sex(friend.sex),
qq_level: friend.qqLevel && calcQQLevel(friend.qqLevel) || 0
}
}
static selfInfo(selfInfo: SelfInfo): OB11User {

View File

@ -4,7 +4,9 @@ import {EventType} from "./event/OB11BaseEvent";
export interface OB11User {
user_id: number;
nickname: string;
remark?: string
remark?: string;
sex?: OB11UserSex;
qq_level?: number;
}
export enum OB11UserSex {