Discordの認証を設定するには、チャンネルを@everyoneから非表示にし、それらを見られる「Verified」ロールを作成して、新しいメンバーがクリックするとそのロールを付与する認証ボタンを投稿します。 Noxyrのようなボットを使えば、全体で約5分で済みます。これにより、最もよくある荒らしのパターン、つまり大量に参加して見えるチャンネルすべてに投稿するアカウントを止められます。このガイドでは、セットアップの手順、認証を役に立たなくしてしまう失敗、そしてボタンによる認証が防げるものと防げないものを説明します。
ボタン認証の仕組み
認証のゲートは3つの要素からなり、3つすべてが揃っている必要があります。
- ロール(通常は Verified や Member と呼ばれます)。本当のチャンネルを解放します。
- チャンネルの権限。@everyone の「チャンネルを見る」を拒否し、Verifiedロールには許可します。この設定がないと、ロールを付与しても何も解放されません。
- パネル。@everyone が見られるチャンネルに置かれ、クリックするとロールを付与するボタンがあります。
新しいメンバーは認証チャンネルに入り、短いメッセージを見て、ボタンを押すと、残りのサーバーが表示されます。参加してすぐに荒らす行為をするボットはボタンを押さないため、誰かの目に触れるチャンネルには到達しません。
ステップ1: ロールを作成し、チャンネルをロックする
サーバー設定で、Verified という名前のロールを作成します。このロール自体には特別な権限は必要ありません。次に、メンバー限定にしたいカテゴリ(またはチャンネル)ごとに権限を開き、@everyone の「チャンネルを見る」を拒否に設定し、Verifiedロールを「チャンネルを見る」を許可して追加します。カテゴリの単位で設定し、チャンネルを同期させると、クリックの手間が大きく減ります。
認証パネルを投稿するチャンネルだけは、@everyone から見えるようにしておきます。ルールのチャンネルが適しています。メンバーが同意するルールのすぐ下にボタンが置かれるからです。
ステップ2: 認証ボタンを投稿する
Noxyrでは /verify setup を使います。付与するロールと、任意の見た目の設定(チャンネル、埋め込みのタイトル、メッセージの本文、ボタンのラベル、埋め込みの色、画像)を指定します。そのあと /verify post でパネルを公開します。入力よりもクリックで設定したい場合は、ダッシュボードの認証のページでも同じ設定ができます。
見落とされやすい点が2つあります。
- ロールの順序。 ボット自身のロールは、付与するロールより上にある必要があります。そうでないと、Discordは割り当てを拒否し、ボタンは何も起きずに失敗します。サーバー設定でボットのロールを上にドラッグしてから、もう一度試してください。
- 管理者以外のアカウントでテストする。 管理者は権限に関係なくすべてのチャンネルを見られるため、自分のアカウントでは、ゲートが機能しているかどうかは決してわかりません。
/verify status で現在の設定を確認でき、/verify off でゲートを無効にできます。文言は失われません。
ステップ3: 通過したメンバーを歓迎する
ゲートは、最初の印象としてはそっけないものです。そこでウェルカムメッセージと組み合わせて、認証が完了した瞬間に、今は見えるようになったチャンネルで挨拶が表示されるようにしましょう。Noxyrの /welcome setup では、チャンネルと、{user}、{server}、{memberCount} のプレースホルダーを含むメッセージを指定できます。さらに、ルール、ストア、ウェブサイトへのリンクを付けた任意のボタンも追加できます。詳細は認証とウェルカムのドキュメントにあります。
認証ボタンが防ぐこと・防がないこと
「認証」は実際以上のものとして売り込まれることが多いため、ここは正確に説明しておく価値があります。
防ぐこと
- 参加直後にスパムを投稿する、大量参加の荒らしアカウント。これらはボタンをクリックしません。
- UIを操作しないセルフボットやスクリプトによる参加。
- 意図しない露出。公開の招待から参加したメンバーは、認証の操作をするまで、スタッフや顧客向けのチャンネルを見ることができません。
防がないこと
- 本気で狙ってくる人間。誰でもボタンは押せます。ボタン認証はフィルターであり、本人確認ではありません。
- サブアカウント。特定の人物を締め出す必要がある場合は、ボタンではなく、アカウントの作成日の条件や、手動での承認が必要です。
- 乗っ取られた管理者アカウント。これは認証ではなく、荒らし対策(anti-nuke)の役割です。
キャプチャのボットも存在し、スクリプトによる参加には摩擦を加えられます。しかし、本物のメンバーも失ってしまいます。ほとんどのコミュニティにとっては、ボタンとDiscord自体のアカウントレベルのチェックを組み合わせるのが適切なバランスです。
Discordの標準の保護機能と組み合わせる
どのボットを追加する前に、Discordが無料で提供している機能を有効にしましょう。
- 認証レベル(サーバー設定の「安全性のセットアップ」)。「中」は、アカウントが作成されてから5分以上経っていることを求めます。「高」は、さらにサーバーに参加してから10分経過しないとメッセージを送れないようにします。これは最も手軽な荒らし対策の設定です。
- メンバーのスクリーニングは、新しいメンバーが発言する前にルールへの同意を求めます。これは入力フォームであり、ロールではないため、ロールによるゲートを置き換えるのではなく、補完するものです。
- AutoMod のキーワードやメンションのスパムのルールは、すり抜けたものを捕まえます。
そのうえで、ボットの層を加えます。チャンネルへのアクセスには認証ボタン、すでに中にいるメンバーにはスパム対策、管理者側には anti-nuke を使います。Noxyrはこの3つをすべて1つのセキュリティモジュールでカバーします。専用の認証ボットを比較している場合は、認証ボットのまとめに代替案が載っています。
トラブルシューティング
- ボタンが何も反応しない。 ほとんどの場合はロールの順序が原因です。ボットのロールを Verified より上に移動してください。
- 認証済みのメンバーがまだチャンネルを見られない。 Verifiedロールを拒否しているチャンネルごとの上書き設定や、同期されていないカテゴリがないか確認してください。
- 全員がすでにすべてを見られる。 @everyone の「チャンネルを見る」がどこかで許可されたままになっています。新しく作ったチャンネルが、初期の権限を引き継いでいることがよくあります。
- パネルが消えた。
/verify postをもう一度実行してください。その場でパネルが更新されます。
よくある質問
Discordで認証ボタンを追加するにはボットが必要ですか? はい、必要です。Discord標準の機能では、認証レベルとメンバーのスクリーニングは使えますが、ロールを付与するボタンはありません。それにはボットが必要です。
認証のメッセージはカスタマイズできますか? Noxyrでは可能です。タイトル、本文、ボタンのラベル、色、画像はすべて /verify setup かダッシュボードで設定できます。
認証はウェルカムメッセージと一緒に使えますか? はい、使えます。ウェルカムのチャンネルを、Verifiedメンバーだけが見られるチャンネルに設定すれば、クリックした直後に挨拶が表示されます。
ボタン認証は無料ですか? Noxyrでは無料です。ウェルカムメッセージ、スパム対策、anti-nukeも無料で使えます。
ボタンをすり抜けて荒らしが入ってきたらどうしますか? すでに中にいるメンバーはスパム対策が処理し、権限を持つ人はanti-nukeが処理します。荒らし対策のガイドをご覧ください。