import { OneBotAction } from '@/napcat-onebot/action/OneBotAction'; import { ActionName } from '@/napcat-onebot/action/router'; import { Static, Type } from '@sinclair/typebox'; export const GetFilesetIdPayloadSchema = Type.Object({ share_code: Type.String({ description: '分享码或分享链接' }), }); export type GetFilesetIdPayload = Static; export class GetFilesetId extends OneBotAction { override actionName = ActionName.GetFilesetId; override payloadSchema = GetFilesetIdPayloadSchema; override returnSchema = Type.Any({ description: '文件集 ID' }); async _handle (payload: GetFilesetIdPayload) { // 适配share_link 防止被传 Link无法解析 const code = payload.share_code.includes('=') ? payload.share_code.split('=').slice(1).join('=') : payload.share_code; return await this.core.apis.FlashApi.fromShareLinkFindSetId(code); } }