Token导航 LogoToken导航TokenDH.com
开发敏感数据github未标认证来源可访问clear审计提醒

telegram-bot-builderTelegram 机器人构建器

Agent Skill

telegram-bot-builder 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

6,915

周安装

294

GitHub Stars

26,384

下载量

2,423
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:telegram-bot-builder(Telegram 机器人构建器)
来源仓库:https://github.com/davila7/claude-code-templates
仓库路径:skills/telegram-bot-builder
安装命令:
npx skills add https://github.com/davila7/claude-code-templates --skill 'Telegram Bot Builder'
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/davila7/claude-code-templates --skill 'Telegram Bot Builder'

简介

telegram-bot-builder 提供 Telegram Bot API 的完整开发指南。

  • 适用于构建消息机器人、支付接口、媒体处理和 webhook 集成。
  • 支持 Node.js 与 Python 双生态,含认证、键盘交互等生产级模式。
  • 部署前需申请 bot token 并配置相应服务器端点。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Telegram Bot Builder

Comprehensive guidance for building Telegram bots using the Bot API (v9.4). Covers both Node.js and Python ecosystems with production-ready patterns for authentication, messaging, keyboards, media handling, payments, inline mode, webhooks, and deployment.

When to Use This Skill

Use this skill when:

  • Building a new Telegram bot from scratch
  • Integrating Telegram messaging into an existing application
  • Setting up webhooks or long polling for bot updates
  • Creating interactive menus with inline keyboards and callback queries
  • Handling media (photos, videos, documents, stickers)
  • Implementing Telegram Payments or Telegram Stars
  • Building inline mode functionality
  • Managing groups, channels, or forum topics via bot
  • Deploying bots to production (Docker, PM2, serverless)

Core Concepts

Authentication

Every bot has a unique token obtained from @BotFather. Token format: 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11.

All API calls go to: https://api.telegram.org/bot<TOKEN>/METHOD_NAME

# .env file
BOT_TOKEN=123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11

Store the token in environment variables. Never commit it to source code.

Receiving Updates: Polling vs Webhook

Long Polling (getUpdates) - Simpler, no HTTPS required, ideal for development:

// Node.js with node-telegram-bot-api
const bot = new TelegramBot(process.env.BOT_TOKEN, { polling: true });
# Python with python-telegram-bot
app = Application.builder().token(os.getenv("BOT_TOKEN")).build()
app.run_polling()

Webhook (setWebhook) - Better for production, lower latency, requires HTTPS (ports 443, 80, 88, or 8443):

bot.setWebHook('https://yourdomain.com/webhook', { secret_token: SECRET });

Choose polling for development and small bots. Choose webhooks for production deployments handling high traffic.

Message Types & Formatting

Send text with sendMessage. Supported parse modes:

  • HTML: <b>bold</b>, <i>italic</i>, <code>code</code>, <pre>block</pre>, <a href="url">link</a>, <tg-spoiler>spoiler</tg-spoiler>
  • MarkdownV2: *bold*, _italic_, ` code , `` `block` ``, link, ||spoiler||. Requires escaping: _*[]()~>#+-=|{}.!`

Prefer HTML for easier escaping. Use MarkdownV2 when simpler formatting suffices.

Keyboards & Interactive Elements

Inline Keyboard - Buttons attached to messages:

bot.sendMessage(chatId, 'Choose:', {
  reply_markup: {
    inline_keyboard: [
      [{ text: 'Option A', callback_data: 'a' }, { text: 'Option B', callback_data: 'b' }],
      [{ text: 'Visit Site', url: 'https://example.com' }]
    ]
  }
});

Reply Keyboard - Custom keyboard below input field:

bot.sendMessage(chatId, 'Choose:', {
  reply_markup: {
    keyboard: [[{ text: '📊 Stats' }, { text: '⚙️ Settings' }]],
    resize_keyboard: true,
    one_time_keyboard: true
  }
});

Handle inline button presses with callback_query. The callback_data field is limited to 64 bytes. Always call answerCallbackQuery to dismiss the loading indicator.

Sending Media

// Photo (file_id, URL, or upload)
bot.sendPhoto(chatId, 'https://example.com/photo.jpg', { caption: 'A photo' });

// Document
bot.sendDocument(chatId, fs.createReadStream('./file.pdf'), { caption: 'Report' });

// Album (2-10 items)
bot.sendMediaGroup(chatId, [
  { type: 'photo', media: 'https://example.com/1.jpg', caption: 'First' },
  { type: 'photo', media: 'https://example.com/2.jpg' }
]);

Three ways to specify files: file_id (reuse previously uploaded), HTTP URL (Telegram downloads it), or multipart upload. File limits: 50MB upload, 20MB download via Bot API.

Conversation State

For multi-step interactions (registration, forms, wizards), maintain conversation state per chat:

  • Node.js: Use a Map or Redis to track {step, data} per chatId
  • Python: Use ConversationHandler from python-telegram-bot (built-in state machine)

See reference/patterns_and_examples.md for complete conversation flow implementations.

Error Handling

Handle common error scenarios:

  • 429 Too Many Requests: Read retry_after from response, wait, then retry
  • 403 Forbidden: Bot was blocked by user or removed from chat
  • 400 Bad Request: Invalid parameters (check description field)
  • 409 Conflict: Another bot instance using same token with polling

Rate limits: ~30 messages/second to different chats, ~20 messages/minute to same group. Implement exponential backoff for retries.

Bot Commands

Register commands visible in the Telegram menu:

bot.setMyCommands([
  { command: 'start', description: 'Start the bot' },
  { command: 'help', description: 'Show help' },
  { command: 'settings', description: 'Bot settings' }
]);

Commands can be scoped to specific chats, users, or languages using BotCommandScope.

Common Patterns

Quick Start (Node.js)

mkdir my-bot && cd my-bot
npm init -y
npm install node-telegram-bot-api dotenv
echo "BOT_TOKEN=your_token_here" > .env

Quick Start (Python)

mkdir my-bot && cd my-bot
pip install python-telegram-bot python-dotenv
echo "BOT_TOKEN=your_token_here" > .env

Popular Libraries

LanguageLibraryStyleBest For
Node.jsnode-telegram-bot-apiCallback-basedSimple bots, quick prototypes
Node.jsgrammyMiddleware-basedComplex bots, plugins
Node.jstelegrafMiddleware-basedMature ecosystem
Pythonpython-telegram-botHandler-basedFull-featured, conversations
PythonaiogramAsync-firstHigh-performance async bots

Key API Method Categories

CategoryKey Methods
MessagessendMessage, sendPhoto, sendVideo, sendDocument, editMessageText, deleteMessage
KeyboardsInlineKeyboardMarkup, ReplyKeyboardMarkup, answerCallbackQuery
Chat MgmtgetChat, banChatMember, promoteChatMember, setChatPermissions
FilesgetFile, sendMediaGroup, sendDocument
Inline ModeanswerInlineQuery with InlineQueryResult* types
PaymentssendInvoice, answerPreCheckoutQuery (use currency: "XTR" for Telegram Stars)
Bot ConfigsetMyCommands, setMyDescription, setWebhook

Deployment Options

  • PM2: pm2 start bot.js --name telegram-bot - Process manager with auto-restart
  • Docker: Containerized deployment with docker-compose
  • Serverless: Webhook handler as Vercel/AWS Lambda function
  • VPS: Direct deployment with systemd service

See reference/patterns_and_examples.md for Docker, PM2, and serverless deployment configurations.

Security Checklist

  • Store BOT_TOKEN in environment variables
  • Validate X-Telegram-Bot-Api-Secret-Token on webhook endpoints
  • Verify user IDs for admin commands
  • Implement per-user rate limiting
  • Sanitize user input before database storage
  • Use HTTPS for all webhook endpoints
  • Restrict allowed_updates to only needed types

Reference Files

For detailed API documentation and implementation patterns, consult:

  • reference/api_methods.md - Complete list of 100+ Bot API methods organized by category (messaging, chat management, stickers, payments, inline mode, games, forum topics, gifts, passport, and more)
  • reference/api_types.md - Complete list of 200+ Bot API types with all fields (Update, Message, Chat, User, keyboards, media types, payment types, chat members, reactions, and more)
  • reference/patterns_and_examples.md - Production-ready implementation patterns for Node.js and Python including: inline keyboards, webhooks, media handling, conversation state management, database integration, admin panels, multi-language support, Docker/PM2/serverless deployment, Telegram Stars payments, and inline mode

When building a bot, start with SKILL.md for core concepts, then load the appropriate reference file for detailed API information or implementation patterns as needed.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude Code

30.34%
按下载量换算735

OpenCode

25.55%
按下载量换算619

Cursor

19.17%
按下载量换算464

Antigravity

12.69%
按下载量换算307

Gemini CLI

7.81%
按下载量换算189

Codex

3.2%
按下载量换算78

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。来源字段存在多来源差异,先按来源优先级自动处理,无法消解时进入异常复核队列。

来源信息

继续浏览同类 Skills