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)

機能一覧

サーバーステータス

コマンド説明ファイル
/cksvrCK ゲームサーバーがオンラインか確認ckmp.py
/mcstatusMinecraft サーバーステータスを照会し画像としてレンダリング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 サーバーを再起動(グループ owner/管理者のみ)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