O recurso liveChatMessage
representa uma mensagem em um chat ao vivo do YouTube. O recurso pode conter detalhes sobre vários tipos de mensagens, incluindo uma mensagem de texto recém-postada ou um evento de financiamento por fãs.
O recurso de chat ao vivo é ativado por padrão para transmissões ao vivo e fica disponível enquanto o evento ao vivo estiver ativo. Após o término do evento, o chat ao vivo não estará mais disponível.
Métodos
A API é compatível com os seguintes métodos para recursos liveChatMessages
:
- list
- Lista as mensagens de um chat específico. Faça um teste agora.
- inserir
- Adiciona uma mensagem ou enquete a um chat ao vivo. Faça um teste agora.
- transition
- Faz a transição do estado de uma mensagem ao vivo. Faça um teste agora.
- delete
- Exclui uma mensagem de chat. A solicitação de API precisa ser autorizada pelo proprietário do canal ou por um moderador do chat ao vivo. Faça um teste agora.
Representação de recurso
A estrutura JSON a seguir mostra o formato de um 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, "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 }, }
Propriedades
A tabela a seguir define as propriedades que aparecem neste recurso:
Propriedades | |
---|---|
kind |
string Identifica o tipo de recurso da API. O valor será youtube#liveChatMessage . |
etag |
etag A Etag deste recurso. |
id |
string O ID atribuído pelo YouTube para identificar a mensagem de forma exclusiva. |
snippet |
object O objeto snippet contém os principais detalhes da mensagem de chat. |
snippet.type |
string O tipo de mensagem. Essa propriedade está sempre presente, e o valor dela determina quais campos estão presentes no recurso. Os valores válidos para essa propriedade são:
|
snippet.liveChatId |
string O ID que identifica de forma exclusiva o chat ao vivo associado à mensagem. O ID do chat ao vivo associado a uma transmissão é retornado na propriedade snippet.liveChatId do recurso liveBroadcast . |
snippet.authorChannelId |
string O ID do usuário que escreveu a mensagem. Esse campo só é preenchido para os seguintes tipos de mensagem:
|
snippet.publishedAt |
datetime A data e a hora em que a mensagem foi publicada originalmente. O valor é especificado no formato ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ). |
snippet.hasDisplayContent |
boolean Indica se a mensagem tem conteúdo de exibição que precisa ser mostrado aos usuários. |
snippet.displayMessage |
string Contém uma string que é exibida para os usuários. Este campo não estará presente se o tipo de mensagem for chatEndedEvent ou tombstone . |
snippet.fanFundingEventDetails |
object Observação: esse objeto e as propriedades filhas dele foram descontinuados. A partir de 28 de fevereiro de 2017, os recursos do liveChatMessage não retornarão mais detalhes de eventos de financiamento por fãs.Esse objeto contém detalhes sobre o evento de financiamento. Ela só vai estar presente se o tipo de mensagem for fanFundingEvent . |
snippet.fanFundingEventDetails.amountMicros |
unsigned long Observação: essa propriedade foi descontinuada. O valor do fundo. |
snippet.fanFundingEventDetails.currency |
string Observação: essa propriedade foi descontinuada. A moeda em que o fundo foi feito. |
snippet.fanFundingEventDetails.amountDisplayString |
string Observação: essa propriedade foi descontinuada. Uma string renderizada que mostra o valor e a moeda do fundo ao usuário. |
snippet.fanFundingEventDetails.userComment |
string Observação: esta propriedade foi descontinuada. O comentário adicionado pelo usuário ao evento de financiamento por fãs. |
snippet.textMessageDetails |
object Esse objeto contém detalhes sobre a mensagem de texto. Ela só vai estar presente se o tipo de mensagem for textMessageEvent . |
snippet.textMessageDetails.messageText |
string A mensagem do usuário. |
snippet.messageDeletedDetails |
object Este objeto contém detalhes sobre uma mensagem excluída por um moderador do chat ou pelo proprietário do canal da transmissão ao vivo. Ela só vai estar presente se o tipo de mensagem for messageDeletedEvent . |
snippet.messageDeletedDetails.deletedMessageId |
string O ID que identifica exclusivamente a mensagem excluída. O valor é igual ao valor da propriedade id da mensagem de texto original. Por exemplo, se uma textMessageEvent tiver um valor de propriedade id de 123 e essa mensagem for excluída posteriormente, o valor snippet.messageDeletedDetails.deletedMessageId será 123 para essa mensagem.Se você armazenar mensagens de chat em cache depois de recuperá-las, use o valor dessa propriedade para identificar a mensagem que não deve mais ser exibida. |
snippet.userBannedDetails |
object Este objeto contém detalhes sobre um usuário que foi banido do chat. Ele também contém detalhes sobre a proibição. Os usuários podem ser banidos de um chat de forma permanente ou temporária. |
snippet.userBannedDetails.bannedUserDetails |
object Este objeto contém informações sobre o usuário banido. |
snippet.userBannedDetails.bannedUserDetails.channelId |
string O ID do canal do YouTube do usuário banido. |
snippet.userBannedDetails.bannedUserDetails.channelUrl |
string O URL do canal do YouTube do usuário banido. |
snippet.userBannedDetails.bannedUserDetails.displayName |
string O nome de exibição do canal do YouTube do usuário banido. |
snippet.userBannedDetails.bannedUserDetails.profileImageUrl |
string O avatar do canal do YouTube do usuário banido. |
snippet.userBannedDetails.banType |
string O tipo de proibição. Os valores válidos para esta propriedade são:
|
snippet.userBannedDetails.banDurationSeconds |
unsigned long A duração da proibição. Essa propriedade só vai estar presente se o valor da propriedade snippet.userBannedDetails.banType for temporary . |
snippet.memberMilestoneChatDetails |
object Esse objeto contém detalhes sobre um Evento de marco de membro. Ela só vai estar presente se o tipo de mensagem for memberMilestoneChatEvent . |
snippet.memberMilestoneChatDetails.userComment |
string O comentário adicionado pelo membro a esta Mensagem prêmio para membros. Este campo está vazio para mensagens sem um comentário do participante. |
snippet.memberMilestoneChatDetails.memberMonth |
unsigned integer O total de meses (arredondado) em que o espectador foi membro e que concedeu esta Mensagem prêmio para membros. Esse é o mesmo número de meses que é exibido aos usuários do YouTube. |
snippet.memberMilestoneChatDetails.memberLevelName |
string O nome do nível em que o espectador é membro. Os nomes dos níveis são definidos pelo canal do YouTube que oferece a assinatura. Em algumas situações, esse campo não é preenchido. |
snippet.newSponsorDetails |
object Esse objeto contém detalhes sobre o evento de anúncio de novos membros. Isso só vai ser definido se o tipo for newSponsorEvent . "Membro" é o termo para “patrocinador”.
|
snippet.newSponsorDetails.memberLevelName |
string O nome do nível em que o espectador é membro. Os nomes dos níveis são definidos pelo canal do YouTube que oferece a assinatura. Em algumas situações, esse campo não é preenchido. |
snippet.newSponsorDetails.isUpgrade |
bool Indica se o espectador acabou de fazer upgrade de um nível inferior. Para leitores que não eram membros no momento da compra, o valor do campo é false .
|
snippet.superChatDetails |
object Esse objeto contém detalhes sobre um evento do Super Chat. Ela só vai estar presente se o tipo de mensagem for superChatEvent . |
snippet.superChatDetails.amountMicros |
unsigned long O montante da compra, em micros da moeda de compra. Por exemplo, se o montante da compra for de um dólar, o valor da propriedade snippet.amountMicros será 1000000 . |
snippet.superChatDetails.currency |
string A moeda em que a compra foi feita. O valor é um código de moeda ISO 4217. |
snippet.superChatDetails.amountDisplayString |
string Uma string, como $1.00 , que contém o valor da compra e a moeda. A string é exibida para o usuário. |
snippet.superChatDetails.userComment |
string O comentário adicionado pelo usuário a este evento do Super Chat. |
snippet.superChatDetails.tier |
unsigned integer O nível da mensagem paga. Observe que, em um recurso superChatEvent , a propriedade snippet.messageType contém esse valor.O nível é baseado no valor gasto para comprar a mensagem. Ele também determina a cor usada para destacar a mensagem na interface do chat ao vivo, o tamanho máximo da mensagem e por quanto tempo ela fica fixada no mostrador. Os níveis do Super Chat estão documentados na Central de Ajuda do YouTube. Consulte a seção expansível sobre os detalhes da compra do Super Chat. Nessa lista, o nível com o menor montante de compra é o nível 1, o próximo valor mais baixo é o nível 2 e assim por diante. |
snippet.superStickerDetails |
object Esse objeto contém detalhes sobre um evento de Super Sticker. Ela só vai estar presente se o tipo de mensagem for superStickerEvent . |
snippet.superStickerDetails.superStickerMetadata |
object Detalhes sobre o Super Sticker. |
snippet.superStickerDetails.superStickerMetadata.stickerId |
string Um código exclusivo que identifica a imagem do adesivo. A imagem só aparece como parte da mensagem do Super Sticker quando os usuários abrem a janela do chat no YouTube. No entanto, o URL da imagem não está disponível ao usar a API. Apenas como referência, você encontra os IDs de adesivos relacionados a cada Super Sticker neste arquivo CSV. |
snippet.superStickerDetails.superStickerMetadata.altText |
string Uma string de texto que descreve o adesivo. O campo snippet.superStickerDetails.superStickerMetadata.language identifica o idioma do texto. Ao chamar o método liveChatMessages.list , defina o valor do parâmetro hl como o idioma escolhido para o texto. |
snippet.superStickerDetails.superStickerMetadata.language |
string O idioma do valor da propriedade snippet.superStickerDetails.superStickerMetadata.altText . |
snippet.superStickerDetails.amountMicros |
unsigned long O montante da compra, em micros da moeda de compra. Por exemplo, se o montante da compra for de um dólar, o valor da propriedade snippet.amountMicros será 1000000 . |
snippet.superStickerDetails.currency |
string A moeda em que a compra foi feita. O valor é um código de moeda ISO 4217. |
snippet.superStickerDetails.amountDisplayString |
string Uma string, como $1.00 , que contém o valor da compra e a moeda. A string é exibida para o usuário. |
snippet.superStickerDetails.tier |
unsigned integer O nível da mensagem paga. Observe que, em um recurso superChatEvent , a propriedade snippet.messageType contém esse valor.O nível é baseado no valor gasto para comprar a mensagem. Ele também determina a cor usada para destacar a mensagem no chat ao vivo, o tamanho máximo e por quanto tempo ela fica fixada no mostrador. Os níveis do Super Chat, que também abrangem os Super Stickers, estão documentados na Central de Ajuda do YouTube. Consulte a seção expansível sobre os detalhes da compra do Super Chat. Nessa lista, o nível com o menor montante de compra é o nível 1, o próximo valor mais baixo é o nível 2 e assim por diante. |
snippet.pollDetails |
object Esse objeto contém detalhes sobre um evento de enquete. Ela só vai estar presente se o tipo de mensagem for pollEvent . |
snippet.pollDetails.metadata |
object Detalhes sobre o evento da enquete. |
snippet.pollDetails.metadata.options |
object As opções na enquete ao vivo. |
snippet.pollDetails.metadata.options.optionText |
string O texto da opção de enquete ao vivo. |
snippet.pollDetails.metadata.options.questionText |
string O texto da pergunta da enquete ao vivo. |
snippet.pollDetails.metadata.status |
enum O status do evento de enquete ao vivo. Os valores válidos para essa propriedade são:
|
snippet.membershipGiftingDetails |
object Este objeto contém detalhes sobre um evento de Assinatura de presente. Ele só vai estar presente se message type for membershipGiftingEvent . |
snippet.membershipGiftingDetails.giftMembershipsCount |
integer O número de assinaturas de presente compradas pelo usuário. |
snippet.membershipGiftingDetails.giftMembershipsLevelName |
string O nome do nível das assinaturas de presente compradas pelo usuário. Os nomes dos níveis são definidos pelo canal do YouTube que oferece a assinatura. Em algumas situações, esse campo não é preenchido. |
snippet.giftMembershipReceivedDetails |
object Esse objeto contém detalhes sobre um evento de assinatura de presente recebida. Ele só vai estar presente se message type for giftMembershipReceivedEvent . |
snippet.giftMembershipReceivedDetails.memberLevelName |
string O nome do nível em que o espectador é membro. Isso corresponde ao snippet.membershipGiftingDetails.giftMembershipsLevelName da mensagem de presente de assinatura associada. Os nomes dos níveis são definidos pelo canal do YouTube que oferece a assinatura. Em algumas situações, esse campo não é preenchido. |
snippet.giftMembershipReceivedDetails.gifterChannelId |
string O ID do usuário que fez a compra da assinatura de presente. Isso corresponde ao snippet.authorChannelId da mensagem de presente de assinatura associada. |
snippet.giftMembershipReceivedDetails.associatedMembershipGiftingMessageId |
string O código da mensagem de presente da assinatura relacionada a ela. Esse ID sempre se referirá a uma mensagem em que o type é membershipGiftingEvent . |
authorDetails |
object O objeto authorDetails contém detalhes adicionais sobre o usuário que postou a mensagem. |
authorDetails.channelId |
string O ID do canal do YouTube do autor. |
authorDetails.channelUrl |
string O URL do canal do YouTube do autor. |
authorDetails.displayName |
string O nome de exibição do canal do YouTube do autor. |
authorDetails.profileImageUrl |
string O URL do avatar do canal do YouTube do autor. |
authorDetails.isVerified |
boolean Este valor indica se a identidade do autor foi confirmada pelo YouTube. |
authorDetails.isChatOwner |
boolean Esse valor indica se o autor é o proprietário do chat ao vivo. |
authorDetails.isChatSponsor |
boolean Este valor indica se o autor é um patrocinador do bate-papo ao vivo. |
authorDetails.isChatModerator |
boolean Esse valor indica se o autor é um moderador do chat ao vivo. |