























@@ -1,2 +1,41 @@
1+import { buildDmGroupAccountAllowlistAdapter } from "openclaw/plugin-sdk/allowlist-config-edit";
2+import type { ChannelPlugin } from "openclaw/plugin-sdk/channel-core";
3+import { getChatChannelMeta } from "openclaw/plugin-sdk/channel-plugin-common";
4+import { resolveTelegramAccount, type ResolvedTelegramAccount } from "./src/accounts.js";
5+import { telegramApprovalCapability } from "./src/approval-native.js";
6+import { telegramConfigAdapter } from "./src/shared.js";
7+18export { sendMessageTelegram, sendPollTelegram, type TelegramApiOverride } from "./src/send.js";
29export { resetTelegramThreadBindingsForTests } from "./src/thread-bindings.js";
10+11+export const telegramCommandTestPlugin = {
12+id: "telegram",
13+meta: getChatChannelMeta("telegram"),
14+capabilities: {
15+chatTypes: ["direct", "group", "channel", "thread"],
16+reactions: true,
17+threads: true,
18+media: true,
19+polls: true,
20+nativeCommands: true,
21+blockStreaming: true,
22+},
23+config: telegramConfigAdapter,
24+approvalCapability: telegramApprovalCapability,
25+pairing: {
26+idLabel: "telegramUserId",
27+},
28+allowlist: buildDmGroupAccountAllowlistAdapter<ResolvedTelegramAccount>({
29+channelId: "telegram",
30+resolveAccount: resolveTelegramAccount,
31+normalize: ({ cfg, accountId, values }) =>
32+telegramConfigAdapter.formatAllowFrom!({ cfg, accountId, allowFrom: values }),
33+resolveDmAllowFrom: (account) => account.config.allowFrom,
34+resolveGroupAllowFrom: (account) => account.config.groupAllowFrom,
35+resolveDmPolicy: (account) => account.config.dmPolicy,
36+resolveGroupPolicy: (account) => account.config.groupPolicy,
37+}),
38+} satisfies Pick<
39+ChannelPlugin<ResolvedTelegramAccount>,
40+"id" | "meta" | "capabilities" | "config" | "approvalCapability" | "pairing" | "allowlist"
41+>;
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。