BotBuilder-Telegram机器人架构师专家
BotBuilder是一个智能的Telegram机器人,可以在您的服务器上自动生成、部署和管理Telegram机器人。用户描述他们想要的机器人功能,BotBuilder创建一个部署在Docker容器中的完整的、生产就绪的机器人。
特性
- 自动生成机器人:根据自然语言描述创建完整的Telegram机器人
- Docker部署:每个机器人都在自己的隔离Docker容器中运行
- 智能代码生成:生成具有适当结构的生产就绪代码
- 机器人管理:列出、启动、停止和监视已部署的机器人
- 多个框架:支持Python(aiogram)和Node.js(telegraf)
- 安全:令牌、隔离容器的环境变量
建筑
BotBuilder Bot (Main Process)
↓
User Request → Parse Requirements → Design Architecture → Generate Code
↓
Create Files → Build Docker Image → Create Container → Start Bot
↓
Bot Running on Server (Docker Container)先决条件
- Python 3.13+
- Docker已安装并正在运行
- Docker守护进程可访问
- BotBuilder的Telegram机器人令牌(来自@BotFather)
安装
- 克隆存储库:
git clone
cd mcp-telegram-bot- 创建虚拟环境:
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate- 安装依赖项:
pip install -r requirements.txt- 配置环境:
cp .env.example .env
# Edit .env and add your BOT_TOKEN- 确保Docker正在运行:
docker --version
docker ps # Should work without errors用法
- 启动BotBuilder:
python main.py- 在Telegram上与BotBuilder交互:
- 在Telegram上找到你的机器人 - 发送 /start 开始 - 使用 /create 创建一个新的机器人 - 按照提示描述您的机器人
- 机器人创建示例:
User: /create
BotBuilder: Describe your bot...
User: I want an expense tracker bot with categories and CSV export
BotBuilder: What's the bot name?
User: expense_tracker
BotBuilder: Provide bot token from @BotFather
User: 123456:ABC-DEF...
BotBuilder: Bot deployed successfully!命令
/start-欢迎致辞及介绍/create-创建一个新的机器人/list-列出所有已部署的机器人/stop-停止正在运行的机器人/start_bot-启动一个已停止的机器人/status-检查机器人状态/help-显示帮助消息
项目结构
mcp-telegram-bot/
├── main.py # BotBuilder entry point
├── config.py # Configuration
├── handlers/ # BotBuilder handlers
│ ├── start.py
│ ├── create_bot.py
│ ├── list_bots.py
│ └── ...
├── services/ # Core services
│ ├── parser.py # Parse requirements
│ ├── analyzer.py # Design architecture
│ ├── generator.py # Generate code
│ ├── file_manager.py # File operations
│ ├── deployment.py # Docker operations
│ └── registry.py # Bot registry
├── templates/ # Code templates
│ ├── python/
│ ├── nodejs/
│ └── docker/
├── bots/ # Deployed bots (created at runtime)
└── requirements.txt环境变量
BOT_TOKEN-BotBuilder的Telegram机器人令牌(必填)BOTS_DIR-已部署机器人的目录(默认:./bots)DOCKER_NETWORK-Docker网络名称(默认值:botbuilder_network)MAX_BOTS_PER_USER-每个用户的最大机器人数(默认值:10)
生成的Bot结构
每个生成的机器人程序包括:
- 主机器人文件(
main.py或index.js) - 带有命令处理程序的Handlers目录
- 服务目录(如果需要)
- 配置文件
- Dockerfile
- 需求/包.json
- 环境文件
Docker集成
- 每个机器人都在自己的Docker容器中运行
- 容器被隔离并独立管理
- 自动重启策略(除非已停止)
- 通过Docker网络实现网络隔离
局限性
- 每个用户的最大机器人数:10(可配置)
- 每个用户的机器人名称必须是唯一的
- 需要Docker运行
- 服务器必须有足够的资源
故障排除
Docker连接错误:
- 确保Docker守护进程正在运行:
docker ps - 检查Docker套接字权限
机器人创建失败:
- 验证机器人令牌是否有效
- 检查Docker日志:
docker logs - 确保有足够的磁盘空间
容器无法启动:
- 检查容器日志:
docker logs botbuilder- - 验证环境变量是否设置正确
发展
要贡献或修改BotBuilder,请执行以下操作:
- 安装开发依赖项
- 在中修改模板
templates/目录 - 根据需要更新服务
- 使用测试机器人令牌进行测试
许可证
\[在此处添加您的许可证\]
支持
对于问题或疑问,请在存储库上打开问题。
