LiveChatMessages

liveChatMessage kaynağı, YouTube canlı sohbetindeki bir sohbet mesajını temsil eder. Kaynakta, yeni yayınlanan bir kısa mesaj veya takipçi desteği etkinliği de dahil olmak üzere çeşitli mesaj türleriyle ilgili ayrıntılar yer alabilir.

Canlı sohbet özelliği, canlı yayınlarda varsayılan olarak etkindir ve canlı etkinlik etkinken kullanılabilir. (Etkinlik sona erdikten sonra, söz konusu etkinlik için canlı sohbet kullanılamaz.)

Yöntemler

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

list
Belirli bir sohbete ait canlı sohbet mesajlarını listeler. Hemen deneyin.
ekle
Canlı sohbete mesaj veya anket ekler. Hemen deneyin.
geçiş
Canlı mesajın durumunu değiştirir. Hemen deneyin.
sil
Bir 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
    },
    "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
  },
}

Ö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 olur.
etag
etag Bu kaynağın Etag'i.
id
string YouTube'un mesajı benzersiz şekilde tanımlamak için atadığı kimlik.
snippet
object snippet nesnesi, sohbet mesajıyla ilgili temel ayrıntıları içerir.
snippet.type
string İletinin türü. Bu özellik her zaman mevcuttur ve değeri kaynakta hangi alanların yer alacağını belirler.

Bu mülk için geçerli değerler şunlardır:
  • chatEndedEvent – Sohbet sona erdi. Bundan sonra başka mesaj eklenemez. Bu, doğal olarak yayın sona erdikten kısa bir süre sonra gerçekleşir. Bu tür mesajlar, kanalın varsayılan yayınındaki canlı sohbetler için gönderilmez.
  • messageDeletedEvent – Bir mesaj, moderatör tarafından silindi. author alanında moderatörün ayrıntıları yer alır. Bu etkinliğin görünen içeriği yok.
  • sponsorOnlyModeEndedEvent – Sohbet artık sponsorlara özel modda değil. Yani, sponsor olmayan kullanıcılar artık mesaj gönderebilir. Bu etkinliğin görünen içeriği yok.
  • sponsorOnlyModeStartedEvent – Sohbette "yalnızca sponsorlar" moduna girerek sadece sponsorlar mesaj gönderebilir. Bu etkinliğin görünen içeriği yok.
  • newSponsorEvent: Canlı sohbetin sahibi olan kanala yeni bir kullanıcı sponsor oldu. author alanları, yeni sponsorun ayrıntılarını içerir.
  • memberMilestoneChatEvent – Bir kullanıcı Üye Dönüm Noktası Mesajı gönderdi.
  • 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şı, bir mesajın daha önce bu kimlik ve yayınlanma zamanıyla birlikte var olduğunu ancak silindiğini belirtir. Bir mesaj silindikten sonra gönderilmez. Bunun yerine, silinmeden önce iletinin nerede olduğunu belirtmek için gösterilir. Bu ileti türünde yalnızca snippet.liveChatId, snippet.type ve snippet.publishedAt alanları bulunur.
  • userBannedEvent – Bir kullanıcı, bir moderatör tarafından yasaklandı. author alanında moderatörün ayrıntıları yer alır.
  • membershipGiftingEvent: Kullanıcı diğer izleyiciler için üyelik satın almıştır.
  • giftMembershipReceivedEvent – Bir kullanıcı hediye üyelik almıştır.
  • pollDetails – Bir kullanıcı canlı bir anket oluşturdu.
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 İletiyi oluşturan 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.
  • Mesaj türü messageDeletedEvent ise özellik değeri, mesajı silen moderatörü tanımlar.
  • Mesaj türü newSponsorEvent ise özellik değeri, kısa süre önce sponsor olan kullanıcıyı tanımlar.
  • Mesaj türü memberMilestoneChatEvent ise özellik değeri, mesajı 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 mülk değeri, hediye üyelik satın alma işlemini yapan kullanıcıyı tanımlar.
  • Mesaj türü giftMembershipReceivedEvent ise mülk 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.
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ülü içerik bulunup bulunmadığını belirtir.
snippet.displayMessage
string Kullanıcılara gösterilen bir dize içerir. Mesaj türü chatEndedEvent veya tombstone ise bu alan mevcut değildir.
snippet.fanFundingEventDetails
object Not: Bu nesne ve alt özellikleri kullanımdan kaldırılmıştır. liveChatMessage kaynakları, 28 Şubat 2017'den itibaren Hayran Bağışları etkinliklerinin ayrıntılarını döndürmeyecektir.

Bu nesne, finansman etkinliğiyle ilgili ayrıntıları içerir. Yalnızca mesaj türü fanFundingEvent olduğunda gösterilir.
snippet.fanFundingEventDetails.amountMicros
unsigned long Not: Bu mülkün desteği sonlandırıldı.

Fon tutarı.
snippet.fanFundingEventDetails.currency
string Not: Bu mülkün desteği sonlandırıldı.

Fonun oluşturulduğu para birimi.
snippet.fanFundingEventDetails.amountDisplayString
string Not: Bu mülkün desteği sonlandırıldı.

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

Kullanıcı tarafından bu takipçi bağışları etkinliğine eklenen yorum.
snippet.textMessageDetails
object Bu nesne, kısa mesajla ilgili ayrıntıları içerir. Yalnızca mesaj türü textMessageEvent olduğunda bulunur.
snippet.textMessageDetails.messageText
string Kullanıcının mesajı.
snippet.messageDeletedDetails
object Bu nesne, sohbet moderatörü veya canlı yayının kanalının sahibi tarafından silinen bir mesajla ilgili ayrıntıları içerir. Yalnızca mesaj türü messageDeletedEvent olduğunda bulunur.
snippet.messageDeletedDetails.deletedMessageId
string Silinen iletiyi benzersiz şekilde tanımlayan kimlik. Değer, orijinal kısa mesajın id özelliğindeki değerle aynıdır. Örneğin, bir textMessageEvent, id özellik değerine (123) sahipse ve bu mesaj daha sonra silinirse söz konusu mesaj için snippet.messageDeletedDetails.deletedMessageId değeri 123 olur.

Sohbet mesajlarını geri aldıktan sonra önbelleğe alırsanız artık gösterilmemesi gereken mesajı tanımlamak için bu özelliğin değerini kullanın.
snippet.userBannedDetails
object Bu nesne, sohbet kullanımı yasaklanan bir kullanıcıyla ilgili ayrıntılar içerir. Bildirimde yasağın kendisiyle ilgili ayrıntılar da yer alır. Kullanıcılar bir sohbetten kalıcı veya geçici olarak yasaklanabilir.
snippet.userBannedDetails.bannedUserDetails
object Bu nesne, yasaklanan kullanıcıyla ilgili bilgiler içeriyor.
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ın türü. Bu özellik için geçerli değerler şunlardır:
  • kalıcı
  • geçici
snippet.userBannedDetails.banDurationSeconds
unsigned long Yasak süresi. Bu özellik yalnızca snippet.userBannedDetails.banType özellik değeri temporary olduğunda bulunur.
snippet.memberMilestoneChatDetails
object Bu nesne, bir Üye Dönüm Noktası etkinliği ile ilgili ayrıntılar içerir. Yalnızca mesaj türü memberMilestoneChatEvent olduğunda bulunur.
snippet.memberMilestoneChatDetails.userComment
string Üyenin bu Üye Dönüm Noktası Mesajı'na eklediği yorum. Üyenin yorumu olmayan iletiler için bu alan boş olur.
snippet.memberMilestoneChatDetails.memberMonth
unsigned integer İzleyicinin bu Üye Dönüm Noktası Mesajı'nı verme izni verdiği ayların toplam sayısı (yukarıya yuvarlanmış). Bu değer, 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ı, Üyelik 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 olduğunda ayarlanır. "Üye" "sponsor" anlamına gelir.
snippet.newSponsorDetails.memberLevelName
string İzleyicinin üye olduğu Seviyenin adı. Seviye adları, Üyelik sunan YouTube kanalı tarafından tanımlanır. Bazı durumlarda bu alan doldurulmaz.
snippet.newSponsorDetails.isUpgrade
bool İzleyicinin yeni sürüme daha düşük bir seviyeden geçip geçmediğini belirtir. Satın alma işlemi sırasında üye olmayan izleyiciler için alan değeri false olur.
snippet.superChatDetails
object Bu nesne, bir Super Chat etkinliğiyle ilgili ayrıntıları içerir. Yalnızca mesaj türü superChatEvent olduğunda bulunur.
snippet.superChatDetails.amountMicros
unsigned long Satın alma para biriminin mikro cinsinden satın alma tutarı. Örneğin, satın alma tutarı 1 TL ise snippet.amountMicros mülkünün değeri 1000000 olur.
snippet.superChatDetails.currency
string Satın alma işleminin yapıldığı para birimi. Bu 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. Dizenin kullanıcıya gösterilmesi amaçlanmaktadır.
snippet.superChatDetails.userComment
string Kullanıcı tarafından bu Super Chat etkinliğine eklenen 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 tutarı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 sohbet şeridine sabitlenme süresini de belirler.

Super Chat katmanlarıyla ilgili bilgiyi YouTube Yardım Merkezi'nde bulabilirsiniz. (Super Chat satın alma ayrıntılarıyla ilgili genişletilebilir bölümü inceleyin.) Bu listede, en düşük satın alma tutarına sahip katman 1. katman, sonraki en düşük tutar ise 2. katmandır. Süreç bu şekilde devam eder.
snippet.superStickerDetails
object Bu nesne, bir Süper Etiket etkinliğiyle ilgili ayrıntılar içeriyor. Yalnızca mesaj türü superStickerEvent olduğunda gösterilir.
snippet.superStickerDetails.superStickerMetadata
object Süper Etiket ile ilgili ayrıntılar.
snippet.superStickerDetails.superStickerMetadata.stickerId
string Çıkartma resmini tanımlayan benzersiz bir kimlik. Resmin, yalnızca kullanıcılar YouTube'da sohbet penceresini görüntülediğinde Süper Etiket mesajının bir parçası olarak gösterildiğini unutmayın. Ancak resim URL'si API kullanılarak kullanılamaz. Yalnızca referans olması amacıyla, bu CSV dosyasında hangi Süper Etiketler'le ilişkili çıkartma kimliklerini 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 özelliği değerinin dilidir.
snippet.superStickerDetails.amountMicros
unsigned long Satın alma para biriminin mikro cinsinden satın alma tutarı. Örneğin, satın alma tutarı 1 TL ise snippet.amountMicros mülkünün değeri 1000000 olur.
snippet.superStickerDetails.currency
string Satın alma işleminin yapıldığı para birimi. Bu 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. Dizenin kullanıcıya gösterilmesi amaçlanmaktadı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 tutarı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 sohbet şeridine sabitlenme süresini de belirler.

Süper Etiketler'i de kapsayan Süper Chat katmanları, YouTube Yardım Merkezi'nde açıklanmıştır. (Super Chat satın alma ayrıntılarıyla ilgili genişletilebilir bölümü inceleyin.) Bu listede, en düşük satın alma tutarına sahip katman 1. katman, sonraki en düşük tutar ise 2. katmandır. Süreç bu şekilde devam eder.
snippet.pollDetails
object Bu nesne bir anket etkinliğiyle ilgili ayrıntılar içeriyor. Yalnızca mesaj türü pollEvent olduğunda gösterilir.
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.questionText
string Canlı anket sorusunun metni.
snippet.pollDetails.metadata.status
enum Canlı anket etkinliğinin durumu. Bu mülk için geçerli değerler şunlardır:
  • unknown
  • active
  • closed
snippet.membershipGiftingDetails
object Bu nesne, bir Hediye Üyelik etkinliğiyle ilgili ayrıntıları içerir. Yalnızca message type, membershipGiftingEvent ise bulunur.
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 Düzeyi'nin adı. Seviye adları, Üyelik sunan YouTube kanalı tarafından tanımlanır. Bazı durumlarda bu alan doldurulmaz.
snippet.giftMembershipReceivedDetails
object Bu nesne, bir Hediye Üyelik Alındı etkinliğiyle ilgili ayrıntıları içerir. Yalnızca message type, giftMembershipReceivedEvent ise bulunur.
snippet.giftMembershipReceivedDetails.memberLevelName
string İzleyicinin üye olduğu Seviyenin adı. Bu, ilişkilendirilmiş hediye üyelik mesajının snippet.membershipGiftingDetails.giftMembershipsLevelName ile eşleşiyor. Seviye adları, Üyelik sunan YouTube kanalı tarafından tanımlanır. Bazı durumlarda bu alan doldurulmaz.
snippet.giftMembershipReceivedDetails.gifterChannelId
string Hediye üyelik satın alma işlemini yapan kullanıcının kimliği. Bu, ilişkilendirilmiş hediye üyelik mesajının snippet.authorChannelId ile eşleşiyor.
snippet.giftMembershipReceivedDetails.associatedMembershipGiftingMessageId
string Bu hediye üyelikle ilgili hediye üyelik mesajının kimliği. Bu kimlik her zaman, type değeri membershipGiftingEvent olan bir iletiye referans verir.
authorDetails
object authorDetails nesnesi, bu iletiyi 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, içerik sahibinin canlı sohbetin sahibi olup olmadığını gösterir.
authorDetails.isChatSponsor
boolean Bu değer, içerik sahibinin 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.