features
バックアップと復元
チャンネル、ロール、パーミッション、絵文字、ステッカー、automodルール、サーバー設定、メッセージ、メンバーのロールを含むサーバーのフルスナップショット。自動バックアップをスケジュールし、任意のサーバーにリストア。
概要
Restore Hubバックアップは、Discordサーバーの構造とコンテンツの包括的なスナップショットをキャプチャします。単純なチャンネルリストのエクスポートとは異なり、Restore Hubは、パーミッションの上書き、automodルール、(プランに制限のある)メッセージ履歴など、サーバーをゼロから完全に再作成するために必要なすべてをバックアップします。
バックアップはRestore Hubのインフラストラクチャに安全に保存され、同じサーバーまたは全く別のサーバーにリストアすることができます。このため、ディザスタリカバリ、サーバーの移行、テンプレートの作成に役立ちます。
バックアップされるもの
Restore Hubバックアップには、バックアップ作成時にDiscordのREST API経由で取得された以下のデータが含まれます:
- チャンネル- すべてのチャンネルタイプ:テキスト、音声、アナウンス、フォーラム、ステージ、カテゴリ。チャンネル名、トピック、ポジション、NSFWフラグ、レート制限(スローモード)、ビットレート(ボイス)、ユーザー制限(ボイス)、デフォルト自動アーカイブ期間、利用可能なタグ(フォーラム)、親カテゴリーを含みます。
- 役割- サーバー内のすべてのロール: 名前、色 (16進数)、権限ビットフィールド、階層内の位置、掲揚フラグ (個別に表示)、言及可能フラグ、およびロールアイコン (もしあれば)。
- パーミッションの上書き- チャネルごとのロールおよびメンバーのパーミッションの上書き。各チャネルについて、バックアップはどのロール/メンバが特定の許可/拒否パーミッションの上書きを持つかを保存します。
- 絵文字- すべてのカスタム絵文字:名前、アニメーションフラグ、および再作成用のCDN URL。復元時、絵文字はCDN URLから再アップロードされます。
- ステッカー- すべてのカスタムステッカー:名前、説明、フォーマットタイプ(PNG/APNG/Lottie)、タグ、画像URL。
- オートモッドのルール- すべてのAutoModルール:トリガータイプ、トリガーメタデータ(キーワードリスト、正規表現パターン、プリセット)、アクション(ブロック、アラート、タイムアウト)、除外ロール、および除外チャンネル。
- サーバー設定- サーバー名、アイコンURL、バナーURL、スプラッシュURL、説明、検証レベル、デフォルト通知設定、明示的コンテンツフィルター、AFKチャンネル、AFKタイムアウト、システムチャンネル、システムチャンネルフラグ。
- メッセージ- テキストチャンネルからの最近のメッセージ(プラン制限あり)。各メッセージには、コンテンツ、作成者情報(ID、ユーザー名、アバター)、埋め込み、添付ファイルURL、タイムスタンプ、編集タイムスタンプが保存されます。メッセージは、チャネルごとにプランの上限まで逆時系列でキャプチャされます。
- メンバーの役割- DiscordユーザーIDとロールIDの配列のマッピング。これにより、バックアップ時にどのメンバーがどのロールを持っていたかが記録され、リストア操作時にロールのリストアが可能になります。
ヒント:バックアップはポイント・イン・タイムのスナップショットです。バックアップは、バックアップが実行された瞬間のサーバーの状態をキャプチャします。バックアップ後の変更は含まれません。
バックアップの作成
- ダッシュボードから- ダッシュボードでサーバーに移動します。サイドバーの "Backups" をクリックし、次に "Create Backup" をクリックします。バックアップはキューに入れられ、バックアップワーカーによってバックグラウンドで処理されます。ステータスがリアルタイムで更新されます。
- Discordより(Premium+)- Discordサーバーで/backupコマンドを使用してください。ボットがバックアップがキューに入ったことを確認し、完了したらあなたにDMを送ります。
- API経由- api/v1/servers/:id/backupsにPOSTリクエストを送信する。応答にはバックアップIDと "queued "ステータスが含まれる。GET /api/v1/servers/:id/backupsをポーリングして進捗状況を確認する。
バックアップワーカーは非同期に実行されます。多くのチャンネルやメッセージがある大規模なサーバでは、バックアップには数秒から数分かかります。ワーカーは全てのデータをDiscordのREST APIから取得します。
スケジュールバックアップ (Premium+)
プレミアム以上では、定期的な間隔で自動バックアップをスケジュールできます。スケジューラーは独立して実行され、手動で操作することなくバックアップを作成します。
| 設定|説明|デフォルト
|---|---|---|
| 間隔(日)|バックアップの作成頻度(例:1日毎、7日毎)|1日
| 最大バックアップ数(Max backups) | スケジュールされたバックアップの最大数。古いものは自動削除されます。| 5 |
| アクティブ|スケジュールが現在実行中かどうか。ヒント自動プルーニングはスケジュール・バックアップにのみ影響します。手動バックアップが自動削除されることはありません。スケジュールされたバックアップが5つあり、最大値が5である場合、新しいバックアップが作成されると、最も古いスケジュールされたバックアップが削除されます。
プランの制限
| プラン|最大バックアップ数|チャンネルごとのメッセージ数|スケジュールされたバックアップ数
|---|---|---|---|
| 無料|3|50|なし|プレミアム|10|200|あり
| プレミアム|10|200|あり
| ビジネス|30|500|あり
| エンタープライズ|50|2,000|あり警告メッセージの上限はチャンネル単位であり、バックアップ単位ではありません。20のテキストチャンネルを持つサーバーの無料プランのバックアップは、各チャンネルから最大50メッセージ(合計1,000メッセージ)をキャプチャします。
バックアップの復元
リストアは、バックアップスナップショットからサーバーの構造を再構築します。同じサーバー(変更を元に戻す)または別のサーバー(クローンまたは移行)にリストアできます。
- バックアップの選択- ダッシュボードでBackupsに行き、リストアしたいバックアップの "Restore "をクリックします。または、Discordで/restoreコマンドを使用するか、/api/v1/servers/:id/backups/:backupId/restoreにPOSTします。
- ターゲットサーバーの選択- デフォルトでは、バックアップは同じサーバーにリストアされます。オプションで別のターゲット・サーバーIDを指定できます。ボットはターゲット・サーバーに必要な権限を持っている必要があります。
- 何を復元するかを選択する- チャンネル(デフォルト・オン)、ロール(デフォルト・オン)、パーミッションの上書き(デフォルト・オン)、絵文字(デフォルト・オフ)、サーバー設定(デフォルト・オフ)、メンバーのロール(デフォルト・オフ)を選択的にリストアできます。
- 確認と実行- リストアジョブはバックアップワーカーによってキューに入れられ、処理されます。Restore Hubはまずロールを作成し(階層構造を確立するため)、次にチャンネルをパーミッションの上書きとともに作成し、次に絵文字/ステッカーを作成し、次にサーバ設定を作成します。
警告チャンネルをリストアすると、ターゲットサーバーに存在するすべてのチャンネルが削除され、バックアップから再作成されます。これは破壊的であり、元に戻すことはできません。メンバーのロールのリストアは、現在サーバーに存在するメンバーに対してのみ機能します。
リストアによるロールIDの扱い方
バックアップが作成されると、ロールIDはその時点で存在するものとしてキャプチャされます。別のサーバーにリストアする場合、これらのロールIDは存在しません。Restore Hubは、同じ名前、色、権限を持つ新しいロールを作成し、古いロールIDを新しいロールIDに内部的にマッピングすることでこれを処理します。
このロールIDマッピングは、パーミッションの上書き(チャネルパーミッションはIDによってロールを参照する)、メンバロールのリストア(メンバへのロールの再割り当て)、およびチャネルレベルのパーミッションの上書きに使用されます。
異なるサーバー間でバックアップを使用する
バックアップは作成元のサーバーにロックされません。あなたのボットが必要な権限を持っているサーバーであれば、どのバックアップでもリストアすることができます。一般的な使用例
- サーバーテンプレート- 完璧に設定されたサーバーのバックアップを作成し、それを出発点として新しいサーバーにリストアする。
- 移住- 古いサーバーをバックアップし、新しいサーバーを作成し、全体の構造を復元する。
- 災害復旧- サーバーが破壊されたり、危険にさらされたりした場合は、最新のバックアップから復元してください。
- テスト- テストサーバーにリストアして、本番サーバーに影響を与えることなく変更を試すことができます。
バックアップ・ワーカー
バックアップとリストアは、バックグラウンドワーカー(BullMQジョブキュー)を通して非同期に実行される。バックアップやリストアを作成すると、ジョブがキューに追加されます。ワーカーはそれを受け取り、処理し(Discordからデータを取得したり、リソースを作成したり)、データベースのバックアップ記録を更新します。
ワーカーは Discord の REST API のレート制限を尊重します。大規模なサーバーの場合、ワーカーが完了するまでに数分かかることがあります。ステータスの更新をポーリングするダッシュボードで進捗を監視できます。