Files
NapCatQQ/src/onebot/action/group/SetGroupCard.ts
手瓜一十雪 b190c21ef8 fix:coerce
2025-04-15 12:25:37 +08:00

23 lines
883 B
TypeScript

import { OneBotAction } from '@/onebot/action/OneBotAction';
import { ActionName } from '@/onebot/action/router';
import { z } from 'zod';
const SchemaData = z.object({
group_id: z.union([z.coerce.number(), z.coerce.string()]),
user_id: z.union([z.coerce.number(), z.coerce.string()]),
card: z.coerce.string().optional(),
});
type Payload = z.infer<typeof SchemaData>;
export default class SetGroupCard extends OneBotAction<Payload, null> {
override actionName = ActionName.SetGroupCard;
override payloadSchema = SchemaData;
async _handle(payload: Payload): Promise<null> {
const member = await this.core.apis.GroupApi.getGroupMember(payload.group_id.toString(), payload.user_id.toString());
if (member) await this.core.apis.GroupApi.setMemberCard(payload.group_id.toString(), member.uid, payload.card || '');
return null;
}
}