telegram-bot-builder — скилл для Claude Code: боты Telegram
Скилл помогает спроектировать Telegram-бота: от обработчиков команд и кнопок до платежей и вебхуков. Пригодится, когда вы начинаете проект или готовите бота к запуску.
npx skills add sickn33/agentic-awesome-skills --skill telegram-bot-builder -a claude-codeЧто делает telegram-bot-builder
Скилл разбирает архитектуру бота для Telegram и работу с Telegram Bot API. В нём есть примеры для Node.js с telegraf и grammY, а также для Python с python-telegram-bot и aiogram. Отдельные разделы посвящены командам, старту пользователя и аналитике.
Примеры показывают обработчики сообщений и inline-кнопки, включая пагинацию. Для оплаты описаны модели доступа и обработка платежей через Telegram Stars; для запуска — polling и вебхуки с проверкой секретного заголовка. Это повод проверить безопасность платежей и вебхуков: пример кода сам по себе не подтверждает готовность к продакшену.
Установите скилл в Claude Code командой npx skills add sickn33/agentic-awesome-skills --skill telegram-bot-builder -a claude-code. В тексте также есть примеры на JavaScript и настройка переменной BOT_TOKEN; готовый проект или запуск бота скилл за вас не создаёт.
Какие задачи решает
- спроектировать структуру нового Telegram-бота
- добавить обработчики команд и сообщений
- собрать меню с inline-кнопками и пагинацией
- выбрать между polling и вебхуками
- продумать оплату доступа через Telegram Stars
Примеры запросов агенту
- Спроектируй структуру нового Telegram-бота на Node.js с `telegraf`, включая команды и обработчики сообщений.
- Добавь inline-меню с пагинацией и обработчиками нажатий для списка элементов.
- Проверь схему оплаты через Telegram Stars и обработку вебхуков: какие проверки нужны перед выдачей доступа?
Как установить telegram-bot-builder
1Через Skills CLI (Vercel)
npx skills add sickn33/agentic-awesome-skills --skill telegram-bot-builder -a claude-code2Вручную: положить файлы
~/.claude/skills/telegram-bot-builder/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/telegram-bot-builder/
1Через Skills CLI (Vercel)
npx skills add sickn33/agentic-awesome-skills --skill telegram-bot-builder -a codex2Вручную: положить файлы
.agents/skills/telegram-bot-builder/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add sickn33/agentic-awesome-skills --skill telegram-bot-builder -a cursor2Вручную: положить файлы
.cursor/skills/telegram-bot-builder/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install sickn33/agentic-awesome-skills telegram-bot-builder2Вручную: положить файлы
.github/skills/telegram-bot-builder/SKILL.md1Через Skills CLI (Vercel)
npx skills add sickn33/agentic-awesome-skills --skill telegram-bot-builder -a gemini-cli2Командой платформы
gemini skills install https://github.com/sickn33/agentic-awesome-skills --path skills/telegram-bot-builderВручную: положить файлы
.devin/skills/telegram-bot-builder/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add sickn33/agentic-awesome-skills --skill telegram-bot-builder -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора80
Весь набор →Похожие
Вопросы о telegram-bot-builder
Как установить telegram-bot-builder в Claude Code?
Выполните npx skills add sickn33/agentic-awesome-skills --skill telegram-bot-builder -a claude-code. Это команда установки скилла для Claude Code.
Что делает telegram-bot-builder?
Помогает проектировать Telegram-ботов: структуру проекта, команды, кнопки, платежи и вебхуки. Включает примеры для Node.js и Python.
Какие библиотеки для ботов рассматривает скилл?
Для Node.js он рассматривает telegraf и grammY, для Python — python-telegram-bot и aiogram.
Исходный текст
SKILL.md · MIT
---
name: telegram-bot-builder
description: Expert in building Telegram bots that solve real problems - from
simple automation to complex AI-powered bots. Covers bot architecture, the
Telegram Bot API, user experience, monetization strategies, and scaling bots
to thousands of users.
risk: critical
source: vibeship-spawner-skills (Apache 2.0)
date_added: 2026-02-27
---
# Telegram Bot Builder
Expert in building Telegram bots that solve real problems - from simple
automation to complex AI-powered bots. Covers bot architecture, the Telegram
Bot API, user experience, monetization strategies, and scaling bots to
thousands of users.
**Role**: Telegram Bot Architect
You build bots that people actually use daily. You understand that bots
should feel like helpful assistants, not clunky interfaces. You know
the Telegram ecosystem deeply - what's possible, what's popular, and
what makes money. You design conversations that feel natural.
### Expertise
- Telegram Bot API
- Bot UX design
- Monetization
- Node.js/Python bots
- Webhook architecture
- Inline keyboards
## Capabilities
- Telegram Bot API
- Bot architecture
- Command design
- Inline keyboards
- Bot monetization
- User onboarding
- Bot analytics
- Webhook management
## Patterns
### Bot Architecture
Structure for maintainable Telegram bots
**When to use**: When starting a new bot project
## Bot Architecture
### Stack Options
| Language | Library | Best For |
|----------|---------|----------|
| Node.js | telegraf | Most projects |
| Node.js | grammY | TypeScript, modern |
| Python | python-telegram-bot | Quick prototypes |
| Python | aiogram | Async, scalable |
### Basic Telegraf Setup
```javascript
import { Telegraf } from 'telegraf';
const bot = new Telegraf(process.env.BOT_TOKEN);
// Command handlers
bot.start((ctx) => ctx.reply('Welcome!'));
bot.help((ctx) => ctx.reply('How can I help?'));
// Text handler
bot.on('text', (ctx) => {
ctx.reply(`You said: ${ctx.message.text}`);
});
// Launch
bot.launch();
// Graceful shutdown
process.once('SIGINT', () => bot.stop('SIGINT'));
process.once('SIGTERM', () => bot.stop('SIGTERM'));
```
### Project Structure
```
telegram-bot/
├── src/
│ ├── bot.js # Bot initialization
│ ├── commands/ # Command handlers
│ │ ├── start.js
│ │ ├── help.js
│ │ └── settings.js
│ ├── handlers/ # Message handlers
│ ├── keyboards/ # Inline keyboards
│ ├── middleware/ # Auth, logging
│ └── services/ # Business logic
├── .env
└── package.json
```
### Inline Keyboards
Interactive button interfaces
**When to use**: When building interactive bot flows
## Inline Keyboards
### Basic Keyboard
```javascript
import { Markup } from 'telegraf';
bot.command('menu', (ctx) => {
ctx.reply('Choose an option:', Markup.inlineKeyboard([
[Markup.button.callback('Option 1', 'opt_1')],
[Markup.button.callback('Option 2', 'opt_2')],
[
Markup.button.callback('Yes', 'yes'),
Markup.button.callback('No', 'no'),
],
]));
});
// Handle button clicks
bot.action('opt_1', (ctx) => {
ctx.answerCbQuery('You chose Option 1');
ctx.editMessageText('You selected Option 1');
});
```
### Keyboard Patterns
| Pattern | Use Case |
|---------|----------|
| Single column | Simple menus |
| Multi column | Yes/No, pagination |
| Grid | Category selection |
| URL buttons | Links, payments |
### Pagination
```javascript
function getPaginatedKeyboard(items, page, perPage = 5) {
const start = page * perPage;
const pageItems = items.slice(start, start + perPage);
const buttons = pageItems.map(item =>
[Markup.button.callback(item.name, `item_${item.id}`)]
);
const nav = [];
if (page > 0) nav.push(Markup.button.callback('◀️', `page_${page-1}`));
if (start + perPage < items.length) nav.push(Markup.button.callback('▶️', `page_${page+1}`));
return Markup.inlineKeyboard([...buttons, nav]);
}
```
### Bot Monetization
Making money from Telegram bots
**When to use**: When planning bot revenue
## Bot Monetization
### Revenue Models
| Model | Example | Complexity |
|-------|---------|------------|
| Freemium | Free basic, paid premium | Medium |
| Subscription | Monthly access | Medium |
| Per-use | Pay per action | Low |
| Ads | Sponsored messages | Low |
| Affiliate | Product recommendations | Low |
### Telegram Payments
Premium bot access is a digital service: [Telegram requires Stars/XTR](https://core.telegram.org/bots/payments-stars) for digital goods/services sold inside Telegram. Handle `pre_checkout_query` within the documented deadline, validate the server-owned order/payload, currency and amount, and grant entitlement idempotently only after `successful_payment`, persisting its charge ID. A fixed payload and `activatePremium` placeholder alone are not a payment system.
```javascript
// Create invoice
bot.command('buy', (ctx) => {
ctx.replyWithInvoice({
title: 'Premium Access',
description: 'Unlock all features',
payload: 'premium_monthly',
provider_token: "",
currency: 'XTR',
prices: [{ label: 'Premium', amount: 100 }], // Illustrative Stars amount, not USD
});
});
// Handle successful payment
bot.on('successful_payment', async (ctx) => {
const payment = ctx.message.successful_payment;
// Activate premium for user
await activatePremium(ctx.from.id);
ctx.reply('🎉 Premium activated!');
});
```
### Freemium Strategy
```
Free tier:
- 10 uses per day
- Basic features
- Ads shown
Premium ($5/month):
- Unlimited uses
- Advanced features
- No ads
- Priority support
```
### Usage Limits
```javascript
async function checkUsage(userId) {
const usage = await getUsage(userId);
const isPremium = await checkPremium(userId);
if (!isPremium && usage >= 10) {
return { allowed: false, message: 'Daily limit reached. Upgrade?' };
}
return { allowed: true };
}
```
### Webhook Deployment
Production bot deployment
**When to use**: When deploying bot to production
## Webhook Deployment
### Polling vs Webhooks
| Method | Best For |
|--------|----------|
| Polling | Development, simple bots |
| Webhooks | Production, scalable |
### Webhook trust
Verify the configured webhook secret header before accepting updates, deduplicate update/payment IDs, validate callback data against the authenticated Telegram user, and protect the bot token. Sending broadcasts or configuring a production webhook requires applicable user authorization. Polling and webhooks are alternative delivery modes; do not run both for one bot. The snippets omit production error/rate-limit handling and are not deployment certification.
### Express + Webhook
```javascript
import express from 'express';
import { Telegraf } from 'telegraf';
const bot = new Telegraf(process.env.BOT_TOKEN);
const app = express();
app.use(express.json());
app.use(bot.webhookCallback('/webhook'));
// Set webhook
const WEBHOOK_URL = 'https://your-domain.com/webhook';
bot.telegram.setWebhook(WEBHOOK_URL);
app.listen(3000);
```
### Vercel Deployment
```javascript
// api/webhook.js
import { Telegraf } from 'telegraf';
const bot = new Telegraf(process.env.BOT_TOKEN);
// ... bot setup
export default async (req, res) => {
await bot.handleUpdate(req.body);
res.status(200).send('OK');
};
```
### Railway/Render Deployment
```dockerfile
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
CMD ["node", "src/bot.js"]
```
## Validation Checks
### Bot Token Hardcoded
Severity: HIGH
Message: Bot token appears to be hardcoded - security risk!
Fix action: Move token to environment variable BOT_TOKEN
### No Bot Error Handler
Severity: HIGH
Message: No global error handler for bot.
Fix action: Add bot.catch() to handle errors gracefully
### No Rate Limiting
Severity: MEDIUM
Message: No rate limiting - may hit Telegram limits.
Fix action: Add throttling with Bottleneck or similar library
### In-Memory Sessions in Production
Severity: MEDIUM
Message: Using in-memory sessions - will lose state on restart.
Fix action: Use Redis or database-backed session store for production
### No Typing Indicator
Severity: LOW
Message: Consider adding typing indicator for better UX.
Fix action: Add ctx.sendChatAction('typing') before slow operations
## Collaboration
### Delegation Triggers
- mini app|web app|TON|twa -> telegram-mini-app (Mini App integration)
- AI|GPT|Claude|LLM|chatbot -> ai-wrapper-product (AI integration)
- database|postgres|redis -> backend (Data persistence)
- payments|subscription|billing -> fintech-integration (Payment integration)
- deploy|host|production -> devops (Deployment)
### AI Telegram Bot
Skills: telegram-bot-builder, ai-wrapper-product, backend
Workflow:
```
1. Design bot conversation flow
2. Set up AI integration (OpenAI/Claude)
3. Build backend for state/data
4. Implement bot commands and handlers
5. Add monetization (freemium)
6. Deploy and monitor
```
### Bot + Mini App
Skills: telegram-bot-builder, telegram-mini-app, frontend
Workflow:
```
1. Design bot as entry point
2. Build Mini App for complex UI
3. Integrate bot commands with Mini App
4. Handle payments in Mini App
5. Deploy both components
```
## Related Skills
Works well with: `telegram-mini-app`, `backend`, `ai-wrapper-product`, `workflow-automation`
## When to Use
- User mentions or implies: telegram bot
- User mentions or implies: bot api
- User mentions or implies: telegram automation
- User mentions or implies: chat bot telegram
- User mentions or implies: tg bot
## Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
© sickn33 · MIT · sickn33/agentic-awesome-skills