Un recurso liveChatMessage
representa un mensaje de chat en un chat en vivo de YouTube. El recurso puede contener detalles sobre varios tipos de mensajes, como un mensaje de texto publicado recientemente o un evento de financiación de fans.
La función de chat en vivo está habilitada de forma predeterminada para las transmisiones en vivo y está disponible mientras el evento en vivo esté activo. (Después de que finalice el evento, el chat en vivo ya no estará disponible para ese evento).
Métodos
La API admite los siguientes métodos para los recursos liveChatMessages
:
- list
- Enumera los mensajes del chat en vivo de un chat específico. Pruébala ahora.
- insertar
- Agrega un mensaje o una encuesta a un chat en vivo. Pruébala ahora.
- transition
- Establece la transición del estado de un mensaje en vivo. Pruébala ahora.
- borrar
- Borra un mensaje de chat. El propietario del canal o un moderador del chat en vivo debe autorizar la solicitud a la API. Pruébala ahora.
Representación de recursos
En la siguiente estructura JSON, se muestra el formato de un recurso liveChatMessages
:
{ "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 }, "pollDetails": { "metadata": { "options": { "optionText": string, "tally": string, }, "questionText": string, "status": enum }, }, "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 }, }
Propiedades
La siguiente tabla define las propiedades que aparecen en este recurso:
Propiedades | |
---|---|
kind |
string Identifica el tipo de recurso de la API. El valor será youtube#liveChatMessage . |
etag |
etag Es la etiqueta de Etag de este recurso. |
id |
string Es el ID que YouTube asigna para identificar el mensaje de forma única. |
snippet |
object El objeto snippet contiene detalles principales sobre el mensaje de chat. |
snippet.type |
string Es el tipo de mensaje. Esta propiedad siempre está presente, y su valor determina qué campos están presentes en el recurso. Los valores válidos para esta propiedad son los siguientes:
|
snippet.liveChatId |
string Es el ID que identifica de forma inequívoca el chat en vivo con el que está asociado el mensaje. El ID del chat en vivo asociado con una transmisión se muestra en la propiedad snippet.liveChatId del recurso liveBroadcast . |
snippet.authorChannelId |
string Es el ID del usuario que escribió el mensaje. Este campo solo se completa para los siguientes tipos de mensajes:
|
snippet.publishedAt |
datetime Es la fecha y hora en que se publicó el mensaje originalmente. El valor se especifica en formato ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ). |
snippet.hasDisplayContent |
boolean Indica si el mensaje tiene contenido visible que se debe mostrar a los usuarios. |
snippet.displayMessage |
string Contiene una cadena que se muestra a los usuarios. Este campo no está presente si el tipo de mensaje es chatEndedEvent o tombstone . |
snippet.fanFundingEventDetails |
object Nota: Este objeto y sus propiedades secundarias dejaron de estar disponibles. A partir del 28 de febrero de 2017, los recursos liveChatMessage ya no mostrarán detalles de los eventos de financiación de fans.Este objeto contiene detalles sobre el evento de financiación. Solo está presente si el tipo de mensaje es fanFundingEvent . |
snippet.fanFundingEventDetails.amountMicros |
unsigned long Nota: Esta propiedad dejó de estar disponible. Es el importe del fondo. |
snippet.fanFundingEventDetails.currency |
string Nota: Esta propiedad dejó de estar disponible. La moneda en la que se realizó el fondo. |
snippet.fanFundingEventDetails.amountDisplayString |
string Nota: Esta propiedad dejó de estar disponible. Es una cadena renderizada que muestra el importe y la moneda del fondo al usuario. |
snippet.fanFundingEventDetails.userComment |
string Nota: Esta propiedad dejó de estar disponible. Es el comentario que el usuario agregó a este evento de financiación de fans. |
snippet.textMessageDetails |
object Este objeto contiene detalles sobre el mensaje de texto. Solo está presente si el tipo de mensaje es textMessageEvent . |
snippet.textMessageDetails.messageText |
string Es el mensaje del usuario. |
snippet.messageDeletedDetails |
object Este objeto contiene detalles sobre un mensaje que borró un moderador del chat o el propietario del canal de la transmisión en vivo. Solo está presente si el tipo de mensaje es messageDeletedEvent . |
snippet.messageDeletedDetails.deletedMessageId |
string Es el ID que identifica de forma exclusiva el mensaje borrado. El valor es el mismo que el valor de la propiedad id del mensaje de texto original. Por ejemplo, si un textMessageEvent tiene un valor de propiedad id de 123 y ese mensaje se borra posteriormente, el valor de snippet.messageDeletedDetails.deletedMessageId será 123 para ese mensaje.Si almacenas en caché los mensajes de chat después de recuperarlos, usa el valor de esta propiedad para identificar el mensaje que ya no debe mostrarse. |
snippet.userBannedDetails |
object Este objeto contiene detalles sobre un usuario que se prohibió en el chat. También contiene detalles sobre la prohibición en sí. Los usuarios pueden ser expulsados de un chat de forma permanente o temporal. |
snippet.userBannedDetails.bannedUserDetails |
object Este objeto contiene información sobre el usuario expulsado. |
snippet.userBannedDetails.bannedUserDetails.channelId |
string Es el ID del canal de YouTube del usuario bloqueado. |
snippet.userBannedDetails.bannedUserDetails.channelUrl |
string La URL del canal de YouTube del usuario bloqueado. |
snippet.userBannedDetails.bannedUserDetails.displayName |
string Es el nombre visible del canal de YouTube del usuario expulsado. |
snippet.userBannedDetails.bannedUserDetails.profileImageUrl |
string Es el avatar del canal de YouTube del usuario bloqueado. |
snippet.userBannedDetails.banType |
string Es el tipo de prohibición. Los valores válidos para esta propiedad son los siguientes:
|
snippet.userBannedDetails.banDurationSeconds |
unsigned long Es la duración de la prohibición. Esta propiedad solo está presente si el valor de la propiedad snippet.userBannedDetails.banType es temporary . |
snippet.memberMilestoneChatDetails |
object Este objeto contiene detalles sobre un evento de evento importante del miembro. Solo está presente si el tipo de mensaje es memberMilestoneChatEvent . |
snippet.memberMilestoneChatDetails.userComment |
string Es el comentario que el miembro agregó a este mensaje de recompensa para miembros. Este campo está vacío para los mensajes sin comentarios del miembro. |
snippet.memberMilestoneChatDetails.memberMonth |
unsigned integer Es la cantidad total de meses (redondeada hacia arriba) que el usuario lleva como miembro y que le otorgó este mensaje de recompensa para miembros. Esta es la misma cantidad de meses que se muestra a los usuarios de YouTube. |
snippet.memberMilestoneChatDetails.memberLevelName |
string Es el nombre del nivel del que es miembro el usuario. Los nombres de los niveles los define el canal de YouTube que ofrece la membresía. En algunas situaciones, este campo no se completa. |
snippet.newSponsorDetails |
object Este objeto contiene detalles sobre el evento Anuncio de nuevo miembro. Solo se establece si el tipo es newSponsorEvent . "Miembro" es el término para "patrocinador".
|
snippet.newSponsorDetails.memberLevelName |
string Es el nombre del nivel del que es miembro el usuario. Los nombres de los niveles los define el canal de YouTube que ofrece la membresía. En algunas situaciones, este campo no se completa. |
snippet.newSponsorDetails.isUpgrade |
bool Indica si el usuario acaba de actualizar desde un nivel inferior. En el caso de los usuarios que no eran miembros en el momento de la compra, el valor del campo es false .
|
snippet.superChatDetails |
object Este objeto contiene detalles sobre un evento de Súper chat. Solo está presente si el tipo de mensaje es superChatEvent . |
snippet.superChatDetails.amountMicros |
unsigned long Es el importe de la compra, en micros de la moneda de la compra. Por ejemplo, si el importe de la compra es un dólar, el valor de la propiedad snippet.amountMicros es 1000000 . |
snippet.superChatDetails.currency |
string Es la moneda en la que se realizó la compra. El valor es un código de moneda ISO 4217. |
snippet.superChatDetails.amountDisplayString |
string Es una cadena, como $1.00 , que contiene el importe y la moneda de la compra. El objetivo de la cadena es mostrarla al usuario. |
snippet.superChatDetails.userComment |
string Es el comentario que el usuario agregó a este evento de Súper chat. |
snippet.superChatDetails.tier |
unsigned integer Es el nivel del mensaje pagado. Ten en cuenta que, en un recurso superChatEvent , la propiedad snippet.messageType contiene este valor.El nivel se basa en la cantidad de dinero que se invirtió para comprar el mensaje. También determina el color que se usa para destacar el mensaje en la IU del chat en vivo, la longitud máxima del mensaje y la cantidad de tiempo que el mensaje se fija en el ticker. Los niveles de Súper chat se documentan en el Centro de ayuda de YouTube. (consulta la sección expandible sobre los detalles de la compra de Súper chat). En esa lista, el nivel con el importe de compra más bajo es el nivel 1, el siguiente importe más bajo es el nivel 2, y así sucesivamente. |
snippet.superStickerDetails |
object Este objeto contiene detalles sobre un evento de Súper calcomanía. Solo está presente si el tipo de mensaje es superStickerEvent . |
snippet.superStickerDetails.superStickerMetadata |
object Detalles sobre la Súper calcomanía. |
snippet.superStickerDetails.superStickerMetadata.stickerId |
string Un ID único que identifica la imagen de la calcomanía. Ten en cuenta que la imagen solo se muestra como parte del mensaje de la calcomanía superestrella cuando los usuarios ven la ventana de chat en YouTube. Sin embargo, la URL de la imagen no está disponible con la API. A modo de referencia, puedes encontrar qué IDs de calcomanías se relacionan con qué Súper calcomanías en este archivo CSV. |
snippet.superStickerDetails.superStickerMetadata.altText |
string Es una cadena de texto que describe la calcomanía. El campo snippet.superStickerDetails.superStickerMetadata.language identifica el idioma del texto. Cuando llames al método liveChatMessages.list , establece el valor del parámetro hl en el idioma elegido para el texto. |
snippet.superStickerDetails.superStickerMetadata.language |
string Es el idioma del valor de la propiedad snippet.superStickerDetails.superStickerMetadata.altText . |
snippet.superStickerDetails.amountMicros |
unsigned long Es el importe de la compra, en micros de la moneda de la compra. Por ejemplo, si el importe de la compra es un dólar, el valor de la propiedad snippet.amountMicros es 1000000 . |
snippet.superStickerDetails.currency |
string Es la moneda en la que se realizó la compra. El valor es un código de moneda ISO 4217. |
snippet.superStickerDetails.amountDisplayString |
string Es una cadena, como $1.00 , que contiene el importe y la moneda de la compra. El objetivo de la cadena es mostrarla al usuario. |
snippet.superStickerDetails.tier |
unsigned integer Es el nivel del mensaje pagado. Ten en cuenta que, en un recurso superChatEvent , la propiedad snippet.messageType contiene este valor.El nivel se basa en la cantidad de dinero que se invirtió para comprar el mensaje. También determina el color que se usa para destacar el mensaje en la IU del chat en vivo, la longitud máxima del mensaje y la cantidad de tiempo que el mensaje permanece fijado en el ticker. Los niveles de Súper chat, que también abarcan las Súper calcomanías, se documentan en el Centro de ayuda de YouTube. (consulta la sección expandible sobre los detalles de la compra de Súper chat). En esa lista, el nivel con el importe de compra más bajo es el nivel 1, el siguiente importe más bajo es el nivel 2, y así sucesivamente. |
snippet.pollDetails |
object Este objeto contiene detalles sobre un evento de encuesta. Solo está presente si el tipo de mensaje es pollEvent . |
snippet.pollDetails.metadata |
object Detalles sobre el evento de encuesta. |
snippet.pollDetails.metadata.options |
object Las opciones de la encuesta en vivo. |
snippet.pollDetails.metadata.options.optionText |
string Es el texto de la opción de encuesta en vivo. |
snippet.pollDetails.metadata.options.tally |
string Es el recuento de la opción de encuesta en vivo. El recuento solo está presente si el propietario del canal autoriza la solicitud a la API. |
snippet.pollDetails.metadata.questionText |
string Es el texto de la pregunta de la encuesta en vivo. |
snippet.pollDetails.metadata.status |
enum Es el estado del evento de encuesta en vivo. Los valores válidos para esta propiedad son los siguientes:
|
snippet.membershipGiftingDetails |
object Este objeto contiene detalles sobre un evento de regalo de membresía. Solo está presente si message type es membershipGiftingEvent . |
snippet.membershipGiftingDetails.giftMembershipsCount |
integer Es la cantidad de membresías de regalo que compró el usuario. |
snippet.membershipGiftingDetails.giftMembershipsLevelName |
string Es el nombre del nivel de las membresías de regalo que compró el usuario. Los nombres de los niveles los define el canal de YouTube que ofrece la membresía. En algunas situaciones, este campo no se completa. |
snippet.giftMembershipReceivedDetails |
object Este objeto contiene detalles sobre un evento de recepción de membresía de regalo. Solo está presente si message type es giftMembershipReceivedEvent . |
snippet.giftMembershipReceivedDetails.memberLevelName |
string Es el nombre del nivel del que es miembro el usuario. Esto coincide con el snippet.membershipGiftingDetails.giftMembershipsLevelName del mensaje de regalo de membresía asociado. Los nombres de los niveles los define el canal de YouTube que ofrece la membresía. En algunas situaciones, este campo no se completa. |
snippet.giftMembershipReceivedDetails.gifterChannelId |
string Es el ID del usuario que realizó la compra de la membresía como regalo. Esto coincide con el snippet.authorChannelId del mensaje de regalo de membresía asociado. |
snippet.giftMembershipReceivedDetails.associatedMembershipGiftingMessageId |
string Es el ID del mensaje de regalo de membresía relacionado con esta membresía de regalo. Este ID siempre se referirá a un mensaje cuyo type sea membershipGiftingEvent . |
authorDetails |
object El objeto authorDetails contiene detalles adicionales sobre el usuario que publicó este mensaje. |
authorDetails.channelId |
string Es el ID del canal de YouTube del autor. |
authorDetails.channelUrl |
string Es la URL del canal de YouTube del autor. |
authorDetails.displayName |
string Es el nombre visible del canal de YouTube del autor. |
authorDetails.profileImageUrl |
string Es la URL del avatar del canal de YouTube del autor. |
authorDetails.isVerified |
boolean Este valor indica si YouTube verificó la identidad del autor. |
authorDetails.isChatOwner |
boolean Este valor indica si el autor es el propietario del chat en vivo. |
authorDetails.isChatSponsor |
boolean Este valor indica si el autor es patrocinador del chat en vivo. |
authorDetails.isChatModerator |
boolean Este valor indica si el autor es moderador del chat en vivo. |