getting-started
はじめに
最初のカスタムボットをセットアップし、Discordサーバーに接続し、10分以内にメンバーの検証を開始します。このガイドでは、ゼロから認証リンクが使えるようになるまでのすべてのステップを説明します。
前提条件
Discordアカウント、保護したいDiscordサーバーの所有権または管理者権限、RestoreHubアカウント(Discord、Google、GitHub、Apple、または電子メール/パスワードでrestorehub.netにサインアップ)。
Restore Hubはカスタムボットモデルで動作します。何千ものサーバーが使用している共有ボットを追加する代わりに、あなた自身のDiscordアプリケーションを作成し、Restore Hubに認証情報を与えます。つまり、メンバーには私たちのボットではなく、あなたのボット名とアバターが表示されます。
ヒント:無料プランですべてを始めることができます。無料アカウントには、1つのカスタムボット、2つのサーバー、3つのバックアップ、コア検証が含まれています。VPN検出、alt検出、ファイアウォールなどのプレミアム機能はアップグレードが必要です。
ステップ1 - Discordアプリケーションを作成する
すべてのRestore Hubボットは標準のDiscordアプリケーションとして起動します。Discord Developer Portalで作成し、Restore Hubに認証情報を渡します。
- 開発者ポータルを開く- ブラウザでhttps://discord.com/developers/applications。プロンプトが表示されたら、Discordアカウントでサインインしてください。
- 新しいアプリケーションを作成する- 右上の "New Application "ボタンをクリックします。名前を付け(サーバーでのボットの表示名になります)、Discord Developer Terms of Service に同意してください。
- アプリケーション(クライアント)IDをコピーする- 一般情報」ページで、アプリケーションIDフィールドを見つけます。コピー」をクリックし、これをどこかに保存してください。
- 公開鍵をコピーする- 一般情報 "のまま、公開鍵をコピーします。Restore Hubはこれを使用して、受信インタラクションのペイロードが本当にDiscordからのものであることを確認します。
- クライアントシークレットの生成- 左サイドバーの "OAuth2 "セクションに移動します。Client information "の下にある "Reset Secret "をクリックし、確認します。シークレットはすぐにコピーしてください。
- ボット・ユーザーを作成し、トークンをコピーする。- 左サイドバーの「Bot」に移動します。トークンのリセット」をクリックし、確認します。ボットトークンをコピーし、安全に保管してください。このトークンはボットを完全にコントロールすることができます。
- 特権インテントを有効にする- ボット・ページを「Privileged Gateway Intents」までスクロールダウンします。Server Members Intent」(メンバーの引き抜きとバックアップに必要)と「Message Content Intent」(メッセージのバックアップに必要)を有効にします。Save Changes(変更を保存)」をクリックします。
警告ボットトークンとクライアントシークレットは機密情報です。Discordメッセージ、公開レポ、スクリーンショットには絶対に貼り付けないでください。Restore Hubは初期セットアップ後、これらをAES-256で暗号化し、決して表示しません。
ステップ 2 - OAuth2 リダイレクト URI を設定する
Discordでは、OAuth2で認証した後にユーザーがリダイレクトされる正確なURLをホワイトリストに登録する必要があります。Restore Hubが動作するためには、この設定が必要です。
- OAuth2リダイレクトに移動する- 開発者ポータルで、OAuth2 → General に進みます。リダイレクト」までスクロールダウンします。
- リストアハブのコールバックURLを追加する- Add Redirect "をクリックし、https://restorehub.net/api/callback。カスタムドメイン(例:verify.yourdomain.com)を使用する場合は、https://verify.yourdomain.com/api/callback も追加します。変更を保存]をクリックします。
https://restorehub.net/api/callbackヒント:複数のリダイレクトURIを追加できます。restorehub.netコールバックと、使用する予定のカスタムドメインコールバックの両方を追加します。
ステップ 3 - ハブの復元にボットを追加する
Discordアプリケーションの設定が完了したら、5ステップのボットセットアップウィザードを使用して認証情報をRestore Hubに取り込みます。
- カスタムボットのページを開く- restorehub.netにログインします。ダッシュボードのサイドバーで「カスタムボット」をクリックし、「ボットを追加」をクリックします。
- 認証情報を貼り付ける(ウィザードステップ1/5)- ボットトークン、クライアントID、クライアントシークレット、公開鍵、リダイレクトURIを入力します。Restore Hubはリアルタイムで各フィールドを検証します。
- インタラクション・エンドポイントの設定(ウィザードステップ2/5)- RestoreHubは、あなたのボット用のユニークなインタラクションエンドポイントURLを生成します(例:https://restorehub.net/api/interactions/{botId})。ウィザードはこのURLをDiscord開発者ポータルの一般情報 → インタラクションエンドポイントURLに貼り付けるように指示します。Discordが確認pingを送信し、RestoreHubが自動的に応答します。Discordに緑のチェックマークが表示されたら、次に進みます。
- 検証用URLを設定する(ウィザード ステップ3/5)- スラッグベースのURL(restorehub.net/s/your-community)またはカスタムドメイン(verify.yourdomain.com)のいずれかを選択します。カスタムドメインはCNAMEレコードが必要です。
- サーバーに招待する(Wizard Step 4 of 5)- ウィザードは適切な権限(ロールの管理、メンバーのキック、チャンネルの表示、メッセージ履歴の読み取り)を持つOAuth2招待リンクを生成します。Invite to Server" をクリックし、ドロップダウンから Discord サーバーを選択して認証します。
- サーバー設定の構成(ウィザードステップ5/5)- 認証に合格したメンバーが受け取る認証済みロールを選択します。オプションで、認証イベントのログチャンネルを設定し、キャプチャを有効にし、アカウントの最低年齢を設定し、セキュリティ機能を切り替えます。
ステップ4 - 検証リンクを共有する
ボットが稼動しました。検証用 URL をメンバーと共有してください。チャンネルに投稿したり、サーバーの説明文に記載したり、/verify-embed スラッシュコマンドを使って任意のチャンネルにボタンを埋め込むことができます。
メンバーがリンクをクリックすると、カスタム認証ページに移動します。メンバーは "Verify" をクリックし、Discord OAuth2 で認証(ID、Eメール、ギルド、guilds.join スコープを許可)すると、自動的にあなたのサーバーで認証されたロールが割り当てられます。
ヒント: /verify-embedコマンド(Premium+)を使用すると、Discordチャンネルに直接ボタン付きのクリーンな検証埋め込みを投稿できます。メンバーがボタンをクリックすると、検証ページにリダイレクトされます。
舞台裏で起きていること
Restore Hubボットは、従来のWebSocket Gatewayではなく、DiscordのHTTPベースのInteractions Endpointを使用します。これはボットの動作に影響する重要なアーキテクチャ上の違いです。
ゲートウェイ方式では、ボットがDiscordへの持続的なWebSocket接続を維持し、すべてのイベント(メッセージ、リアクション、メンバー参加など)をリアルタイムで受信します。これには常時接続のインフラストラクチャが必要で、メンバーリストのボットの横に緑/黄色/赤のステータスドットが表示されます。
インタラクションエンドポイントアプローチ(レストアハブが使用)では、ユーザーがスラッシュコマンドまたはボタン操作をトリガーした場合にのみ、DiscordはボットのエンドポイントURLにHTTP POSTリクエストを送信します。持続的な接続はありません。ボットはステータスドットなしでメンバーリストに表示されます。
その他のすべての操作(ロールの割り当て、メンバーの引き抜き、バックアップの作成、メンバーのキック)は、ボットトークンを使用してDiscordのREST APIを介して実行されます。これは、Restore Hubが何千ものWebSocket接続を維持することなく、何千ものボットにスケールできることを意味します。
プランの限度額一覧
| 特徴|無料|プレミアム|ビジネス|エンタープライズ
|---|---|---|---|---|
| サーバー|2台|10台|50台|無制限
| カスタムボット|1|5|25|無制限
| バックアップ|3|10|30|50|無制限
| メッセージ/バックアップ|50|200|500|2,000||です。
| プルクールダウン|6時間|1時間|15分|なし
| VPN検知機能|なし|あり|あり|あり|あり
| Alt 検出|なし|あり|あり|あり|あり|なし
| ファイアウォール|なし|あり|あり|あり|ファイアウォール
| アンチヌーク|いいえ|いいえ|はい|はい
| いいえ|いいえ|はい|はい|レイド対策
| いいえ|いいえ|はい|はい|カスタムドメイン
| いいえ|はい|はい|はい|定期バックアップ
| いいえ|はい|はい|はい|スラッシュコマンド
| チーム管理
| APIレート制限|20/10秒|50/10秒|100/10秒|200/10秒次のステップ
- カスタムボットのドキュメントを読んで、HTTPインタラクションの仕組みとボットに必要なパーミッションを理解してください。
- 検証フローにおけるすべてのセキュリティチェックについては、検証ドキュメントをお読みください。
- VPN検出、alt検出、ファイアウォールルール、アンチヌーク、アンチレイドの有効化については、Security docをお読みください。
- サーバーのスナップショットとスケジュールバックアップを設定するには、Backups docをお読みください。
- 検証済みメンバーをサーバー間で移動する方法については、「メンバーの引き出し」をお読みください。
- スラッグURLの代わりにverify.yourdomain.comが必要な場合は、カスタムドメインのドキュメントをお読みください。
- リストアハブを独自のツールやダッシュボードと統合したい場合は、REST APIドキュメントをお読みください。