はじめに
最近、NapCatQQのWebUIが充実してきており、初心者に入門するのにかなり適しているため、この記事を書くことにしました。
本記事では基本的な使用方法のみを扱い、高度な機能については不足している可能性があります。ただし、以下の基礎知識が必要です:コマンドライン、HTTPプロトコル、Docker、Python。完全な初心者向けではありません。(Webhookを使って通知を行いたいだけ、または既存のNoneBotプラグインを使用したい場合は、Pythonプログラミングは不要です)
使用するツールはNapCatQQとNoneBotです。前者はQQを実行しOneBot11などのプロトコルに接続し、後者はPythonベースでプロトコルを呼び出すフレームワークです。問題が発生した場合は公式ドキュメントを参照してください。(Webhookを使って通知を行いたいだけの場合は、NapCatQQを構築するだけで十分です。)
準備作業
- サーバー1台。内部ネットワークでも外部ネットワークでも構いません。
- QQボット用のQQアカウント1つ。メインアカウントの使用はお勧めしません。
NapCatQQ
インストール
NapCatQQのインストール方法はいくつかありますが、サービスとして運用するのであれば、DockerでShell版をインストールすることをお勧めします: https://napneko.github.io/guide/boot/Shell#napcat-docker-linux容器化部署
DockerコンテナにはNTQQ本体が含まれているため、対応するバージョンのQQを別途インストールする必要はありません。
この時点で http://[IP]:6099/webui にアクセスするとNTQQのWebページが表示され、ログインと設定が行えます。ログインパスワードはログファイルで確認できます(デフォルト:napcat)。ログイン後に変更することをお勧めします。
またはdocker logs napcatでログを確認し、QRコードでQQにログインすることもできます。
QRコードログインでは、以降の携帯電話認証を不要にするオプションを選択することをお勧めします。
HTTPプロトコルの有効化
WebUIでネットワーク設定->新規作成->HTTPサーバーを見つけます。名前、Host、ポートは自由に設定できます。メッセージ形式はArrayを選択することをお勧めします。実際のテストではStringとも互換性があり、テキストと画像が混在したメッセージを送信できます。また、悪意のあるリクエストを防ぐためにTokenを入力することを強くお勧めします。
有効化後、インターフェースデバッグ->HTTPまたは使い慣れたAPIテストツールでテストできます。APIについては以下を参照: https://napcat.apifox.cn/
Tokenには2つの使用方法があります:
- リクエストヘッダーに
Authorization: [Token]を追加する。
- URLに
?access_token=[Token]を追加する。
Webhookを使用した通知
ここで最も重要なインターフェースは、もちろんプライベートメッセージの送信とグループメッセージの送信です。インターフェースデバッグ->HTTPで対応するAPIを見つけることができ、メッセージ構築機能もあり、とても簡単です。
プライベートメッセージ送信の例を示します:

一部のアプリケーションでは、shoutrrrをWebhookの実装として使用しています。以下の設定を参照してください:
一部のアプリケーションはOneBot11プロトコルをネイティブでサポートしている場合があります。その場合はhttp://[IP]:3000、Token、ターゲットQQ番号を入力するだけで済みます。
nginxリバースプロキシ
ドメインをお持ちの場合は、以下のNapCatQQのnginx設定例を参照してください:
NoneBot
ドキュメント はすでに充実しているので、ここでは詳しく説明しません。