export type QQBotPayload = CronReminderPayload | MediaPayload;
/** Result of parsing model output into a structured payload. */
export interface ParseResult {
isPayload: boolean;
payload?: QQBotPayload;
text?: string;
error?: string;
}
function formatErr(e: unknown): string { return e instanceof Error ? e.message : String(e);
}
/** Parse model output that may start with the QQ Bot structured payload prefix. */
export function parseQQBotPayload(text: string): ParseResult { const trimmedText = text.trim();
if (!trimmedText.startsWith(PAYLOAD_PREFIX)) { return { isPayload: false, text };
}
/** Type guard for cron reminder payloads. */
export function isCronReminderPayload(payload: QQBotPayload): payload is CronReminderPayload { return payload.type === "cron_reminder";
}
/** Type guard for media payloads. */
export function isMediaPayload(payload: QQBotPayload): payload is MediaPayload { return payload.type === "media";
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.