[技術系]Discord Bot「tournament supporter」ver1.1を公開[アップデート]

 先日公開したDiscord Bot「tournament supporter」のアップデートを行いましたので、ご報告いたします。

先日の記事はこちら
[技術系]Discordで対戦系イベントを管理できるbotを作った話

目次

1:ver1.1のアップデート内容
2:追加されたコマンド
3:今後の運用

1:ver1.1のアップデート内容

 アップデート内容は次の4点です。

1:参加登録の受付を締め切ったあとに、参加登録の受付を再開する機能を追加
2:マッチングにおいて、再戦を回避する機能を追加
3:成績に勝ち点・オポネントを追加
4:大会を終了し、順位付けを行い最終結果を表示する機能を追加

1:参加登録の受付を締め切ったあとに、参加登録の受付を再開する機能を追加

 ver1.0では、/join_endで参加募集を締め切った後は、/first_matchで初回マッチングを行い、/startで大会を開始する流れを想定していました。これは可逆性がない仕様でした。参加募集を締め切った後、/show_listで参加者リストを確認し、参加登録が漏れていた、忘れていたなどの事象があった場合には、一度大会を開始してから/endで大会を終了させる必要がありました。ver1.1では、/join_end後に/join_startによって参加登録を再開できるようにしました。

2:マッチングにおいて、再戦を回避する機能を追加

 ver1.0では、再戦に関しての対策を行っておりませんでした。ver1.1からは、マッチングを行う際に、すでに対戦している組み合わせが発生した際に、サーバ内部で自動リマッチする仕組みを導入しています。参加人数が少ない場合ですと、どうしてもリマッチしかないという場合も考えられるため、内部の処理で無限ループの危険性がありました。これを回避するためのロジックを組み込んでいるため、リマッチしてしまう可能性も0ではありませんが、余程のことがない限り発生しない想定です。
 また、マッチングした際に、勝ち点を表示する仕様に変更いたしました。これによって、マッチング表を確認した際に、同勝利数のマッチングであるかどうか、階段であるかどうかを確認できるようになりました。

3:成績に勝ち点・オポネントを追加

 ver1.0では、勝、負、分の3つのデータを管理していました。この部分を拡張し、ver1.1から勝ち点とオポネントを導入しました。これは、次の機能にもつながる拡張になります。勝ち点は、勝ち3点、負け0点、引き分け1点で計算しています。

4:大会を終了し、順位付けを行い最終結果を表示する機能を追加

 ver1.0では、/show_resultによるラウンド間の成績を表示できましたが、最終順位を決定する機能がありませんでした。ver1.1からは、最終結果の表示を導入しました。前項3で計算された勝ち点とオポネントを参照して、最終順位を表示することができます。
 また、/show_resultで表示される成績表にも、勝ち点と順位が導入されていますので、中間順位が確認できるようになりました。

2:追加されたコマンド

 今回追加されたコマンドは次の2つです。

・参加者の募集を再開する
 コマンド:/join_start
 対応チャンネル:大会チャンネル
・大会を完了し、最終成績を表示する
 コマンド:/finish_event
 対応チャンネル:大会チャンネル

3:今後の運用

2021年1月30日の時点で、6サーバにてご利用いただいている状況です。利用時間が重ならなければ、サーバを強化せずともそれほど応答速度に影響が出ない想定です。一旦、必要になるまでは無料サーバでの運用とし、有償化せずに稼働させておきたいと考えています。無料サーバだと、1日1回再起動がかかる関係で、サーバ内で管理している大会データがリセットされます。基本的に日本時間の深夜帯に再起動されるはずなので、進行には基本影響が出ないと思います。大会データは日にちを跨ぐことはできません。有償化したかった理由としてはこの部分が大きいですが、ますは使ってもらいたいので、こちらの措置を取ることにします(安定性を考えると、将来的にはやはり有償版を別途リリースしたいと考えています)。

それでは、ver1.1をお楽しみください。

botをサーバに導入する場合は、
以下のリンクからbotの招待ページに飛んでください。
 tournament supporter招待リンク(PC推奨)

開発支援として、サポートをしてくださると励みになります。

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