見出し画像

「Apostle.CC」取扱説明書(画像付き)

※本記事は陳腐化しています

「Apostle.CC」は、herokuの無料Dyno廃止を受け、稼働を停止いたします。以降のオンラインコンベンション会場設営支援BOTとしては、後継ツールの「Dominion.vv」をご利用ください。


(以降は、Apostle.CC当時のテキストです)


 先日、TRPGオンラインコンベンションの会場設営支援用Discord BOT、「Apostle.CC」をリリースしました。

 導入直後の操作にそこそこのクセがあるツールですので、「これを読めば最低限の設定は終わる」という説明書を作ることにしました。取り扱いの際に参考になれば幸いです。

【更新履歴】
R2/08/02:公開
R2/08/03:システムのメッセージチャンネル周りについて追記
R2/08/06:作業済みのサーバーに導入する場合の補足を追記
R2/08/06:初期チャンネル設定の機能追加について追記
R2/10/18:ver 1.3.0の更新に追随して内容を修正
R4/10/21:Dominion.vv移行に伴い、本記事は陳腐化していることを明記

1. 「Apostle.CC」の招待とサーバーの設定

 こちらのリンクから、「Apostle.CC」の招待画面を呼び出します。

画像1

 『BOTを追加する場所』のプルダウンリストから、「Apostle.CC」を導入したいサーバーを選んで、「はい」を押してください。

画像2

 続けてBOTに与える権限の確認画面が表示されます。そのまま「認証」をクリックしてください。
 次にこの招待操作を行っている人がロボットでない旨を確認する画面が出ますので、チェックしてください。
 これで、サーバーに「Apostle.CC」を導入することができます。

画像11

 また、Discordのサーバー設定から、「システムのメッセージチャンネル」を設定しておいてください。(デフォルトで設定されている「テキストチャンネル」を削除した場合、要注意!)
 デフォルトのチャンネルから変更した場合は、招待リンクを再作成することをオススメします。(「友達を招待」からリンクを作成すると、自動的に「システムのメッセージチャンネル」に入るようなリンクになっています。)
 ロール自動付与機能は、この「システムのメッセージチャンネル」にメッセージを投稿します。(R2/10/18更新:システムのメッセージチャンネルが設定されていない場合、ロール自動付与機能が起動しません。)

【R2/08/06 追記】
 既にロール作成等の作業をしているサーバーに「Apostle.CC」を導入する場合、ひとつ注意すべきことがあります。

画像12

 Discordでは、自身より上位のロールに関する操作を行うことができません。上の図だと、「Apostle.CC」よりも「ロール1」「ロール2」が上位にあるため、「Apostle.CC」は「ロール1」「ロール2」に関する操作を実行することができなくなってしまいます
 これを回避するため、新規作成直後でないサーバーに「Apostle.CC」を導入する場合は、必ずサーバー設定の「ロール」タブを確認してください。
 「Apostle.CC」ロールが一番上になっていない場合、ドラッグ&ドロップで順序を入れ替え、「Apostle.CC」が一番上になるように変更してください。

2. 管理用チャンネルの作成

 「Apostle.CC」は、Discordのサーバーに送られたメッセージをもとに、色んなアクションを行うBOTです。他のユーザーにこれらのメッセージを見られないことが望ましいため、「Apostle.CC」の操作を行うためのテキストチャンネルを作成します。

画像3

 テキストチャンネルのチャットバーに、上記のように !admin_ch と入力し、ENTERキー等で送信してください。

画像4

 すると、このように「管理用」というカテゴリーチャンネルが作成されます。この「管理用」のチャンネルは、サーバーの管理者権限を持っているユーザーか、「Apostle.CC」にしか閲覧できません。以下の操作は、この「管理用」チャンネルのテキストチャンネルで行ってください。


3. イベントデータの登録申請

 続けて、イベントデータの入力を行うためのページを呼び出します。

画像5

 先ほどと同じように、 !config とメッセージを送信してください。

画像6

「Apostle.CC」が、このメッセージに反応して設定用のページのリンクを作成・返信してくれます。このリンクをクリックして、実際にイベントの情報を入力していきましょう。

 なお、このメッセージコマンドには、キャッシュデータを削除する効果もあります。一度登録したデータを編集したい場合、チャンネルを遡ってリンクをクリックするのではなく、もう一度 !config と入力してリンクを呼び出すことをオススメします。


4. イベント情報の入力:サーバー基本設定

画像7

 ここからはほとんど設定用のページを見ていけば分かると思いますが、簡単に解説していきます。なお、v1.0.1(R2/8/2)時点では、「イベント開催日」の項目を参照する機能はありません。

■サーバーID:
 !config コマンドで呼び出した時に自動作成される固有のIDです。ユーザ側でこれを使うことはありませんので、あまり気にしないでください。

イベント名:
 イベントの名前を記入してください。自動受付の時にこのイベントの名前を使うことができます。

■ロール自動付与の期限
 この日になると、ロール自動付与機能(=受付の自動処理)を行わなくなります。

■卓リーダーのロール
 各卓の進行役となるユーザーに付与するロールの名前を入力してください。GM、KP、DM、NC、監督などを想定しています。
 このロールを持つ人は、メッセージ・チャンネルの管理・編集ができる権限を与えられます。各卓のメッセージのピン留めや、必要に応じてのチャンネルの増設などは、各卓リーダーの判断で行えるようにこのように設定しています。

■協力者のロール
 運営サイドとなるスタッフに付与するロールの名前を入力してください。このロールを持つ人は、各卓用のチャンネルすべてを閲覧することができ、さらにメッセージとチャンネルの管理・編集ができる権限を与えられます。サーバー管理者(=主催者)は、必要に応じてこのロールにその他の権限も与えてください。


5. イベント情報の入力:ロール自動付与機能

画像8

「Apostle.CC」には、後述する卓情報と連携して、サーバーに入室したユーザーに対応するロールを付与し、その人宛にウェルカムメッセージを送信する機能が搭載されています。
 上記内容は初期設定です。この機能を使用しない場合は「使用しない」のラジオボタンをチェックしてください。使用したい、かつ初期設定の文章から色々書き換えたい場合は、以下の内容を参考にしてください。

■ウェルカムメッセージ送信の優先度
 ウェルカムメッセージを送信する際、リストにユーザー名が載っていない人に対しては、【エラー】のウェルカムメッセージを送信します。
 また、複数の条件に該当するユーザーに対しては、【協力者】>【卓リーダー】>【プレイヤー】の優先順位でメッセージの内容が決定されます。(複数日程にまたがるイベントで、1日目はA卓でGMをして、2日目はB卓でプレイヤーをする…みたいなケースでありうる挙動です)
 この時、メッセージは一番優先度の高いものだけが送信されますが、必要なロールはすべて付与されています(例に挙げたケースだと、「GM」「A卓」「B卓」のロールが付与される)。

■固有名詞の自動置換
 ウェルカムメッセージを送信する際、以下の文字列は自動的に対応するものに置き換えられます。
%eventname% → サーバー基本設定で決めた「イベント名」
%user% → 送信先のユーザー名
%table% → そのユーザーが参加する卓の「卓識別名」(後述)
%leader% → サーバー基本設定の「卓リーダーのロール名」
 %table%の文字列は、この情報が紐付かない「協力者」「エラー」のメッセージには含めないようにしてください。


6. イベント情報の入力:各卓の初期チャンネル設定

画像9

 それぞれの卓用のカテゴリーチャンネルに最初から入れておくテキストチャンネル/ボイスチャンネルを設定します。
 「開発者オススメのチャンネルを一括追加」のボタンを押すと、画像に上げた5つのチャンネルが自動的に入力されます。自由に設定したい場合は、「各卓用のデフォルトチャンネルを追加する」ボタンで新しい行を作り、チャンネル名を入力してください。「種別」は、テキストチャンネルかボイスチャンネルかを選べます。順番を並べ替えたい時は操作列の「↑」「↓」ボタンを、そのチャンネルを消したい場合は「削除」ボタンを押してください。
 なお、Discordの仕様として、テキストチャンネル名にアルファベットの大文字を使用しても、小文字として表示されます。

■卓識別名の入れ込みについて(v1.2.0より実装、R2/8/6追記)
 チャンネル名に %table% の文字を入れておくと、Discord上でチャンネルを作成する時、その卓の「卓識別名」に変換されます。(ロール自動付与機能のウェルカムメッセージとほぼ同様の処理)


7. イベント情報の入力:各卓の情報入力

画像10

 この後に作成する各卓用のカテゴリーチャンネルやロール自動付与機能で使用する情報を入力します。各項目については、以下の内容を参考に編集してください。

一番上の行(A卓/BBT「RED DEAD NIGHT」って書いてあるところ)
 この内容が、Discordのカテゴリーチャンネル名として使用されます。内容は「卓識別名」「システム名」「シナリオ名」から自動作成。
 なお、ここにアルファベットの小文字があった場合でも、Discord上ではすべて大文字として表示されます。
【R2/10/18:ver 1.3.0より追加】
 サーバー基本設定で『チャンネルにリーダー名表記』のオプションをチェックした場合、システム名とシナリオ名の間に【GM:●●】のように卓リーダー名が挿入されるようになりました。

■卓識別名
 その卓のナンバリングを意味します。「A卓」「B卓」のような入力を想定しています。卓識別名は、ユーザーに付与されるロールの名前としても使われます。

■システム名
 その卓で取り扱うTRPGシステムの名前を入力することを想定していますが、フルネームで記載するとそれだけでカテゴリーチャンネルの表示部分を埋めかねないので、原則として略称で入力してください。(画像の例では「ビーストバインド トリニティ」の略である「BBT」で記載しています)
 システム名の入力は省略することもできます。システム単独のコンベンションでは、卓のシステムは自明であるため省略してよいでしょう。

■シナリオ名
 その卓で回すシナリオの名前を入力してください。

■卓リーダー
 この卓を担当する卓リーダーのDiscordユーザー名を入力します。ここで言う「ユーザー名」は、名前とそれに続く「# と数字4文字」も含めたものです。Discordサーバーの右カラムでユーザー情報を開いてコピペした場合、# の前に半角スペースが挟まっているので消してください。
 余談ながら、自分の「ユーザー名」はDiscord画面左下の自分の名前をクリックするとコピーできます。募集の際にこの操作で貼り付けてもらい、受け取ったその名前をコピペするのが一番楽でしょう。

■参加者
 この卓にプレイヤーとして参加する人のDiscordユーザー名を入力します。ユーザー名については「卓リーダー」の項目と同じです。v1.0.1時点では、1卓あたり最大6人まで入力可能です。

■ロールカラー
 Discordで会場を作成する際、この卓に対応するロールに最初から色を付けることができます。その色を指定する機能です。

■ボイスチャンネル
 Discordで会場を作成する際、上記「各卓の初期チャンネル設定」で指定したもののうち、ボイスチャンネルが不要な卓の場合は「作成しない」に変更してください。完全なテキストオンリーセッションを想定した機能です。


8. イベント情報の入力:協力者

 イベントに「協力者」として参加する人のDiscordユーザー名を入力してください。入力の仕方は上記「卓リーダー」「参加者」の項目と同じです。


9. データの保存

 入力お疲れ様でした。「データ保存」ボタンを押して、イベント情報を保存してください。
 とりあえず部屋データだけ作りたい場合は、各卓情報の「卓リーダー」「参加者」部分を入力せずに一旦「データ保存」し、後からもう一度設定を行っても大丈夫です。保存さえしていれば、もう一度 !config で設定用のリンクを呼び出した時にも、ちゃんと入力した情報がロードされた状態から編集を再開できます。


10. 会場設営

 !admin_ch 、!config と同様に、次は管理用のチャンネルで 

!create_site

 とメッセージを送信してください。4~9で作成したイベント情報をもとに、各卓のカテゴリーチャンネルと必要なロールを一括作成します。
 これらのカテゴリーチャンネルは、その卓に対応するロールがないと閲覧・発言・接続することができません。

【R2/10/18追記】
 もし、他のBOTを導入する場合、それらのBOTに「協力者ロール」を追加することで、BOTに自動作成したカテゴリーチャンネルのメッセージ等を受け取らせることができます。テキストセッション向けで日程調整用BOTを導入したいなど、必要に応じてご検討ください。


11. リーダー連絡用、運営連絡用のチャンネル作成

 この項目は、イベント情報入力の際に

■卓リーダーのロール名: GM
■協力者のロール名: 運営

 とした場合を想定しての解説です。例えば卓リーダーのロール名を「監督」とした場合や、協力者のロール名を「スタッフ」と変えた場合などは、適宜変更してメッセージを送信してください。

!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で登録したすべての情報が削除されます。

【R2/10/18追記】ver 1.3.0より、「システムのメッセージチャンネル」が設定されていないサーバーにおいては、ロール自動付与機能が動作しないように仕様変更されました。


13. ショータイム!

 各卓の参加者以外にも各卓のカテゴリーチャンネルを見ることができるようにしたいなら、

!showtime

 というメッセージを送信してください。すべてのユーザーが、卓に対応するカテゴリーチャンネルを閲覧できるようになります。
 なお、この機能でチャンネルを開放しても、メッセージの送信やボイスチャンネルへの接続はできません。

!curtain_fall

 というメッセージを送信すると、元に戻すことができます。


14. イベントが終わったら

 イベントが終わったら、「Apostle.CCを追放」するか、サーバーそのものを削除してください。
 これを以て、登録していただいていたすべての情報を削除します。


終わりに

 説明書だけで5000字超とは自分でも何事かと思います(陳謝)
 このBOT、「Apostle.CC」がイベントを主催する方の支えであり武器となれれば幸いです。

余談

 本BOTはherokuでdiscord.pyのBOT部分を、イベント情報の保存などのデータベース部分をFirebaseで運用しています。
 Firebaseは平たく言うとアクセス数や通信量に応じた従量課金制であり、無料プランの運用でもそこそこの余裕があります。
 イベント主催者の方々には、このBOTではなく各種オンラインセッションツール等に支援をしていただければと思います。

この記事が気に入ったらサポートをしてみませんか?