Skip to content

HSNBot

HSNBot 是基於 NoneBot2 + OneBot V11 的 QQ 群機器人,提供 Phira 多人房間查詢、伺服器監控、資料統計等功能。

技術棧

元件技術
框架NoneBot2
協定適配OneBot V11
命令系統Alconna
HTTP 客戶端httpx / aiohttp
圖片渲染nonebot-plugin-htmlrender (Playwright / Chromium)
資料來源 APIHSN 後端監控服務 (http://23.141.172.246:7001)

功能列表

伺服器狀態

命令說明檔案
/cksvr檢查 CK 遊戲伺服器是否在線ckmp.py
/mcstatus查詢 Minecraft 伺服器狀態並渲染為圖片mccheck.py
/users / 在線人數獲取 Phira 伺服器當前線上玩家數users.py

房間管理

命令說明檔案
/room查詢當前所有房間(圖片)room.py
/room record <房間名>查詢指定房間的遊玩記錄room.py

插件透過 SSE 即時監聽後端,新房間建立時自動推送圖片通知到配置的 QQ 群。

資料監控

命令說明檔案
/hsndata health檢查監控 API 健康狀態hsndata.py
/hsndata history [開始] [結束]獲取 HSN 歷史線上資料hsndata.py
/hsndata chart <開始> <結束>生成指定時段的線上趨勢圖表hsndata.py
/hsndata charts列出所有已生成的圖表hsndata.py
/hsndata image <類型>獲取圖表圖片(hsn / room / user_bar / user_pie)hsndata.py
/hsndata roomrank房間使用次數排名hsndata.py
/hsndata userrank [用戶ID]用戶遊玩時間排名或查詢指定用戶hsndata.py
/hsndata leaderboard [數量]獲取遊玩時間排行榜hsndata.py
/hsndata generate手動觸發圖表生成hsndata.py
/hsnvs latest獲取最新的伺服器對比資料和趨勢圖hsnvs.py
/hsnvs history <分鐘數>獲取指定分鐘前的資料hsnvs.py
/hsnvs stats獲取統計結果hsnvs.py
/hsnvs config show | update查看或更新配置hsnvs.py

其他

命令說明檔案
/setu [關鍵詞]透過 Lolicon API 獲取圖片,10 秒後自動收回setu.py
罵人 / fuck / 吃大糞趣味回覆maren.py
/restart [api]重啟 Phira 伺服器(僅群主/管理員可用)restart.py

配置

.env.env.prod 中配置:

env
# Phira 房間插件
PHIRA_API_BASE=http://23.141.172.246:12345
PHIRA_CHART_API=https://phira.5wyxi.com
PHIRA_NOTIFY_GROUPS=[123456789, 987654321]
PHIRA_FONT_PATH=/path/to/font.ttf
PHIRA_BG_PATH=/path/to/background.jpg
PHIRA_LOGO_PATH=/path/to/logo.png
PHIRA_CACHE_TTL=600
PHIRA_SSE_RETRY=5
PHIRA_IMAGE_QUALITY=90

# CK 伺服器檢查器(在 ckmp.py 中直接修改)
# USERNAME="your-email"
# PASSWORD="your-password"

# HSN 資料監控
HSN_API_BASE=http://23.141.172.246:7001

部署

bash
# 安裝依賴
pip install nonebot2 nonebot-adapter-onebot nonebot-plugin-alconna nonebot-plugin-htmlrender
pip install httpx aiohttp mcstatus

# 配置 .env
echo "DRIVER=~fastapi+~httpx" >> .env
echo "HOST=0.0.0.0" >> .env
echo "PORT=8080" >> .env

# 啟動
nb run

Last modified byFireflyF09on2026-06-26 15:41

Built with VitePress