アクセス権

許可システムを開発するとき、簡単に設定できる簡単な許可システムが必要であると判断しました。
FredBoatは、それぞれ異なる権限を持つ4つのランクを使用します。

ランク権限説明
3: AdminFredBoatの設定や権限を編集できます
2: DJスキップしたり、一時停止/一時停止を解除したり、繰り返しモードを変更したり、
シャッフルモードを変更することができます。
デフォルトでは、@everyoneはこの権限に設定されています。
1: Userトラックをキューに追加することができ、自分のトラックをスキップすることができます。
@everyoneをDJ権限から削除して、ユーザーとして割り当てます。
0: Base高いランクなしに誰にでも与えられます。
キューやプレーヤーを変更することはできませんが、;;list・;;npなどのコマンドを使用することはできます。

特記事項

  • Discordの「管理者」権限を持つユーザーと所有者は暗黙的にすべての権限を持っています。
  • アクセス権は、サーバー固有でありチャンネル固有ではありません。
  • 高いランクも低いランクの権限を持っています。
  • アクセス権は、ユーザーまたは役割に付与することができます。これには、@everyoneも含まれます。
  • デフォルトでは、全員がDJとUserの権限を持っています。
    次のコマンドを使用してDJリストから@everyoneの役割を削除し、それらをUsersにします。

Permission コマンド

;;admin add <user/role>
;;admin del <user/role>
;;admin list
;;dj add <user/role>
;;dj del <user/role>
;;dj list
;;user add <user/role>
;;user del <user/role>
;;user list

コマンドの名前は、変更または一覧表示するランクを指定します。

list以外のコマンドはAdmin権限を持つユーザーのみに制限されています。
addコマンドを使用して、ユーザー名または役割を権限に追加することができます。

del コマンドを使用すると、ユーザーまたは役割をランクから削除できます。

追加または削除するユーザーまたは役割のフルネームを指定する必要はありません。
FredBoatは、名前とID番号の大文字と小文字を区別しない検索を行います。

セルフホスティングに関する注意

Botが実行されているボットアプリケーションの所有者には自動的にBOT_OWNER権限が与えられます。
configuration.ymlで指定された管理者には、BOT_ADMIN権限が付与されます。
これらのランクでは、ボットの再起動、すべてのサーバのADMIN権限の制御など、Botをほぼ完全に制御することができます。