Skip to content

コメント情報をJSONで外部アプリへ送信できる汎用連携機能の提案 #231

Description

@BillyTrunks

はじめに

はじめまして。

現在、ライブ配信向けの支援アプリ「ぎゅるるボット」を個人開発しています。

ぎゅるるボットでは、コメントビューアから受信したコメントをもとに、

  • コメントの表示
  • VOICEVOX等によるコメント読み上げ
  • 配信者・視聴者・AIの発言判別
  • OBS上でのコメント表示やエフェクト
  • AIによる任意のコメント応答

などを行う仕組みを開発しています。

現在MultiCommentViewerとの接続にも対応を進めており、棒読みちゃん互換の経路を利用することで、コメント本文をぎゅるるボット側へ渡すところまでは実現できています。

その過程で、MCVが内部では持っているコメント属性を外部アプリでも利用できる仕組みがあると、ぎゅるるボットだけでなく他の配信支援ツールにも有用なのではないかと思い、機能要望として投稿しました。

現在困っていること

公開されている BouyomiPlugin/main.cs を確認すると、OnMessageReceived(ISiteMessage message, IMessageMetadata messageMetadata) の時点では各サービス固有の情報を判別できており、YouTubeについても通常コメント / Superchat / Membership、名前、Superchat金額などを扱っているように見えました。

一方、棒読みちゃん連携では最終的に dataToRead という読み上げ文字列へまとめて TalkText(dataToRead) に渡されるため、外部アプリ側では元の属性情報を利用できなくなります。

例えば、ぎゅるるボット側では本来、

  • 配信者
  • 一般視聴者
  • メンバー
  • モデレーター
  • Super Chat
  • AIによる発言

などを区別し、それぞれ読み上げやOBS演出を変えることができます。

しかし現在の棒読みちゃん互換経路では、MCVから届く段階ですでに「名前+コメント」の文字列になっているため、MCVが取得している情報を十分に活用できません。

要望

例えば、任意のローカルHTTP endpointに対して、コメント受信時の情報をJSONとしてPOSTできる汎用的な外部連携機能をご検討いただけないでしょうか。

イメージとしては以下のような情報です。実際のフィールド名や構造については、MCV側で扱いやすい形式でまったく問題ありません。

{
  "platform": "youtube",
  "user_id": "...",
  "user_name": "...",
  "message": "こんにちは",
  "message_type": "comment",
  "is_owner": false,
  "is_member": true,
  "is_moderator": false,
  "is_superchat": false,
  "amount": null,
  "currency": null,
  "badges": []
}

すべての配信サービスで同じ属性を取得できる必要はなく、各サービスで取得可能な情報だけが含まれる形でも十分有用だと思います。

また、HTTP POSTに限らず、WebSocketなどMCVの設計上より適した方法があれば、もちろんそちらでも構いません。

MCVの汎用的な外部連携として

ぎゅるるボットとの接続が今回のきっかけですが、「ぎゅるるボット専用機能」ではなく、MCVが取得したコメント情報を外部アプリへ渡せる汎用的な仕組みになれば嬉しいと考えています。

これが利用できれば、

  • 読み上げソフト
  • OBS・配信演出ツール
  • コメント表示ツール
  • AI応答ツール
  • コメントログ・分析ツール

などから、MCVが取得している豊富なコメント情報を活用できるようになると思います。

既存の棒読みちゃん連携はそのまま維持し、必要なユーザーだけが有効化できる追加の外部連携機能という形で実現できれば、既存環境への影響も抑えられるのではないかと思っています。

また、ぎゅるるボットとしてもMultiCommentViewerを対応コメントビューアの一つとして正式にサポートしていきたいと考えています。

もしこのような外部連携の仕組みが実現可能でしたら、MCV側の仕様に合わせてぎゅるるボット側を対応させることも可能です。

将来的に、双方のユーザーが簡単に接続できる形まで発展させられれば嬉しく思います。

個人開発の外部アプリからの要望となりますが、ご検討いただければ幸いです。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions