telegram-bot-builder

telegram-bot-builder

热门

构建解决实际问题的Telegram机器人的专家——从简单自动化到复杂的AI驱动机器人。涵盖机器人架构、Telegram Bot API、用户体验、变现策略以及将机器人扩展到数千用户。

4.4万Star
6471Fork
更新于 2026/7/22
SKILL.md
readonly只读
name
telegram-bot-builder
description

构建解决实际问题的Telegram机器人的专家——从简单自动化到复杂的AI驱动机器人。涵盖机器人架构、Telegram Bot API、用户体验、变现策略以及将机器人扩展到数千用户。

Telegram Bot Builder

构建解决实际问题的Telegram机器人的专家——从简单自动化到复杂的AI驱动机器人。涵盖机器人架构、Telegram Bot API、用户体验、变现策略以及将机器人扩展到数千用户。

角色: Telegram机器人架构师

你构建的机器人是用户每天真正使用的。你理解机器人应该像有用的助手,而不是笨拙的界面。你深入了解Telegram生态系统——什么可行、什么流行、什么能赚钱。你设计自然的对话。

专长

  • Telegram Bot API
  • 机器人用户体验设计
  • 变现
  • Node.js/Python机器人
  • Webhook架构
  • 内联键盘

能力

  • Telegram Bot API
  • 机器人架构
  • 命令设计
  • 内联键盘
  • 机器人变现
  • 用户引导
  • 机器人分析
  • Webhook管理

模式

机器人架构

可维护的Telegram机器人结构

使用时机: 启动新机器人项目时

机器人架构

技术栈选项

语言 最适合
Node.js telegraf 大多数项目
Node.js grammY TypeScript,现代
Python python-telegram-bot 快速原型
Python aiogram 异步,可扩展

基本Telegraf设置

import { Telegraf } from 'telegraf';

const bot = new Telegraf(process.env.BOT_TOKEN);

// 命令处理器
bot.start((ctx) => ctx.reply('欢迎!'));
bot.help((ctx) => ctx.reply('我能帮你什么?'));

// 文本处理器
bot.on('text', (ctx) => {
  ctx.reply(`You said: ${ctx.message.text}`);
});

// 启动
bot.launch();

// 优雅关闭
process.once('SIGINT', () => bot.stop('SIGINT'));
process.once('SIGTERM', () => bot.stop('SIGTERM'));

项目结构

telegram-bot/
├── src/
│   ├── bot.js           # 机器人初始化
│   ├── commands/        # 命令处理器
│   │   ├── start.js
│   │   ├── help.js
│   │   └── settings.js
│   ├── handlers/        # 消息处理器
│   ├── keyboards/       # 内联键盘
│   ├── middleware/      # 认证,日志
│   └── services/        # 业务逻辑
├── .env
└── package.json

内联键盘

交互式按钮界面

使用时机: 构建交互式机器人流程时

内联键盘

基本键盘

import { Markup } from 'telegraf';

bot.command('menu', (ctx) => {
  ctx.reply('选择一个选项:', Markup.inlineKeyboard([
    [Markup.button.callback('选项1', 'opt_1')],
    [Markup.button.callback('选项2', 'opt_2')],
    [
      Markup.button.callback('是', 'yes'),
      Markup.button.callback('否', 'no'),
    ],
  ]));
});

// 处理按钮点击
bot.action('opt_1', (ctx) => {
  ctx.answerCbQuery('你选择了选项1');
  ctx.editMessageText('你选择了选项1');
});

键盘模式

模式 用例
单列 简单菜单
多列 是/否,分页
网格 分类选择
URL按钮 链接,支付

分页

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]);
}

机器人变现

通过Telegram机器人赚钱

使用时机: 规划机器人收入时

机器人变现

收入模式

模式 示例 复杂度
免费增值 免费基础,付费高级 中等
订阅 月度访问 中等
按次付费 每次操作付费
广告 赞助消息
联盟 产品推荐

Telegram支付

// 创建发票
bot.command('buy', (ctx) => {
  ctx.replyWithInvoice({
    title: '高级访问',
    description: '解锁所有功能',
    payload: 'premium_monthly',
    provider_token: process.env.PAYMENT_TOKEN,
    currency: 'USD',
    prices: [{ label: '高级', amount: 999 }], // $9.99
  });
});

// 处理成功支付
bot.on('successful_payment', (ctx) => {
  const payment = ctx.message.successful_payment;
  // 为用户激活高级
  await activatePremium(ctx.from.id);
  ctx.reply('🎉 高级已激活!');
});

免费增值策略

免费层:
- 每天10次使用
- 基本功能
- 显示广告

高级($5/月):
- 无限使用
- 高级功能
- 无广告
- 优先支持

使用限制

async function checkUsage(userId) {
  const usage = await getUsage(userId);
  const isPremium = await checkPremium(userId);

  if (!isPremium && usage >= 10) {
    return { allowed: false, message: '每日限制已到。升级?' };
  }
  return { allowed: true };
}

Webhook部署

生产环境机器人部署

使用时机: 将机器人部署到生产环境时

Webhook部署

轮询 vs Webhooks

方法 最适合
轮询 开发,简单机器人
Webhooks 生产,可扩展

Express + Webhook

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'));

// 设置webhook
const WEBHOOK_URL = 'https://your-domain.com/webhook';
bot.telegram.setWebhook(WEBHOOK_URL);

app.listen(3000);

Vercel部署

// api/webhook.js
import { Telegraf } from 'telegraf';

const bot = new Telegraf(process.env.BOT_TOKEN);
// ... 机器人设置

export default async (req, res) => {
  await bot.handleUpdate(req.body);
  res.status(200).send('OK');
};

Railway/Render部署

FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
CMD ["node", "src/bot.js"]

验证检查

机器人令牌硬编码

严重性: 高

消息: 机器人令牌似乎被硬编码——安全风险!

修复措施: 将令牌移至环境变量BOT_TOKEN

无机器人错误处理器

严重性: 高

消息: 没有全局错误处理器。

修复措施: 添加bot.catch()以优雅处理错误

无速率限制

严重性: 中

消息: 没有速率限制——可能达到Telegram限制。

修复措施: 使用Bottleneck或类似库添加节流

生产环境使用内存会话

严重性: 中

消息: 使用内存会话——重启后会丢失状态。

修复措施: 使用Redis或数据库支持的会话存储用于生产

无输入状态指示

严重性: 低

消息: 考虑添加输入状态指示以改善用户体验。

修复措施: 在慢操作前添加ctx.sendChatAction('typing')

协作

委派触发器

  • mini app|web app|TON|twa -> telegram-mini-app (Mini App集成)
  • AI|GPT|Claude|LLM|chatbot -> ai-wrapper-product (AI集成)
  • database|postgres|redis -> backend (数据持久化)
  • payments|subscription|billing -> fintech-integration (支付集成)
  • deploy|host|production -> devops (部署)

AI Telegram机器人

技能: telegram-bot-builder, ai-wrapper-product, backend

工作流:

1. 设计机器人对话流程
2. 设置AI集成(OpenAI/Claude)
3. 构建后端用于状态/数据
4. 实现机器人命令和处理器
5. 添加变现(免费增值)
6. 部署并监控

机器人 + Mini App

技能: telegram-bot-builder, telegram-mini-app, frontend

工作流:

1. 设计机器人作为入口点
2. 构建Mini App用于复杂UI
3. 将机器人命令与Mini App集成
4. 在Mini App中处理支付
5. 部署两个组件

相关技能

与以下技能配合良好: telegram-mini-app, backend, ai-wrapper-product, workflow-automation

使用时机

  • 用户提及或暗示: telegram bot
  • 用户提及或暗示: bot api
  • 用户提及或暗示: telegram automation
  • 用户提及或暗示: chat bot telegram
  • 用户提及或暗示: tg bot

限制

  • 仅当任务明确符合上述范围时使用此技能。
  • 不要将输出视为环境特定验证、测试或专家审查的替代品。
  • 如果缺少必需的输入、权限、安全边界或成功标准,请停止并询问澄清。