mirror of
https://github.com/tradecatlabs/vibe-coding-cn.git
synced 2026-08-04 22:57:45 +00:00
4.7 KiB
4.7 KiB
name, description
| name | description |
|---|---|
| telegram-dev | Telegram development skill: Bot API, Mini Apps/Web Apps, webhooks, long polling, inline/reply keyboards, payments, initData validation, TDLib/MTProto, message formatting, and deployment troubleshooting. |
telegram-dev Skill
Use this skill to build Telegram bots, Mini Apps, and client integrations with explicit security boundaries around tokens, webhooks, and user data.
When to Use This Skill
Trigger when any of these applies:
- Creating or debugging a Telegram Bot with Bot API methods, long polling, webhooks, commands, messages, media, files, or payments.
- Building Telegram Mini Apps/Web Apps with
window.Telegram.WebApp, buttons, theme params, storage, sensors, orinitDatavalidation. - Implementing inline keyboards, reply keyboards, callback queries, command menus, or dynamic aligned message views.
- Working with TDLib/MTProto client development or API ID/hash based integrations.
- Troubleshooting webhook TLS/port issues, bot token errors, callback handling, formatting, or deployment.
Not For / Boundaries
- Not for spam, unauthorized scraping, account abuse, or bypassing Telegram platform rules.
- Never commit or print bot tokens, API hash, API ID plus phone session data, payment secrets, or user private data.
- Webhook examples require HTTPS and public reachability; local-only servers need a tunnel or local Bot API server setup.
- Required inputs: Bot vs Mini App vs TDLib scope, language/framework, token/auth status, update payload, deployment URL, and exact error.
- Telegram APIs evolve; verify current method parameters and limits in official docs when precision matters.
Quick Reference
Common Patterns
Bot API endpoint shape
https://api.telegram.org/bot<TOKEN>/<METHOD_NAME>
Send a message
import requests
requests.post(
f"https://api.telegram.org/bot{BOT_TOKEN}/sendMessage",
json={"chat_id": chat_id, "text": "Hello"},
timeout=10,
)
Long polling
updates = requests.get(
f"https://api.telegram.org/bot{BOT_TOKEN}/getUpdates",
params={"offset": offset, "timeout": 30},
timeout=35,
).json()
Set a webhook
requests.post(
f"https://api.telegram.org/bot{BOT_TOKEN}/setWebhook",
json={"url": "https://example.com/webhook"},
timeout=10,
)
Inline keyboard
reply_markup = {
"inline_keyboard": [[
{"text": "Open", "url": "https://example.com"},
{"text": "Action", "callback_data": "action:1"},
]]
}
Answer a callback query
requests.post(
f"https://api.telegram.org/bot{BOT_TOKEN}/answerCallbackQuery",
json={"callback_query_id": callback_query_id, "text": "OK"},
)
Initialize a Mini App
const tg = window.Telegram.WebApp;
tg.ready();
tg.expand();
Send Mini App data back to the bot
tg.sendData(JSON.stringify({ action: "submit" }));
Validate Mini App initData server-side
Parse initData -> remove hash -> sort key=value pairs -> HMAC with WebAppData-derived secret -> compare hash.
Examples
Example 1: Echo Bot with Long Polling
- Input: bot token and a private test chat.
- Steps:
- Call
getUpdateswith an offset. - Extract
message.chat.idandmessage.text. - Reply with
sendMessageand advance offset.
- Call
- Expected output / acceptance: each user message gets one reply and old updates are not processed repeatedly.
Example 2: Webhook Deployment
- Input: HTTPS URL
https://example.com/webhook. - Steps:
- Deploy an endpoint that accepts POST JSON updates.
- Call
setWebhookwith the public URL. - Use
getWebhookInfoto verify status and last error.
- Expected output / acceptance: Telegram delivers updates to the endpoint and webhook info has no current delivery error.
Example 3: Mini App Button Flow
- Input: web app URL and bot chat.
- Steps:
- Send a reply or inline keyboard button with
web_app.url. - In the Mini App, call
ready()and validateinitDataon the backend. - Send final data with
sendDataor a backend API call.
- Send a reply or inline keyboard button with
- Expected output / acceptance: Mini App opens inside Telegram, backend authenticates the user, and bot receives structured data.
References
references/index.md: Telegram ecosystem navigation and official links.references/Telegram_Bot_按钮和键盘实现模板.md: button and keyboard implementation templates.references/动态视图对齐实现文档.md: aligned data display and dynamic message formatting.
Maintenance
- Sources: local Telegram reference files plus official links listed in
references/index.md. - Last updated: 2026-04-28
- Known limits: API methods, limits, and Mini App capabilities are version-sensitive; verify against official Telegram docs for production releases.