VIVITABLOG

VIVITAで活躍するメンバーの情報発信サイト

Discordを使って開祖した話

どうも、ハードウェアエンジニアの嶋田です。
今日はハードネタではありません。タイトルにあるように宗教ネタです。
.
..
...
嘘です。Discordの話です。昨今のコロナ禍においてリモートワークをされている方が増えていると思いますが、コミュニケーションツールとして何を使っていますか?
Slack? Zoom?いや私はDiscordを推したい。

Discordの特徴

discord.com

もしかしたら知らない方も多いかもしれませんが、ゲーマー界隈では超がつくほど有名ツールです。なぜなのかというと音声通話に特化しており、有料化しなくても困らない位に使えてしまうからです。基本的にSlackと同じくチャンネルという概念があるのですが、Slackやその他のツールとは違う面白い特徴があります。

  • ボイスチャンネル

f:id:shozaburo:20200601162703p:plain

ボイスチャンネルはそれぞれが「部屋」のようになっており、誰でも出入り自由。入った部屋ごとに通話が可能となります。誰がどこで話しているのかが部屋毎に丸分かりで非常に透明性が高いのが特徴です。また、特に目的がなくても「部屋で待つ」ということができます。誰かが部屋で待っていると「あの人がいるから入ろう!」みたいなことが起こるのがDiscordの面白いところで、どの通話手段よりも通話に対する敷居が低いUXとなっています。

  • スピーカーミュート

それ必要?と思われがちですが、あると便利なのがこれ。昨今のコロナ禍の影響で、通話ツールをつなげっぱなしで同時使用なんてことがよくあります。たとえば、DiscordとZoomの両方を同時使用していたときにZoomに呼ばれてZoomで話しているときはDiscordをマイクミュート、スピーカーミュートします。これでDiscord側の影響を受けずにZoomで話せます。逆はできません、Zoomはマイクミュートはできてもスピーカーミュートできないので、Zoomの話し声が邪魔になります。その場合Zoomから一回抜ける必要がありますが、Zoomの場合その出入りが結構面倒なのです。

  • ロール

f:id:shozaburo:20200601164239p:plain:h240 f:id:shozaburo:20200601164611p:plain:h240

Discordでは管理者が自由にロールを作成、ロールに応じた細かい権限設定の付与が可能です。また、ロールは掛け持つこともできます。「特定のロールを持つ人だけが参加できるチャンネル」などを作ることもできます(詳細は後述)。

Discordで開祖する手順

前置きが長くなりましたが今日の本題です。Discordの使い方の参考事例をひとつご紹介します。

  • "?pray"と入力すると、"嶋田教信者”というロールが自動付与
  • "嶋田教信者"というロールをもつ人だけが、"private_嶋田教"というチャンネルに参加できるようになる

というものです。(当然こんな宗教は存在しません。ただのネタです。念の為。) f:id:shozaburo:20200601165334p:plain

この仕組みをどうやって作成したのか順を追って説明します。ロール名、チャンネル名は好きなものに置き換えてください。

ロールの作成

サーバー設定 → ロール
から"嶋田教信者"というロールを作成します。

チャンネルの作成

テキスト、ボイスどちらでもよいですが"private_嶋田教"というチャンネルを作成します。 その時に、プライベートチャンネルをONにし、アクセス権限として"嶋田教信者"のみONにします。 これで、そのロールを持っている人しかアクセスできなくなります。

f:id:shozaburo:20200601170237p:plain

ロール自動付与のためのBotの導入

教祖自らの手で信者のロールを付与してもよいのですがそれでは面白くないので、 参加したい人が自らの手で"?pray"と打つとロールが自動付与されるようにしました。

まずは簡単にカスタムコマンドを作れるDiscord BotのDynoを導入します。 dyno.gg

Dynoのページへ移動したら"Add to Server"をクリックします。 自分がDynoを入れたいDiscordサーバーを選択して”はい”を押します。

Dynoでカスタムコマンド作成

再度Dynoのページへ行き、Login with Discordをクリックしてカスタムコマンドが作れるページへ行きます。 f:id:shozaburo:20200601205148p:plain 左のメニューの"Custom Commands"をクリックし、表示された画面の中の"Add Command"をクリックします。 f:id:shozaburo:20200601205355p:plain この画面の通りに入力します。Commandは今回prayとしてますが、好きな単語に置き換えてもらって大丈夫です。
Responseは”{!role {user} 嶋田教信者}”と入力します。まず"!role <ユーザー名> <ロール名>"で、指定したユーザーに、指定したロールを付与します。ただし、今回のユーザーはコマンドを打った本人ですから、コマンドを打った本人を表す"{user}"と入力します。最後のロール名は、自動付与したいロールを直接書けばいいので"嶋田教信者"となります。

これでカスタムコマンドができました。カスタムコマンドは"?"+"Custom Command"で実行できます。今回の例でいうと"?pray"です。Command Prefixの”?”はDynoの設定で別の記号にすることも可能です。

Dynoの権限設定

再度、ロールの設定画面に飛び、Dynoのロールを嶋田教信者より上の位置にします。Dynoにロール付与の権限を設定していたとしても、自分より上のロールは付与できません。従って、付与したいロールよりもDynoを上の位置に設定しなければいけません。 f:id:shozaburo:20200601210401p:plain

試す

これが初期状態。ロールは何もなく"pravate_嶋田教"というチャンネルも見えません。 f:id:shozaburo:20200601211346p:plain

次にカスタムコマンド"?pray"を打った後。ロールが付与され、"private_嶋田教"というチャンネルも見えるようになりました! f:id:shozaburo:20200601211631p:plain

ちなみにカスタムコマンドを実行できるチャンネルの指定も可能です。嶋田教入会案内というテキストチャンネルがあるのでそこでのみコマンドを実行可能にするには、以下のように"Permissions"の"Allowed Channels"に設定すればOKです。 f:id:shozaburo:20200601211937p:plain

おわり

この他にも、

  • MEE6というBotを入れるとレベル制を導入できるので、そのレベルに応じて宗教的地位(という名のロール)を付与する
  • RythmというBotを入れるとボイスチャンネルにBGMを流してくれるので、特定のチャンネルだけひたすらお経を流す

などSlackに負けず劣らず色々な遊び方ができそうです。Discord楽しいのでコロナ禍のこの機に是非触ってみてくださいー。