Web認証アップデート

AZQ BOT v1.5 パッチノート / 2026年10月8日

Web認証が「ボタンを押しても無反応」「成功と出るのにロールが付かない」状態だった問題を直しました。あわせて、サブ垢対策の強化と、認証ページのHTTPS対応を追加しています。

修正

認証ボタンを押しても応答しない問題

環境変数 WEB_URL に http:// や https:// が付いていないと、Discordがリンクボタンを拒否し、「アプリケーションが応答しませんでした」と表示されていました。

今回: スキームが無いときは自動で補います。それでもリンクを作れない場合は、ユーザーにエラーを表示し、原因をログに残します。

認証完了と表示されるのにロールが付かない問題

認証パネルを設置する前から参加していたメンバーなどが、Web認証で「すでに認証済みです」と表示され、ロールが付与されないことがありました。

今回: 認証待ちリストではなく、認証ロールを実際に持っているかで判定します。

拒否したアカウントが「認証済み」として数えられる問題

同じ回線の判定で拒否されたアカウントも、回線の記録に残っていました。今回: 認証できた人だけを記録します。

変更

同じ回線から別アカウントが認証すると、承認待ちではなく認証拒否に

ブラウザとDiscordの両方に「認証を拒否しました」と表示し、ログチャンネルに記録します。拒否されたアカウントは疑いリストには入らないので、回線を変えてやり直せます。

管理者は /verify approve で手動承認できます。suspect_action をキックにしているサーバーは、これまでどおりキックします。

同一回線の判定(block_alt_ip)が、新しいサーバーでは最初からON

すでに設定が保存されているサーバーは変わりません。ONにするには /verify set block_alt_ip:True を実行してください。この判定は、認証方式が Web認証 のときに働きます。

新機能

認証完了をDiscordにも表示

Web認証が終わると、認証ボタンで出た自分だけに見えるメッセージが「認証が完了しました」に変わります。メッセージが残っていない場合は、DMでお知らせします。

認証ページのHTTPS対応

証明書と秘密鍵のパスを設定すると、BOT自身がHTTPSで配信します。プロキシを挟まないので、同一回線やVPNの判定に使う接続元IPもそのまま取得できます。

証明書ファイルの更新は6時間ごとに確認して自動で読み込み直すため、Let's Encryptの更新後に再起動は要りません。CookieにはSecure属性が付きます。

同一回線チェックの診断ログ

Web認証のたびに、同じ回線の別アカウント数をログに出します。判定が働いているか確認できます。

環境変数

名前内容
WEB_URL認証ページの公開URL。例: https://bot-auth.duckdns.org:8443。スキームを省くと、TLS設定があれば https://、なければ http:// を補います。
PORT待ち受けポート。WEB_PORT より優先されます。
WEB_PORTPORT が未設定のときのポート(既定 8080)。
TLS_CERT証明書(fullchain.pem)のパス。
TLS_KEY秘密鍵(privkey.pem)のパス。両方を設定するとHTTPSになります。

サーバー管理者への注意

自分でbotをホスティングする人向け