{
  "schemaVersion": "1.0",
  "item": {
    "slug": "telegram-bot-api",
    "name": "Telegram Bot API",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/ivangdavila/telegram-bot-api",
    "canonicalUrl": "https://clawhub.ai/ivangdavila/telegram-bot-api",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/telegram-bot-api",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=telegram-bot-api",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "errors.md",
      "formatting.md",
      "keyboards.md",
      "media.md",
      "memory-template.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/telegram-bot-api"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/telegram-bot-api",
    "agentPageUrl": "https://openagent3.xyz/skills/telegram-bot-api/agent",
    "manifestUrl": "https://openagent3.xyz/skills/telegram-bot-api/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/telegram-bot-api/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Setup",
        "body": "On first use, read setup.md for integration guidelines."
      },
      {
        "title": "When to Use",
        "body": "User needs to interact with the Telegram Bot API. Building bots, sending messages, handling updates, setting up webhooks, creating keyboards, or managing bot commands."
      },
      {
        "title": "Architecture",
        "body": "Memory lives in ~/telegram-bot-api/. See memory-template.md for structure.\n\n~/telegram-bot-api/\n├── memory.md          # Bot tokens, preferences, defaults\n├── bots/              # Per-bot configurations\n│   └── {botname}.md   # Token, webhook URL, defaults\n└── templates/         # Reusable message templates"
      },
      {
        "title": "Quick Reference",
        "body": "TopicFileSetup processsetup.mdMemory templatememory-template.mdAll API methodsmethods.mdMessage formattingformatting.mdKeyboards & buttonskeyboards.mdWebhooks & pollingwebhooks.mdMedia handlingmedia.mdError codeserrors.md"
      },
      {
        "title": "1. API Base URL",
        "body": "All requests go to:\n\nhttps://api.telegram.org/bot{TOKEN}/{METHOD}\n\nNever expose the token in logs or user-visible output."
      },
      {
        "title": "2. Required Parameters by Method",
        "body": "MethodRequiredOptional (common)sendMessagechat_id, textparse_mode, reply_markup, disable_notificationsendPhotochat_id, photocaption, parse_modesendDocumentchat_id, documentcaption, thumbnailgetUpdates—offset, limit, timeoutsetWebhookurlcertificate, max_connectionsdeleteWebhook—drop_pending_updatesgetMe——"
      },
      {
        "title": "3. Parse Mode Selection",
        "body": "FormatUse whenEscape charsMarkdownV2Rich formatting needed_*[]()~\\>#+-=HTMLComplex nesting, safer<>&NonePlain text onlyNone\n\nDefault to HTML — fewer escape issues than MarkdownV2."
      },
      {
        "title": "4. Chat ID Types",
        "body": "TypeFormatExampleUserPositive integer123456789GroupNegative integer-123456789Supergroup/Channel-100 prefix-1001234567890"
      },
      {
        "title": "5. Rate Limits",
        "body": "ScopeLimitSame chat1 msg/secDifferent chats30 msg/secGroups20 msg/min per groupBulk notificationsUse sendMessage with different chat_ids\n\nWhen hitting 429 errors, use exponential backoff starting at retry_after seconds."
      },
      {
        "title": "6. Message Length Limits",
        "body": "TypeLimitText message4096 charsCaption1024 charsCallback data64 bytesInline query256 chars\n\nSplit long messages at sentence boundaries, not mid-word."
      },
      {
        "title": "7. Keyboard Best Practices",
        "body": "Inline keyboards (in message):\n\nMax 8 buttons per row\nMax 100 buttons total\nUse callback_data for bot actions\nUse url for external links\n\nReply keyboards (below input):\n\nUse for frequent options\none_time_keyboard: true to hide after use\nresize_keyboard: true for better mobile UX"
      },
      {
        "title": "Common Traps",
        "body": "Forgetting to escape MarkdownV2 → Message fails silently or partially. Use HTML instead, or escape all special chars.\nUsing wrong chat_id format → Groups need negative IDs. Supergroups/channels need -100 prefix.\nNot handling 429 errors → Bot gets temporarily blocked. Always implement retry logic.\nExposing bot token → Anyone can control your bot. Never log or display tokens.\nSending too fast to groups → 20 msg/min limit. Queue messages with delays.\nLarge file uploads → 50MB limit for sendDocument. Use URL method for larger files.\nWebhook not HTTPS → Telegram requires valid SSL certificate."
      },
      {
        "title": "External Endpoints",
        "body": "EndpointData SentPurposehttps://api.telegram.org/bot{TOKEN}/*Messages, media, commandsAll bot operations\n\nNo other data is sent externally. Bot token is required for all requests."
      },
      {
        "title": "Security & Privacy",
        "body": "Data that leaves your machine:\n\nMessages and media sent via the Bot API\nBot token in every request (required by Telegram)\n\nData that stays local:\n\nBot configurations in ~/telegram-bot-api/\nMessage templates\n\nThis skill does NOT:\n\nStore message content long-term\nAccess user data beyond what Telegram provides\nMake requests to endpoints other than api.telegram.org"
      },
      {
        "title": "Trust",
        "body": "By using this skill, data is sent to Telegram's Bot API servers.\nOnly install if you trust Telegram with your bot's messages."
      },
      {
        "title": "Related Skills",
        "body": "Install with clawhub install <slug> if user confirms:\n\napi — REST API best practices\nhttp — HTTP protocol essentials\njson — JSON parsing and manipulation"
      },
      {
        "title": "Feedback",
        "body": "If useful: clawhub star telegram-bot-api\nStay updated: clawhub sync"
      }
    ],
    "body": "Setup\n\nOn first use, read setup.md for integration guidelines.\n\nWhen to Use\n\nUser needs to interact with the Telegram Bot API. Building bots, sending messages, handling updates, setting up webhooks, creating keyboards, or managing bot commands.\n\nArchitecture\n\nMemory lives in ~/telegram-bot-api/. See memory-template.md for structure.\n\n~/telegram-bot-api/\n├── memory.md          # Bot tokens, preferences, defaults\n├── bots/              # Per-bot configurations\n│   └── {botname}.md   # Token, webhook URL, defaults\n└── templates/         # Reusable message templates\n\nQuick Reference\nTopic\tFile\nSetup process\tsetup.md\nMemory template\tmemory-template.md\nAll API methods\tmethods.md\nMessage formatting\tformatting.md\nKeyboards & buttons\tkeyboards.md\nWebhooks & polling\twebhooks.md\nMedia handling\tmedia.md\nError codes\terrors.md\nCore Rules\n1. API Base URL\n\nAll requests go to:\n\nhttps://api.telegram.org/bot{TOKEN}/{METHOD}\n\n\nNever expose the token in logs or user-visible output.\n\n2. Required Parameters by Method\nMethod\tRequired\tOptional (common)\nsendMessage\tchat_id, text\tparse_mode, reply_markup, disable_notification\nsendPhoto\tchat_id, photo\tcaption, parse_mode\nsendDocument\tchat_id, document\tcaption, thumbnail\ngetUpdates\t—\toffset, limit, timeout\nsetWebhook\turl\tcertificate, max_connections\ndeleteWebhook\t—\tdrop_pending_updates\ngetMe\t—\t—\n3. Parse Mode Selection\nFormat\tUse when\tEscape chars\nMarkdownV2\tRich formatting needed\t_*[]()~\\>#+-=\nHTML\tComplex nesting, safer\t<>&\nNone\tPlain text only\tNone\n\nDefault to HTML — fewer escape issues than MarkdownV2.\n\n4. Chat ID Types\nType\tFormat\tExample\nUser\tPositive integer\t123456789\nGroup\tNegative integer\t-123456789\nSupergroup/Channel\t-100 prefix\t-1001234567890\n5. Rate Limits\nScope\tLimit\nSame chat\t1 msg/sec\nDifferent chats\t30 msg/sec\nGroups\t20 msg/min per group\nBulk notifications\tUse sendMessage with different chat_ids\n\nWhen hitting 429 errors, use exponential backoff starting at retry_after seconds.\n\n6. Message Length Limits\nType\tLimit\nText message\t4096 chars\nCaption\t1024 chars\nCallback data\t64 bytes\nInline query\t256 chars\n\nSplit long messages at sentence boundaries, not mid-word.\n\n7. Keyboard Best Practices\n\nInline keyboards (in message):\n\nMax 8 buttons per row\nMax 100 buttons total\nUse callback_data for bot actions\nUse url for external links\n\nReply keyboards (below input):\n\nUse for frequent options\none_time_keyboard: true to hide after use\nresize_keyboard: true for better mobile UX\nCommon Traps\nForgetting to escape MarkdownV2 → Message fails silently or partially. Use HTML instead, or escape all special chars.\nUsing wrong chat_id format → Groups need negative IDs. Supergroups/channels need -100 prefix.\nNot handling 429 errors → Bot gets temporarily blocked. Always implement retry logic.\nExposing bot token → Anyone can control your bot. Never log or display tokens.\nSending too fast to groups → 20 msg/min limit. Queue messages with delays.\nLarge file uploads → 50MB limit for sendDocument. Use URL method for larger files.\nWebhook not HTTPS → Telegram requires valid SSL certificate.\nExternal Endpoints\nEndpoint\tData Sent\tPurpose\nhttps://api.telegram.org/bot{TOKEN}/*\tMessages, media, commands\tAll bot operations\n\nNo other data is sent externally. Bot token is required for all requests.\n\nSecurity & Privacy\n\nData that leaves your machine:\n\nMessages and media sent via the Bot API\nBot token in every request (required by Telegram)\n\nData that stays local:\n\nBot configurations in ~/telegram-bot-api/\nMessage templates\n\nThis skill does NOT:\n\nStore message content long-term\nAccess user data beyond what Telegram provides\nMake requests to endpoints other than api.telegram.org\nTrust\n\nBy using this skill, data is sent to Telegram's Bot API servers. Only install if you trust Telegram with your bot's messages.\n\nRelated Skills\n\nInstall with clawhub install <slug> if user confirms:\n\napi — REST API best practices\nhttp — HTTP protocol essentials\njson — JSON parsing and manipulation\nFeedback\nIf useful: clawhub star telegram-bot-api\nStay updated: clawhub sync"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/ivangdavila/telegram-bot-api",
    "publisherUrl": "https://clawhub.ai/ivangdavila/telegram-bot-api",
    "owner": "ivangdavila",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/telegram-bot-api",
    "downloadUrl": "https://openagent3.xyz/downloads/telegram-bot-api",
    "agentUrl": "https://openagent3.xyz/skills/telegram-bot-api/agent",
    "manifestUrl": "https://openagent3.xyz/skills/telegram-bot-api/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/telegram-bot-api/agent.md"
  }
}