御託
私が所持している雑談特化のDiscordサーバ「純喫茶大統領」。この度はそれの作り方を教えて欲しいと頼まれたので筆を取ることにした。備忘録も兼ねてサーバの構成を記録しておこうと思う。
はじめに
純喫茶大統領は荒らし対策を実施しやしくしつつ、それでいて雑談サーバとしてTwitterなどで公に募集しやすい形を目指して作成がはじまった。そこそこややこしい入室方針が決まっているのはそのため。
ロールの話
純喫茶大統領は以下の2つのロールがある。
- 店主
- 客人
店主はサーバ主である私だけが与えられるロールで、サーバの全権限を持つ。平たくいうとadminロール。
客人は毎回訪れる人たちに与える。サーバに人が入ってくる度に店主が確認し、中にいれて良い人かどうかを確認する。よければ客人ロールを与え、ダメならばそのままおかえりいただく。
全体の運用方針
このサーバは例外なく客人には閉店する(運用が終わる)度に客人には全員退出していただく。すなわち、自身以外のアカウントは例外なくキックしていくことになる。
この方針にしている理由は客人間での不都合のある鉢合わせを防ぐため。例えば先に入ろうとしていたAさんが全く関係ないが、既にサーバに参加しているBさんが入ってくることを恐れて通話に来れないという自体を防ぎたいわけだ。
純喫茶大統領は基本的に先着順に客のわがままを聞いていくことになるため、最初にきた人が貸し切りを要求してきた場合、そのまま店主との一対一の会話が楽しめるようになっている。逆もまた然り。
運用後の客をキックしていくのは毎回手動で行っている。ここはbotで自動化の検討余地あり。
※discrod.pyで比較的簡単にdiscord用のbotは作れる。興味のある人は調べて作ってみよう
※pythonマジで他の言語と比べて簡単すぎるでしょ
テキストチャンネルの構成
テキストチャンネルは以下の6つ。以下で一つずつ解説をしていく。
- 入口
- 今日の一言
- 筆談室
- 閉店
- 蓄音器
- 来客
- FRIENDCODE
入口
入ってきたときに見える看板。これを表示させている時は店主が雑談鯖として開放しているということなので、後述のボイスチャンネル「入口」へ進むことになる。そのための誘導看板を設置する。
- 権限
- 店主:書き込みと参照
- 客人:参照のみ
- その他:参照のみ
具体例
今日の一言
喫茶店なので。マスターの気まぐれで一言が書かれる。これでその日の店主の気分が分かったり、何をしているのかがわかるようになっている。毎回適当なことを書いて「一言みたいからくる層」を呼び込むように運用するのもあり。
※作業の進捗おいたりとか
- 権限
- 店主:書き込みと参照
- 客人:参照のみ
- その他:参照のみ
こんな感じで好き放題書く。
筆談室
一般開放しているメモ替わりのチャンネル。所謂聞き専チャットを兼ねつつ、会話の流れでURLを貼りたい時などに使う。
- 権限
- 店主:書き込みと参照
- 客人:書き込みと参照
- その他:参照のみ
閉店
運用が終わった後にサーバに入ってきてしまった人向けに今日は終わったんだなと分かってもらうための鯖。手動で参照権限を入口と切り替える必要があるので面倒。面倒な人は入口と一つにしてしまうの手。あるいは自力で切替botを作ろう。
※discrod.pyで(ry
- 権限
- 店主:書き込みと参照
- 客人:参照のみ
- その他:参照のみ
具体例
蓄音器
music botを導入しているのでそれを制御するためのチャンネル。基本的に店主だけが操作する。
- 権限
- 店主:書き込みと参照
- 客人:見れない
- その他:見れない
※純喫茶大統領で導入しているbotは「Groovy」
来客
サーバに人が入ってきたときに表示されるウェルカムメッセージを表示させる専用のチャンネル。呼び鈴的な側面も兼ねている。客に見せる必要はないのでもちろん店主専用チャンネル
- 権限
- 店主:書き込みと参照
- 客人:見れない
- その他:見れない
※ウェルカムメッセージをメンション化するbotがあったりするらしい
FRIENDCODE
チャンネル名に店主のゲームでのフレンドコードを設定しておくことで来店してくれた人と速やかにフレンドコードの交換ができる。毎回見せてとか打ってとかどこ見てとかしなくて良いので非常にスムーズ。
↑こんな感じ。スマートじゃん?
ボイスチャンネルについて
以下の6つ。数は任意に上下させてよいだろう。
- 入口1
- 入口2
- 入口3
- カウンター席1
- カウンター席2
- カウンター席3
入口
ここだけは誰にでも開放している。一見さんの対応にあたるために使用する。特に初回訪問だったり、店主が入ってきた人を判別できないような場合、ここで対応すると良い。仮に荒らしだったとしても、被害は最小限にすむはずだ。
- 権限
- 店主:参加権限あり
- 客人:参加権限あり
- その他:参加権限あり
カウンター席
普通に通話を楽しむ場所。客をもてなす場所なので、客人認定をされた方々はみんな入れる。ちなみに複数個設定している理由は客同士が初対面などであまり顔合わせをしたくないような場合に別れてもらうため。店主は定期的に行ったり来たりして対応するような場合を想定している。まさに純喫茶。相席でよろしいですか? と聞ける店主はかっこいい。
同じような理由で、人数上限を設定したボックス席や個室もあるといいかも。私のサーバにはまだ置いてない。
- 権限
- 店主:参加権限あり
- 客人:参加権限あり
- その他:参加権限なし
終わりに
ざっとした概要をひとまず説明した。詳しい説明の要望があれば追記していく予定。