Theme
↑Back to Home

SwarmBotが強くなった

とりあえずなんか書いとけ

昨年の10月から稼働している小隊管理BotのSwarmBot、一部のロボクラフター間にしか公開していないのにもかかわらず、嬉しいことに現在約20近くのサーバーで使ってもらっています。

このSwarmBotはBeeHive専用だった小隊管理Botをベースにしているわけですが、BeeHive小隊Botの開発当初はまさかここまで機能を拡張させる事になるとは思っていませんでした。

BeeHive小隊管理Botをそのまま拡張させたSwarmBotは、極小規模の運用でなら問題はなかったものの、導入事例が増え使用用途も少しだけ多様化するにつれて、非効率の極みになりかかっていました。

ここは思い切ってスクラップアンドビルドだ、ということで

余計な機能までもと共に生まれ変わりました。よろしくお願いします。

生まれ変わったとは

生まれ変わったと言うと全く別のものになったような気がしますが、実のところBot本体の見た目や機能自体はほとんど変わっていません。これまでとほぼ同じように使うことができます。

いくつかだけ挙動が変わっている所を紹介しておきます。

統合レスポンス

これまではコマンドを送信すると、実行結果とその後のパーティー情報が別々のメッセージとして表示されていました。DiscordAPIのスパム防止制限で、Botが5秒間に5つ以上のメッセージを送る事は出来ないため、一つのコマンド実行のたびに2つのメッセージを送信(;addなどの場合はそれ以上)、さらにロビーの更新までもを行うような仕様では、5秒間に2人がコマンド操作をしただけでこの制限に引っかかってしまいます。はっきり言って最悪なBot仕様です。

ということで新SwarmBotでは1つのコマンド実行の結果を、内容にかかわらず1つのメッセージにまとめています。行間が少し狭くなってしまいますが、シンプルにBotのサーバーからDiscordのサーバーへとメッセージを送信する手間の回数が減るので、総合的なBotの応答性は改善しています。

遅延ロビー更新

上記の制限回避対策として、新SwarmBotではロビーの更新を最後のコマンド実行から5秒間の間に追加でコマンドされない時にのみ行っています。つまり、Aが;;cでパーティーを作成して、それから5秒以内にBが;;jで参加した場合は、ロビーチャンネルの更新はBがコマンドを実行した5秒後に行われる、ということ。

制限に引っかかるようなペースでコマンドが実行されている間はロビーが更新されないので、5秒間に5メッセージという枠をコマンドのレスポンスのみに使うことができます。

最後のコマンド実行の5秒後にロビー更新をする、ということはその分ロビーへの反映が遅れる事でもありますが、コマンドのレスポンスと比べてロビー更新は即答性を必ずしも必要とはしないので、こういった仕様になりました。

一部コマンド廃止

公開以来おそらく一度も使われなかったであろうコマンド達を廃止しました。新しいコマンドリストは;;helpで確認してください。使う場面がないという理由で廃止されたのは主に;;ban;;block系のコマンドになりますが、;;nameに関しては少なからず使われているので後述する新システムで制御することとし、これも同じく廃止しています。

主な変更点は以上です。これ以外の基本的な操作方法などは一切変わっていません。

謎のWebダッシュボード機能

SwarmBotは途中からホームページもどきのようなものが存在していましたが、こちらは大幅にパワーアップしています。そう、SwarmBotのウェブサイトにDiscordアカウントでログインし、Botのサーバー設定やユーザー設定を変更できるようになりました。

特に解説すべき点もないので、ご自身の目でお確かめください、という感じです。まだ少し不安定なので、何かあったら一時的に戻すかもしれません。

新SwarmBotHP

ついでに言うことではないですが、カスタムバッジ機能が試験的に追加されています。SwarmBotウェブサイトにログイン後、ユーザー設定からアイコンをアップロードすることでBot内で表示されるユーザー名の隣にそのアイコンが付くようになります。

Share on Twitter