「Apostle.CC」取扱説明書(画像付き)
※本記事は陳腐化しています
「Apostle.CC」は、herokuの無料Dyno廃止を受け、稼働を停止いたします。以降のオンラインコンベンション会場設営支援BOTとしては、後継ツールの「Dominion.vv」をご利用ください。
(以降は、Apostle.CC当時のテキストです)
先日、TRPGオンラインコンベンションの会場設営支援用Discord BOT、「Apostle.CC」をリリースしました。
導入直後の操作にそこそこのクセがあるツールですので、「これを読めば最低限の設定は終わる」という説明書を作ることにしました。取り扱いの際に参考になれば幸いです。
1. 「Apostle.CC」の招待とサーバーの設定
こちらのリンクから、「Apostle.CC」の招待画面を呼び出します。
『BOTを追加する場所』のプルダウンリストから、「Apostle.CC」を導入したいサーバーを選んで、「はい」を押してください。
続けてBOTに与える権限の確認画面が表示されます。そのまま「認証」をクリックしてください。
次にこの招待操作を行っている人がロボットでない旨を確認する画面が出ますので、チェックしてください。
これで、サーバーに「Apostle.CC」を導入することができます。
また、Discordのサーバー設定から、「システムのメッセージチャンネル」を設定しておいてください。(デフォルトで設定されている「テキストチャンネル」を削除した場合、要注意!)
デフォルトのチャンネルから変更した場合は、招待リンクを再作成することをオススメします。(「友達を招待」からリンクを作成すると、自動的に「システムのメッセージチャンネル」に入るようなリンクになっています。)
ロール自動付与機能は、この「システムのメッセージチャンネル」にメッセージを投稿します。(R2/10/18更新:システムのメッセージチャンネルが設定されていない場合、ロール自動付与機能が起動しません。)
【R2/08/06 追記】
既にロール作成等の作業をしているサーバーに「Apostle.CC」を導入する場合、ひとつ注意すべきことがあります。
Discordでは、自身より上位のロールに関する操作を行うことができません。上の図だと、「Apostle.CC」よりも「ロール1」「ロール2」が上位にあるため、「Apostle.CC」は「ロール1」「ロール2」に関する操作を実行することができなくなってしまいます。
これを回避するため、新規作成直後でないサーバーに「Apostle.CC」を導入する場合は、必ずサーバー設定の「ロール」タブを確認してください。
「Apostle.CC」ロールが一番上になっていない場合、ドラッグ&ドロップで順序を入れ替え、「Apostle.CC」が一番上になるように変更してください。
2. 管理用チャンネルの作成
「Apostle.CC」は、Discordのサーバーに送られたメッセージをもとに、色んなアクションを行うBOTです。他のユーザーにこれらのメッセージを見られないことが望ましいため、「Apostle.CC」の操作を行うためのテキストチャンネルを作成します。
テキストチャンネルのチャットバーに、上記のように !admin_ch と入力し、ENTERキー等で送信してください。
すると、このように「管理用」というカテゴリーチャンネルが作成されます。この「管理用」のチャンネルは、サーバーの管理者権限を持っているユーザーか、「Apostle.CC」にしか閲覧できません。以下の操作は、この「管理用」チャンネルのテキストチャンネルで行ってください。
3. イベントデータの登録申請
続けて、イベントデータの入力を行うためのページを呼び出します。
先ほどと同じように、 !config とメッセージを送信してください。
「Apostle.CC」が、このメッセージに反応して設定用のページのリンクを作成・返信してくれます。このリンクをクリックして、実際にイベントの情報を入力していきましょう。
なお、このメッセージコマンドには、キャッシュデータを削除する効果もあります。一度登録したデータを編集したい場合、チャンネルを遡ってリンクをクリックするのではなく、もう一度 !config と入力してリンクを呼び出すことをオススメします。
4. イベント情報の入力:サーバー基本設定
ここからはほとんど設定用のページを見ていけば分かると思いますが、簡単に解説していきます。なお、v1.0.1(R2/8/2)時点では、「イベント開催日」の項目を参照する機能はありません。
5. イベント情報の入力:ロール自動付与機能
「Apostle.CC」には、後述する卓情報と連携して、サーバーに入室したユーザーに対応するロールを付与し、その人宛にウェルカムメッセージを送信する機能が搭載されています。
上記内容は初期設定です。この機能を使用しない場合は「使用しない」のラジオボタンをチェックしてください。使用したい、かつ初期設定の文章から色々書き換えたい場合は、以下の内容を参考にしてください。
6. イベント情報の入力:各卓の初期チャンネル設定
それぞれの卓用のカテゴリーチャンネルに最初から入れておくテキストチャンネル/ボイスチャンネルを設定します。
「開発者オススメのチャンネルを一括追加」のボタンを押すと、画像に上げた5つのチャンネルが自動的に入力されます。自由に設定したい場合は、「各卓用のデフォルトチャンネルを追加する」ボタンで新しい行を作り、チャンネル名を入力してください。「種別」は、テキストチャンネルかボイスチャンネルかを選べます。順番を並べ替えたい時は操作列の「↑」「↓」ボタンを、そのチャンネルを消したい場合は「削除」ボタンを押してください。
なお、Discordの仕様として、テキストチャンネル名にアルファベットの大文字を使用しても、小文字として表示されます。
7. イベント情報の入力:各卓の情報入力
この後に作成する各卓用のカテゴリーチャンネルやロール自動付与機能で使用する情報を入力します。各項目については、以下の内容を参考に編集してください。
8. イベント情報の入力:協力者
イベントに「協力者」として参加する人のDiscordユーザー名を入力してください。入力の仕方は上記「卓リーダー」「参加者」の項目と同じです。
9. データの保存
入力お疲れ様でした。「データ保存」ボタンを押して、イベント情報を保存してください。
とりあえず部屋データだけ作りたい場合は、各卓情報の「卓リーダー」「参加者」部分を入力せずに一旦「データ保存」し、後からもう一度設定を行っても大丈夫です。保存さえしていれば、もう一度 !config で設定用のリンクを呼び出した時にも、ちゃんと入力した情報がロードされた状態から編集を再開できます。
10. 会場設営
!admin_ch 、!config と同様に、次は管理用のチャンネルで
!create_site
とメッセージを送信してください。4~9で作成したイベント情報をもとに、各卓のカテゴリーチャンネルと必要なロールを一括作成します。
これらのカテゴリーチャンネルは、その卓に対応するロールがないと閲覧・発言・接続することができません。
11. リーダー連絡用、運営連絡用のチャンネル作成
この項目は、イベント情報入力の際に
とした場合を想定しての解説です。例えば卓リーダーのロール名を「監督」とした場合や、協力者のロール名を「スタッフ」と変えた場合などは、適宜変更してメッセージを送信してください。
!leader_ch
このメッセージを送信すると、管理者権限を持つか、「GM」のロールを持つユーザー(とApostle.CC)にしか閲覧できない「GM連絡用」という名前のカテゴリーチャンネルが作成されます。中にはテキストチャンネルとボイスチャンネルがひとつずつ入っています。
もし、協力者のロールを付与した人もGM連絡用チャンネルに読み書きできたほうが管理の都合が良い場合は、代わりに
!secret_ch GM連絡用 GM 運営
というメッセージを送信してください。(「GM」「運営」に相当する部分を変更している人は、そこを変えるのを忘れないように。)
また、管理者権限を持つか「運営」のロールを持つユーザーがアクセスできるチャンネルを作る場合は、
!secret_ch 運営連絡用 運営
というメッセージを送信すると、「運営連絡用」というカテゴリーチャンネル名で作成できます。カテゴリーチャンネル名を変えたい時はその部分も適宜変えてください。
12. 自動受付処理
会場の作成が終わって、ロール自動付与機能(=受付の自動処理)を使う場合は、そのまま「Apostle.CC」をサーバーに残してください。以降、サーバーに入室したユーザーの名前から、対応したロールを自動的に付与してくれます。
このBOTの機能が不要になった時点で、右側カラムの「Apostle.CC」を右クリックし、「Apostle.CCを追放」を選んでBOTをサーバーから退出させてください。それと同時に、4~9で登録したすべての情報が削除されます。
13. ショータイム!
各卓の参加者以外にも各卓のカテゴリーチャンネルを見ることができるようにしたいなら、
!showtime
というメッセージを送信してください。すべてのユーザーが、卓に対応するカテゴリーチャンネルを閲覧できるようになります。
なお、この機能でチャンネルを開放しても、メッセージの送信やボイスチャンネルへの接続はできません。
!curtain_fall
というメッセージを送信すると、元に戻すことができます。
14. イベントが終わったら
イベントが終わったら、「Apostle.CCを追放」するか、サーバーそのものを削除してください。
これを以て、登録していただいていたすべての情報を削除します。
終わりに
説明書だけで5000字超とは自分でも何事かと思います(陳謝)
このBOT、「Apostle.CC」がイベントを主催する方の支えであり武器となれれば幸いです。
余談
本BOTはherokuでdiscord.pyのBOT部分を、イベント情報の保存などのデータベース部分をFirebaseで運用しています。
Firebaseは平たく言うとアクセス数や通信量に応じた従量課金制であり、無料プランの運用でもそこそこの余裕があります。
イベント主催者の方々には、このBOTではなく各種オンラインセッションツール等に支援をしていただければと思います。