Aller au contenu
twitch.apiv2.0

Référence / Groupes de l'API

twitch.guestStar

Guest Star (bêta) : sessions, invitations et emplacements.

Toutes les méthodes de twitch.guestStar, avec leurs paramètres, ce qu’elles renvoient et le jeton nécessaire.

twitch.guestStar.settings(params, options?): Promise<GuestStarSettings>

Renvoie les réglages Guest Star d’une chaîne.

Bêta : Twitch peut modifier cet endpoint.

Jeton : utilisateur, scope channel:read:guest_star, channel:manage:guest_star, moderator:read:guest_star ou moderator:manage:guest_star.

NomTypeDescription
broadcaster_id requisstringDiffuseur dont on lit les réglages.
moderator_idstringLe diffuseur ou l’un de ses modérateurs. Par défaut, l’utilisateur qui fait l’appel.

options : Options de requête pour cet appel : as, token, signal, timeout, retries.

Promise<GuestStarSettings>

Champs de GuestStarSettings
NomTypeDescription
is_moderator_send_live_enabledbooleanIndique si les modérateurs Guest Star peuvent décider si l’invité d’un emplacement est à l’antenne.
slot_countnumberNombre d’emplacements que l’hôte peut remplir dans un appel, de 1 à 6.
is_browser_source_audio_enabledbooleanIndique si les sources navigateur de cette chaîne diffusent l’audio de la session.
group_layoutGuestStarGroupLayoutDisposition des invités dans la source navigateur.
browser_source_tokenstringJeton en lecture seule qui sert à construire les URL des sources navigateur.
const settings = await twitch.guestStar.settings({ broadcaster_id: "141981764" });
console.log(settings.slot_count, settings.group_layout);

Référence Twitch

twitch.guestStar.updateSettings(params?, options?): Promise<void>

Modifie les réglages Guest Star d’une chaîne. Seuls les champs que vous passez sont modifiés.

Bêta : Twitch peut modifier cet endpoint.

Jeton : utilisateur, scope channel:manage:guest_star.

NomTypeDescription
broadcaster_idstringDiffuseur dont on modifie les réglages. Par défaut, l’utilisateur qui fait l’appel.
is_moderator_send_live_enabledbooleanPermet aux modérateurs Guest Star de décider si l’invité d’un emplacement est à l’antenne.
slot_countnumberNombre d’emplacements que l’hôte peut remplir dans un appel, de 1 à 6.
is_browser_source_audio_enabledbooleanFait diffuser l’audio de la session par les sources navigateur de cette chaîne.
group_layoutGuestStarGroupLayoutDisposition des invités dans la source navigateur.
regenerate_browser_sourcesbooleanÉmet un nouveau jeton de source navigateur. Toutes les sources navigateur déjà configurées dans le logiciel de streaming cessent aussitôt de fonctionner.

options : Options de requête pour cet appel : as, token, signal, timeout, retries.

Promise<void>

await twitch.guestStar.updateSettings({ slot_count: 4, group_layout: "TILED_LAYOUT" });

Référence Twitch

twitch.guestStar.session(params, options?): Promise<GuestStarSession | null>

Renvoie la session Guest Star en cours sur une chaîne, ou null quand il n’y en a aucune. Un invité peut la lire aussi, dès qu’il est invité ou installé à un emplacement.

Bêta : Twitch peut modifier cet endpoint.

Jeton : utilisateur, scope channel:read:guest_star, channel:manage:guest_star, moderator:read:guest_star ou moderator:manage:guest_star.

NomTypeDescription
broadcaster_id requisstringDiffuseur qui héberge la session.
moderator_idstringLe diffuseur ou l’un de ses modérateurs. Par défaut, l’utilisateur qui fait l’appel.

options : Options de requête pour cet appel : as, token, signal, timeout, retries.

Promise<GuestStarSession \| null>

Champs de GuestStarSession
NomTypeDescription
idstringIdentifiant de la session.
guestsGuestStarGuest[]Toutes les personnes qui occupent un emplacement, hôte compris.
const session = await twitch.guestStar.session({ broadcaster_id: "141981764" });
if (session) console.log(session.guests.map((guest) => guest.user_login));

Référence Twitch

twitch.guestStar.createSession(params?, options?): Promise<GuestStarSession>

Lance une session Guest Star dont le diffuseur est le seul membre. Le diffuseur doit se trouver dans l’interface d’appel, sans quoi Twitch met fin à l’appel de lui-même.

Bêta : Twitch peut modifier cet endpoint.

Jeton : utilisateur, scope channel:manage:guest_star.

NomTypeDescription
broadcaster_idstringDiffuseur qui hébergera la session. Par défaut, l’utilisateur qui fait l’appel.

options : Options de requête pour cet appel : as, token, signal, timeout, retries.

Promise<GuestStarSession>

Champs de GuestStarSession
NomTypeDescription
idstringIdentifiant de la session.
guestsGuestStarGuest[]Toutes les personnes qui occupent un emplacement, hôte compris.
const session = await twitch.guestStar.createSession();

Référence Twitch

twitch.guestStar.endSession(params, options?): Promise<GuestStarSession | null>

Met fin à une session Guest Star, comme si l’hôte appuyait sur « End Call ». Renvoie la session telle qu’elle était à ce moment-là, ou null quand Twitch ne renvoie rien.

Bêta : Twitch peut modifier cet endpoint.

Jeton : utilisateur, scope channel:manage:guest_star.

NomTypeDescription
broadcaster_idstringDiffuseur qui héberge la session. Par défaut, l’utilisateur qui fait l’appel.
session_id requisstringIdentifiant de la session à terminer.

options : Options de requête pour cet appel : as, token, signal, timeout, retries.

Promise<GuestStarSession \| null>

Champs de GuestStarSession
NomTypeDescription
idstringIdentifiant de la session.
guestsGuestStarGuest[]Toutes les personnes qui occupent un emplacement, hôte compris.
await twitch.guestStar.endSession({ session_id: session.id });

Référence Twitch

twitch.guestStar.invites(params, options?): Promise<GuestStarInvite[]>

Liste les invitations en attente d’une session, en indiquant où en est chaque utilisateur invité dans la salle d’attente.

Bêta : Twitch peut modifier cet endpoint.

Jeton : utilisateur, scope channel:read:guest_star, channel:manage:guest_star, moderator:read:guest_star ou moderator:manage:guest_star.

NomTypeDescription
broadcaster_id requisstringDiffuseur qui héberge la session.
moderator_idstringLe diffuseur ou l’un de ses modérateurs. Par défaut, l’utilisateur qui fait l’appel.
session_id requisstringIdentifiant de la session dont on liste les invitations.

options : Options de requête pour cet appel : as, token, signal, timeout, retries.

Promise<GuestStarInvite[]>

Champs de GuestStarInvite
NomTypeDescription
user_idstringIdentifiant de l’utilisateur invité.
invited_atstringMoment où l’invitation a été envoyée, sous forme d’horodatage RFC 3339.
status"INVITED" | "ACCEPTED" | "READY"Étape où en est l’utilisateur pour rejoindre la session :"INVITED" tant qu’il n’a pas réagi, "ACCEPTED" une fois dans la salle d’attente, "READY" quand il a indiqué pouvoir rejoindre l’appel.
is_video_enabledbooleanIndique si la caméra de l’utilisateur est allumée.
is_audio_enabledbooleanIndique si le micro de l’utilisateur est activé.
is_video_availablebooleanIndique si l’utilisateur a une caméra à partager.
is_audio_availablebooleanIndique si l’utilisateur a un micro à partager.
const invites = await twitch.guestStar.invites({ broadcaster_id: "141981764", session_id: session.id });
const ready = invites.filter((invite) => invite.status === "READY");

Référence Twitch

twitch.guestStar.invite(params, options?): Promise<void>

Invite un utilisateur à une session en cours.

Bêta : Twitch peut modifier cet endpoint.

Jeton : utilisateur, scope channel:manage:guest_star ou moderator:manage:guest_star.

NomTypeDescription
broadcaster_id requisstringDiffuseur qui héberge la session.
moderator_idstringLe diffuseur ou l’un de ses modérateurs. Par défaut, l’utilisateur qui fait l’appel.
session_id requisstringIdentifiant de la session à laquelle inviter l’utilisateur.
guest_id requisstringIdentifiant de l’utilisateur à inviter.

options : Options de requête pour cet appel : as, token, signal, timeout, retries.

Promise<void>

await twitch.guestStar.invite({ broadcaster_id: "141981764", session_id: session.id, guest_id: "144601104" });

Référence Twitch

twitch.guestStar.deleteInvite(params, options?): Promise<void>

Retire une invitation à une session.

Bêta : Twitch peut modifier cet endpoint.

Jeton : utilisateur, scope channel:manage:guest_star ou moderator:manage:guest_star.

NomTypeDescription
broadcaster_id requisstringDiffuseur qui héberge la session.
moderator_idstringLe diffuseur ou l’un de ses modérateurs. Par défaut, l’utilisateur qui fait l’appel.
session_id requisstringIdentifiant de la session pour laquelle l’invitation a été envoyée.
guest_id requisstringIdentifiant de l’utilisateur dont on retire l’invitation.

options : Options de requête pour cet appel : as, token, signal, timeout, retries.

Promise<void>

await twitch.guestStar.deleteInvite({ broadcaster_id: "141981764", session_id: session.id, guest_id: "144601104" });

Référence Twitch

twitch.guestStar.assignSlot(params, options?): Promise<void>

Installe un utilisateur invité à un emplacement de la session, une fois qu’il est prêt à la rejoindre.

Bêta : Twitch peut modifier cet endpoint.

Jeton : utilisateur, scope channel:manage:guest_star ou moderator:manage:guest_star.

NomTypeDescription
broadcaster_id requisstringDiffuseur qui héberge la session.
moderator_idstringLe diffuseur ou l’un de ses modérateurs. Par défaut, l’utilisateur qui fait l’appel.
session_id requisstringIdentifiant de la session.
guest_id requisstringIdentifiant de l’utilisateur à installer. Il doit être invité et prêt à rejoindre la session.
slot_id requisstringEmplacement à lui attribuer : un nombre allant de "1" au nombre d’emplacements de la chaîne.

options : Options de requête pour cet appel : as, token, signal, timeout, retries.

Promise<void>

await twitch.guestStar.assignSlot({
broadcaster_id: "141981764",
session_id: session.id,
guest_id: "144601104",
slot_id: "1",
});

Référence Twitch

twitch.guestStar.updateSlot(params, options?): Promise<void>

Déplace un invité vers un autre emplacement. Quand celui-ci est occupé, les deux invités échangent leurs places.

Bêta : Twitch peut modifier cet endpoint.

Jeton : utilisateur, scope channel:manage:guest_star ou moderator:manage:guest_star.

NomTypeDescription
broadcaster_id requisstringDiffuseur qui héberge la session.
moderator_idstringLe diffuseur ou l’un de ses modérateurs. Par défaut, l’utilisateur qui fait l’appel.
session_id requisstringIdentifiant de la session.
source_slot_id requisstringEmplacement actuel de l’invité.
destination_slot_idstringEmplacement vers lequel déplacer l’invité. Quand quelqu’un s’y trouve déjà, les deux échangent leurs places.

options : Options de requête pour cet appel : as, token, signal, timeout, retries.

Promise<void>

await twitch.guestStar.updateSlot({
broadcaster_id: "141981764",
session_id: session.id,
source_slot_id: "1",
destination_slot_id: "2",
});

Référence Twitch

twitch.guestStar.deleteSlot(params, options?): Promise<void>

Retire un invité de son emplacement. Il perd aussitôt l’accès à la session et ne peut plus en envoyer ni en recevoir l’audio et la vidéo.

Bêta : Twitch peut modifier cet endpoint.

Jeton : utilisateur, scope channel:manage:guest_star ou moderator:manage:guest_star.

NomTypeDescription
broadcaster_id requisstringDiffuseur qui héberge la session.
moderator_idstringLe diffuseur ou l’un de ses modérateurs. Par défaut, l’utilisateur qui fait l’appel.
session_id requisstringIdentifiant de la session.
guest_id requisstringIdentifiant de l’invité à retirer.
slot_id requisstringEmplacement de l’invité.
should_reinvite_guestbooleanRenvoie l’invité dans la file des invitations au lieu de le sortir de la session.

options : Options de requête pour cet appel : as, token, signal, timeout, retries.

Promise<void>

await twitch.guestStar.deleteSlot({
broadcaster_id: "141981764",
session_id: session.id,
guest_id: "144601104",
slot_id: "1",
});

Référence Twitch

twitch.guestStar.updateSlotSettings(params, options?): Promise<void>

Modifie ce qu’un emplacement peut partager et la façon dont il apparaît dans le stream : audio, vidéo, passage à l’antenne et volume. Autoriser de nouveau l’audio ou la vidéo ne les active pas : l’invité est prévenu qu’il peut le faire.

Bêta : Twitch peut modifier cet endpoint.

Jeton : utilisateur, scope channel:manage:guest_star ou moderator:manage:guest_star.

NomTypeDescription
broadcaster_id requisstringDiffuseur qui héberge la session.
moderator_idstringLe diffuseur ou l’un de ses modérateurs. Par défaut, l’utilisateur qui fait l’appel.
session_id requisstringIdentifiant de la session.
slot_id requisstringEmplacement à modifier.
is_audio_enabledbooleanIndique si l’emplacement peut partager de l’audio. false le rend muet pour tout le monde.
is_video_enabledbooleanIndique si l’emplacement peut partager de la vidéo. false le masque pour tout le monde.
is_livebooleanIndique si l’emplacement est visible et audible dans le stream, par l’intermédiaire de la source navigateur.
volumenumberVolume de l’emplacement dans le stream, de 0 à 100.

options : Options de requête pour cet appel : as, token, signal, timeout, retries.

Promise<void>

await twitch.guestStar.updateSlotSettings({
broadcaster_id: "141981764",
session_id: session.id,
slot_id: "1",
is_audio_enabled: false,
});

Référence Twitch