Skip to content

WncFht/QQbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QQbot - 群消息爬取与分析工具

项目简介

QQbot 是一个基于 NcatBot 框架开发的 QQ 群消息爬取与分析工具。它能够自动监听并保存指定群的消息到本地数据库,支持历史消息获取、定时备份、多群监听等功能。后续将加入消息分析、统计报表等高级功能。

文档

项目架构

QQbot/
├── main.py                # 主程序入口
├── config.json           # 配置文件
├── messages.db          # SQLite 数据库
├── bot.log             # 日志文件
├── src/               # 源代码目录
│   ├── core/        # 核心模块
│   │   ├── __init__.py
│   │   ├── bot.py      # 主机器人类
│   │   └── config.py   # 配置管理
│   ├── handlers/    # 事件处理模块
│   │   ├── __init__.py
│   │   ├── group_handler.py    # 群消息处理
│   │   └── private_handler.py  # 私聊消息处理
│   ├── services/   # 服务模块
│   │   ├── __init__.py
│   │   ├── group_service.py    # 群组服务
│   │   ├── message_service.py  # 消息服务
│   │   └── backup_service.py   # 备份服务
│   ├── utils/      # 工具模块
│   │   ├── __init__.py
│   │   ├── database.py         # 数据库操作
│   │   └── message_parser.py   # 消息解析
│   └── plugins/    # 插件目录
│       └── analyzer/           # 消息分析插件
├── data/          # 数据目录
│   └── backups/   # 数据库备份
└── logs/          # 日志目录

核心功能模块

  1. 消息监听与存储

    • 实时监听群消息
    • 定期获取历史消息
    • 消息解析与存储
  2. 数据管理

    • SQLite 数据库设计
    • 数据备份与恢复
    • 数据去重与完整性检查
  3. 群信息管理

    • 获取群基本信息
    • 获取群成员列表
    • 群信息定期更新
  4. 消息分析(计划中)

    • 活跃度分析
    • 关键词统计
    • 互动关系图谱
  5. 用户界面(计划中)

    • 命令行控制界面
    • Web 管理界面

安装与配置

环境要求

  • Python 3.10+
  • NcatBot 框架
  • SQLite3

安装步骤

  1. 安装 NcatBot 框架:

    pip install ncatbot -U -i https://mirrors.aliyun.com/pypi/simple
  2. 克隆或下载本项目:

    git clone https://github.com/yourusername/QQbot.git
    cd QQbot
  3. 创建配置文件 config.json

    {
      "bot_uin": "你的QQ号",
      "target_groups": [群号1, 群号2, ...],
      "database_path": "messages.db",
      "backup_interval": 3600,
      "history_fetch_interval": 1800,
      "ws_uri": "ws://localhost:3001",
      "token": "napcat",
      "max_retries": 3
    }

使用方法

基本使用

  1. 启动 NapCat 服务器(如果尚未启动):

    • 通过 NapCat 官方客户端启动
    • 确保 WebSocket 服务已开启,默认地址为 ws://localhost:3001
  2. 运行机器人:

    python main.py
  3. 机器人将自动连接到 NapCat 服务器,并开始监听配置的群消息

命令控制

机器人支持通过私聊命令进行控制:

  • 状态 - 查看机器人当前状态
  • 备份 - 手动触发数据库备份
  • 更新群信息 - 手动更新群信息和成员列表
  • 获取历史消息 - 手动获取历史消息
  • 分析 群号 [天数] - 分析指定群的活跃度
  • 插件列表 - 查看已加载的插件

数据库结构

群信息表 (group_info)

  • group_id: 群号(主键)
  • group_name: 群名称
  • member_count: 成员数量
  • last_update: 最后更新时间

群成员表 (group_members)

  • group_id: 群号
  • user_id: 用户QQ号
  • nickname: 昵称
  • card: 群名片
  • role: 角色(管理员/成员)
  • join_time: 加入时间
  • last_update: 最后更新时间

消息表 (messages)

  • message_id: 消息ID(主键)
  • group_id: 群号
  • user_id: 发送者QQ号
  • message_type: 消息类型
  • content: 消息内容(JSON格式)
  • raw_message: 原始消息文本
  • time: 消息时间戳
  • message_seq: 消息序号
  • message_data: 完整消息数据(JSON格式)

开发计划

已完成

  • 基础框架搭建
  • 消息监听与存储
  • 群信息获取
  • 数据库设计
  • 定时备份功能
  • 代码重构与模块化

进行中

  • 消息解析优化
  • 历史消息获取完善
  • 数据去重机制

计划中 - 核心功能(优先级高)

  • 权限系统实现
    • 基于 AuthManager 的权限控制框架
    • 群组级别权限管理
    • 用户级别权限管理
    • 命令级别权限管理
    • 权限配置文件的自动加载与保存
  • 消息队列系统
    • 基于 MessageQueue 的消息发送队列
    • 消息发送频率限制与随机延迟
    • 消息优先级处理
    • 消息发送失败重试机制
  • 日志系统优化
    • 分级日志(DEBUG/INFO/WARNING/ERROR)
    • 日志自动轮转与保留时间设置
    • 自定义日志过滤器
    • 特定功能日志分离(如数据库操作日志)
  • 数据库操作优化
    • 基于 SQLiteDB 的数据库操作封装
    • 数据库连接池管理
    • 数据库事务支持
    • 数据库查询优化

计划中 - 功能扩展(优先级中)

  • 消息处理工具集
    • 消息段处理工具(图片、语音、文本等)
    • 模板渲染图片生成
    • 多媒体资源管理
  • 插件系统增强
    • 插件热加载机制
    • 插件依赖管理
    • 插件配置界面
    • 插件权限集成
  • 数据分析功能
    • 群活跃度分析与可视化
    • 用户行为分析
    • 关键词提取与话题分析
    • 消息情感分析
  • 自动化管理功能
    • 违规消息自动检测
    • 群成员行为监控
    • 自动欢迎新成员
    • 定时任务系统

计划中 - 用户界面(优先级中)

  • Web 管理面板
    • 实时监控面板
    • 数据可视化展示
    • 配置管理界面
    • 用户权限管理界面
  • API 系统
    • RESTful API 接口设计
    • WebSocket 实时推送
    • API 权限控制
    • API 文档自动生成

计划中 - 高级功能(优先级低)

  • 智能对话系统
    • 基于 GPT 的智能回复
    • 自定义对话模板
    • 上下文对话管理
    • 多轮对话支持
  • 多媒体处理增强
    • 图片识别与处理
    • 语音识别与合成
    • 视频处理与分析
  • 群管理工具集
    • 群公告管理
    • 群文件管理
    • 群投票系统
    • 群活动组织工具

计划中 - 运维功能(优先级中)

  • 监控与报警系统
    • 性能监控(CPU、内存、网络)
    • 异常监控与自动报警
    • 服务状态监控
  • 备份系统增强
    • 增量备份机制
    • 自动恢复功能
    • 多备份位置支持
    • 备份加密
  • 安全系统
    • 访问控制与认证
    • 数据加密存储
    • 防攻击机制

计划中 - 部署与测试(优先级中)

  • 测试系统
    • 单元测试框架
    • 集成测试
    • 性能测试
    • 自动化测试
  • 部署优化
    • Docker 容器化
    • CI/CD 流程
    • 多环境配置
    • 集群部署支持

实施路线图

  1. 第一阶段(1-2个月):核心功能实现

    • 权限系统实现
    • 消息队列系统
    • 日志系统优化
    • 数据库操作优化
  2. 第二阶段(2-3个月):功能扩展

    • 消息处理工具集
    • 插件系统增强
    • 数据分析功能
    • 自动化管理功能
  3. 第三阶段(3-4个月):用户界面与运维

    • Web 管理面板
    • API 系统
    • 监控与报警系统
    • 备份系统增强
  4. 第四阶段(4-6个月):高级功能与优化

    • 智能对话系统
    • 多媒体处理增强
    • 群管理工具集
    • 测试与部署优化

贡献指南

欢迎提交 Issue 和 Pull Request 来帮助改进这个项目。

许可证

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages