tree: 7f85d572fe833ec442030a8680add41245870169 [path history] [download]
  1. README.md
  2. demo_bot_names_config.py
  3. demo_multi_instance.py
  4. run_demo.sh
run/telegram-bot-demo/README.md

Telegram Bot 演示

本目录包含 Telegram Bot 多实例和配置功能的演示脚本。

📁 目录结构

run/telegram-bot-demo/
├── README.md                      # 本文档
├── run_demo.sh                    # 演示启动脚本
├── demo_multi_instance.py         # 多实例功能演示
└── demo_bot_names_config.py       # Bot名字配置演示

🚀 快速开始

运行所有演示

cd run/telegram-bot-demo
./run_demo.sh all

运行特定演示

# 多实例功能演示
./run_demo.sh multi-instance

# Bot名字配置演示
./run_demo.sh bot-names

🔧 演示内容

1. 多实例功能演示 (demo_multi_instance.py)

展示如何同时运行多个不同的 Telegram Bot 实例:

  • 存储隔离: 不同Bot的对话历史完全独立存储
  • 文件锁隔离: 不同Bot可以同时运行,相同Bot防止重复启动
  • 配置示例: 展示不同Bot的配置文件结构

演示场景:

  • 创建3个不同Bot实例 (ChatBot, HelpBot, NewsBot)
  • 模拟保存和加载独立的对话历史
  • 验证文件锁的隔离机制

2. Bot名字配置演示 (demo_bot_names_config.py)

展示如何为不同Bot配置独立的名字和行为:

  • 配置覆盖: 通过配置文件自定义Bot名字列表
  • 消息检测: 测试不同名字的检测效果
  • 参与频率: 配置随机参与群聊的频率范围
  • 真实场景: 展示不同类型Bot的配置建议

演示场景:

  • 对比不同配置文件的Bot名字设置
  • 测试中英文混合名字检测
  • 展示活跃度不同的Bot配置

⚙️ 配置文件示例

聊天机器人配置 (configs/chatbot.toml)

[telegram.group_participation]
bot_names = ["chatbot", "小聊", "机器人"]
random_participation_range = [3, 8]  # 更频繁参与

助手机器人配置 (configs/helpbot.toml)

[telegram.group_participation]
bot_names = ["helpbot", "助手", "客服", "help"]
random_participation_range = [10, 20]  # 更保守参与

🎯 主要特性

多实例支持

  • ✅ 按Bot ID自动隔离存储目录
  • ✅ 按Bot ID自动隔离进程锁
  • ✅ 支持同时运行多个不同Bot
  • ✅ 防止相同Bot重复启动

配置化名字检测

  • ✅ 支持自定义Bot名字列表
  • ✅ 支持中英文混合检测
  • ✅ 可配置随机参与频率
  • ✅ 每个Bot实例独立配置

智能群聊参与

  • ✅ @提及检测
  • ✅ 名字提及检测
  • ✅ 回复Bot消息检测
  • ✅ 随机参与机制

🔧 启动多实例Bot

# 终端1 - 启动聊天Bot
CLAUDE_CONFIG=chatbot python scripts/start_telegram_bot.py

# 终端2 - 启动助手Bot
CLAUDE_CONFIG=helpbot python scripts/start_telegram_bot.py

# 终端3 - 启动通用Bot
CLAUDE_CONFIG=local python scripts/start_telegram_bot.py

📊 存储目录结构

data/storage/
├── 123456789/          # ChatBot存储
│   ├── conversations.json
│   └── agents.json
├── 987654321/          # HelpBot存储
│   ├── conversations.json
│   └── agents.json
└── 555666777/          # NewsBot存储
    ├── conversations.json
    └── agents.json

🧪 测试验证

演示脚本包含完整的测试验证:

  1. 存储隔离测试: 验证不同Bot的数据完全独立
  2. 文件锁测试: 验证锁机制正确工作
  3. 配置加载测试: 验证配置文件正确解析
  4. 名字检测测试: 验证不同配置的检测效果

💡 应用场景

企业级部署

  • 客服Bot: 专注技术支持,保守参与
  • 营销Bot: 活跃参与,推广产品
  • 通知Bot: 仅响应特定关键词

社区应用

  • 聊天Bot: 活跃参与日常对话
  • 助手Bot: 提供帮助和支持
  • 游戏Bot: 互动娱乐功能

🔗 相关文档


注意: 演示脚本使用临时存储,不会影响实际的Bot数据。