← 返回
开发者工具 Key 中文

Telegram OpenAPI Skill

Operate Telegram Bot API through UXC with a curated OpenAPI schema, bot-token path auth, polling-based reads, and webhook management guardrails.
使用 UXC 操作 Telegram Bot API,配备精选 OpenAPI schema、bot‑token 路径认证、轮询读取以及 webhook 管理防护。
jolestar
开发者工具 clawhub v1.0.1 2 版本 100000 Key: 需要
★ 0
Stars
📥 489
下载
💾 7
安装
2
版本
#latest

概述

Telegram Bot API Skill

Use this skill to run Telegram Bot API operations through uxc + OpenAPI.

Reuse the uxc skill for shared execution, auth, and error-handling guidance.

Prerequisites

  • uxc is installed and available in PATH.
  • Network access to https://api.telegram.org.
  • Access to the curated OpenAPI schema URL:
  • https://raw.githubusercontent.com/holon-run/uxc/main/skills/telegram-openapi-skill/references/telegram-bot.openapi.json
  • A Telegram bot token from BotFather.

Scope

This skill covers a lean bot core surface:

  • bot identity and chat lookup
  • text sends
  • media sends by file_id, HTTP URL, or local multipart upload
  • polling via getUpdates
  • webhook setup/status/delete operations

This skill does not cover:

  • multipart media groups with attach:// file arrays
  • generic webhook ingestion/runtime hosting
  • the full Telegram Bot API surface

Authentication

Telegram Bot API requires the bot token in the request path: https://api.telegram.org/bot/METHOD_NAME.

Configure the credential with a request path prefix template:

uxc auth credential set telegram-bot \
  --auth-type api_key \
  --secret-env TELEGRAM_BOT_TOKEN \
  --path-prefix-template "/bot{{secret}}"

uxc auth binding add \
  --id telegram-bot \
  --host api.telegram.org \
  --scheme https \
  --credential telegram-bot \
  --priority 100

Validate the local mapping when auth looks wrong:

uxc auth binding match https://api.telegram.org/getMe

Core Workflow

  1. Use the fixed link command by default:
    • command -v telegram-openapi-cli
    • If missing, create it:

uxc link telegram-openapi-cli https://api.telegram.org --schema-url https://raw.githubusercontent.com/holon-run/uxc/main/skills/telegram-openapi-skill/references/telegram-bot.openapi.json

  • telegram-openapi-cli -h
  1. Inspect operation schema first:
    • telegram-openapi-cli get:/getMe -h
    • telegram-openapi-cli post:/sendMessage -h
    • telegram-openapi-cli post:/sendPhoto -h
    • telegram-openapi-cli post:/sendDocument -h
    • telegram-openapi-cli post:/getUpdates -h
  1. Prefer read/setup validation before writes:
    • telegram-openapi-cli get:/getMe
    • telegram-openapi-cli get:/getWebhookInfo
    • telegram-openapi-cli get:/getChat chat_id=@channel_or_chat_id
  1. Execute operations with key/value or positional JSON:
    • key/value:

telegram-openapi-cli post:/sendMessage chat_id=CHAT_ID text="Hello from uxc"

  • multipart upload:

telegram-openapi-cli post:/sendPhoto chat_id=CHAT_ID photo=/tmp/photo.jpg caption="Uploaded by uxc"

  • positional JSON:

telegram-openapi-cli post:/sendMessage '{"chat_id":"CHAT_ID","text":"Hello from uxc"}'

  • daemon-backed polling subscribe:

uxc subscribe start https://api.telegram.org post:/getUpdates '{"timeout":5,"allowed_updates":["message","callback_query"]}' --mode poll --poll-config '{"interval_secs":2,"extract_items_pointer":"/result","request_cursor_arg":"offset","cursor_from_item_pointer":"/update_id","cursor_transform":"increment","checkpoint_strategy":{"type":"item_key","item_key_pointer":"/update_id"}}' --sink file:/tmp/telegram-updates.ndjson

Runtime Validation

The following Telegram polling flow has been validated against the real Bot API through uxc:

  • get:/getMe
  • get:/getWebhookInfo
  • daemon-backed uxc subscribe --mode poll on post:/getUpdates
  • item-derived offset progression from update_id + 1
  • dedupe/checkpoint behavior for repeated polls

Observed runtime behavior:

  • data events are emitted for real Telegram updates
  • poll events record fetched/emitted/skipped counts
  • checkpoint events are emitted after new updates are seen
  • repeated polls skip already-consumed updates after checkpoint advancement

Operation Groups

Read / Lookup

  • get:/getMe
  • get:/getChat
  • get:/getChatMember
  • get:/getWebhookInfo

Messaging

  • post:/sendMessage
  • post:/sendPhoto
  • post:/sendDocument
  • post:/sendMediaGroup

Update Delivery

  • post:/getUpdates
  • post:/setWebhook
  • post:/deleteWebhook

Guardrails

  • Keep automation on the JSON output envelope; do not use --text.
  • Parse stable fields first: ok, kind, protocol, data, error.
  • getUpdates and webhook delivery are mutually exclusive:
  • if a webhook is configured, call post:/deleteWebhook before polling with post:/getUpdates
  • if polling is active, do not treat webhook operations as background subscription support
  • Telegram allows only one active getUpdates consumer per bot token:
  • if another bot process or script is polling at the same time, Telegram returns HTTP 409
  • stop the other consumer before relying on daemon-backed polling subscribe
  • For daemon-backed polling subscribe, prefer item-derived offset progression:
  • extract_items_pointer should be /result
  • request_cursor_arg should be offset
  • cursor_from_item_pointer should be /update_id
  • cursor_transform should be increment
  • checkpoint_strategy.type should usually be item_key with item_key_pointer=/update_id
  • uxc auth binding match should be checked against a concrete Telegram method URL such as https://api.telegram.org/getMe, because auth is applied through a path-prefix template that expands to /bot/....
  • sendPhoto, sendDocument, and sendMediaGroup in this skill accept existing file_id values or HTTP URLs only; they do not upload new local files.
  • sendPhoto and sendDocument also support multipart/form-data local file uploads. File fields must be local path strings.
  • sendMediaGroup still stays JSON-only in this skill because current multipart v1 does not model the media array plus attach:// file set cleanly.
  • setWebhook supports multipart certificate upload for self-signed certs through the certificate file field.
  • Treat post:/sendMessage, all send* operations, and webhook-changing operations as write/high-risk actions; require explicit user confirmation before execution.
  • telegram-openapi-cli ... is equivalent to uxc https://api.telegram.org --schema-url ....

References

  • Usage patterns: references/usage-patterns.md
  • Curated OpenAPI schema: references/telegram-bot.openapi.json
  • Telegram Bot API docs: https://core.telegram.org/bots/api
  • Local Bot API server: https://github.com/tdlib/telegram-bot-api

版本历史

共 2 个版本

  • v1.0.1 当前
    2026-03-30 06:37 安全 安全
  • v1.0.0
    2026-03-20 02:13

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

developer-tools

Gog

steipete
Google Workspace 命令行工具,支持 Gmail、日历、云端硬盘、通讯录、表格和文档。
★ 921 📥 185,749
developer-tools

CodeConductor.ai

larsonreever
AI驱动平台,提供快速全栈开发、智能体、工作流自动化及低代码AI集成的可扩展产品创建。
★ 66 📥 179,906
ai-intelligence

Uxc

jolestar
使用UXC发现并调用远程模式暴露的接口。当代理或技能需要列出操作、检查操作模式并执行Open等操作时使用。
★ 0 📥 894