見出し画像

Mituの比較 新ボットの挙動とコマンド一覧

2023年1月に開発が始まった 新XiFlash (通称 ドルコマンド) の挙動及びコマンドについてまとめた物になります。ここでは、便宜上区別をつけるために、現行のボット (2021年9月運用開始) を 旧XiFlash とします。


用語

この先で使われる用語について説明します(文字数削減で可読性を高めようとしてます!!!!)

ユーザー検索クエリ

ユーザーが送信した検索クエリ(検索する際に入力する文章や単語のこと)を指します。新XiFlash において、これを認識した際、下の優先順位の順にユーザーを検索します。

  • 総メッセージ数の順位 (クエリが数字である場合)

  • チャンネルID (クエリがUCで始まり24字である場合)

  • 名前 (それ以外の場合)

ただし、旧XiFlash のデータベースを参照する ユーザー・グループ・チャンネル において、チャンネルIDは考慮されませんのでご注意ください。


バックグラウンド処理

ここに書かれている小見出しの名称は仮称で、今後変更になる可能性がありますのでご留意ください。

メッセージの取得

Mituの比較配信のチャット欄で送信されたメッセージの内容や送信したユーザーの情報を取得し、コマンドである場合該当したコマンドの処理を行います。
また、最後にメッセージを送信してから1時間以上が経過している場合、最後にメッセージを送信した時間を送信します。

ユーザー情報の更新

最後にユーザー情報が更新されてから 300秒 (5分) が経過したときに、YouTube から名前を初めいくつかの公開情報を取得し更新します。
また、最後に情報が更新されてから登録者数・再生数が一定のマイルストーンを達成した場合、それを祝うメッセージが送信されます。

メンバーシップの確認

ユーザーがメッセージを送信する時に確認できるメンバーシップの状態からデータベース上でのメンバーシップの情報を更新します。ここではメンバーシップの有無・メンバー歴のみが取得されます。

時報

毎時0分に時報がチャットに送信されます。また、これと同時にユーザーのメッセージ履歴等が書き込まれ、対象となったユーザー(その日にメッセージを送信した記録があるユーザー、登録者数・再生数などが一定の閾値を超えているユーザー)は公開データの更新が行われます。

日別リセット

毎日0時0分に日別メッセージ送信数をリセットします。また、日曜日が始まった場合-週別、新しい月が始まった場合-月別も同時にリセットされます。また、バックグラウンドでその日のチャットの統計が保存されます。


コマンド

ユーザー・ランク

$user (検索クエリ)

コマンド書式
  • コマンド名 → user, ユーザー, rank, ランク で反応します。

  • 検索クエリ → クエリの認識優先順位はこのようになります。

    • 総メッセージ数の順位 (クエリが数字である場合)

    • 名前 (それ以外の場合)

旧XiFlash のデータベースから検索されたユーザーの

  • 総メッセージ数の順位

  • メッセージ送信数

  • 日別メッセージ送信数

  • 次のユーザーに到達するまでのメッセージ数

  • ポイント

を取得し送信します。

📌 これは新ユーザーコマンドに置き換えられる予定です。

グループ

$group

コマンド書式
  • コマンド名 → group, グループ で反応します。

旧XiFlash のデータベースからユーザーの所属しているグループの

  • 名前

  • 所有者の名前

  • メンバーの人数

  • ポイント(銀行)

  • ユーザーの役職

を取得し送信します。

📌 新XiFlash ではグループ機能を追加する目途は立っていません。

チャンネル

$channel (検索クエリ)

コマンド書式
  • コマンド名 → channel, チャンネル, account, アカウント で反応します。

旧XiFlash のデータベースから検索されたユーザーの

  • 名前

  • 登録者数、総再生数、動画本数

  • チャンネル設立からの時間

を取得し送信します。

📌 これは新チャンネルコマンドに置き換えられる予定です。

チャット統計

$stats

コマンド書式
  • コマンド名 → stats, 統計, data, データ で反応します。

旧XiFlash のデータベースから本配信ボットが取得した

  • メッセージを送信した総ユーザー数

  • ユーザーによる総メッセージ数(またその日別)

  • ユーザーの総登録者数と総再生数

  • 運用(計測)期間

を取得し送信します。

言語

$language (言語)

コマンド書式
  • コマンド名 → lang, language, 言語 で反応します。

  • 言語 → ja, en のいずれかが使用可能です。

このコマンドを送信したユーザーに返信する言語を設定します。

📌 ただいま対応しているのは 日本語 (ja) と 英語 (en) のみです。

リーダーボード

$top (順位) (タイプ)

コマンド書式
  • コマンド名 → top, leaderboard, lb, リーダーボード, ranking, ランキング, りーだーぼーど で反応します。

  • 順位 → リーダーボードを表示する初めの順位を指定します。

  • タイプ → リーダーボードのタイプ(下記)を指定します。

    • 今日のメッセージ数 → daily, gain, 増加数, 増加, 日別, 日

    • 今週のメッセージ数 → weekly, week, 週別, 週

    • 月別のメッセージ数 → monthly, month, 月別, 月

    • 総計のメッセージ数 → msgs, msg, messages, message, メッセージ, コメ, 米

    • チャンネル登録者数 → subs, sub, subscribers, subscriber, 登録者数, 登録者, とーろくしゃすー

    • 総再生回数 → views, view, 再生回数, 総再生数, 再生数, さいせいすー

    • 動画本数 → videos, video, 動画本数, 動画数, 動画, 本数

    • チャンネル開設からの期間 → chdate, length, 設立期間, 設立日時, 長さ

    • 最後にメッセージしてからの期間 → lmsg, last, 最後

該当したタイプのリーダーボードを送信します。このとき、コマンドを送信したユーザーの順位を兼ねて表示します。

絵文字

$emoji (文字列)

コマンド書式
  • コマンド名 → emoji で反応します。

  • 文字列 → emoji を検索する対象の文字列を指定します。

文字列に含まれるすべての絵文字の名前を送信します。

📌 ただいま 国を表す絵文字 にのみ対応しています。理由は謎です。

新ユーザー・ランク

$nuser (検索クエリ)

コマンド書式
  • コマンド名 → nuser, nrank で反応します。

新XiFlash のデータベースから検索されたユーザーの

  • セッション持続時間

  • 総メッセージ数の順位

  • メッセージ送信数

  • 日別・週別・月別メッセージ送信数

  • 次のユーザーに到達するまでのメッセージ数

  • ポイント (ただいま非対応のため0)

を取得し送信します。

📌 新XiFlash のデータベース を参照するため、旧XiFlash から取得したデータとは一部異なる箇所がある可能性があります。

新チャンネル

$nch (検索クエリ)

コマンド書式
  • コマンド名 → nch, nchannel で反応します。

新XiFlash のデータベースから検索されたユーザーの

  • 名前

  • 公開登録者数・総再生数・動画数

  • 更新されてからの経過時間

  • チャンネル設立からの時間

を取得し送信します。

こちらの情報は YouTube API から取得されるため、旧XiFlash が送信する内容より正確です。

履歴

$history (ユーザー検索クエリ)

コマンド書式
  • コマンド名 → history, 履歴, hdata で反応します。

新XiFlash のデータベースから検索されたユーザーの

  • メッセージ送信数の履歴

を取得し表示します。

📌 バックグラウンドでは時間別・3時間別・日別で分別して計測しておりますが、コマンドの不安定性から、現在は3時間別のみで表示させています。コマンドが安定になり次第時間別・日別も提供予定です。

投げ銭 (β版)

$supers (検索クエリ)

コマンド書式
  • コマンド名 → supers, 投げ銭, member, メンバー で反応します。

新XiFlash のデータベースから検索されたユーザーの

  • メンバー歴

  • Supers, メンバーシップギフトの件数

を送信し表示します。

メンバー歴については、YouTube API 上で取得しているため、月単位・年単位での表示となります。

Supers (スーパーチャット・スーパーステッカー) と メンバーシップギフト について、件数の後に金額が表示されますが、ただいま他国の通貨を日本円に変換することができないため、日本円で送信されたもののみの総計金額が送信されます。

📌 このコマンドはβ版です。のちに削除、変更となる可能性があります。

mecab

$mecab (文字列)

コマンド書式
  • コマンド名 → mecab, 和布蕪 で反応します。

  • 文字列 → 形態素解析を行う文字列を指定します。

送信された文字列を形態素解析してその結果を送信します。非常に送信される文字数が多くなるため、分割しての文字列送信をお勧めします。

📌 厳密には形態素解析するモジュールとして MeCab ではなく、 Kuromoji  を使用しています!! 誤解を招く表現であるため、今後変更になる可能性が高いです。

バージョン

$version

コマンド書式
  • コマンド名 →  version, ver, バージョン で反応します。

新XiFlash の最新の更新記録を表示します。

さいごに

新XiFlash は 2024年6月 に新メッセージ送信機構によって復活を果たしました!これより 新XiFlash は多くの更新が行われる可能性があり、その中でも既存のコマンドの挙動の変更が行われる可能性があります。このノートを定期的に更新するかは分かりませんが動かなかった場合は Discord 等でご一報ください。

それでは!

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