LiveChatMessages

liveChatMessage kaynağı, YouTube canlı sohbetindeki bir sohbet mesajını temsil eder. Kaynak, yeni yayınlanan bir kısa mesaj veya takipçi desteği etkinliği de dahil olmak üzere çeşitli mesaj türleri hakkında ayrıntılar içerebilir.

Canlı sohbet özelliği, canlı yayınlar için varsayılan olarak etkindir ve canlı etkinlik devam ederken kullanılabilir. (Etkinlik sona erdikten sonra canlı sohbet artık kullanılamaz.)

Yöntemler

API, liveChatMessages kaynakları için aşağıdaki yöntemleri destekler:

list
Belirli bir sohbetin canlı sohbet mesajlarını listeler. Hemen deneyin.
streamList
Belirli bir sohbetteki canlı sohbet mesajlarını düşük gecikmeyle almak için sunucu akış bağlantısını etkinleştirir. Hemen deneyin.
insert
Canlı sohbete mesaj veya anket ekler. Hemen deneyin.
transition
Canlı mesajın durumunu değiştirir. Hemen deneyin.
delete
Sohbet mesajını siler. API isteği, kanal sahibi veya canlı sohbetin moderatörü tarafından yetkilendirilmelidir. Hemen deneyin.

Kaynak temsili

Aşağıdaki JSON yapısı, bir liveChatMessages kaynağının biçimini gösterir:

{
  "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
    },
    "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
    },
    "giftDetails": {
      "jewelsAmount": integer,
      "giftName": string,
      "giftUrl": string,
      "giftDuration": object,
      "seconds": integer,
      "nanos": integer,
      "hasVisualEffect": boolean,
      "comboCount": integer,
      "altText": string,
      "language": string
    },
  },
  "authorDetails": {
    "channelId": string,
    "channelUrl": string,
    "displayName": string,
    "profileImageUrl": string,
    "isVerified": boolean,
    "isChatOwner": boolean,
    "isChatSponsor": boolean,
    "isChatModerator": boolean
  },
}

Özellikler

Aşağıdaki tabloda, bu kaynakta görünen özellikler tanımlanmaktadır:

Özellikler
kind string
API kaynağının türünü tanımlar. Değer youtube#liveChatMessage olacak.
etag etag
Bu kaynağın Etag'i.
id string
YouTube'un mesajı benzersiz şekilde tanımlamak için atadığı kimlik.
Not: Hediye etkinliklerinde, aynı kimlik, kombinasyon sayısını güncellemek için yeniden kullanılabilir.
snippet object
snippet nesnesi, sohbet mesajıyla ilgili temel ayrıntıları içerir.
snippet.type string
Mesajın türü. Bu özellik her zaman mevcuttur ve değeri, kaynakta hangi alanların bulunduğunu belirler.

Bu özellik için geçerli değerler şunlardır:
  • chatEndedEvent: Sohbet sona erdi ve bundan sonra başka mesaj eklenemez. Bu işlem, yayın sona erdikten kısa bir süre sonra doğal olarak gerçekleşir. Bu tür mesajlar, bir kanalın varsayılan yayınındaki canlı sohbetler için gönderilmez.
  • sponsorOnlyModeEndedEvent: Sohbet artık yalnızca sponsorlara özel modda değil. Bu nedenle, sponsor olmayan kullanıcılar da mesaj gönderebiliyor. Bu etkinlikte gösterilecek içerik yok.
  • sponsorOnlyModeStartedEvent: Sohbet, yalnızca sponsorların mesaj gönderebileceği sponsorlara özel moda geçmiştir. Bu etkinlikte görüntülenecek içerik yok.
  • newSponsorEvent: Yeni bir kullanıcı, canlı sohbetin sahibi olan kanala sponsor oldu. author alanları, yeni sponsora ait ayrıntıları içerir.
  • memberMilestoneChatEvent – Bir kullanıcı Üye Dönüm Noktası Mesajı gönderdiğinde
  • superChatEvent: Bir kullanıcı Süper Chat satın aldı.
  • superStickerEvent: Bir kullanıcı Süper Etiket satın aldı.
  • textMessageEvent: Bir kullanıcı kısa mesaj gönderdi.
  • tombstone: Mezar taşı, bu kimliğe ve yayınlanma zamanına sahip bir mesajın daha önce var olduğunu ancak daha sonra silindiğini gösterir. Bu ileti, mesaj silindiğinde gönderilmez. Bunun yerine, silinmeden önce mesajın bulunduğu yeri belirtmek için gösterilir. Bu tür mesajlarda yalnızca snippet.liveChatId, snippet.type ve snippet.publishedAt alanları bulunur.
  • userBannedEvent – Bir kullanıcı, moderatör tarafından yasaklanmıştır. author alanında moderatörün bilgileri yer alır.
  • membershipGiftingEvent: Bir kullanıcı, diğer izleyiciler için üyelik satın aldı.
  • giftMembershipReceivedEvent: Bir kullanıcıya üyelik hediye edildi.
  • pollDetails: Bir kullanıcı canlı anket oluşturdu.
  • giftEvent – Bir kullanıcı, mücevherleri hediye olarak kullanmıştır.
snippet.liveChatId string
Mesajın ilişkilendirildiği canlı sohbeti benzersiz şekilde tanımlayan kimlik. Bir yayınla ilişkili canlı sohbet kimliği, liveBroadcast kaynağının snippet.liveChatId mülkünde döndürülür.
snippet.authorChannelId string
Mesajı yazan kullanıcının kimliği. Bu alan yalnızca aşağıdaki mesaj türleri için doldurulur:
  • Mesaj türü textMessageEvent ise özellik değeri, mesajı yazan kullanıcıyı tanımlar.
  • Mesaj türü fanFundingEvent ise özellik değeri, yayını finanse eden kullanıcıyı tanımlar.
  • İleti türü newSponsorEvent ise özellik değeri, yeni sponsor olan kullanıcıyı tanımlar.
  • İleti türü memberMilestoneChatEvent ise özellik değeri, iletiyi gönderen üyeyi tanımlar.
  • İleti türü userBannedEvent ise özellik değeri, kullanıcıyı yasaklayan moderatörü tanımlar.
  • Mesaj türü membershipGiftingEvent ise özellik değeri, hediye üyelik satın alan kullanıcıyı tanımlar.
  • İleti türü giftMembershipReceivedEvent ise özellik değeri, hediye üyeliği alan kullanıcıyı tanımlar.
  • Mesaj türü pollEvent ise özellik değeri, canlı anket oluşturan kullanıcıyı tanımlar.
  • İleti türü giftEvent ise özellik değeri, hediyeyi gönderen kullanıcıyı tanımlar.
snippet.publishedAt datetime
İletinin ilk yayınlandığı tarih ve saat. Değer, ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) biçiminde belirtilir.
snippet.hasDisplayContent boolean
Mesajda, kullanıcılara gösterilmesi gereken görüntüleme içeriği olup olmadığını belirtir.
snippet.displayMessage string
Kullanıcılara gösterilen bir dize içerir. İleti türü chatEndedEvent veya tombstone ise bu alan mevcut değildir.
snippet.fanFundingEventDetails object
Not: Bu nesnenin ve alt mülklerinin desteği sonlandırılmıştır. 28 Şubat 2017'den itibaren liveChatMessage kaynakları, takipçi desteği etkinlikleriyle ilgili ayrıntıları döndürmeyecek.

Bu nesne, takipçi desteği etkinliğiyle ilgili ayrıntıları içerir. Yalnızca mesaj türü fanFundingEvent ise gösterilir.
snippet.fanFundingEventDetails.amountMicros unsigned long
Not: Bu özelliğin desteği sonlandırılmıştır.

Fonun tutarı.
snippet.fanFundingEventDetails.currency string
Not: Bu özelliğin desteği sonlandırıldı.

Fonun oluşturulduğu para birimi.
snippet.fanFundingEventDetails.amountDisplayString string
Not: Bu özellik kullanımdan kaldırılmıştır.

Kullanıcıya fon tutarını ve para birimini gösteren, oluşturulmuş bir dize.
snippet.fanFundingEventDetails.userComment string
Not: Bu özelliğin desteği sonlandırıldı.

Kullanıcının bu takipçi desteği etkinliğine eklediği yorum.
snippet.textMessageDetails object
Bu nesne, kısa mesajla ilgili ayrıntılar içerir. Yalnızca mesaj türü textMessageEvent ise gösterilir.
snippet.textMessageDetails.messageText string
Kullanıcının mesajı.
snippet.userBannedDetails object
Bu nesne, sohbette yasaklanan bir kullanıcıyla ilgili ayrıntıları içerir. Yasaklamayla ilgili ayrıntılar da yer alır. Kullanıcılar, sohbetlerden kalıcı veya geçici olarak yasaklanabilir.
snippet.userBannedDetails.bannedUserDetails object
Bu nesne, yasaklanan kullanıcıyla ilgili bilgileri içerir.
snippet.userBannedDetails.bannedUserDetails.channelId string
Yasaklanan kullanıcının YouTube kanal kimliği.
snippet.userBannedDetails.bannedUserDetails.channelUrl string
Yasaklanan kullanıcının YouTube kanalının URL'si.
snippet.userBannedDetails.bannedUserDetails.displayName string
Yasaklanan kullanıcının YouTube kanalının görünen adı.
snippet.userBannedDetails.bannedUserDetails.profileImageUrl string
Yasaklanan kullanıcının YouTube kanalının avatarı.
snippet.userBannedDetails.banType string
Yasak türü. Bu özellik için geçerli değerler şunlardır:
  • kalıcı
  • geçici
snippet.userBannedDetails.banDurationSeconds unsigned long
Yasaklama süresi. Bu özellik yalnızca snippet.userBannedDetails.banType özellik değeri temporary ise mevcuttur.
snippet.memberMilestoneChatDetails object
Bu nesne, üye dönüm noktası etkinliği ile ilgili ayrıntıları içerir. Yalnızca mesaj türü memberMilestoneChatEvent ise bulunur.
snippet.memberMilestoneChatDetails.userComment string
Üyenin bu Üye Dönüm Noktası Mesajı'na eklediği yorum. Üyenin yorum yapmadığı mesajlar için bu alan boş bırakılır.
snippet.memberMilestoneChatDetails.memberMonth unsigned integer
İzleyicinin üye olduğu ve bu Üye Dönüm Noktası Mesajı'nı kazandığı toplam ay sayısı (yukarı yuvarlanmış). Bu, YouTube kullanıcılarına gösterilen ay sayısıyla aynıdır.
snippet.memberMilestoneChatDetails.memberLevelName string
İzleyicinin üye olduğu seviyenin adı. Seviye adları, üyeliği sunan YouTube kanalı tarafından tanımlanır. Bazı durumlarda bu alan doldurulmaz.
snippet.newSponsorDetails object
Bu nesne, yeni üye duyurusu etkinliğiyle ilgili ayrıntıları içerir. Bu yalnızca tür newSponsorEvent ise ayarlanır. "Üye", "sponsor" teriminin yerine kullanılır.
snippet.newSponsorDetails.memberLevelName string
İzleyicinin üye olduğu seviyenin adı. Seviye adları, üyeliği sunan YouTube kanalı tarafından belirlenir. Bazı durumlarda bu alan doldurulmaz.
snippet.newSponsorDetails.isUpgrade bool
İzleyicinin daha düşük bir seviyeden yeni yükseltme yapıp yapmadığını gösterir. Satın alma sırasında üye olmayan izleyiciler için alan değeri false olur.
snippet.superChatDetails object
Bu nesne, bir Süper Chat etkinliğiyle ilgili ayrıntıları içerir. Yalnızca mesaj türü superChatEvent ise bulunur.
snippet.superChatDetails.amountMicros unsigned long
Satın alma para biriminin mikro cinsinden satın alma tutarı. Örneğin, satın alma tutarı bir dolarsa snippet.amountMicros özelliği değeri 1000000 olur.
snippet.superChatDetails.currency string
Satın alma işleminin yapıldığı para birimi. Değer, ISO 4217 para birimi kodudur.
snippet.superChatDetails.amountDisplayString string
Satın alma tutarını ve para birimini içeren $1.00 gibi bir dize. Dize, kullanıcıya gösterilmek üzere tasarlanmıştır.
snippet.superChatDetails.userComment string
Kullanıcının bu Süper Chat etkinliğine eklediği yorum.
snippet.superChatDetails.tier unsigned integer
Ücretli mesajın katmanı. superChatEvent kaynağında snippet.messageType özelliğinin bu değeri içerdiğini unutmayın.

Katman, mesajı satın almak için harcanan para miktarına göre belirlenir. Ayrıca, canlı sohbet kullanıcı arayüzünde mesajı vurgulamak için kullanılan rengi, maksimum mesaj uzunluğunu ve mesajın bilgi akışına sabitlendiği süreyi de belirler.

Süper Chat katmanları YouTube Yardım Merkezi'nde açıklanmıştır. (Süper Chat satın alma ayrıntılarıyla ilgili genişletilebilir bölüme bakın.) Bu listede, en düşük satın alma tutarına sahip kademe 1. kademe, sonraki en düşük tutar ise 2. kademe vb. olarak sıralanır.
snippet.superStickerDetails object
Bu nesne, Süper Etiket etkinliğiyle ilgili ayrıntıları içerir. Yalnızca mesaj türü superStickerEvent ise bulunur.
snippet.superStickerDetails.superStickerMetadata object
Süper Etiket ile ilgili ayrıntılar.
snippet.superStickerDetails.superStickerMetadata.stickerId string
Çıkartma resmini tanımlayan benzersiz kimlik. Resmin yalnızca kullanıcılar YouTube'da sohbet penceresini görüntülerken Süper Etiket mesajının bir parçası olarak gösterildiğini unutmayın. Ancak resim URL'si API kullanılarak alınamaz. Hangi çıkartma kimliklerinin hangi Süper Etiketler ile ilgili olduğunu bu CSV dosyasında bulabilirsiniz.
snippet.superStickerDetails.superStickerMetadata.altText string
Çıkartmayı açıklayan bir metin dizesi. snippet.superStickerDetails.superStickerMetadata.language alanı, metnin dilini tanımlar. liveChatMessages.list yöntemini çağırırken hl parametre değerini metin için seçilen dile ayarlayın.
snippet.superStickerDetails.superStickerMetadata.language string
snippet.superStickerDetails.superStickerMetadata.altText özellik değerinin dili.
snippet.superStickerDetails.amountMicros unsigned long
Satın alma para biriminin mikro birimi cinsinden satın alma tutarı. Örneğin, satın alma tutarı bir dolarsa snippet.amountMicros özelliği değeri 1000000 olur.
snippet.superStickerDetails.currency string
Satın alma işleminin yapıldığı para birimi. Değer, ISO 4217 para birimi kodudur.
snippet.superStickerDetails.amountDisplayString string
Satın alma tutarını ve para birimini içeren $1.00 gibi bir dize. Dize, kullanıcıya gösterilmek üzere tasarlanmıştır.
snippet.superStickerDetails.tier unsigned integer
Ücretli mesajın katmanı. superChatEvent kaynağında snippet.messageType özelliğinin bu değeri içerdiğini unutmayın.

Katman, mesajı satın almak için harcanan para miktarına göre belirlenir. Ayrıca, mesajın canlı sohbet kullanıcı arayüzünde vurgulanması için kullanılan rengi, maksimum mesaj uzunluğunu ve mesajın bantta sabitleneceği süreyi belirler.

Süper Etiketler'i de kapsayan Süper Chat katmanları YouTube Yardım Merkezi'nde açıklanmıştır. (Süper Chat satın alma ayrıntılarıyla ilgili genişletilebilir bölüme bakın.) Bu listede, en düşük satın alma tutarına sahip kademe 1. kademe, sonraki en düşük tutar ise 2. kademe vb. olarak sıralanır.
snippet.pollDetails object
Bu nesne, anket etkinliğiyle ilgili ayrıntıları içerir. Yalnızca mesaj türü pollEvent ise bulunur.
snippet.pollDetails.metadata object
Anket etkinliğiyle ilgili ayrıntılar.
snippet.pollDetails.metadata.options object
Canlı anketteki seçenekler.
snippet.pollDetails.metadata.options.optionText string
Canlı anket seçeneğinin metni.
snippet.pollDetails.metadata.options.tally string
Canlı anket seçeneğinin toplamı. Sayım yalnızca API isteği kanal sahibi tarafından yetkilendirilirse gösterilir.
snippet.pollDetails.metadata.questionText string
Canlı anket sorusunun metni.
snippet.pollDetails.metadata.status enum
Canlı anket etkinliğinin durumu. Bu özellik için geçerli değerler şunlardır:
  • unknown
  • active
  • closed
snippet.membershipGiftingDetails object
Bu nesne, hediye üyelik etkinliğiyle ilgili ayrıntıları içerir. Yalnızca message type, membershipGiftingEvent ise gösterilir.
snippet.membershipGiftingDetails.giftMembershipsCount integer
Kullanıcı tarafından satın alınan hediye üyeliklerin sayısı.
snippet.membershipGiftingDetails.giftMembershipsLevelName string
Kullanıcı tarafından satın alınan hediye üyeliklerin seviyesinin adı. Seviye adları, üyeliği sunan YouTube kanalı tarafından belirlenir. Bazı durumlarda bu alan doldurulmaz.
snippet.giftMembershipReceivedDetails object
Bu nesne, hediye üyelik alma etkinliğiyle ilgili ayrıntıları içerir. Yalnızca message type giftMembershipReceivedEvent ise gösterilir.
snippet.giftMembershipReceivedDetails.memberLevelName string
İzleyicinin üye olduğu seviyenin adı. Bu, ilişkili hediye üyelik mesajının snippet.membershipGiftingDetails.giftMembershipsLevelName ile eşleşir. Seviye adları, üyeliği sunan YouTube kanalı tarafından belirlenir. Bazı durumlarda bu alan doldurulmaz.
snippet.giftMembershipReceivedDetails.gifterChannelId string
Hediye üyelik satın alan kullanıcının kimliği. Bu, ilişkili hediye üyelik mesajının snippet.authorChannelId ile eşleşir.
snippet.giftMembershipReceivedDetails.associatedMembershipGiftingMessageId string
Bu hediye üyeliğiyle ilişkili üyelik hediye etme mesajının kimliği. Bu kimlik her zaman type değeri membershipGiftingEvent olan bir mesajı ifade eder.
snippet.giftDetails object
Bu nesne, bir hediye etkinliğiyle ilgili ayrıntıları içerir. Yalnızca message type giftEvent ise gösterilir.
snippet.giftDetails.jewelsAmount integer
Hediye için kullanılan mücevher miktarı.
snippet.giftDetails.giftName string
Hediyenin adı.
snippet.giftDetails.giftUrl string
Hediye öğesinin URL'si.
snippet.giftDetails.giftDuration object
Hediye URL'sinin gösterileceği süre.
snippet.giftDetails.giftDuration.seconds integer
Hediye URL'sinin gösterileceği süre (saniye).
snippet.giftDetails.giftDuration.nanos integer
Hediye URL'sinin gösterileceği nanosaniye sayısı.
snippet.giftDetails.hasVisualEffect boolean
Hediyenin görsel efekti olup olmadığı.
snippet.giftDetails.comboCount integer
Hediyenin combo sayısı. Combo değilse 0'dır.
snippet.giftDetails.altText string
Hediyeyi açıklayan bir metin dizesi.
snippet.giftDetails.language string
altText özellik değerinin dili.
authorDetails object
authorDetails nesnesi, bu mesajı yayınlayan kullanıcıyla ilgili ek ayrıntılar içerir.
authorDetails.channelId string
Yazarın YouTube kanal kimliği.
authorDetails.channelUrl string
Yazarın YouTube kanalının URL'si.
authorDetails.displayName string
Yazarın YouTube kanalının görünen adı.
authorDetails.profileImageUrl string
Yazarın YouTube kanalının avatar URL'si.
authorDetails.isVerified boolean
Bu değer, yazarın kimliğinin YouTube tarafından doğrulanıp doğrulanmadığını gösterir.
authorDetails.isChatOwner boolean
Bu değer, yazarın canlı sohbetin sahibi olup olmadığını gösterir.
authorDetails.isChatSponsor boolean
Bu değer, yazarın canlı sohbetin sponsoru olup olmadığını gösterir.
authorDetails.isChatModerator boolean
Bu değer, yazarın canlı sohbetin moderatörü olup olmadığını gösterir.