vcbot-napcat – NapCatベースのVelocity対応QQボット

Tool

概要

vcbot-napcatは、NapCatをベースに構築されたQQボットで、MinecraftマルチサーバープロキシVelocityサーバーと連携して動作します。本ボットは、プレイヤーのオンライン状況の照会やゲームアカウントの紐付け、グループへの歓迎メッセージ送信、退群通知、全サーバーへの一斉告知など多彩な機能を備えています。Python 3.9以上の環境で動作し、手軽に導入できるため、Minecraftコミュニティの管理や情報共有の効率化に寄与します。現在も新機能の開発が進められており、今後はチャット内でのユーザー指定プレイヤー検索やAIによるスマート応答の実装も予定されています。

GitHub

リポジトリの統計情報

  • スター数: 6
  • フォーク数: 0
  • ウォッチャー数: 6
  • コミット数: 3
  • ファイル数: 8
  • メインの言語: Python

主な特徴

  • Velocityサーバー連携によるMinecraftプレイヤーのオンライン状況取得
  • QQグループ向けに入退室通知や自動友達追加機能を搭載
  • ゲームアカウントとQQアカウントのバインド機能
  • 全サーバーに対する一斉告知(全服喊话)機能

技術的なポイント

vcbot-napcatは、NapCatというPython製のQQボットフレームワークを基礎とし、MinecraftのVelocityサーバーとAPIやプラグインを介して連携する設計が特徴です。Velocityは複数のMinecraftサーバーを統合するプロキシサーバーであり、これに対応することで複数サーバーにまたがるプレイヤーステータスの管理が可能となっています。

本ボットはPython 3.9以上の環境で動作し、NapCatの柔軟なプラグインシステムを活用してQQメッセージの送受信を処理します。QQグループにおける入退室イベントを検知し、適宜歓迎メッセージや退群通知を自動送信する機能は、グループチャットの活性化に寄与します。また、自動友達追加機能は新規参加者とのスムーズなコミュニケーション開始を支援します。

ゲーム側ではVelocityサーバーのAPIや特定のvcプラグイン(別リポジトリ提供)を利用し、現在オンラインのプレイヤー数や特定プレイヤーのオンライン状況の照会を実現。さらに、ユーザーが自身のMinecraftアカウントをQQアカウントに紐付けることで、ボット上での個別管理や通知の最適化が可能です。

将来的には、QQチャット内で「/find @ユーザー」コマンドによる詳細なプレイヤー検索機能や、AIを活用したスマートチャット応答機能も開発予定であり、ボットの利便性とインタラクティビティ向上が期待されます。全体として、Pythonの強力な非同期処理機能とNapCatの拡張性を活かしつつ、Minecraftサーバー運営に密着した実用的なツールとして完成度が高い点が注目されます。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .github: GitHub向けワークフローファイル等を格納するディレクトリ
  • .gitignore: Git管理対象外ファイルの指定
  • LICENSE.txt: ライセンス情報
  • README.md: プロジェクトの概要や導入手順を記載したドキュメント
  • config.toml: ボットの設定ファイル(サーバー情報やトークン等の管理)
  • main.py: ボット起動のエントリポイント
  • requirements.txt: Python依存パッケージ一覧
  • vc_plugin.py: Velocityサーバー連携用プラグイン関連コード(推定)
  • utils.py: 補助的なユーティリティ関数群(推定)

まとめ

NapCatベースでVelocity連携を実現した多機能QQボット。

リポジトリ情報: