Add Feishu (飞书) channel plugin for enterprise messaging in China/International. Features: - WebSocket and Webhook connection modes - DM and group chat support with @mention gating - Inbound media support (images, files, PDFs) - Card render mode with syntax highlighting - Typing indicator via emoji reactions - Pairing flow for DM approval Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
42 lines
1.0 KiB
TypeScript
42 lines
1.0 KiB
TypeScript
import type { OpenClawPluginApi } from "openclaw/plugin-sdk";
|
|
import { emptyPluginConfigSchema } from "openclaw/plugin-sdk";
|
|
import { feishuPlugin } from "./src/channel.js";
|
|
import { setFeishuRuntime } from "./src/runtime.js";
|
|
|
|
export { monitorFeishuProvider } from "./src/monitor.js";
|
|
export {
|
|
sendMessageFeishu,
|
|
sendCardFeishu,
|
|
updateCardFeishu,
|
|
editMessageFeishu,
|
|
getMessageFeishu,
|
|
} from "./src/send.js";
|
|
export {
|
|
uploadImageFeishu,
|
|
uploadFileFeishu,
|
|
sendImageFeishu,
|
|
sendFileFeishu,
|
|
sendMediaFeishu,
|
|
} from "./src/media.js";
|
|
export { probeFeishu } from "./src/probe.js";
|
|
export {
|
|
addReactionFeishu,
|
|
removeReactionFeishu,
|
|
listReactionsFeishu,
|
|
FeishuEmoji,
|
|
} from "./src/reactions.js";
|
|
export { feishuPlugin } from "./src/channel.js";
|
|
|
|
const plugin = {
|
|
id: "feishu",
|
|
name: "Feishu",
|
|
description: "Feishu/Lark channel plugin",
|
|
configSchema: emptyPluginConfigSchema(),
|
|
register(api: OpenClawPluginApi) {
|
|
setFeishuRuntime(api.runtime);
|
|
api.registerChannel({ plugin: feishuPlugin });
|
|
},
|
|
};
|
|
|
|
export default plugin;
|