mirror of https://github.com/openclaw/openclaw.git
129 lines
6.5 KiB
TypeScript
129 lines
6.5 KiB
TypeScript
import type { ChannelConfigUiHint } from "openclaw/plugin-sdk/core";
|
|
|
|
export const telegramChannelConfigUiHints = {
|
|
"": {
|
|
label: "Telegram",
|
|
help: "Telegram channel provider configuration including auth tokens, retry behavior, and message rendering controls. Use this section to tune bot behavior for Telegram-specific API semantics.",
|
|
},
|
|
customCommands: {
|
|
label: "Telegram Custom Commands",
|
|
help: "Additional Telegram bot menu commands (merged with native; conflicts ignored).",
|
|
},
|
|
botToken: {
|
|
label: "Telegram Bot Token",
|
|
help: "Telegram bot token used to authenticate Bot API requests for this account/provider config. Use secret/env substitution and rotate tokens if exposure is suspected.",
|
|
},
|
|
dmPolicy: {
|
|
label: "Telegram DM Policy",
|
|
help: 'Direct message access control ("pairing" recommended). "open" requires channels.telegram.allowFrom=["*"].',
|
|
},
|
|
configWrites: {
|
|
label: "Telegram Config Writes",
|
|
help: "Allow Telegram to write config in response to channel events/commands (default: true).",
|
|
},
|
|
"commands.native": {
|
|
label: "Telegram Native Commands",
|
|
help: 'Override native commands for Telegram (bool or "auto").',
|
|
},
|
|
"commands.nativeSkills": {
|
|
label: "Telegram Native Skill Commands",
|
|
help: 'Override native skill commands for Telegram (bool or "auto").',
|
|
},
|
|
streaming: {
|
|
label: "Telegram Streaming Mode",
|
|
help: 'Unified Telegram stream preview mode: "off" | "partial" | "block" | "progress" (default: "partial"). "progress" maps to "partial" on Telegram. Legacy boolean/streamMode keys are auto-mapped.',
|
|
},
|
|
"retry.attempts": {
|
|
label: "Telegram Retry Attempts",
|
|
help: "Max retry attempts for outbound Telegram API calls (default: 3).",
|
|
},
|
|
"retry.minDelayMs": {
|
|
label: "Telegram Retry Min Delay (ms)",
|
|
help: "Minimum retry delay in ms for Telegram outbound calls.",
|
|
},
|
|
"retry.maxDelayMs": {
|
|
label: "Telegram Retry Max Delay (ms)",
|
|
help: "Maximum retry delay cap in ms for Telegram outbound calls.",
|
|
},
|
|
"retry.jitter": {
|
|
label: "Telegram Retry Jitter",
|
|
help: "Jitter factor (0-1) applied to Telegram retry delays.",
|
|
},
|
|
"network.autoSelectFamily": {
|
|
label: "Telegram autoSelectFamily",
|
|
help: "Override Node autoSelectFamily for Telegram (true=enable, false=disable).",
|
|
},
|
|
timeoutSeconds: {
|
|
label: "Telegram API Timeout (seconds)",
|
|
help: "Max seconds before Telegram API requests are aborted (default: 500 per grammY).",
|
|
},
|
|
silentErrorReplies: {
|
|
label: "Telegram Silent Error Replies",
|
|
help: "When true, Telegram bot replies marked as errors are sent silently (no notification sound). Default: false.",
|
|
},
|
|
apiRoot: {
|
|
label: "Telegram API Root URL",
|
|
help: "Custom Telegram Bot API root URL. Use for self-hosted Bot API servers (https://github.com/tdlib/telegram-bot-api) or reverse proxies in regions where api.telegram.org is blocked.",
|
|
},
|
|
autoTopicLabel: {
|
|
label: "Telegram Auto Topic Label",
|
|
help: "Auto-rename DM forum topics on first message using LLM. Default: true. Set to false to disable, or use object form { enabled: true, prompt: '...' } for custom prompt.",
|
|
},
|
|
"autoTopicLabel.enabled": {
|
|
label: "Telegram Auto Topic Label Enabled",
|
|
help: "Whether auto topic labeling is enabled. Default: true.",
|
|
},
|
|
"autoTopicLabel.prompt": {
|
|
label: "Telegram Auto Topic Label Prompt",
|
|
help: "Custom prompt for LLM-based topic naming. The user message is appended after the prompt.",
|
|
},
|
|
"capabilities.inlineButtons": {
|
|
label: "Telegram Inline Buttons",
|
|
help: "Enable Telegram inline button components for supported command and interaction surfaces. Disable if your deployment needs plain-text-only compatibility behavior.",
|
|
},
|
|
execApprovals: {
|
|
label: "Telegram Exec Approvals",
|
|
help: "Telegram-native exec approval routing and approver authorization. Enable this only when Telegram should act as an explicit exec-approval client for the selected bot account.",
|
|
},
|
|
"execApprovals.enabled": {
|
|
label: "Telegram Exec Approvals Enabled",
|
|
help: "Enable Telegram exec approvals for this account. When false or unset, Telegram messages/buttons cannot approve exec requests.",
|
|
},
|
|
"execApprovals.approvers": {
|
|
label: "Telegram Exec Approval Approvers",
|
|
help: "Telegram user IDs allowed to approve exec requests for this bot account. Use numeric Telegram user IDs; prompts are only delivered to these approvers when target includes dm.",
|
|
},
|
|
"execApprovals.agentFilter": {
|
|
label: "Telegram Exec Approval Agent Filter",
|
|
help: 'Optional allowlist of agent IDs eligible for Telegram exec approvals, for example `["main", "ops-agent"]`. Use this to keep approval prompts scoped to the agents you actually operate from Telegram.',
|
|
},
|
|
"execApprovals.sessionFilter": {
|
|
label: "Telegram Exec Approval Session Filter",
|
|
help: "Optional session-key filters matched as substring or regex-style patterns before Telegram approval routing is used. Use narrow patterns so Telegram approvals only appear for intended sessions.",
|
|
},
|
|
"execApprovals.target": {
|
|
label: "Telegram Exec Approval Target",
|
|
help: 'Controls where Telegram approval prompts are sent: "dm" sends to approver DMs (default), "channel" sends to the originating Telegram chat/topic, and "both" sends to both. Channel delivery exposes the command text to the chat, so only use it in trusted groups/topics.',
|
|
},
|
|
"threadBindings.enabled": {
|
|
label: "Telegram Thread Binding Enabled",
|
|
help: "Enable Telegram conversation binding features (/focus, /unfocus, /agents, and /session idle|max-age). Overrides session.threadBindings.enabled when set.",
|
|
},
|
|
"threadBindings.idleHours": {
|
|
label: "Telegram Thread Binding Idle Timeout (hours)",
|
|
help: "Inactivity window in hours for Telegram bound sessions. Set 0 to disable idle auto-unfocus (default: 24). Overrides session.threadBindings.idleHours when set.",
|
|
},
|
|
"threadBindings.maxAgeHours": {
|
|
label: "Telegram Thread Binding Max Age (hours)",
|
|
help: "Optional hard max age in hours for Telegram bound sessions. Set 0 to disable hard cap (default: 0). Overrides session.threadBindings.maxAgeHours when set.",
|
|
},
|
|
"threadBindings.spawnSubagentSessions": {
|
|
label: "Telegram Thread-Bound Subagent Spawn",
|
|
help: "Allow subagent spawns with thread=true to auto-bind Telegram current conversations when supported.",
|
|
},
|
|
"threadBindings.spawnAcpSessions": {
|
|
label: "Telegram Thread-Bound ACP Spawn",
|
|
help: "Allow ACP spawns with thread=true to auto-bind Telegram current conversations when supported.",
|
|
},
|
|
} satisfies Record<string, ChannelConfigUiHint>;
|