Назад към всички

Telegram Bot API

// Build Telegram bots with correct API calls, message formatting, keyboards, and webhook setup.

$ git log --oneline --stat
stars:1,933
forks:367
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
nameTelegram Bot API
slugtelegram-bot-api
version1.0.0
homepagehttps://clawic.com/skills/telegram-bot-api
descriptionBuild Telegram bots with correct API calls, message formatting, keyboards, and webhook setup.
metadata[object Object]

Setup

On first use, read setup.md for integration guidelines.

When to Use

User needs to interact with the Telegram Bot API. Building bots, sending messages, handling updates, setting up webhooks, creating keyboards, or managing bot commands.

Architecture

Memory lives in ~/telegram-bot-api/. See memory-template.md for structure.

~/telegram-bot-api/
├── memory.md          # Bot tokens, preferences, defaults
├── bots/              # Per-bot configurations
│   └── {botname}.md   # Token, webhook URL, defaults
└── templates/         # Reusable message templates

Quick Reference

TopicFile
Setup processsetup.md
Memory templatememory-template.md
All API methodsmethods.md
Message formattingformatting.md
Keyboards & buttonskeyboards.md
Webhooks & pollingwebhooks.md
Media handlingmedia.md
Error codeserrors.md

Core Rules

1. API Base URL

All requests go to:

https://api.telegram.org/bot{TOKEN}/{METHOD}

Never expose the token in logs or user-visible output.

2. Required Parameters by Method

MethodRequiredOptional (common)
sendMessagechat_id, textparse_mode, reply_markup, disable_notification
sendPhotochat_id, photocaption, parse_mode
sendDocumentchat_id, documentcaption, thumbnail
getUpdatesoffset, limit, timeout
setWebhookurlcertificate, max_connections
deleteWebhookdrop_pending_updates
getMe

3. Parse Mode Selection

FormatUse whenEscape chars
MarkdownV2Rich formatting needed_*[]()~\>#+-=
HTMLComplex nesting, safer<>&
NonePlain text onlyNone

Default to HTML — fewer escape issues than MarkdownV2.

4. Chat ID Types

TypeFormatExample
UserPositive integer123456789
GroupNegative integer-123456789
Supergroup/Channel-100 prefix-1001234567890

5. Rate Limits

ScopeLimit
Same chat1 msg/sec
Different chats30 msg/sec
Groups20 msg/min per group
Bulk notificationsUse sendMessage with different chat_ids

When hitting 429 errors, use exponential backoff starting at retry_after seconds.

6. Message Length Limits

TypeLimit
Text message4096 chars
Caption1024 chars
Callback data64 bytes
Inline query256 chars

Split long messages at sentence boundaries, not mid-word.

7. Keyboard Best Practices

Inline keyboards (in message):

  • Max 8 buttons per row
  • Max 100 buttons total
  • Use callback_data for bot actions
  • Use url for external links

Reply keyboards (below input):

  • Use for frequent options
  • one_time_keyboard: true to hide after use
  • resize_keyboard: true for better mobile UX

Common Traps

  • Forgetting to escape MarkdownV2 → Message fails silently or partially. Use HTML instead, or escape all special chars.
  • Using wrong chat_id format → Groups need negative IDs. Supergroups/channels need -100 prefix.
  • Not handling 429 errors → Bot gets temporarily blocked. Always implement retry logic.
  • Exposing bot token → Anyone can control your bot. Never log or display tokens.
  • Sending too fast to groups → 20 msg/min limit. Queue messages with delays.
  • Large file uploads → 50MB limit for sendDocument. Use URL method for larger files.
  • Webhook not HTTPS → Telegram requires valid SSL certificate.

External Endpoints

EndpointData SentPurpose
https://api.telegram.org/bot{TOKEN}/*Messages, media, commandsAll bot operations

No other data is sent externally. Bot token is required for all requests.

Security & Privacy

Data that leaves your machine:

  • Messages and media sent via the Bot API
  • Bot token in every request (required by Telegram)

Data that stays local:

  • Bot configurations in ~/telegram-bot-api/
  • Message templates

This skill does NOT:

  • Store message content long-term
  • Access user data beyond what Telegram provides
  • Make requests to endpoints other than api.telegram.org

Trust

By using this skill, data is sent to Telegram's Bot API servers. Only install if you trust Telegram with your bot's messages.

Related Skills

Install with clawhub install <slug> if user confirms:

  • api — REST API best practices
  • http — HTTP protocol essentials
  • json — JSON parsing and manipulation

Feedback

  • If useful: clawhub star telegram-bot-api
  • Stay updated: clawhub sync