meetbot.dev

bot api · microsoft teams

dostępne dziś

Microsoft Teams, nagrany.

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.

przegląd

Dlaczego to istnieje.

Tylko web client, z założenia. Bez wymaganego klucza natywnego Teams SDK, bez instalowanej aplikacji Teams do zarejestrowania, bez admin consent w Twoim tenancie. Bot napędza Chrome pilotowanego Puppeteerem, który ładuje teams.microsoft.com/meetingjoin z URL-em, który postowałeś, wypełnia formularz dołączenia Twoim displayName i ląduje w lobby do wpuszczenia przez hosta. Ten sam kontener Docker, ten sam orchestrator, ten sam kontrakt webhook co adaptery Meet i Zoom.

Napisy + nazwy. Teams wysyła sfinalizowane zdarzenia napisów przez data channel, który przechwytujemy wewnątrz Chrome bota — nie scrapujemy DOM UI napisów, więc napisy nie znikają, gdy uczestnicy zmieniają rozmiar okien lub przesuwają panele. Prawdziwe nazwy uczestników pochodzą z panelu People (który Teams utrzymuje stabilnie przez swoje redesigny UI); audio jest per mówca z kluczem mapowania WebRTC SSRC, tak samo jak adapter Meet.

Czego jeszcze nie ma. Brak ścieżki compliance-bota — to pozycja roadmapy Q4 na /product/compliance-recording-api. Brak Teams Live Events (broadcast, nie meeting). Brak legacy spotkań Skype-for-Business (i tak deprecated przez MS). Wszystko inne — zaplanowane spotkania Teams, ad-hoc sesje meet-now, spotkania kanałowe, breakout rooms (pojedynczy pokój) — adapter web obsługuje dziś, w tej samej płaskiej cenie $0.30/godz. co Meet i Zoom.

co dostajesz z powrotem

Kontrakt, wyłożony.

item

Web-client adapter

Puppeteer + Chrome wewnątrz Xvfb. Bez klucza Teams SDK, bez admin consent w Twoim tenancie — bot dołącza do URL spotkania jak każdy anonimowy gość.

item

Captions data-channel intercept

Tap'ujemy WebSocket zdarzeń napisów Teams wewnątrz strony, więc napisy są stabilne wobec redesignów UI i zmian rozmiarów okien.

item

People-pane name mapping

Prawdziwe nazwy uczestników z panelu People, połączone z audio per mówca przez WebRTC SSRC. Bez anonimowości 'speaker_2' w JSONL.

item

Lobby + admit

Bot czeka w lobby, aż organizator go wpuści. Sub-code lobby_timeout na webhooku, jeśli nikt nie wpuści w skonfigurowanym oknie.

item

Tab video + chat

Przechwytywanie taba VP9 i przychodzące wiadomości czatu, ten sam kształt co wyjścia Meet/Zoom. Drop-in, jeśli już konsumujesz bot API.

item

Sub-codes on exit

host_denied_admission, lobby_timeout, removed_from_meeting, meeting_ended, recording_disabled — pojawiają się na webhooku ukończenia.