Releases: jikssha/telegram_private_chatbot
Releases · jikssha/telegram_private_chatbot
✨v5.3更新说明
- 修复:5.1 新用户通过验证后每条消息都新建话题(强证据触发重建 +
thread_ok:*KV 缓存 + 并发创建保护) - 修复:媒体组双向转发携带
message_thread_id: null导致发送失败(统一按需附带message_thread_id) - 优化:验证期间支持暂存多条消息并在通过后补发,避免消息丢失与误触发验证限速
- 新增:管理员删除用户话题后,该用户验证自动失效;下次发消息将重新进行人机验证
- 修复:
/cleanup长时间扫描导致 webhook 超时卡住(改为后台执行 + 分页扫描 + 防并发锁) - 加固:仅允许管理员在群内执行命令/回信(支持可选
ADMIN_IDS白名单)
✨v5.1更新说明
✨ 新增功能
自动话题修复
- 管理员删除话题后,用户再次发消息自动创建新话题
- 使用零宽度字符检测,完全不可见
- 无需手动干预,全自动恢复
速率限制系统
- 消息限制: 45 条/分钟
- 验证请求: 3 次/5分钟
- 自动拒绝超速用户,防止刷屏
增强的 /info 命令
👤 用户信息
UID: `123456789`
Topic ID: `456`
话题标题: 张三 @zhangsan
验证状态: ✅ 已验证
封禁状态: ✅ 正常
Link: [点击私聊](tg://user?id=123456789)
结构化日志系统
- [新] 统一的 Logger 日志模块
- JSON 格式输出,包含时间戳和上下文信息
- 支持 INFO、WARN、ERROR、DEBUG 四个级别
- 自动记录错误堆栈信息
- 便于与 Cloudflare Logpush、Elasticsearch 等工具集成
批量清理工具
/cleanup # 扫描并清理已删除话题的用户数据🔴 BUG修复
1. 验证系统bug修复
- 问题: 答案超过20字符被截断,导致用户永远无法通过验证
- 修复: 改用索引方案,完全避免截断问题
- 影响: 验证系统从完全失效恢复到 100% 可用
2. 并发验证绕过漏洞
- 问题: 用户快速发送多条消息可绕过验证
- 修复: 添加验证锁机制,防止并发攻击
3. 消息重复转发漏洞
- 问题: 验证后的消息可能被重复发送
- 修复: 添加防重标记,1小时内自动去重
4. 数据损坏保护
- 问题: KV 数据损坏导致系统崩溃
- 修复: 实现
safeGetJSON()安全读取机制
5. 无限重试保护
- 问题: 话题创建失败会无限循环
- 修复: 最多重试 3 次,自动保护
6. 环境变量类型统一
- 问题: 字符串/数字混用导致消息路由错误
- 修复: 统一规范化为字符串类型
7. 异步操作等待
- 问题: 话题状态更新可能失败
- 修复: 使用
Promise.all()确保所有操作完成
8. 批量操作性能优化
- 问题:
/cleanup串行处理,1000用户需1000秒 - 修复: 并发处理,性能提升 10倍