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適配器使用
- 在Hubot的
package.json中添加hubot-qq依賴 - 執行
npm install安裝依賴 - 使用
bin/hubot -a qq命令啓動機器人
獨立運行模式
- 安裝CoffeeScript:
sudo npm install -g coffee-script - 安裝項目依賴:
npm install - 配置
config.yaml文件 - 運行
./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機器人生態系統。