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 fica ativado por padrão para transmissões ao vivo e fica disponível enquanto o evento ao vivo está ativo. Após o término do evento, o chat ao vivo não estará mais disponível.
Métodos
A API oferece suporte aos seguintes métodos para recursos liveChatMessages
:
- list
- Lista as mensagens de um chat ao vivo específico. Faça um teste agora.
- inserir
- Adiciona uma mensagem a um chat ao vivo. Teste agora mesmo.
- excluir
- Exclui uma mensagem de bate-papo. 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 }, "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 desse recurso. |
id |
string O ID atribuído pelo YouTube para identificar a mensagem de forma exclusiva. |
snippet |
object O objeto snippet contém detalhes importantes 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 a que a mensagem está associada. 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. Esse campo só é preenchido para os seguintes tipos de mensagens:
|
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 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: o uso desse objeto e das propriedades filhas dele foi descontinuado. 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ó estará presente se o tipo de mensagem for fanFundingEvent . |
snippet.fanFundingEventDetails.amountMicros |
unsigned long Observação: esta propriedade foi descontinuada. O valor do fundo. |
snippet.fanFundingEventDetails.currency |
string Observação: esta propriedade foi descontinuada. A moeda em que o fundo foi criado. |
snippet.fanFundingEventDetails.amountDisplayString |
string Observação: esta propriedade foi descontinuada. Uma string renderizada que mostra o valor do fundo e a moeda ao usuário. |
snippet.fanFundingEventDetails.userComment |
string Observação: o uso desta propriedade foi descontinuado. O comentário adicionado pelo usuário a este evento de financiamento por fãs. |
snippet.textMessageDetails |
object Esse objeto contém detalhes sobre a mensagem de texto. Ela só estará 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 de chat ou pelo proprietário do canal da transmissão ao vivo. Ela só 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 um textMessageEvent tiver um valor de propriedade id de 123 e essa mensagem for excluída depois, o valor snippet.messageDeletedDetails.deletedMessageId será 123 para a mensagem.Se você armazenar mensagens de chat em cache depois de recuperá-las, use o valor desta 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. Também contém detalhes sobre o banimento. Os usuários podem ser banidos de um chat 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 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 banimento. 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 do membro. Ela só estará presente se o tipo de mensagem for memberMilestoneChatEvent . |
snippet.memberMilestoneChatDetails.userComment |
string O comentário adicionado pela pessoa a esta mensagem prêmio para membros. Este campo fica vazio nas mensagens sem um comentário do participante. |
snippet.memberMilestoneChatDetails.memberMonth |
unsigned integer Número total de meses (arredondados) de que o espectador foi assinante e concedeu a ele essa mensagem prêmio para membros. É o mesmo número de meses que está sendo exibido aos usuários do YouTube. |
snippet.memberMilestoneChatDetails.memberLevelName |
string O nome do nível do qual 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 Este objeto contém detalhes sobre o evento Anúncio de novos membros. Isso só será definido se o tipo for newSponsorEvent . "Membro" é o termo "patrocinador".
|
snippet.newSponsorDetails.memberLevelName |
string O nome do nível do qual 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 visualizador acabou de fazer upgrade de um nível inferior. Para 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. Ela só estará 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 montante 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 montante e a moeda da compra. A string precisa ser mostrada ao 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 na compra da mensagem. Ele também determina a cor usada para destacar a mensagem na interface do chat ao vivo, o tamanho máximo dela e por quanto tempo ela fica fixada no mostrador. As camadas do Super Chat estão documentadas 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 valor 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ó estará 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. Observe que a imagem só aparece como parte da mensagem do Super Sticker quando os usuários visualizam a janela do chat no YouTube. No entanto, o URL da imagem não fica disponível usando a API. Apenas para referência, você pode encontrar quais IDs de adesivos estão relacionados a quais Super Stickers 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 valor da compra, em micros da moeda da compra. Por exemplo, se o montante 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 montante e a moeda da compra. A string precisa ser mostrada ao 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 na compra da mensagem. Eles também determinam a cor usada para destacar a mensagem na interface do chat ao vivo, o tamanho máximo dela e o tempo que ela passa no mostrador. As camadas do Super Chat, que também abrangem os Super Stickers, estão documentadas 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 valor 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ó 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 da enquete ao vivo. Os valores válidos para essa propriedade são:
|
snippet.membershipGiftingDetails |
object Esse objeto contém detalhes sobre um evento "Assinatura de presente". Ela só estará presente se o 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 Assinatura de presente recebida. Ela só estará presente se o message type for giftMembershipReceivedEvent . |
snippet.giftMembershipReceivedDetails.memberLevelName |
string O nome do nível do qual o espectador é membro. Isso corresponde ao snippet.membershipGiftingDetails.giftMembershipsLevelName da mensagem de assinatura de presente 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 assinatura de presente associada. |
snippet.giftMembershipReceivedDetails.associatedMembershipGiftingMessageId |
string O ID da mensagem de Assinatura de presente relacionada à assinatura de presente. Esse ID sempre se referirá a uma mensagem em que o type é membershipGiftingEvent . |
authorDetails |
object O objeto authorDetails contém outros 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 autor no YouTube. |
authorDetails.profileImageUrl |
string É o URL do avatar do canal do autor no YouTube. |
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 ao vivo. |
authorDetails.isChatSponsor |
boolean Esse valor indica se o autor é um patrocinador do chat ao vivo. |
authorDetails.isChatModerator |
boolean Esse valor indica se o autor é moderador do chat ao vivo. |