LiveChatMessages

Eine liveChatMessage-Ressource steht für eine Chatnachricht in einem YouTube-Livechat. Die Ressource kann Details zu verschiedenen Arten von Nachrichten enthalten, z. B. eine neu gepostete Textnachricht oder eine Veranstaltung zum Fan-Funding.

Die Livechat-Funktion ist für Liveübertragungen standardmäßig aktiviert und steht während der Live-Veranstaltung zur Verfügung. Nach dem Ende der Veranstaltung steht der Livechat für diese Veranstaltung nicht mehr zur Verfügung.

Methoden

Die API unterstützt die folgenden Methoden für liveChatMessages-Ressourcen:

list
Listet Livechat-Nachrichten für einen bestimmten Chat auf. Hier kannst du die Funktion ausprobieren.
insert
Fügt einem Livechat eine Nachricht hinzu. Jetzt ausprobieren
delete
Löscht eine Chatnachricht. Die API-Anfrage muss vom Kanalinhaber oder Moderator des Livechats autorisiert werden. Hier kannst du die Funktion ausprobieren.

Ressourcendarstellung

Die folgende JSON-Struktur zeigt das Format einer liveChatMessages-Ressource:

{
  "kind": "youtube#liveChatMessage",
  "etag": etag,
  "id": string,
  "snippet": {
    "type": string,
    "liveChatId": string,
    "authorChannelId": string,
    "publishedAt": datetime,
    "hasDisplayContent": boolean,
    "displayMessage": string,
    "fanFundingEventDetails": {
      "amountMicros": unsigned long,
      "currency": string,
      "amountDisplayString": string,
      "userComment": string
    },
    "textMessageDetails": {
      "messageText": string
    },
    "messageDeletedDetails": {
      "deletedMessageId": string
    },
    "userBannedDetails": {
      "bannedUserDetails": {
        "channelId": string,
        "channelUrl": string,
        "displayName": string,
        "profileImageUrl": string
      },
      "banType": string,
      "banDurationSeconds": unsigned long
    },
    "memberMilestoneChatDetails": {
      "userComment": string,
      "memberMonth": unsigned integer,
      "memberLevelName": string
    },
    "newSponsorDetails": {
      "memberLevelName": string,
      "isUpgrade": bool
    },
    "superChatDetails": {
      "amountMicros": unsigned long,
      "currency": string,
      "amountDisplayString": string,
      "userComment": string,
      "tier": unsigned integer
    },
    "superStickerDetails": {
      "superStickerMetadata": {
        "stickerId": string,
        "altText": string,
        "language": string
      },
      "amountMicros": unsigned long,
      "currency": string,
      "amountDisplayString": string,
      "tier": unsigned integer
    },
    "membershipGiftingDetails": {
      "giftMembershipsCount": integer,
      "giftMembershipsLevelName": string
    },
    "giftMembershipReceivedDetails": {
      "memberLevelName": string,
      "gifterChannelId": string,
      "associatedMembershipGiftingMessageId": string
    },
  },
  "authorDetails": {
    "channelId": string,
    "channelUrl": string,
    "displayName": string,
    "profileImageUrl": string,
    "isVerified": boolean,
    "isChatOwner": boolean,
    "isChatSponsor": boolean,
    "isChatModerator": boolean
  },
}

Attribute

In der folgenden Tabelle werden die Attribute definiert, die in dieser Ressource angezeigt werden:

Attribute
kind string
Identifiziert den Typ der API-Ressource. Der Wert ist youtube#liveChatMessage.
etag etag
Das ETag dieser Ressource.
id string
Die ID, die YouTube zur eindeutigen Identifizierung der Nachricht zuweist.
snippet object
Das snippet-Objekt enthält wichtige Details zur Chatnachricht.
snippet.type string
Der Typ der Mitteilung. Dieses Attribut ist immer vorhanden und sein Wert bestimmt, welche Felder in der Ressource vorhanden sind.

Gültige Werte für dieses Attribut sind:
  • chatEndedEvent: Der Chat wurde beendet und es können keine weiteren Nachrichten nach dieser Nachricht eingefügt werden. Dies geschieht normalerweise kurz nach dem Ende einer Übertragung. Diese Art von Nachricht wird nicht für Livechats in der Standardübertragung eines Kanals gesendet.
  • messageDeletedEvent: Eine Nachricht wurde von einem Moderator gelöscht. Das Feld „author“ enthält die Angaben zum Moderator. Dieses Ereignis hat keinen Anzeigeinhalt.
  • sponsorOnlyModeEndedEvent: Der Chat ist nicht mehr im Unterstützer-Modus. Nutzer, die keine Unterstützer sind, können jetzt Nachrichten senden. Dieses Ereignis hat keinen Anzeigeinhalt.
  • sponsorOnlyModeStartedEvent: Der Chat wurde in den Unterstützer-Modus gewechselt. Das bedeutet, dass nur VIPs Nachrichten senden können. Dieser Termin hat keinen Anzeigeinhalt.
  • newSponsorEvent: Der Kanal, dem der Livechat gehört, wird von einem neuen Nutzer unterstützt. Die author-Felder enthalten die Details des neuen Sponsors.
  • memberMilestoneChatEvent: Ein Nutzer hat eine Chatnachricht für treue Mitglieder gesendet.
  • superChatEvent: Ein Nutzer hat einen Super Chat gekauft.
  • superStickerEvent: Ein Nutzer hat einen Super Sticker gekauft.
  • textMessageEvent: Ein Nutzer hat eine SMS gesendet.
  • tombstone: Ein Tombstone bedeutet, dass eine Nachricht mit dieser ID und diesem Veröffentlichungszeitpunkt existiert hat, aber inzwischen gelöscht wurde. Sie wird beim Löschen einer Nachricht nicht gesendet, sondern gibt an, wo sich die Nachricht vor dem Löschen befand. Bei diesem Nachrichtentyp sind nur die Felder snippet.liveChatId, snippet.type und snippet.publishedAt vorhanden.
  • userBannedEvent: Ein Nutzer wurde von einem Moderator gesperrt. Das Feld „author“ enthält die Angaben zum Moderator.
  • membershipGiftingEvent: Ein Nutzer hat Mitgliedschaften für andere Zuschauer gekauft.
  • giftMembershipReceivedEvent: Ein Nutzer hat eine geschenkte Mitgliedschaft erhalten.
snippet.liveChatId string
Die ID, die den Livechat eindeutig identifiziert, mit dem die Nachricht verknüpft ist. Die mit einer Übertragung verknüpfte Livechat-ID wird im Attribut snippet.liveChatId der Ressource liveBroadcast zurückgegeben.
snippet.authorChannelId string
Die ID des Nutzers, der die Nachricht verfasst hat. Dieses Feld wird nur bei den folgenden Mitteilungstypen ausgefüllt:
  • Wenn der Nachrichtentyp textMessageEvent lautet, identifiziert der Attributwert den Nutzer, der die Nachricht geschrieben hat.
  • Wenn der Nachrichtentyp fanFundingEvent lautet, identifiziert der Attributwert den Nutzer, der die Übertragung finanziert hat.
  • Wenn der Nachrichtentyp messageDeletedEvent lautet, identifiziert der Attributwert den Moderator, der die Nachricht gelöscht hat.
  • Wenn der Nachrichtentyp newSponsorEvent lautet, gibt der Eigenschaftswert den Nutzer an, der soeben ein Sponsor wurde.
  • Wenn der Nachrichtentyp memberMilestoneChatEvent lautet, identifiziert der Attributwert das Mitglied, das die Nachricht gesendet hat.
  • Wenn der Nachrichtentyp userBannedEvent lautet, identifiziert der Attributwert den Moderator, der den Nutzer gesperrt hat.
  • Wenn der Nachrichtentyp membershipGiftingEvent lautet, identifiziert der Eigenschaftswert den Nutzer, der die Mitgliedschaft verschenkt hat.
  • Wenn der Nachrichtentyp giftMembershipReceivedEvent lautet, identifiziert der Eigenschaftswert den Nutzer, der die geschenkte Mitgliedschaft erhalten hat.
snippet.publishedAt datetime
Datum und Uhrzeit der ursprünglichen Veröffentlichung der Nachricht. Der Wert wird im Format ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) angegeben.
snippet.hasDisplayContent boolean
Gibt an, ob die Nachricht Inhalte enthält, die Nutzern angezeigt werden sollen.
snippet.displayMessage string
Enthält einen String, der Nutzern angezeigt wird. Dieses Feld ist nicht vorhanden, wenn der Nachrichtentyp chatEndedEvent oder tombstone ist.
snippet.fanFundingEventDetails object
Hinweis: Dieses Objekt und seine untergeordneten Eigenschaften wurden verworfen. Ab dem 28. Februar 2017 werden für liveChatMessage-Ressourcen keine Details zu Veranstaltungen zur Finanzierung durch Fans mehr zurückgegeben.

Dieses Objekt enthält Details zum Finanzierungsereignis. Er ist nur vorhanden, wenn der Nachrichtentyp fanFundingEvent ist.
snippet.fanFundingEventDetails.amountMicros unsigned long
Hinweis: Diese Property wurde eingestellt.

Der Betrag des Fonds.
snippet.fanFundingEventDetails.currency string
Hinweis: Diese Property wurde eingestellt.

Die Währung, in der die Zahlung erfolgt ist.
snippet.fanFundingEventDetails.amountDisplayString string
Hinweis: Diese Property wurde eingestellt.

Ein gerenderter String, der dem Nutzer den Betrag und die Währung anzeigt.
snippet.fanFundingEventDetails.userComment string
Hinweis: Diese Property wurde eingestellt.

Der vom Nutzer zu diesem Fan-Funding-Ereignis hinzugefügte Kommentar.
snippet.textMessageDetails object
Dieses Objekt enthält Details zur Textnachricht. Er ist nur vorhanden, wenn der Nachrichtentyp textMessageEvent ist.
snippet.textMessageDetails.messageText string
Die Nachricht des Nutzers.
snippet.messageDeletedDetails object
Dieses Objekt enthält Details zu einer Nachricht, die von einem Chatmoderator oder vom Inhaber des Kanals der Liveübertragung gelöscht wurde. Er ist nur vorhanden, wenn der Nachrichtentyp messageDeletedEvent ist.
snippet.messageDeletedDetails.deletedMessageId string
Die ID, die die gelöschte Nachricht eindeutig identifiziert. Der Wert entspricht dem Attributwert id der ursprünglichen Textnachricht. Beispiel: Wenn eine textMessageEvent den Eigenschaftswert 123 hat und diese Nachricht anschließend gelöscht wird, ist der snippet.messageDeletedDetails.deletedMessageId-Wert für diese Nachricht 123.

Wenn du Chatnachrichten nach dem Abrufen im Cache speicherst, kannst du anhand des Werts dieser Eigenschaft die Nachricht angeben, die nicht mehr angezeigt werden soll.id
snippet.userBannedDetails object
Dieses Objekt enthält Details zu einem Nutzer, der für den Chat gesperrt wurde. Außerdem enthält es Details zur Sperre selbst. Nutzer können dauerhaft oder vorübergehend aus einem Chat ausgeschlossen werden.
snippet.userBannedDetails.bannedUserDetails object
Dieses Objekt enthält Informationen zum gesperrten Nutzer.
snippet.userBannedDetails.bannedUserDetails.channelId string
Die YouTube-Kanal-ID des gesperrten Nutzers.
snippet.userBannedDetails.bannedUserDetails.channelUrl string
Die URL des YouTube-Kanals des gesperrten Nutzers.
snippet.userBannedDetails.bannedUserDetails.displayName string
Der Anzeigename des YouTube-Kanals des gesperrten Nutzers.
snippet.userBannedDetails.bannedUserDetails.profileImageUrl string
Der Avatar des YouTube-Kanals des gesperrten Nutzers.
snippet.userBannedDetails.banType string
Die Art der Sperre. Gültige Werte für dieses Attribut sind:
  • dauerhaft
  • Übergangslösung
snippet.userBannedDetails.banDurationSeconds unsigned long
Die Dauer der Sperre. Dieses Attribut ist nur vorhanden, wenn der Attributwert snippet.userBannedDetails.banType temporary ist.
snippet.memberMilestoneChatDetails object
Dieses Objekt enthält Details zu einem Meilensteinereignis für Mitglieder. Er ist nur vorhanden, wenn der Nachrichtentyp memberMilestoneChatEvent ist.
snippet.memberMilestoneChatDetails.userComment string
Der vom Mitglied zu dieser Chatnachricht für treue Mitglieder hinzugefügte Kommentar. Dieses Feld ist bei Nachrichten ohne Kommentar des Mitglieds leer.
snippet.memberMilestoneChatDetails.memberMonth unsigned integer
Die Gesamtzahl der Monate, die der Zuschauer Mitglied war (aufgerundet), die ihm diese Chatnachricht für treue Mitglieder gewährt haben. Diese Anzahl von Monaten wird auch YouTube-Nutzern angezeigt.
snippet.memberMilestoneChatDetails.memberLevelName string
Der Name der Stufe, auf der der Betrachter Mitglied ist. Die Namen der Mitgliedschaftsstufen werden durch den YouTube-Kanal bestimmt, von dem die Mitgliedschaft angeboten wird. In einigen Fällen wird dieses Feld nicht ausgefüllt.
snippet.newSponsorDetails object
Dieses Objekt enthält Details zum Ereignis „Ankündigung neuer Mitglieder“. Dieser Parameter wird nur festgelegt, wenn der Typ newSponsorEvent ist. „Mitglied“ ist der Begriff für „Sponsor“.
snippet.newSponsorDetails.memberLevelName string
Der Name der Stufe, auf der der Betrachter Mitglied ist. Die Namen der Mitgliedschaftsstufen werden durch den YouTube-Kanal bestimmt, von dem die Mitgliedschaft angeboten wird. In einigen Fällen wird dieses Feld nicht ausgefüllt.
snippet.newSponsorDetails.isUpgrade bool
Gibt an, ob der Nutzer gerade ein Upgrade von einer niedrigeren Ebene durchgeführt hat. Für Zuschauer, die zum Zeitpunkt des Kaufs keine Mitglieder waren, lautet der Feldwert false.
snippet.superChatDetails object
Dieses Objekt enthält Details zu einem Super Chat-Ereignis. Er ist nur vorhanden, wenn der Nachrichtentyp superChatEvent ist.
snippet.superChatDetails.amountMicros unsigned long
Der Kaufbetrag in Mikros der Kaufwährung. Beträgt der Kaufbetrag beispielsweise einen Dollar, ist der Wert der snippet.amountMicros-Property 1000000.
snippet.superChatDetails.currency string
Die Währung, in der der Kauf getätigt wurde. Der Wert ist ein ISO 4217-Währungscode.
snippet.superChatDetails.amountDisplayString string
Ein String wie $1.00, der den Kaufbetrag und die Währung enthält. Der String ist für den Nutzer vorgesehen.
snippet.superChatDetails.userComment string
Der vom Nutzer diesem Super Chat-Ereignis hinzugefügte Kommentar.
snippet.superChatDetails.tier unsigned integer
Die Stufe für die kostenpflichtige Nachricht. Beachten Sie, dass die Property snippet.messageType in einer superChatEvent-Ressource diesen Wert enthält.

Die Stufe basiert auf dem Geldbetrag, der für den Kauf der Nachricht ausgegeben wird. Außerdem wird die Farbe bestimmt, mit der die Nachricht in der Benutzeroberfläche des Livechats hervorgehoben wird, die maximale Nachrichtenlänge und die Zeit, in der die Nachricht im Ticker angepinnt wird.

Die Super Chat-Stufen sind in der YouTube-Hilfe dokumentiert. Weitere Informationen findest du im maximierbaren Abschnitt zu den Kaufdetails für Super Chat. In dieser Liste ist die Stufe mit dem niedrigsten Kaufbetrag Stufe 1, der nächstniedrigere Betrag ist Stufe 2 und so weiter.
snippet.superStickerDetails object
Dieses Objekt enthält Details zu einem Super Sticker-Ereignis. Er ist nur vorhanden, wenn der Nachrichtentyp superStickerEvent ist.
snippet.superStickerDetails.superStickerMetadata object
Details zum Super Sticker.
snippet.superStickerDetails.superStickerMetadata.stickerId string
Eine eindeutige ID, die das Stickerbild identifiziert. Das Bild wird nur als Teil der Super Sticker-Nachricht angezeigt, wenn Nutzer das Chatfenster auf YouTube aufrufen. Die Bild-URL ist jedoch nicht über die API verfügbar. In dieser CSV-Datei kannst du nachsehen, welche Sticker-IDs zu welchen Super Stickern gehören.
snippet.superStickerDetails.superStickerMetadata.altText string
Ein Textstring, der den Sticker beschreibt. Das Feld snippet.superStickerDetails.superStickerMetadata.language gibt die Sprache des Textes an. Legen Sie beim Aufrufen der Methode liveChatMessages.list den hl-Parameterwert auf die ausgewählte Sprache für den Text fest.
snippet.superStickerDetails.superStickerMetadata.language string
Die Sprache des Property-Werts snippet.superStickerDetails.superStickerMetadata.altText.
snippet.superStickerDetails.amountMicros unsigned long
Der Kaufbetrag in Mikros der Kaufwährung. Beträgt der Kaufbetrag beispielsweise einen Dollar, ist der Wert der snippet.amountMicros-Property 1000000.
snippet.superStickerDetails.currency string
Die Währung, in der der Kauf getätigt wurde. Der Wert ist ein ISO 4217-Währungscode.
snippet.superStickerDetails.amountDisplayString string
Ein String wie $1.00, der den Kaufbetrag und die Währung enthält. Der String ist für den Nutzer vorgesehen.
snippet.superStickerDetails.tier unsigned integer
Die Stufe für die kostenpflichtige Nachricht. Beachten Sie, dass die Property snippet.messageType in einer superChatEvent-Ressource diesen Wert enthält.

Die Stufe basiert auf dem Geldbetrag, der für den Kauf der Nachricht ausgegeben wird. Außerdem wird die Farbe bestimmt, mit der die Nachricht in der Benutzeroberfläche des Livechats hervorgehoben wird, die maximale Nachrichtenlänge und die Zeit, in der die Nachricht im Ticker angepinnt wird.

Die Super Chat-Stufen, die auch Super Sticker abdecken, sind in der YouTube-Hilfe dokumentiert. Weitere Informationen findest du im maximierbaren Abschnitt zu den Kaufdetails für Super Chat. In dieser Liste ist die Stufe mit dem niedrigsten Kaufbetrag Stufe 1, der nächstniedrigere Betrag ist Stufe 2 und so weiter.
snippet.pollDetails object
Dieses Objekt enthält Details zu einem Umfrageereignis. Er ist nur vorhanden, wenn der Nachrichtentyp pollEvent ist.
snippet.pollDetails.metadata object
Details zur Umfrage.
snippet.pollDetails.metadata.options object
Die Optionen in der Liveumfrage.
snippet.pollDetails.metadata.options.optionText string
Der Text der Option für die Liveumfrage.
snippet.pollDetails.metadata.options.questionText string
Der Text der Liveumfrage.
snippet.pollDetails.metadata.status enum
Der Status der Liveumfrage. Gültige Werte für dieses Attribut sind:
  • unknown
  • active
  • closed
snippet.membershipGiftingDetails object
Dieses Objekt enthält Details zu einem Ereignis zum Verschenken von Mitgliedschaften. Er ist nur vorhanden, wenn message type den Wert membershipGiftingEvent hat.
snippet.membershipGiftingDetails.giftMembershipsCount integer
Die Anzahl der vom Nutzer gekauften Mitgliedschaften zum Verschenken.
snippet.membershipGiftingDetails.giftMembershipsLevelName string
Der Name der Stufe der vom Nutzer gekauften Mitgliedschaften zum Verschenken. Die Namen der Stufen werden durch den YouTube-Kanal bestimmt, von dem die Mitgliedschaft angeboten wird. In einigen Fällen wird dieses Feld nicht ausgefüllt.
snippet.giftMembershipReceivedDetails object
Dieses Objekt enthält Details zu dem Ereignis „Mitgliedschaft zum Geschenk erhalten“. Er ist nur vorhanden, wenn message type den Wert giftMembershipReceivedEvent hat.
snippet.giftMembershipReceivedDetails.memberLevelName string
Der Name der Stufe, auf der der Betrachter Mitglied ist. Das stimmt mit den snippet.membershipGiftingDetails.giftMembershipsLevelName der verknüpften Nachricht zum Verschenken von Mitgliedschaften überein. Die Namen der Stufen werden durch den YouTube-Kanal bestimmt, von dem die Mitgliedschaft angeboten wird. In einigen Fällen wird dieses Feld nicht ausgefüllt.
snippet.giftMembershipReceivedDetails.gifterChannelId string
Die ID des Nutzers, der die Mitgliedschaft verschenkt hat. Das stimmt mit den snippet.authorChannelId der verknüpften Nachricht zum Verschenken von Mitgliedschaften überein.
snippet.giftMembershipReceivedDetails.associatedMembershipGiftingMessageId string
Die ID der Nachricht zum Verschenken von Mitgliedschaften, die mit dieser geschenkten Mitgliedschaft verknüpft ist. Diese ID verweist immer auf eine Nachricht mit der type membershipGiftingEvent.
authorDetails object
Das Objekt authorDetails enthält zusätzliche Details zu dem Nutzer, der diese Nachricht gepostet hat.
authorDetails.channelId string
Die YouTube-Kanal-ID des Autors.
authorDetails.channelUrl string
Die URL des YouTube-Kanals des Autors.
authorDetails.displayName string
Der Anzeigename des YouTube-Kanals des Autors.
authorDetails.profileImageUrl string
Die Avatar-URL des YouTube-Kanals des Autors.
authorDetails.isVerified boolean
Dieser Wert gibt an, ob die Identität des Autors von YouTube bestätigt wurde.
authorDetails.isChatOwner boolean
Dieser Wert gibt an, ob der Autor der Inhaber des Livechats ist.
authorDetails.isChatSponsor boolean
Dieser Wert gibt an, ob der Autor ein Sponsor des Livechats ist.
authorDetails.isChatModerator boolean
Dieser Wert gibt an, ob der Autor ein Moderator des Livechats ist.