![見出し画像](https://assets.st-note.com/production/uploads/images/27529886/rectangle_large_type_2_692ec6f96caea9926e1135b7e9c55ae1.png?width=1200)
プリンbot(プリコネ凸管理bot)を作っているお話
はじめに
初めまして、いちょと申します。
プリコネメインで音ゲーやPCゲーも少々しております。
早速ですが、今回は自分の作ったプリコネ用のdiscord botの紹介をしたいと思います。(いずれはどこかのクランで運用させてもらいたい)
仕組みなどは次回以降の予定で...(需要があれば...)
※現在のものと仕様が異なります。
最新版の記事はこちらのリンクからどうぞ。
プリンbotができること
・3凸完了報告の管理
・今来ているボスの凸希望者のまとめ
・持ち越し状況の管理
・前もってスプシにまとめた凸ルートの出力
・持ち越し時間の計算
・ダイスバトル🎲
・スプシと連携し、1日に1度再起動されるherokuの無料レンタルサーバーでも問題なく運用できる(扱うデータが多いと問題が起きるかもしれない)
プリンbotができないこと
・1凸ごと(1日計90凸)の個別把握
・スコア等の集計
・進行中のダメージ報告(将来的には実装したいと思っています)
(2020/06/13 実装することができました)
使用する専用チャンネル
・進行チャンネル
・3凸報告チャンネル
・持ち越し状況チャンネル
・凸ルートチャンネル
ここからは、各チャンネルごとに動きを説明したいと思います。
進行チャンネル
ここでは凸希望者の集計を行うことができます。
基本的に、
①凸希望者の集計
②本戦開始
③確定前ダメージ報告
④本戦確定者、凍結者の決定
⑤ボス撃破、凍結者の解凍、①に戻る
の動きのサポートを意識しています。
まず、進行者が !call コマンドを使用すると集計が開始されます。
次に凸希望者は、「物理」「魔法」「持ち越し」「救援」のいずれかを入力します。登録されると、botからリアクションがもらえます。
!list コマンドを使うと凸希望者の一覧を見ることができます。
本戦後、確定前に「〇〇万」と入力しダメージ報告を行います(予想ダメージの入力と差別化するため、「万」を含まないと反応しないようにしています)
!sum コマンドでダメージ報告の状況を表示します。
!fin コマンドで集計を終了します。
3凸報告チャンネル
3凸が終了した方は、このチャンネルに好きなメッセージを送信すれば報告が完了します。(絵文字などでも可)
報告時には、何番目の報告であるかと、ランダムでメッセージが送られるようにしています。
!done コマンドで報告済みのリスト
!yet コマンドで未報告者のリスト
を表示できます。
さらに報告完了者はスプシでも閲覧編集可能なリストになっています(蛇足機能とかいわないで!)
持ち越し状況チャンネル
!add (詳細情報)コマンドで持ち越し報告を行うことができます。
詳細情報は編集可能になっています。
持ち越しを消化できれば、!fin コマンドを使用します。これにより、この持ち越し状況は持ち越し消化済みのリストに送られます。
!list で持ち越し一覧、!listfin で消化済みの持ち越し一覧を表示できます。
こちらの2つのリストもスプシから閲覧編集可能です。
凸ルートチャンネル
!phy !mag コマンドを用いて、スプシにまとめてある凸ルートをdiscordに表示することができます。
元データはこんな感じです。
その他
!dice(もしくは🎲) で6面ダイス、!100dice(もしくは💯)で100面ダイスをふることができたり、!say コマンドでプリンbotに代弁させてやることもできます。
また、簡単な持ち越し計算も可能です。(!time, ボスの残りHP(3桁/万), 与ダメージ(3桁/万), 使った時間(2桁/秒))
紹介したコマンドのまとめ
おわりに
だいぶ長くなってしまいましたがざっとこんな感じです。
まだまだ改良できるところは改良していこうと思います
(2020/06/05 現在、SSLの証明書の期限切れ問題によりWindowsアップデートが来るまでは改良はできないと思います(外部サーバーから現行状態では動いています))
(2020/06/13 現在 問題を改善することができました)
もしこの記事を読んだ感想や質問、使ってみたい!見学したい!と思っていただけましたら、コメントや @icho_bangdream までご連絡いただけると嬉しいです。
ありがとうございました。
(2020/06/13 ダメージ報告機能の追加とレイアウトの編集を行いました)