Skip to content

tofu1207/QQBot-Webhook-to-WebSocket

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Webhook to WebSocket Bridge Service

📝 项目简介

为提供QQBot的Webhook到WebSocket的实时消息转发能力,以ws将消息推送到客户端,支持消息缓存断线重传、高稳定并发等特性。 !!仅做桥接转换,不支持转换为onebot协议连接

✨ 主要特性

  • 📦 缓存重传:自动缓存离线消息,重连后补发(5分钟)
  • ⚖️ 负载均衡:支持多个客户端同时接收相同消息
  • 🔒 双模式缓存:同时支持公共缓存和Token私有缓存隔离
  • 📊 沙盒模式:沙盒环境支持群组/成员/内容消息过滤
  • 速率控制:补发时延迟与限速(3秒延迟启动 + 1秒/10条)
  • 🛡 失败熔断:连续5次发送失败自动断开异常连接
  • 📊 实时监控:挂载 /logs 页面实时监控状态
  • 高性能:基于 FastAPI 的异步处理,支持高并发

🚀 快速开始

准备工作

  • 公网IP服务器
  • QQ机器人(测试用)
  • 域名(接收Webhook推送)
  • Python环境(推荐使用宝塔面板)

部署步骤

  1. 创建Python站点

    • 宝塔面板:网站管理 -> Python项目 -> 添加项目
    • 选择requirements.txt创建环境
  2. 配置域名与SSL

    • 绑定域名
    • 开启外网映射(端口8000)
    • 申请Let's Encrypt证书
  3. 配置QQ开放平台

    • 事件通知地址:https://{域名}/webhook?secret={机器人密钥}
    • 配置事件接收
  4. 连接WebSocket

    • 连接地址:ws://{域名}:8000/ws/{机器人密钥}
    • 推荐使用WSS安全连接

📝 关于 Issues

提交规范:

  • 标题:简明描述问题
  • 内容:复现步骤、期望结果、实际结果、截图、日志
  • 标签:bug、enhancement、question等

✨ 关于 Pull Requests

提交规范:

  • 代码需有详细注释
  • 遵循项目编码规范
  • 确保代码无语法/逻辑错误
  • 通过测试验证

开发提供可直接使用提供的公共服务(无偿群号:1033218561)

About

qqbot-webhook-to-websocket

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 76.9%
  • HTML 23.1%