meetbot.dev

bot api · microsoft teams

本日提供中

Microsoft Teams、 録画済み。

Drop a teams.microsoft.com or teams.live.com URL into POST /v1/bots; we join via the web client as an anonymous guest, capture per-speaker audio, and emit a signed webhook with the manifest path on exit.

概要

なぜこれが存在するか。

設計により Web クライアントのみ。ネイティブ Teams SDK キー不要、登録すべき Teams アプリのインストールなし、テナントでの管理者同意なし。ボットは Puppeteer がパイロットする Chrome を駆動し、投稿された URL で teams.microsoft.com/meetingjoin をロードし、参加フォームに displayName を記入し、ホストの許可のために lobby に着地します。Meet と Zoom アダプタと同じ Docker コンテナ、同じオーケストレータ、同じ webhook 契約。

字幕 + 名前。Teams は確定字幕イベントをデータチャネル経由で送信します。これをボットの Chrome 内で傍受 — 字幕 UI を DOM スクレイプしないため、参加者がウィンドウのサイズを変えたりパネルを動かしても字幕は落ちません。実際の参加者名は People ペイン (Teams が UI のリデザインを通じて安定して保持) から来ます。音声は Meet アダプタと同様に、WebRTC SSRC マッピングをキーとした話者ごとです。

まだないもの。compliance ボットのパスはまだありません — それは /product/compliance-recording-api の Q4 ロードマップ項目です。Teams Live Events (broadcast、ミーティングではない) はありません。Skype-for-Business レガシーミーティング (どのみち MS が deprecate) はありません。それ以外 — スケジュール済み Teams ミーティング、ad-hoc meet-now セッション、チャネルミーティング、breakout rooms (単一ルーム) — については、Web アダプタが今日処理し、Meet と Zoom と同じフラットな $0.30/時です。

受け取れるもの

コントラクト、 明文化。

item

Web-client adapter

Xvfb 内の Puppeteer + Chrome。Teams SDK キー不要、テナントでの管理者同意不要 — ボットは匿名ゲストのようにミーティング URL に参加します。

item

Captions data-channel intercept

ページ内で Teams の字幕イベント WebSocket をタップするので、UI のリデザインやウィンドウサイズ変更に対して字幕は安定です。

item

People-pane name mapping

People ペインからの実際の参加者名を、WebRTC SSRC 経由で話者ごとの音声に結合。JSONL に 'speaker_2' の匿名性なし。

item

Lobby + admit

ボットはオーガナイザーの許可を lobby で待ちます。設定したウィンドウ内に誰も許可しなければ、webhook で lobby_timeout sub-code。

item

Tab video + chat

VP9 タブキャプチャと受信チャットメッセージ、Meet/Zoom 出力と同じ形。すでに bot API を消費しているなら drop-in。

item

Sub-codes on exit

host_denied_admission、lobby_timeout、removed_from_meeting、meeting_ended、recording_disabled — 完了 webhook で返されます。