LiveChatMessages

liveChatMessage kaynağı, YouTube canlı sohbetindeki bir sohbet mesajını temsil eder. Kaynak, yeni yayınlanan bir kısa mesaj veya destek etkinliği gibi çeşitli mesaj türleriyle ilgili ayrıntılar içerebilir.

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

Yöntemler

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

list
Belirli bir sohbetteki 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 (ekle)
Canlı sohbete mesaj veya anket ekleme Hemen deneyin.
geçiş
Canlı bir mesajın durumunu değiştirir. Hemen deneyin.
sil
Sohbet mesajını siler. API isteği, kanal sahibi veya canlı sohbet moderatörü tarafından yetkilendirilmelidir. Hemen deneyin.

Kaynak temsili

Aşağıdaki JSON yapısında, liveChatMessages kaynağının biçimi gösterilmektedir:

{
  "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
  },
}

Ö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 iletiyi 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
Mesajın türü. Bu özellik her zaman mevcuttur ve değeri, kaynakta hangi alanların bulunduğunu belirler.

Bu özelliğin geçerli değerleri ş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 otomatik olarak gerçekleşir. Bu tür mesajlar, bir 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 bilgileri yer alır. Bu etkinliğin gösterilecek içeriği yok.
  • sponsorOnlyModeEndedEvent – Sohbet artık yalnızca sponsorlara özel modda değil. Bu nedenle, sponsor olmayan kullanıcılar da mesaj gönderebiliyor. Bu etkinliğin gösterilecek içeriği yok.
  • sponsorOnlyModeStartedEvent: Sohbet, yalnızca sponsorların mesaj gönderebileceği sponsorlara özel moda girmiştir. Bu etkinliğin gösterilecek içeriği 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ı Super Chat satın aldı.
  • superStickerEvent: Bir kullanıcı Super Sticker satın aldığında
  • textMessageEvent: Kullanıcı kısa mesaj gönderdiğinde.
  • tombstone: Mezar taşı, bu kimliğe ve yayınlanma zamanına sahip bir iletinin 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: 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ğinde
  • pollDetails: Bir kullanıcı canlı anket oluşturdu.
snippet.liveChatId string
İletinin 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 özelliğinde döndürülür.
snippet.authorChannelId string
İletiyi yazan kullanıcının kimliği. Bu alan yalnızca aşağıdaki mesaj türleri için doldurulur:
  • İleti türü textMessageEvent ise özellik değeri, iletiyi yazan kullanıcıyı tanımlar.
  • İleti türü fanFundingEvent ise özellik değeri, yayını finanse eden kullanıcıyı tanımlar.
  • İleti türü messageDeletedEvent ise özellik değeri, iletiyi silen moderatörü tanımlar.
  • Mesaj 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.
  • Mesaj türü userBannedEvent ise özellik değeri, kullanıcıyı yasaklayan moderatörü tanımlar.
  • Mesaj türü membershipGiftingEvent ise mülk değeri, üyelik hediye etme satın alma işlemini yapan kullanıcıyı tanımlar.
  • İleti 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
İletide, 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ıldı. 28 Şubat 2017'den itibaren liveChatMessage kaynakları, Destek Olma etkinlikleriyle ilgili ayrıntıları döndürmeyecek.

Bu nesne, destek olma etkinliğiyle ilgili ayrıntıları içerir. Yalnızca mesaj türü fanFundingEvent ise bulunur.
snippet.fanFundingEventDetails.amountMicros unsigned long
Not: Bu özelliğin desteği sonlandırıldı.

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 özellik kullanımdan kaldırılmıştır.

Kullanıcının bu destek 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 bulunur.
snippet.textMessageDetails.messageText string
Kullanıcının mesajı.
snippet.messageDeletedDetails object
Bu nesne, bir sohbet moderatörü veya canlı yayın kanalının sahibi tarafından silinen bir mesajla ilgili ayrıntılar içerir. Yalnızca mesaj türü messageDeletedEvent ise bulunur.
snippet.messageDeletedDetails.deletedMessageId string
Silinen iletiyi benzersiz şekilde tanımlayan kimlik. Değer, orijinal kısa mesajın id özellik değeriyle aynıdır. Örneğin, bir textMessageEvent mesajının id özellik değeri 123 ise ve bu mesaj daha sonra silinirse bu mesajın snippet.messageDeletedDetails.deletedMessageId değeri 123 olur.

Sohbet mesajlarını aldıktan sonra önbelleğe alırsanız artık gösterilmemesi gereken mesajı belirlemek için bu özelliğin değerini kullanın.
snippet.userBannedDetails object
Bu nesne, sohbetten yasaklanan bir kullanıcıyla ilgili ayrıntıları içerir. Ayrıca, yasakla 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
Yasak süresi. Bu özellik yalnızca snippet.userBannedDetails.banType özellik değeri temporary ise bulunur.
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. Bu alan, üyenin yorumu olmayan iletiler için boştur.
snippet.memberMilestoneChatDetails.memberMonth unsigned integer
İzleyicinin, bu üye dönüm noktası mesajını almasını sağlayan üyelik süresinin toplam ay sayısı (yukarı yuvarlanmış). Bu süre, YouTube kullanıcılarına gösterilen süreyle aynıdır.
snippet.memberMilestoneChatDetails.memberLevelName string
İzleyicinin üyesi olduğu seviyenin adı. Seviye adları, üyeliği sunan YouTube kanalı tarafından belirlenir. Bu alan bazı durumlarda 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 karşılığıdır.
snippet.newSponsorDetails.memberLevelName string
İzleyicinin üyesi 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ükseldiğini gösterir. Satın alma işlemi sırasında üye olmayan izleyiciler için alan değeri false olur.
snippet.superChatDetails object
Bu nesne, Super 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. Dizenin kullanıcıya gösterilmesi amaçlanmış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 bantta sabitleneceği süreyi belirler.

Süper Chat katmanları YouTube Yardım Merkezi'nde belgelenmiştir. (Süper Chat satın alma ile ilgili ayrıntılı bilgi için genişletilebilir bölüme bakın.) Bu listede, en düşük satın alma tutarına sahip katman 1. katman, bir sonraki en düşük tutara sahip katman 2. katman vb. olur.
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ülediğinde Super Sticker 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 Etiketlerle ilişkili olduğunu yalnızca referans amaçlı olarak 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 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. Dizenin kullanıcıya gösterilmesi amaçlanmış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, canlı sohbet kullanıcı arayüzünde mesajı öne çıkarmak 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 ile ilgili ayrıntılı bilgi için genişletilebilir bölüme bakın.) Bu listede, en düşük satın alma tutarına sahip katman 1. katman, bir sonraki en düşük tutara sahip katman 2. katman vb. olur.
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 sonucu. Toplam 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, üyelik hediye etme 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 üyeliklerinin 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 tanımlanır. 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 üyesi olduğu seviyenin adı. Bu, ilişkili üyelik hediye etme mesajının snippet.membershipGiftingDetails.giftMembershipsLevelName ile eşleşir. Seviye adları, üyeliği sunan YouTube kanalı tarafından tanımlanır. Bazı durumlarda bu alan doldurulmaz.
snippet.giftMembershipReceivedDetails.gifterChannelId string
Üyelik hediye etme satın alma işlemini gerçekleştiren kullanıcının kimliği. Bu, ilişkili üyelik hediye etme 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, type değeri membershipGiftingEvent olan bir iletiyi her zaman ifade eder.
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ı sohbet moderatörü olup olmadığını gösterir.