本文へスキップ
mreysei · Michael Reyes
テーマ

Kishirika Bot

Mudaeで好きな作品が出たら知らせ、サーバーの統計をとるDiscordボット。

種類
ボット
年
カテゴリー
マゼンタと金色のKishirika Botのカバー画像。王冠つきの「K」のロゴと名前、そしてDiscordの3つのメッセージ(Mudaeのロール、そのシリーズがケンジとルシアのリストにあるという通知、統計)。

プロジェクトについて

Kishirika Botは、アニメやゲームのキャラクターを集めるゲーム「Mudae」を補うDiscordボットで、2024年から遊ばれているサーバーで動いています。

目的:Mudaeではキャラクターがランダムに現れ、数秒以内に獲得しなければならないため、集めている作品のキャラクターを見逃しがちです。ボットはすべてのロールを見張り、その作品を集めている人にすぐ知らせ、サーバーのリストと統計も管理します。

できること:

  • 通知:Mudaeのロールを監視してキャラクターごとの作品名を読み取り、その作品をリストに入れているサーバーのメンバー全員にメンションします。すでに持ち主がいるキャラクターは飛ばし、正規表現にも対応しています。
  • リスト:複数の作品を一度に追加・削除でき、自分や他の人のリストを好きな順に並べ、ボタンでページを切り替えて見られます。
  • 統計(/stats):ロール、作品、コマンド、ポケモンの数。サーバー全体に対する自分の割合や、よく出る作品を、全体・サーバー別・人別に表示します。
  • ランダムな作品:サーバーのほかのメンバーが何を集めているかを知れます。
  • 統計サイト:サーバーのロール、獲得、通知、カケラ、コマンドを月ごとにまとめた非公開のダッシュボード。
通知のしくみ

アーキテクチャと品質:discord.js 14を使ったTypeScriptで、5つのプレフィックスコマンド、4つのスラッシュコマンド、3つのイベントリスナーがあり、それぞれアプリケーションとドメインに分かれています。リストとイベントはMongoDBに保存し、秘密情報は環境変数に置き、プロセスはpm2で動かし続けています。

現状:2024年から使われ、保守を続けています。

技術

スクリーンショット