QQBot是一個基於WebQQ協議的QQ機器人框架,既可以作為獨立的機器人運行,也可以作為Hubot適配器使用。該項目由CoffeeScript編寫,提供了強大的插件化支持和豐富的功能特性。

項目概述

QQBot是一個專為QQ平台設計的機器人框架,能夠實現好友、羣組和討論組的消息接入和處理。它採用了模塊化設計,支持插件擴展,讓開發者能夠輕鬆構建各種智能交互應用。

核心特性

多平台支持

  • 獨立運行模式:可以作為獨立的QQ機器人運行
  • Hubot適配器:完美集成到Hubot生態系統中
  • WebQQ協議:基於穩定的WebQQ協議實現,確保連接可靠性

功能豐富

  • 登錄和驗證碼支持,確保賬户安全
  • 支持好友、羣組、討論組的多渠道接入
  • 插件化架構,支持消息派發和處理
  • 提供HTTP API接口,方便外部系統集成

部署靈活

  • 支持命令行工具快速啓動
  • 提供配置文件管理,方便定製化配置
  • 支持後台運行和日誌管理

技術架構

QQBot採用CoffeeScript開發,主要依賴包括:

  • request:用於HTTP請求處理
  • log:提供日誌管理功能
  • js-yaml:支持YAML配置文件解析

項目結構清晰,包含:

  • src/:核心源代碼目錄
  • plugins/:插件模塊目錄
  • tests/:測試用例目錄
  • config.demo.yaml:示例配置文件

應用場景

羣組管理助手

可以開發插件實現自動清理刷屏用户、管理羣成員等管理功能,減輕管理員的工作負擔。

智能聊天機器人

通過集成AI能力,可以構建能夠理解自然語言並進行智能回覆的聊天機器人。

監控報警系統

利用HTTP API接口,可以將QQBot作為通知渠道,實時推送監控報警信息到指定羣組。

自動化任務執行

通過自定義插件,可以實現定時任務、信息推送、數據查詢等自動化功能。

快速開始

作為Hubot適配器使用

  1. 在Hubot的package.json中添加hubot-qq依賴
  2. 執行npm install安裝依賴
  3. 使用bin/hubot -a qq命令啓動機器人

獨立運行模式

  1. 安裝CoffeeScript:sudo npm install -g coffee-script
  2. 安裝項目依賴:npm install
  3. 配置config.yaml文件
  4. 運行./main.coffee啓動機器人

配置説明

主要配置參數包括:

  • HUBOT_QQ_ID:QQ賬號
  • HUBOT_QQ_PASS:QQ密碼
  • HUBOT_QQ_GROUP:機器人監聽的羣組名稱
  • HUBOT_QQ_IMGPORT:驗證碼服務端口

開發擴展

QQBot採用插件化架構,開發者可以通過編寫CoffeeScript插件來擴展功能。插件放置在plugins/目錄下,系統會自動加載並註冊。

現有的插件示例包括:

  • apiserver.coffee:HTTP API服務器
  • chatlog.coffee:聊天日誌記錄
  • debug.coffee:調試工具
  • help.coffee:幫助系統
  • hitokoto.coffee:一言功能

部署建議

在生產環境中部署時,建議確保機器人不需要驗證碼登錄,以保證長時間穩定在線。可以使用進程管理工具如pm2來管理機器人進程。

常用的部署命令:

./main.coffee nologin &>> tmp/dev.log &

未來發展

項目目前正在不斷完善中,未來的開發重點包括:

  • 解決羣成員拉取失敗的問題
  • 完善用户信息管理功能
  • 增強機器人響應前綴支持
  • 添加圖片發送功能支持

QQBot作為一個開源項目,歡迎開發者貢獻代碼和提出改進建議,共同打造更強大的QQ機器人生態系統。