Files
openclaw/extensions/feishu/src/sequential-key.ts
2026-04-24 02:55:09 +01:00

29 lines
777 B
TypeScript

import {
isAbortRequestText,
isBtwRequestText,
} from "openclaw/plugin-sdk/command-primitives-runtime";
import { parseFeishuMessageEvent, type FeishuMessageEvent } from "./bot.js";
export function getFeishuSequentialKey(params: {
accountId: string;
event: FeishuMessageEvent;
botOpenId?: string;
botName?: string;
}): string {
const { accountId, event, botOpenId, botName } = params;
const chatId = event.message.chat_id?.trim() || "unknown";
const baseKey = `feishu:${accountId}:${chatId}`;
const parsed = parseFeishuMessageEvent(event, botOpenId, botName);
const text = parsed.content.trim();
if (isAbortRequestText(text)) {
return `${baseKey}:control`;
}
if (isBtwRequestText(text)) {
return `${baseKey}:btw`;
}
return baseKey;
}