閉じたサークルにおいて内部情報を守るDiscordロール設計 | 東京ファンタジックブラスバンドのブログ

東京ファンタジックブラスバンドのブログ

ゲーム音楽を吹奏楽で演奏するアマチュア吹奏楽団「東京ファンタジックブラスバンド」のブログです。ホームページはこちら(https://www.t-f-b.org)

はじめに

この記事では、加入を厳密に管理している閉じたサークルの Discord において、部外者が Discord 内のやりとりを閲覧できないようにするロール設計について、東京ファンタジックブラスバンドでの実例に基づいて紹介します。

 

招待 URL は流出するという前提に基づき、everyone ロールからあらゆる権限を外して事実上無効化することで実現します。これにより、万が一第三者が Discord サーバーに参加しても何も見えないという状態を作ります。

everyoneロールでサーバーを表示したときの画像
サーバーに入った直後。何も見えねぇ。

おことわり

この記事では、Discord がどのようなものであるかとか、どのように導入するかという内容には言及しません。Discord の用語の説明もしません。

楽団紹介と自己紹介

東京ファンタジックブラスバンドは、東京都を中心に活動するアマチュア吹奏楽団です。60人程度の楽団員が在籍しています。

 

当団では従来メーリングリストと LINE を使用してコミュニケーションをとっていましたが、増加する団員数に対して限界が訪れ、2019年に Discord を導入しました。筆者がこれを主導しました。

 

わたし (筆者) はかみくずです。トロンボーンを演奏していましたが、今は引退してスタッフとして活動をサポートしています。

普段は Web フロントエンドエンジニアとして、とある企業に勤務しています。

本文

Discord は開かれたコミュニケーションツールである

Discord は、ゲーマーコミュニティにおけるコミュニケーションツールとして設計されてきました。

このようなコミュニティは「入りたい人はだれでも歓迎」であり、Discord もそのようにできています。すなわち、サーバー内の誰もがあらゆる投稿を見ることができ、また投稿できるのが原則です。

これが everyone ロールの正体です。

「閉じた」コミュニティを作るには

困りました。サークル活動では、部外に見られたくない情報も扱います。招待URLを部外者に使用されて、サーバー内の情報を見られるわけにはいきません。

 

Discord サーバーを外部から隔絶する最も簡単な方法は、招待 URL を発行しないことです。しかし、当団はたびたび入団者がいらっしゃるので、招待 URL を使わざるを得ません。

 

そこで、招待 URL を使われることまでは許容することにし、仮にそうしてサーバーに入られても何も見えない状態を作ることにしました。

その手段として、 everyone ロールを事実上無効化します。

everyone ロールを事実上無効化する

everyone ロールは、その名の通りサーバー参加者全員につくデフォルトのロールであり、外すことや、参加時につけないことができません。

そこで、everyone ロールからあらゆる権限を剥奪します。

 

当団 Discord の everyone ロールの権限設定の画像

当団 Discord の everyone ロールの権限設定。
「権限をクリア」を使用して、すべての権限を剥奪している

 

こうすると、デフォルトではサーバー上のすべてのチャンネルが見えなくなります。

目的は達成しましたが、これでは不便です。

 

そこで、さらに2点お手当てをします。

  • everyone ロールでも照会・投稿ができるチャンネルの作成
  • everyone ロールの代わりに団員全員に付与する、権限付きロールの作成

everyone ロールでも照会・投稿ができるチャンネルの作成

当団のサーバーでは、参加者通知を行うチャンネルをこれに充てています。

チャンネル個別の権限設定で、everyone ロールに対して「チャンネルを見る」「メッセージを送信」等の権限を付与しています。

 

新入団員がサーバーに参加した直後はこのチャンネルしか見えません。ここで担当者が本人確認を行い、追加の権限を付与することで、ほかのチャンネルを見たり投稿したりできるようにします。

(再掲) everyoneロールでサーバーを表示したときの画像
(再掲) サーバーに入った直後。
everyone ロールしかついていないので、参加者通知チャンネルしか見えない

 

「参加者通知」チャンネルの権限設定画面の画像
「参加者通知」チャンネルの権限設定画面。
everyoneロールに対して、このチャンネルの照会権限と投稿権限を付与している

everyone ロールの代わりに団員全員に付与する、権限付きロールの作成

everyone ロールを事実上無効化したので、本来 everyone ロールが担っていた一般的な権限を別途付与する必要があります。これを参加者個別に扱っていては担当者が倒れてしまうので、代わりとなるロールを作成し、全員に付与します。当団では「団員」ロールとしています。

 

先述の本人確認後にこのロールを付与することで、「団員」としてサーバーを使用することができるようになります。

 

「団員」ロールの権限設定画面の画像
「団員」ロールの権限設定画面。
チャンネルの照会権限等、活動に必要な権限を付与している。

まとめ

everyone ロールからあらゆる権限を外して事実上無効化することで、クローズドなサーバー管理を行うことができます。

それだけでは不便なので、everyoneでも使えるチャンネルをひとつだけ設けつつ、everyoneの代わりとなるロールを作成して全員に付与しました。

 

このような事例はなかなか共有されることがないようで、この記事がみなさまのお力添えになれば幸いです。

演奏会、やります

10月に演奏会をやります。ぜひお越しください。


東京ファンタジックブラスバンド 第11回演奏会

 

2024年10月6日(日) パルテノン多摩 大ホール 

開場: 12:00 / 開始: 13:00 / 終了: 16:00

 

無料ですが、事前に入場チケットの発行が必要です。以下のページより発行いただけます。

 

演奏会の詳細は以下のページをご覧ください。