941::blog

たまに面白いことをいうブログです

1000人超が同時参加する技術イベントのチャットをDiscordでやったらウルトラよかった話

Discordめっちゃいい!という話です。エンタープライズ向けではないけどコミュニティやイベントには最強じゃないでしょうか。
Card
はい、わたしは ISUCONというパフォーマンス・チューニングコンテストの運営をやってるんですが、毎年悩むのがサポートチャット。「Skypeでええやん」とかたまに言われますが、参加者全員に同時に通知したいとか、参加者の前でやり取りすれば直接関係ない他の参加者も状況把握しやすいという理由でサポートチャットを導入してます。

要件としては
・URLで招待が出来る
・1日目と2日目と参加者がわかれるので別々の部屋が立てられる
・MAXで1000人超が同時に利用してもサービスが落ちない
というところ。

プラス、あるといいなってのはMacスマホアプリ対応くらいのもの。過去にはidobataという日本で開発されているチャットアプリを利用させてもらっていて、今年はどこでやろうかなと思っていたところSlackがよいだろうとinviteできるものをISUCON運営チームの方に準備してもらい(ありがとうございます)1日目と2日目の参加者へ共有。

すると「どうやらinviteの上限100件に引っかかったかなにかでjoin出来ない」との報告がTwitter経由で続々と届く。上限を開放してもらおうと問い合わせフォームから連絡するもアメリカはまだ深夜で当たり前だけど対応されず。「Freeプランよりも有料プランのほうがいい?」と検討するものの、優先的に対応してくれるというスタンダードプランは1ユーザーあたり月960円がかかり、1000人だと96万円!即対応してくれるというプランは1600円で160万円!日割りでどうにかなるのか、trial期間があるのか、払ったとしてもすぐに解消されるのかわからない…前もって言っておけばよかったけど今すぐどうにかしないといけない…と悩んでいたところ、参加者や運営チームから「Discordがいいんじゃない?」との声があり検討開始。

Discord
・もともとはオンラインゲームで使うために作られたもので音声チャットがメイン
・基本的に無料で使える
・日本語化が完璧
・各種アプリにも対応
・サーバごとにURLで招待が可能
・チャンネル/サーバごとの上限に問題なし
ということで、すぐに導入決定。参加者へはすぐに連絡。あっというまに1日目2日目それぞれのサーバで400人超の参加者を受け入れてくれました。素晴らしい。


権限はチャンネルごとに決められるけど少しわかりにくく、今回は1日目と2日目で情報を完全に分断する必要があったため(問題の内容が知られてはいけないので)あまり深追いせずにサーバごとわける運用とした。

Macアプリ版の画面。
左から、サーバ切り替え、チャンネル、メインチャット、ユーザーリスト
_general_-_Discord


ゲーム由来だからか「役割」というのが設定出来て、これがまた便利。例えば「運営」という役割を作って、メンバーリストから「941さんを運営にセット」していくと @運営 と打つと、その役割を持った人全員にmentionが飛ぶという仕組み。超便利!

他には絵文字でのリアクションがめちゃくちゃよくて、何か告知した時にテキストだと「了解しました」とかでスレッドログが流れていってしまうけど、ボタンでincrementされていくので見やすい。

ISUCONは参加者の皆さんにとても申し訳ないことに開始が遅れてしまったけど、このようにアナウンスして絵文字リアクションで優しく見守られており、申し訳ないと同時に感謝の気持ちが大きかった…
_general_-_Discord2


そんなかんじで、興味があればまずは使ってみてはいかがでしょうか。めたんこおすすめです。





※ちなみにSlackからは翌日「制限解除したよー、試してみて」と連絡をいただきました、結局乗り換えちゃったんですが。先に言っておけばよかったですね、すいません…