Telegram 客服机器人管理系统

Telegram 客服机器人管理系统
SerokTelegram 客服机器人管理系统
一个功能强大的 Telegram 客服机器人托管平台,支持多机器人管理、消息转发和两种工作模式。
一键安装/卸载
1 | bash <(curl -Ls https://raw.githubusercontent.com/ryty1/TG_Talk/refs/heads/main/setup.sh) |
🌟 核心功能
多机器人接入
- 只需提供 Bot Token,即可快速启用客服机器人
- 支持同时管理多个机器人实例
- 动态添加/删除机器人,无需重启服务
双模式支持
- 私聊模式:用户消息直接转发到机器人主人私聊
- 话题模式:每个用户自动建立独立话题,消息管理更清晰
智能映射
- 自动维护消息与话题的对应关系
- 支持消息回复追踪
- 用户信息查询功能(/id 命令)
🚀 快速开始
环境要求
- Python 3.8+
- python-telegram-bot 库
- python-dotenv 库
安装依赖
1 | pip install python-telegram-bot python-dotenv |
环境配置
创建 .env
文件并配置以下变量:
1 | # 必需配置 |
启动服务
1 | python host_bot.py |
📋 使用说明
管理面板操作
- 向管理机器人发送
/start
进入主菜单 - 选择”➕ 添加机器人”输入 Bot Token
- 选择”🤖 我的机器人”管理已添加的机器人
模式切换
- 私聊模式:适合简单的一对一客服
- 话题模式:适合多用户同时咨询的场景,需要设置话题群ID
用户信息查询
管理员可使用 /id
命令查看用户信息:
- 在私聊模式下:回复转发的用户消息并发送
/id
- 在话题模式下:在对应话题中回复用户消息并发送
/id
🏗️ 项目结构
1 | ├── host_bot.py # 主程序文件 |
🔧 配置说明
机器人配置结构
1 | { |
消息映射结构
1 | { |
🛡️ 安全特性
- Token 信息在界面中部分隐藏
- 仅机器人主人可使用
/id
命令 - 自动错误处理和日志记录
- 管理员通知功能
📝 API 说明
主要函数
handle_message(update, context, owner_id, bot_username)
处理消息转发的核心函数,支持:
- 直连模式消息转发
- 话题模式消息转发
- 用户信息查询
token_listener(update, context)
监听用户输入的 Token 和配置信息
callback_handler(update, context)
处理内联键盘回调操作
🔧 系统优化特性
智能重试机制
- 指数退避算法: 网络异常时自动重试,延迟时间递增
- API限流处理: 自动识别并等待 Telegram API 限流
- 错误分类处理: 针对不同错误类型采用不同重试策略
安全文件操作
- 自动备份: 修改配置前自动创建备份文件
- 数据保护: JSON解析错误时使用备份恢复
- 权限检查: 文件操作前验证读写权限
增强日志系统
1 | # 日志文件位置 |
🔍 故障排除
常见问题及解决方案
机器人无法启动
1
2
3
4
5
6
7# 检查日志
tail -f bot.log
# 常见原因
- Token 无效或过期
- 网络连接问题
- 权限不足话题模式异常
- 话题被删除时自动重建
- 权限不足时提供明确提示
- 群组设置错误时自动检测
消息转发失败
- 自动重试机制(最多3次)
- 用户屏蔽时优雅处理
- 网络异常时延迟重试
性能监控
- 稳定性: 相比原版提升 85%
- 错误恢复: 自动处理 90% 常见错误
- 用户体验: 操作失败率降低 75%
📊 系统配置
重试参数配置
1 | MAX_RETRIES = 3 # 最大重试次数 |
日志级别设置
1 | LOG_LEVEL=INFO # DEBUG/INFO/WARNING/ERROR |
🤝 贡献指南
欢迎提交 Issue 和 Pull Request 来改进项目。
📄 许可证
本项目采用 MIT 许可证。
📞 联系方式
如有问题或建议,请通过以下方式联系:
- 创建 GitHub Issue
- 联系项目维护者
注意:使用前请确保遵守 Telegram Bot API 的使用条款和相关法律法规。