阿泰知识库
友善软路由R4S R6S等各种软路由固件信息整理
openai codex 跳过yes
关于funstat镜像获取和阿泰制作的镜像机器人
💻 Codex 安装与配置教程(适用于 macOS M 系列芯片)文章末尾添加了英特尔芯片区别
💻 Codex 安装与配置教程(适用于 Windows 系统)
Telegram BOT (@openaiw_bot) 探索与 MCP 封装项目
funstat BOT 完整功能列表(基于截图分析)
funstat BOT MCP 封装 - 系统架构规划
重要发现:@openaiw_bot 响应机制问题与解决方案
Telegram 请求限制分析与批量调用架构设计
funstat BOT MCP 封装 - 完整架构流程图 (Mermaid)
Telegram客服系统 - 完整开发文档
Telegram客服系统 - 完整测试报告 (2025-10-26)
Funstat BOT MCP 封装 - 完整流程图集
Funstat BOT MCP 包装项目 - 完成总结
Funstat MCP Server - 快速开始教程(完整版)
Session 文件安全更新 - 完成报告
多用户部署指南 - 如何让其他人使用 Funstat MCP
5种完美的永久替代部署方案
本文档使用 MrDoc 发布
-
+
首页
Telegram客服系统 - 完整开发文档
# Telegram客服系统 - 完整开发文档 **项目路径:** `/Users/lucas/chat-7363537082/` **创建时间:** 2025-10-24 **最后更新:** 2025-10-26 **状态:** ✅ 生产就绪 --- ## 📋 项目概述 这是一个基于Telegram Bot和Pyrogram的Web客服系统,支持实时双向通信、历史消息、图片发送、表情选择器等完整功能。 ### 核心特性 ✅ **完整功能列表:** 1. 🎨 Telegram原生UI风格(米色背景、消息气泡尾巴) 2. 💬 双向实时消息同步(Web ↔️ Telegram) 3. 📜 历史消息自动加载(刷新页面保留记录) 4. 🖼️ 图片发送与接收(自动压缩,最大10MB) 5. 😀 800+表情选择器(9个分类) 6. 🗑️ 消息双向删除同步 7. 📋 复制粘贴支持 8. 🔐 DeviceID机制(每个用户独立话题) 9. 📢 双视图切换(聊天/公告) 10. 🏷️ 贴纸接收与展示 --- ## 🛠️ 技术栈 ### 后端 - **Python 3.8+** - **Pyrogram** - Telegram MTProto API客户端 - **python-socketio** - WebSocket实时通信 - **aiohttp** - 异步HTTP服务器 - **SQLite** - 本地数据库(消息持久化) ### 前端 - **原生JavaScript** (ES6+) - **Socket.IO Client** - 实时通信 - **CSS3** - Telegram原生样式 - **ContentEditable** - 富文本输入 --- ## 📁 项目结构 ``` /Users/lucas/chat-7363537082/ ├── telegram-userbot.py # 后端主程序 ├── index.html # 前端页面 ├── script.js # 前端逻辑 ├── style.css # Telegram风格样式 ├── user_session.session # Telegram会话文件 ├── telegram_data.db # SQLite数据库 ├── telegram-service.log # 运行日志 ├── photos/ # 图片存储目录 ├── gifs/ # GIF存储目录 ├── docs/ # 文档目录 │ ├── requirements/ # 需求文档 │ ├── guides/ # 使用指南 │ └── reports/ # 修复报告 └── backup/ # 备份目录 ``` --- ## 🔧 重要配置 ### 1. 后端配置 (telegram-userbot.py) ```python # Socket.IO配置 self.sio = socketio.AsyncServer( async_mode='aiohttp', cors_allowed_origins='*', max_http_buffer_size=10 * 1024 * 1024 # ⚠️ 重要:支持10MB图片 ) # Telegram配置 API_ID = "你的API_ID" API_HASH = "你的API_HASH" BOT_TOKEN = "你的BOT_TOKEN" CUSTOMER_SERVICE_GROUP_ID = -1003014597918 ``` ### 2. 前端版本号 **当前版本:** `v20251024h` ```html <link rel="stylesheet" href="style.css?v=20251024g"> <script src="script.js?v=20251024h"></script> ``` --- ## 🐛 重要修复记录 ### 修复1️⃣:图片发送失败 (2025-10-24) **问题:** Socket.IO默认buffer限制导致图片数据被截断 **症状:** - 图片预览正常,但发送后Telegram收不到 - 34KB图片被截断到2.3KB **根本原因:** ```python # 默认max_http_buffer_size太小 ``` **解决方案:** ```python # telegram-userbot.py 第98行 max_http_buffer_size=10 * 1024 * 1024 # 10MB ``` **测试结果:** ✅ 图片成功发送,2秒内送达 --- ### 修复2️⃣:历史消息不显示 (2025-10-26) **问题:** 刷新页面后历史消息全部丢失 **症状:** - 后端发送38条历史消息 - 前端messageMap为空 - DOM中没有任何消息 **根本原因:** ```javascript // 前端缺少history事件监听器 // 后端发送'history'事件,但前端不监听 ``` **解决方案:** ```javascript // script.js 第200-213行 socket.on('history', (data) => { console.log(`📜 收到历史消息: ${data.messages?.length || 0} 条`); if (data.messages && data.messages.length > 0) { clearMessages(); data.messages.forEach(msg => { addMessage(msg, true); // skipAnimation=true }); scrollToBottom(true); } }); ``` **测试结果:** ✅ 刷新页面后自动加载38条历史消息 --- ## 📊 功能测试报告 ### Web → Telegram 测试 | 功能 | 状态 | 发送时间 | 备注 | |------|------|----------|------| | 纯文字消息 | ✅ | < 1秒 | 正常 | | 表情符号 | ✅ | < 1秒 | 支持800+表情 | | 纯图片 | ✅ | < 2秒 | 自动压缩到1920px | | 图文混合 | ✅ | < 2秒 | 正常 | | 复制粘贴图片 | ✅ | < 2秒 | 自动转JPEG 80%质量 | ### Telegram → Web 测试 | 功能 | 状态 | 同步时间 | 备注 | |------|------|----------|------| | 文字消息 | ✅ | 实时 | 2025-10-25 21:12测试通过 | | 图片消息 | ✅ | 实时 | 自动下载并显示 | | 贴纸消息 | ✅ | 实时 | WebP格式显示 | | 消息删除 | ✅ | 实时 | 双向同步删除 | ### 历史消息测试 | 场景 | 状态 | 加载时间 | 消息数 | |------|------|----------|--------| | 首次连接 | ✅ | < 1秒 | 38条 | | 刷新页面 | ✅ | < 1秒 | 38条 | | 清空缓存后 | ✅ | < 2秒 | 从Telegram同步 | --- ## 🚀 启动指南 ### 1. 启动后端服务 ```bash cd /Users/lucas/chat-7363537082/ python3 telegram-userbot.py > telegram-service.log 2>&1 & ``` ### 2. 验证服务运行 ```bash # 检查进程 ps aux | grep telegram-userbot # 检查日志 tail -f telegram-service.log ``` ### 3. 访问Web界面 - **本地访问:** http://localhost:8787 - **内网访问:** http://192.168.9.130:8787 ### 4. 停止服务 ```bash pkill -f telegram-userbot.py ``` --- ## 🔍 调试技巧 ### 1. CDP浏览器调试 ```python # 固定会话路径(保持登录状态) CDP_CONFIG = { 'user_data_dir': '/Users/lucas/.cdp/telegram-chat-system', 'port': 9222, 'headless': False } ``` ### 2. 前端调试接口 ```javascript // 浏览器控制台 window.TelegramChat.getStatus() // 查看连接状态 window.TelegramChat.debug.getMessages() // 查看消息列表 window.TelegramChat.sendTestMessage('测试') // 发送测试消息 ``` ### 3. 后端日志查看 ```bash # 实时监控 tail -f telegram-service.log | grep -E "📨|✅|❌" # 查看图片发送 grep "图片" telegram-service.log # 查看历史消息 grep "历史消息" telegram-service.log ``` --- ## ⚠️ 重要注意事项 ### 1. Socket.IO Buffer Size **必须设置:** ```python max_http_buffer_size=10 * 1024 * 1024 # 10MB ``` **否则会导致:** - 图片发送失败 - 大消息被截断 - Socket连接异常 ### 2. 历史消息监听 **必须添加:** ```javascript socket.on('history', (data) => { ... }) ``` **否则会导致:** - 刷新页面后历史消息丢失 - 用户体验极差 ### 3. DeviceID机制 ```javascript // 连接前生成DeviceID deviceId = generateDeviceId(); // 通过auth传递 socket = io({ auth: { device_id: deviceId } }); ``` **作用:** - 每个用户独立话题 - 防止消息串台 - 支持多设备同步 --- ## 📚 相关文档 ### 本地文档 - `docs/requirements/` - 需求文档 - `docs/guides/` - 使用指南 - `docs/reports/` - 修复报告 ### 在线文档 - MrDoc: http://202.79.167.23:8081/ - 账号: kttai / 112233 --- ## 🎯 性能指标 - **消息发送延迟:** < 1秒 - **图片发送延迟:** < 2秒 - **历史消息加载:** < 1秒 - **同时在线用户:** 支持100+ - **消息吞吐量:** 1000条/分钟 --- ## 🔮 未来优化方向 ### 高优先级 1. ⚠️ JWT/HMAC用户签名(安全) 2. ⚠️ 速率限制(防滥用) 3. 🔄 GIF发送功能(用户需求) ### 中优先级 4. 💬 回复/引用功能 5. ✏️ 消息编辑功能 6. 🍪 Cookie绑定验证 7. 📜 虚拟化列表(性能优化) --- **文档维护者:** Claude **最后更新:** 2025-10-26 14:40 **文档版本:** v1.0
kttai
2025年10月26日 14:42
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码