Um recurso liveChatMessage
representa uma mensagem de chat 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-publicada 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 está ativo. Depois que o evento termina, o chat ao vivo não está mais disponível para ele.
Métodos
A API oferece suporte aos seguintes métodos para recursos liveChatMessages
:
- list
- Lista as mensagens de chat ao vivo de uma conversa específica. Faça um teste agora.
- inserir
- Adiciona uma mensagem ou uma enquete a um chat ao vivo. Faça um teste agora.
- transition
- Transiciona o estado de uma mensagem ao vivo. Faça um teste agora.
- delete
- Exclui uma mensagem de chat. A solicitação da 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, "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 }, }
Propriedades
A tabela a seguir define as propriedades que aparecem neste recurso:
Propriedades | |
---|---|
kind |
string Identifica o tipo do recurso da API. O valor será youtube#liveChatMessage . |
etag |
etag A Etag deste recurso. |
id |
string O ID que o YouTube atribui para identificar exclusivamente a mensagem. |
snippet |
object O objeto snippet contém os principais detalhes sobre a mensagem de chat. |
snippet.type |
string O tipo da 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 exclusivamente 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 criou a mensagem. Este 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 exibida aos usuários. Este campo não está 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 liveChatMessage não vão mais retornar detalhes dos eventos de financiamento por fãs.Esse objeto contém detalhes sobre o evento de financiamento. Ele só está 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 criado. |
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: essa propriedade foi descontinuada. O comentário adicionado pelo usuário a esse evento de financiamento por fãs. |
snippet.textMessageDetails |
object Esse objeto contém detalhes sobre a mensagem de texto. Ele só está presente se o tipo de mensagem for textMessageEvent . |
snippet.textMessageDetails.messageText |
string A mensagem do usuário. |
snippet.messageDeletedDetails |
object Esse 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. Ele só está 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 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 de snippet.messageDeletedDetails.deletedMessageId será 123 para essa mensagem.Se você armazenar em cache as mensagens de chat depois de recuperá-las, use o valor dessa propriedade para identificar a mensagem que não deve mais ser exibida. |
snippet.userBannedDetails |
object Esse objeto contém detalhes sobre um usuário que foi banido do chat. Ele também contém detalhes sobre a própria proibição. Os usuários podem ser banidos de uma conversa de forma permanente ou temporária. |
snippet.userBannedDetails.bannedUserDetails |
object Esse 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 usuário banido. |
snippet.userBannedDetails.bannedUserDetails.profileImageUrl |
string O avatar do canal do usuário banido do YouTube. |
snippet.userBannedDetails.banType |
string O tipo de proibição. Os valores válidos para essa 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 do membro. Ele só está 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 fica vazio para mensagens sem um comentário do membro. |
snippet.memberMilestoneChatDetails.memberMonth |
unsigned integer O total de meses (arredondado para cima) em que o espectador foi membro e recebeu a Mensagem prêmio para membros. Esse é o mesmo número de meses que aparece para os 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 o Clube. Em algumas situações, esse campo não é preenchido. |
snippet.newSponsorDetails |
object Esse objeto contém detalhes sobre o evento "Novo membro". Isso só 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 o Clube. 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 mais baixo. Para os espectadores 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. Ele só está presente se o tipo de mensagem for superChatEvent . |
snippet.superChatDetails.amountMicros |
unsigned long O valor da compra, em micros da moeda da compra. Por exemplo, se o valor da compra for 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 e a moeda da compra. A string é destinada a ser 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. Em um recurso superChatEvent , a propriedade snippet.messageType contém esse valor.O nível é baseado no valor gasto para comprar a mensagem. Também determina a cor usada para destacar a mensagem na interface do chat ao vivo, o comprimento máximo da mensagem e o tempo que a mensagem fica fixada no ticker. As categorias do Super Chat estão documentadas na Central de Ajuda do YouTube. Consulte a seção expandível sobre os detalhes da compra do Super Chat. Na lista, o nível com o menor valor de compra é o 1, o próximo menor é o 2 e assim por diante. |
snippet.superStickerDetails |
object Esse objeto contém detalhes sobre um evento de Super Sticker. Ele só está presente se o tipo de mensagem for superStickerEvent . |
snippet.superStickerDetails.superStickerMetadata |
object Detalhes sobre o Super Sticker. |
snippet.superStickerDetails.superStickerMetadata.stickerId |
string Um ID exclusivo que identifica a imagem do adesivo. A imagem só aparece como parte da mensagem do Super adesivo quando os usuários acessam a janela de chat no YouTube. No entanto, o URL da imagem não está disponível usando a API. Para referência, confira quais IDs de adesivo estão relacionados a quais superadesivos 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 A linguagem do valor da propriedade snippet.superStickerDetails.superStickerMetadata.altText . |
snippet.superStickerDetails.amountMicros |
unsigned long O valor da compra, em micros da moeda da compra. Por exemplo, se o valor da compra for 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 e a moeda da compra. A string é destinada a ser exibida para o usuário. |
snippet.superStickerDetails.tier |
unsigned integer O nível da mensagem paga. Em um recurso superChatEvent , a propriedade snippet.messageType contém esse valor.O nível é baseado no valor gasto para comprar a mensagem. Também determina a cor usada para destacar a mensagem na interface do chat ao vivo, o comprimento máximo da mensagem e o tempo que a mensagem fica fixada no ticker. Os níveis do Super Chat, que também se aplicam aos Super Stickers, estão documentados na Central de Ajuda do YouTube. Consulte a seção expandível sobre os detalhes da compra do Super Chat. Na lista, o nível com o menor valor de compra é o 1, o próximo menor é o 2 e assim por diante. |
snippet.pollDetails |
object Esse objeto contém detalhes sobre um evento de pesquisa. Ele só está presente se o tipo de mensagem for pollEvent . |
snippet.pollDetails.metadata |
object Detalhes sobre o evento de pesquisa. |
snippet.pollDetails.metadata.options |
object As opções da enquete ao vivo. |
snippet.pollDetails.metadata.options.optionText |
string O texto da opção de enquete ao vivo. |
snippet.pollDetails.metadata.options.tally |
string O total da opção de enquete ao vivo. A contagem só vai aparecer se a solicitação da API for autorizada pelo proprietário do canal. |
snippet.pollDetails.metadata.questionText |
string O texto da pergunta da enquete ao vivo. |
snippet.pollDetails.metadata.status |
enum O status do evento da enquete ao vivo. Os valores válidos para essa propriedade são:
|
snippet.membershipGiftingDetails |
object Esse objeto contém detalhes sobre um evento de presente de assinatura. Ele só está 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 o Clube. 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ó está 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 associação associada. Os nomes dos níveis são definidos pelo canal do YouTube que oferece o Clube. Em algumas situações, esse campo não é preenchido. |
snippet.giftMembershipReceivedDetails.gifterChannelId |
string O ID do usuário que fez a compra de presente de assinatura. Isso corresponde ao snippet.authorChannelId da mensagem de presente de associação associada. |
snippet.giftMembershipReceivedDetails.associatedMembershipGiftingMessageId |
string O ID da mensagem de presente de assinatura relacionada a essa assinatura de presente. Esse ID sempre se refere a uma mensagem com type igual a membershipGiftingEvent . |
authorDetails |
object O objeto authorDetails contém mais detalhes sobre o usuário que postou essa 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 Esse valor indica se a identidade do autor foi verificada pelo YouTube. |
authorDetails.isChatOwner |
boolean Esse valor indica se o autor é o proprietário do chat em tempo real. |
authorDetails.isChatSponsor |
boolean Esse valor indica se o autor é um patrocinador do chat ao vivo. |
authorDetails.isChatModerator |
boolean Esse valor indica se o autor é um moderador do chat ao vivo. |