あねぶろっ!

主に自分の役に立った情報をまとめています。

Discord ―コミュニティ管理の第一歩

マストドンの管理者向けの記事が続いたので、ついでによく使われているDiscord鯖管理について述べておきます。

目次

概要

既にご存知の通り、Discordは誰でも簡単にサーバーを建ててコミュニティを管理できるチャットサービスです。

f:id:kazunee_san:20180907145117p:plain

現在メインで運営している鯖です。去年の7月に建てて参加者は国内外問わず400人を超えています。ここまで増えたのにはある簡単な理由があるのですが、同時に問題も増えました。これについては最後に述べます。

サーバー名は当初から「Alserver」で、ここが今のマストドン鯖の前身になっています。

ちなみにローカル向けですが、マストドンの方のあるさばには別のDiscord鯖があります。~/web/getting-startedの「ちんちん電話」に招待リンクが埋め込んであるので是非参加してください(こっちの招待リンクは広めないでください)。

便利な機能やツールについて

Discordで鯖管理するにあたって、知っておくと便利な機能やツールについて紹介しておきます。

IFTTT連携を導入しよう

DiscordではWebhookとIFTTTを使って様々な連携をすることができます。

Twitterの投稿をチャンネルに流す

まずIFTTTにアクセスして「Get started」あるいは「Sign up」からサイトに登録、ログインします。

f:id:kazunee_san:20180907171415p:plain

次に右上から「New Applet」を選択、または「My Applets」から「New Applet」を選択してください。

f:id:kazunee_san:20180907171445p:plain

青く表示されている「+this」をクリックして、トップに表示される「Twitter」を選択します。次に表示される中から「New tweet by a specific user」を探して選択してください。

f:id:kazunee_san:20180907171708p:plain

「Username to watch」の下のボックスに、Discordに流したいTwitterアカウントのID(「"アカウント名"@」以降に表示されているもの)を入れます。

f:id:kazunee_san:20180907173328p:plain

入力したら「Create trigger」をクリックして、青く表示されている「+that」をクリックしましょう。

次に検索ボックスに「web」と入力すると、青色の「Webhooks」が表示されるので選択して「Make a web request」をクリックします。

f:id:kazunee_san:20180907173344p:plain

ここでDiscordを開き、投稿を流したいチャンネルの設定(歯車アイコン)から「Webhooks」を選択して「Create Webhook」からWebhookを作成してください。

f:id:kazunee_san:20180907172001p:plain

「Edit」から以下の画面を開き「WEBHOOK URL」をコピーします。

f:id:kazunee_san:20180907172304p:plain

IFTTTの画面に戻り「URL」のボックスに先程の「WEBHOOK URL」をペーストします。

f:id:kazunee_san:20180907172603p:plain

「Method」は「GET」から「POST」に変更、「Content Type」は「application/json」を選択してください。「Body」のボックスには以下のコードをコピペします。


    { "username":"アカウント名", "avatar_url":"画像アドレス", "content":"{{Text}}" }
    

アカウント名にDiscordで表示する名前、画像アドレスには表示する画像のアドレスを入れます(画像アドレスは画像を右クリックして「画像アドレスのコピー」から取得できます)。最後に「Create action」、「Finish」を順にクリックして完了です。

これでDiscordに任意のアカウントを連携することができます。なお若干のラグ、投稿が流れない等の不具合が起こることがあります。投稿が流れないときは作成した「Applet」が「On」の状態になっているか確認してみてください。残念ながらそれでも流れない場合がありますが原因は分かっていません。

Youtubeの最新動画の情報をチャンネルに流す

Youtubeの場合もほとんど同じです。「+this」の後に「YouTube」を選択します。

f:id:kazunee_san:20180907174312p:plain

次に「New public video from subscriptions」を選択します。

f:id:kazunee_san:20180907174340p:plain

ボックスからDiscordに流したいチャンネルを選択して「Create trigger」をクリックします。なおボックスに表示されるのはチャンネル登録したものだけです。

f:id:kazunee_san:20180907174611p:plain

以降は先程と同様です。「Body」に張り付けるコードは以下のようにしてください。


    { "username":"アカウント名", "avatar_url":"画像アドレス", "content":"**{{AuthorName}}** uploaded **{{Title}}** at {{CreatedAt}}: {{Url}}" }
    

Webサイトの更新情報をチャンネルに流す

RSSを利用してWebサイトの更新情報を流すことも可能です。基本的な流れは上記と同じです。「+this」の後に「RSS Feed」を選択してください。

f:id:kazunee_san:20180907175656p:plain

次に「New feed item」を選択します。

f:id:kazunee_san:20180907175731p:plain

ボックスに流したいサイトの「Feed URL」を入力します(Feed URLは通常のURLとは異なります。リストや変換ツールを利用して取得してください)。

f:id:kazunee_san:20180907180159p:plain

「Body」のコードは以下のようにします。


    { "username":"任意のサイト名", "content":" posted **{{EntryTitle}}** {{EntryPublished}}: {{EntryUrl}} " }
    

Botを導入しよう

Discordには様々なBotがありますが、ここでおすすめを紹介しておきます。

Mee6

Discordに関する様々な機能を実行してくれる便利なBotです。招待は以下の公式サイトからできます。

Mee6: the Discord bot

特に役職を自動で付与してくれたり、ユーザーが鯖を出て行ったときにお知らせしてくれる機能が便利です。

設定は上記の公式サイトのダッシュボードから行えます。

f:id:kazunee_san:20180907190014j:plain

役職を自動で与えるには「LEVELS」から以下の部分を設定すればいいです。

f:id:kazunee_san:20180907190312j:plain

ユーザーがテキストチャンネルに書き込むとXPを獲得でき、一定値になるとLEVELが上がるという仕組みになっています。また「WELCOME」から以下の画面を設定するとサーバー参加時に任意の役職を与えることもできます。

f:id:kazunee_san:20180907190851j:plain

ユーザー退出時のメッセージとチャンネルは下の方で設定してください。

FredBoat

DiscordにはYoutubeSoundCloud等のサイトからボイスチャットで音声を流す機能を持ったBotがたくさんあります。FredBoadもその一つです。

以下の公式サイトから招待できます。

FredBoat - Discord Music Bot

音声を再生するにはボイスチャットに入った状態で;;play キーワードまたはurlと入力してください。コマンドの詳細はこちらです。なお有料版でないとVolumeの設定はコマンドから行えないので各自で調整しましょう。

サーバーの見た目を整えよう

サーバーの見た目を整える際に便利な機能や技を紹介します。

テキスト装飾

Discordでは以下のようにテキストに装飾を施すことができます。

f:id:kazunee_san:20180907184011j:plain

コードブロックを使うとテキストに色を付けたりできます。詳細はこの動画を参考にしてください。

カテゴリーや役職名に絵文字を入れる

以下のようにカテゴリーや役職名に絵文字を入れると印象が変わります。

f:id:kazunee_san:20180907184715j:plain

絵文字のショートコードを入れても反映されないので、以下のようなサイトから絵文字を直接コピペしましょう。

Full Emoji List, v11.0

おまけ:公式ガイドラインの日本語訳

いつか忘れましたが暇な時に公式ガイドラインを日本語訳したので参考までに載せておきます。今確認したら訳したときと少し文言が変更されていましたがまあいいでしょう。雰囲気だけでも理解しておくといいと思います。

序文

私たちは皆で集まってゲームをするのが大好きで、それがDiscordを継続して運営していく理由になっています。

ゲームを通して得た楽しい思い出や繋がりが、あらゆる規模のユーザーが使うサービスを開発する上での原動力なのです。

この考えをより理解していただくために、以下のガイドラインを作成しました。

注意ー私たちは全てのアクティビティやコンテンツを常に監視しているわけでも、それに対して責任があるわけでもありません。各サーバーの運営は以下のガイドラインを支持しているものとし、そうでない場合は干渉・仲裁を行う可能性があります。

~中略~

次の事柄は認められていません。コンテンツの削除及び警告を発します。過度な場合はアカウント削除を行います。

・攻撃的な言動及び、その他嫌がらせを計画・実行すること。個人やコミュニティに対する嫌がらせを煽るコンテンツの投稿・発言をしないでください。もしこれが行われた場合には、速やかにブロックしてください。

・脱法ツールの使用及び、相手ユーザーの望まないフレンドリクエストやメッセージの多重送信。ユーザーを困らせる目的でスパムアカウントを作成すること。なりすまし行為。

・未成年者を描写した画像等の共有(ロリコンショタコンはダメだぞ)。

・他人の人権、知的財産権、その他法律で認められた権利を侵害するコンテンツの共有。デジタルミレニアム著作権法(日本の著作権保護法に相当する法律)を侵害するコンテンツやリンクの共有。私たちは責任を持ってこの法律を守ります。

・自殺や自傷行為を賛美・促進するコンテンツの共有。具体的には、自身を切りつけたり痛めつけたりする行為、拒食症や過食症などの食に関する病気、カウンセリングや治療を探すよりむしろ自殺に専心すること。オンラインコミュニティには暗闇にいる彼らを助け出す力があります。彼らを助ける優しい人になってください。誰かが緊急の助けを求めているときには、ローカル権限と相談を行ってください。

・Discord運営チームに対するスパムの送信。虚偽の情報の作成やその他雑多な情報を送り付けないでください。送られてきた場合には、出来るだけ迅速にアドレスを特定します。

・NSFWチャンネルを適切に設けないこと。一部には18歳未満の子どもに対して不適切なコンテンツもあるため、アダルトコンテンツはNSFWチャンネルに分類しましょう。チャンネルに年齢制限を設けることにより、閲覧したくない人たちを守ることができます。

・動物虐待や血などのコンテンツの共有。加虐的な快楽、暴力行為の賛美を目的としたコンテンツの共有。

次の事柄は固く禁止されています。即刻コンテンツとアカウントの削除を行います。

・直接的に個人の身体的・経済的身分を脅迫するコンテンツの共有。誹謗中傷。殺害予告など、他人を脅迫する発言。個人情報の晒し上げやその脅迫。具体的には、電話番号やメールアドレス、その他パスワードや写真。他人のプライバシーを尊重してください。

利用規約(以下リンク)に反する一切の行為。ハッキングやクラッキング海賊版ソフトウェアの配布、その他個人や企業のサービスへの攻撃を含む、あらゆる法律違反やそれを煽る行為。https://discordapp.com/terms

・未成年者への性的勧誘や暴力に関するコンテンツの共有。未成年者への不適切な行為を描写したコンテンツやリンクを共有しないでください。

・性的で下品なコンテンツやリンクの共有。他の人の許可なしに露骨な性的描写を含むコンテンツを共有しないでください。リベンジポルノに関するコンテンツの共有をしないでください。

・ウイルスの配布。フィッシング詐欺。個人を詮索、ハッキング、ウイルス等の嫌がらせで脅迫しないでください。

・他人のユーザーアカウントを盗もうとする行為。

上記に関するお問い合わせはabuse@discordapp.comにて受け付けています。

抱えてる問題について

最後に冒頭で触れた問題について述べておきます。

Discordのあるさばは当初マストドンの仲間内だけで集まってやっていましたが、ある時招待リンクを以下のページに載せたところどんどん人が鯖に入ってくるようになりました。

Discordちゃんねる(β)

DISBOARD | Discord サーバー掲示板

Discord BBS

以前のコミュニティはもちろん崩壊しました。それはある程度覚悟していましたが、残念だったのは新しいコミュニティが生まれなかったことです。アクティブユーザーも次第に減少していきました。

明らかに失敗です。実は今のあるさばの招待制はこの経験からきています。コミュニティの拡張は慎重に行うべきでした。

今後Discord鯖の方は招待リンクの停止、及び非アクティブユーザーのキックを行うつもりですが回復は難しいでしょう。最悪サーバーの削除も考えています。

とはいえ、Discordがコミュニティ管理の第一歩だったことは間違いないです。誰でも気軽にコミュニティの運営ができるのですから、まずは手始めにやってみるといいかもしれません。

長くなりましたが最後まで読んでいただきありがとうございました。