📋 概要
OneComme OSC Routerは、YouTube、Bilibili、ニコニコからのチャットメッセージをOSC(Open Sound Control)データストリームに変換する強力なプラグインです。このガイドでは、セットアップと使用方法のすべてのステップを説明します。
以下のものが必要です:
- OneCommeがインストールされ、配信プラットフォームのアカウントで設定されていること
- OSC対応アプリケーション(VRChat、OBS、TouchDesignerなど)
- OneCommeのインターフェースに関する基本的な知識
このガイドで学べること
- プラグインのインストールと設定方法
- Webベースのコントロールパネルの操作
- カスタムメッセージルーティングルールの作成
- VRChatやその他のアプリケーションとの統合
- 一般的な問題のトラブルシューティング
📦 インストール
GitHubリリースページにアクセスし、最新版(v0.8.0以降)をダウンロードしてください。
ダウンロードしたZIPファイルをOneCommeのプラグインディレクトリに展開します。フォルダ構造は次のようになります:
OneComme/
└── Plugins/
└── onecommeOSCrouter/
├── plugin.js
├── package.json
├── web-ui/
├── impl/
├── tests/
└── node_modules/
スクリーンショット:OneCommeプラグインディレクトリにあるプラグインフォルダを示すエクスプローラー
スクリーンショット追加:plugin_folder_structure.png
onecommeOSCrouter(大文字小文字を区別)にしてください。異なる名前では、OneCommeが検出できません。
新しいプラグインを検出するため、OneCommeを完全に閉じて再起動してください。単純な更新では機能しません—完全な再起動が必要です。
- OneCommeを閉じる(ファイル → 終了 または Alt+F4)
- OneCommeを再起動
- コンソールでプラグインのロードメッセージを確認
スクリーンショット:プラグインが正常にロードされたことを示すOneCommeコンソール
手動キャプチャ必要:console_plugin_loaded.png
OneCommeのプラグイン設定に移動し、「OneComme OSC Router」を有効化します:
- OneComme設定を開く
- プラグインタブに移動
- リストからOneComme OSC Routerを見つける
- 有効化チェックボックスをチェック
- 適用/保存をクリック
スクリーンショット:OSC Routerが有効化されたOneCommeプラグイン設定
スクリーンショット追加:enable_plugin.png
🚀 初回起動
プラグインが有効化されたら、Webブラウザを開いて次のURLにアクセスします:
http://localhost:19101
OneComme OSC Routerのコントロールパネルが表示されます。
http://localhost:19101をブックマークに保存してください。プラグインが有効化されている間、OneComme実行中はいつでもアクセスできます。
プラグインには、VRChat向けに最適化された適切なデフォルト設定があります:
| 設定 | デフォルト値 | 説明 |
|---|---|---|
| OSCホスト | 127.0.0.1 |
ローカルマシン(同じコンピュータ) |
| OSCポート | 19100 |
標準VRChat OSCポート |
| Web UIポート | 19101 |
コントロールパネルアクセス |
| メッセージ形式 | バイナリ | 標準OSC形式 |
設定タブをクリックして、必要に応じてこれらを確認・変更してください。
🖥️ Webインターフェースツアー
Webインターフェースには4つのメインタブがあります。それぞれを見ていきましょう:
📊 概要タブ
リアルタイム監視のためのダッシュボード:
- メッセージ統計:処理された総メッセージ数、プラットフォーム別メッセージ数
- 接続ステータス:OneCommeとOSC接続インジケータ
- システムヘルス:プラグインの稼働時間とパフォーマンスメトリクス
- クイックアクション:共通設定への高速アクセス
スクリーンショット:統計と接続ステータスが表示された概要タブ
スクリーンショット追加:overview_tab_detailed.png
📜 ルールタブ
メッセージルーティングルールの作成と管理:
- ルールリスト:すべてのカスタムルーティングルール
- 有効/無効切替:クイックルール有効化
- 編集ボタン:既存のルールを変更
- 削除ボタン:不要なルールを削除
- 新規ルール追加:カスタムルーティングロジックを作成
- ルールテスト:サンプルメッセージでルールを検証
📋 ログタブ
メッセージフローをリアルタイムで監視:
- ライブフィード:受信および送信メッセージ
- フィルタオプション:プラットフォーム、メッセージタイプでフィルタ
- 検索:特定のメッセージやユーザーを検索
- エクスポート:デバッグ用にログをダウンロード
- クリア:ログ履歴をリセット
⚙️ 設定タブ
プラグインの動作を設定:
- OSC出力:ホスト、ポート、メッセージ形式
- 絵文字削除:メッセージから絵文字を除去
- デフォルトエンドポイント:プラットフォーム固有のエンドポイントを有効/無効化
- 詳細:接続設定、パフォーマンスチューニング
- バックアップ/復元:設定のエクスポートとインポート
🎨 カスタムルーティングルールの作成
ルーティングルールを使用すると、特定のタイプのメッセージを異なるOSCエンドポイントに送信できます。ステップバイステップでルールを作成しましょう。
- ルールタブをクリック
- 「新規ルール追加」ボタンをクリック
- ルールビルダーモーダルが表示されます
基本情報を入力します:
- ルール名:説明的な名前(例:「高額スーパーチャット」)
- 説明:このルールが何をするか(オプションですが推奨)
- エンドポイント:メッセージが送信されるOSCアドレス(例:
/chat/superchats) - 有効:すぐに有効化する場合はチェック
条件は、このルールに一致するメッセージを決定します。例:20ドル以上のスーパーチャットをルーティング
- 「条件グループを追加」をクリック
- プラットフォーム:YouTubeを選択
- メッセージタイプ:superchatを選択
- 「条件を追加」をクリック
- 設定:
- フィールド:
amount - 演算子:
greater_than - 値:
20
- フィールド:
equals- 完全一致not_equals- 不一致contains- 文字列を含むnot_contains- 文字列を含まないgreater_than/less_than- 数値比較regex- 正規表現マッチexists/not_exists- フィールドの存在
フィールドマッピングを使用すると、OSCメッセージに含めるデータフィールドをカスタマイズできます。指定しない場合、すべてのフィールドが送信されます。
マッピング例:
username→namemessage_text→commentdonation_amount→amountcurrency_code→currency
スクリーンショット:フィールドマッピングが設定されたルールビルダー
スクリーンショット追加:rule_builder_mappings.png
保存する前に、サンプルデータでルールをテストします:
- 「ルールをテスト」ボタンをクリック
- テストパネルにサンプルメッセージが表示されます
- ルールに一致するメッセージを確認
- 必要に応じて条件を調整
スクリーンショット:一致したメッセージを示すルールテスト結果
スクリーンショット追加:rule_test_results.png
ルールに満足したら:
- 「ルールを保存」をクリック
- ルールがルールリストに表示されます
- スイッチを切り替えていつでも有効/無効化
- ルールは自動的にディスクに保存されます
スクリーンショット:新しく作成されたルールを示すルールリスト
スクリーンショット追加:rule_saved_in_list.png
ルール例
開始に役立つ便利なルール例:
| ルール名 | 目的 | 条件 |
|---|---|---|
| VIPメンバーのみ | チャンネルメンバーからのメッセージをルーティング | is_member equals true |
| Bilibili高額ギフト | 価値の高いBilibiliギフトをハイライト | coins greater_than 100 |
| キーワードフィルタ | 特定のキーワードをキャッチ | comment contains \"VRChat\" |
| スパムブロック | スパムメッセージをフィルタ | comment regex \"\\b(spam|bot)\\b\"(NOT論理) |
🎮 VRChat統合
プラグインはすぐにVRChat向けに最適化されています。ワールド内でチャットメッセージを表示する方法:
- VRChatがインストールされ実行中
- VRChatのOSCシステムに関する基本的な理解
- OSCメッセージを受信できるアバターまたはワールド
ステップ1:VRChat OSCを有効化
VRChatのアクションメニューで:
- Optionsを開く
- OSCタブに移動
- OSCを有効化
- 問題がある場合はReset Configをクリック
スクリーンショット:VRChat OSC設定メニュー
スクリーンショット追加:vrchat_osc_settings.png
ステップ2:接続を確認
プラグインはデフォルトでポート19100(VRChatの標準ポート)にメッセージを送信します。確認方法:
- OneCommeで配信を開始
- 誰かにチャットメッセージを送ってもらう
- プラグインのログタブで送信メッセージを確認
- ログで
/onecomme/youtube/comment(または類似)を探す
スクリーンショット:VRChatに送信されるメッセージを示すログ
スクリーンショット追加:logs_vrchat_messages.png
ステップ3:アバター/ワールドパラメータを設定
VRChatでメッセージを表示するには、OSCアドレスをリッスンするアバターパラメータまたはワールドスクリプトが必要です。
デフォルトOSCエンドポイント:
/onecomme/youtube/comment- YouTubeコメント/onecomme/youtube/superchat- スーパーチャット/onecomme/bilibili/comment- Bilibiliコメント/onecomme/bilibili/gift- Bilibiliギフト/onecomme/niconico/comment- ニコニココメント
VRChat接続のトラブルシューティング
メッセージがVRChatに表示されない場合:
- 設定でVRChat OSCが有効になっていることを確認
- ファイアウォールがUDPポート19100をブロックしていないか確認
- OneCommeがチャットメッセージを受信していることを確認
- プラグインログでメッセージが送信されていることを確認
- 設定でバイナリ vs 文字列形式の切替を試す
- OSC変更後にVRChatを再起動
🔧 トラブルシューティング
プラグインが読み込まれない
解決策:
- フォルダ名が正確に
onecommeOSCrouter(大文字小文字を区別)であることを確認 - プラグインフォルダのルートに
plugin.jsが存在することを確認 node_modulesフォルダが存在することを確認(リリースに含まれているはず)- OneCommeの完全な再起動を試す(更新ではなく)
- OneCommeコンソールでエラーメッセージを確認
Webインターフェースが読み込まれない
http://localhost:19101で「このページに到達できません」と表示される
解決策:
- OneComme設定でプラグインが有効になっていることを確認
- 他のアプリケーションがポート19101を使用していないか確認
- 別のブラウザからアクセスを試す
- OneCommeコンソールでWebサーバー起動メッセージを確認
- Windowsファイアウォール設定でブロックされたポートを確認
メッセージが対象アプリケーションに到達しない
解決策:
- 対象アプリケーションが正しいポートでリッスンしていることを確認
- 設定のOSCホスト/ポートが対象アプリと一致することを確認
- バイナリと文字列のメッセージ形式を切り替えてみる
- ファイアウォールがUDPトラフィックをブロックしていないか確認
npm run monitorを使用してOSCメッセージが送信されていることを確認- OSC設定変更後に対象アプリケーションを再起動
ルールがトリガーされない
解決策:
- ルールが有効になっていることを確認(トグルスイッチがオン)
- ルールテスト機能を使用して条件を検証
- 条件ロジック(AND vs OR)を確認
- フィールド名が受信メッセージ構造と一致することを確認
- テストのために条件を簡素化(1つの条件以外すべて削除)
- ログタブでどのルールが一致しているか確認
ヘルプを得る
まだ問題が発生している場合:
- 類似の問題についてGitHub Issuesページを確認
- READMEのQ&Aセクションを確認
- テストスイートを実行:
npm test(プラグインディレクトリから) - 以下の情報を含めて新しいIssueを開く:
- OneCommeバージョン
- プラグインバージョン
- オペレーティングシステム
- コンソールエラーメッセージ
- 再現手順
🚀 高度な使用法
OSCメッセージのテスト
プラグインにはtests/ディレクトリにテストユーティリティが含まれています:
# すべてのテストを実行
npm test
# 設定の永続性をテスト
npm run test:config
# OSC信頼性をテスト
npm run test:osc
# メッセージ形式をテスト
npm run test:formats
# リアルタイムOSCモニター
npm run monitor
設定ファイル
プラグイン設定はローカルに保存されます:
config.json- メイン設定(自動作成)routing-rules.json- カスタムルールconfig.backup.json- 変更前の自動バックアップ
routing-rules.jsonを直接編集し、Webインターフェースでリロードできます。
OSCメッセージ形式
メッセージは次の構造のJSONとして送信されます:
{
"timestamp": "2024-09-20T08:30:01.123Z",
"service": "youtube",
"type": "superchat",
"user": {
"id": "UC1234567890",
"name": "StreamerFan123",
"display_name": "StreamerFan123"
},
"message": {
"content": "素晴らしい配信!",
"id": "msg_12345"
},
"platform_data": {
"amount": "5.00",
"currency": "USD",
"is_member": true
},
"processing": {
"rule_matched": "High Value Donations",
"endpoint": "/alerts/bigdonation"
}
}
REST API
プラグインはhttp://localhost:19101/api/*で完全なREST APIを公開しています:
| エンドポイント | メソッド | 説明 |
|---|---|---|
/api/rules |
GET | すべてのルールをリスト |
/api/rules |
POST | 新しいルールを作成 |
/api/rules/:id |
PUT | ルールを更新 |
/api/rules/:id |
DELETE | ルールを削除 |
/api/config/full |
GET | 設定を取得 |
/api/logs |
GET | メッセージログを取得 |
/api/status |
GET | システムステータス |
パフォーマンスのヒント
- アクティブなルールを必要なものだけに制限
- 処理を減らすために特定の条件を使用
- 必要ない場合は絵文字削除を無効化(わずかなパフォーマンス向上)
- ログ保持を適切に保つ(デフォルト:100メッセージ)
- 概要タブでメモリ使用量を監視