Discordの記録Bot:CordBaseでサーバー内のあらゆるものを記録する方法
Discordコミュニティは何かを記録しています。活発なサーバーなら必ずといっていいほど行われている、もっとも基本的な活動のひとつです。ゲームギルドは戦利品と出欠を、eスポーツチームは試合結果を、勉強会は課題を記録します。ビジネスなら注文やサポートチケット、フリーランスのコミュニティなら依頼や納品物です。どこでも必要とされているのに、これまでのツールはずっと物足りないものでした。
Discordサーバーでのよくある記録の流れは、だいたいこうです。誰かがGoogleスプレッドシートを作り、リンクをチャンネルに投稿してピン留めし、メンバーにデータを入力するよう頼みます。最初の1週間はうまくいきます。やがてピン留めは新しいピン留めに埋もれます。メンバーはスプレッドシートのリンクを忘れます。PCでは入力しても、スマホではわざわざ入力しない人もいます。結局、管理者がメンバーの代わりに手作業で入力することになります。1か月もすれば、スプレッドシートは放置されるか、どうしようもなく穴だらけになります。
Discordでの記録がこれほど難しいのは、やる気がないからではありません。手間がかかるからです。メンバーをDiscordの外に連れ出すクリックが1回増えるたびに、実際にデータを記録してもらえる可能性は下がります。解決策は、記録の入り口をDiscordの中に置き、メンバーがすでに使い慣れているスラッシュコマンドや操作で済むようにすることです。CordBaseがしているのは、まさにそれです。
具体例を見てみましょう。たとえばイラストのコミュニティサーバーを運営していて、コミッションの依頼を記録したいとします。CordBaseのダッシュボードで「Commissions」というテーブルを作り、client(メンバー)、artist(メンバー)、description(テキスト)、price(数値)、status(選択肢:pending、in-progress、completed、cancelled)、deadline(日付)の列を用意します。CordBaseはこのテーブル用のスラッシュコマンドを自動で生成します。依頼者は/commissions addでコミッションを依頼します。イラストレーターは作業の進み具合に合わせて/commissions updateでステータスを変えます。誰でも/commissions queryで自分のコミッションの状況を確認できます。管理者はWebダッシュボードで全体を把握し、会計用にテーブルをエクスポートします。
同じやり方は、ほとんどどんな記録にも当てはまります。出欠の記録なら、メンバー、イベント名、日付、出席・欠席のはい/いいえの列を持つテーブルを作ります。タスクの記録なら、メンバー、タスクの内容、優先度(選択肢)、ステータス(選択肢)、期日です。在庫の記録なら、アイテム名、数量、持ち主、カテゴリ。スコアの記録なら、プレイヤー、ゲーム、スコア、日付。注文の記録なら、顧客、商品、数量、合計、発送状況です。CordBaseの列の種類(テキスト、数値、日付、はい/いいえ、選択肢、メンバー)があれば、ほとんどの記録システムの部品はそろいます。
CordBaseが記録にとくに向いている理由のひとつが、フィルターつきのqueryコマンドです。メンバーはデータをただ放り込むだけでなく、必要なものをピンポイントで取り出せます。「自分の未完了のタスクを見せて」「先週のレイドの出欠を見せて」「ステータスがpendingの注文を全部見せて」。フィルターで絞り込めることで、データの置き場所が、メンバーが毎日頼りにする本当に役立つツールになります。自分が入力したデータから何かを得られるとわかれば、人はずっと入力を続けてくれるようになります。
汎用の記録ツールにはない、もうひとつの層が権限です。ほとんどのコミュニティでは、全員がすべての記録を変更できるべきではありません。CordBaseのロールベースの権限を使えば、テーブルごとに誰が閲覧、編集、管理できるかを決められます。役員はイベントの出欠を更新でき、一般のメンバーは閲覧だけ、という設定もできます。これだけ細かく決められるので、うっかりデータを壊してしまうことを防げ、管理者は記録の正確さを信頼できます。
WebダッシュボードはDiscordでの操作を補い、記録したすべてのデータをスプレッドシートのような画面で管理者に見せます。すべての行を閲覧し、まとめて一括編集し、CSVやJSONにエクスポートできます。出欠記録の提出、依頼者への請求、大会結果のまとめなど、データをもとに報告が必要なコミュニティにとって、記録した生のデータが使える情報に変わるのはダッシュボードです。
Discordコミュニティで、スプレッドシート、ピン留めしたメッセージ、手作業で何かを記録しているなら、もっとよい方法があります。CordBaseはサーバーを記録のプラットフォームに変えます。データの入力はスラッシュコマンドで済み、取り出すのも一瞬で、権限はきちんと守られ、管理者用のダッシュボードですべてを管理できます。最初の記録用テーブルは5分もかからずに作れます。コミュニティの作業がどれだけスムーズになるか、試してみてください。