mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-04 05:42:02 +00:00
Merged via squash.
Prepared head SHA: c9ad4e4706
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
50 lines
1.8 KiB
TypeScript
50 lines
1.8 KiB
TypeScript
import { buildDmGroupAccountAllowlistAdapter } from "openclaw/plugin-sdk/allowlist-config-edit";
|
|
import { splitChannelApprovalCapability } from "openclaw/plugin-sdk/approval-runtime";
|
|
import { getChatChannelMeta, type ChannelPlugin } from "openclaw/plugin-sdk/telegram-core";
|
|
import type { ResolvedTelegramAccount } from "./src/accounts.js";
|
|
import { resolveTelegramAccount } from "./src/accounts.js";
|
|
import { telegramApprovalCapability } from "./src/approval-native.js";
|
|
import { telegramConfigAdapter } from "./src/shared.js";
|
|
|
|
const telegramNativeApprovalAdapter = splitChannelApprovalCapability(telegramApprovalCapability);
|
|
|
|
export const telegramCommandTestPlugin = {
|
|
id: "telegram",
|
|
meta: getChatChannelMeta("telegram"),
|
|
capabilities: {
|
|
chatTypes: ["direct", "group", "channel", "thread"],
|
|
reactions: true,
|
|
threads: true,
|
|
media: true,
|
|
polls: true,
|
|
nativeCommands: true,
|
|
blockStreaming: true,
|
|
},
|
|
config: telegramConfigAdapter,
|
|
auth: telegramNativeApprovalAdapter.auth,
|
|
approvalCapability: telegramApprovalCapability,
|
|
pairing: {
|
|
idLabel: "telegramUserId",
|
|
},
|
|
allowlist: buildDmGroupAccountAllowlistAdapter<ResolvedTelegramAccount>({
|
|
channelId: "telegram",
|
|
resolveAccount: resolveTelegramAccount,
|
|
normalize: ({ cfg, accountId, values }) =>
|
|
telegramConfigAdapter.formatAllowFrom!({ cfg, accountId, allowFrom: values }),
|
|
resolveDmAllowFrom: (account) => account.config.allowFrom,
|
|
resolveGroupAllowFrom: (account) => account.config.groupAllowFrom,
|
|
resolveDmPolicy: (account) => account.config.dmPolicy,
|
|
resolveGroupPolicy: (account) => account.config.groupPolicy,
|
|
}),
|
|
} satisfies Pick<
|
|
ChannelPlugin<ResolvedTelegramAccount>,
|
|
| "id"
|
|
| "meta"
|
|
| "capabilities"
|
|
| "config"
|
|
| "auth"
|
|
| "approvalCapability"
|
|
| "pairing"
|
|
| "allowlist"
|
|
>;
|