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ürleriyle ilgili ayrıntılar içerebilir.

Canlı sohbet özelliği, canlı yayınlar için varsayılan olarak etkindir ve canlı etkinlik etkinken 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 sohbete ait canlı sohbet mesajlarını listeler. Hemen deneyin.
insert
Canlı sohbete mesaj veya anket ekler. Hemen deneyin.
transition
Yayındaki bir mesajın durumunu değiştirir. Hemen deneyin.
sil
Sohbet mesajını siler. API isteği, kanal sahibi veya canlı sohbetin bir 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 değeri.
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
İletinin 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 ermiştir ve bu mesajdan 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, kanalın varsayılan yayınındaki canlı sohbetlerde gönderilmez.
  • messageDeletedEvent: Bir mesaj moderatör tarafından silindi. author alanı, moderatörün ayrıntılarını içerir. Bu etkinlikte görüntülenen içerik yok.
  • sponsorOnlyModeEndedEvent: Sohbet artık yalnızca sponsorlara özel modda değil. Yani sponsor olmayan kullanıcılar da mesaj gönderebilir. Bu etkinlikte görüntülenen içerik yok.
  • sponsorOnlyModeStartedEvent: Sohbet yalnızca sponsorlara açık moda girmiştir. Bu durumda yalnızca sponsorlar mesaj gönderebilir. Bu etkinlikte görüntülenecek içerik yok.
  • newSponsorEvent: Yeni bir kullanıcı, canlı sohbetin sahibi olan kanala sponsor oldu. author alanları yeni sponsorun ayrıntılarını içerir.
  • memberMilestoneChatEvent: Kullanıcı Üye Dönüm Noktası Mesajı göndermiştir.
  • superChatEvent: Kullanıcı bir Süper Chat satın aldı.
  • superStickerEvent: Kullanıcı bir Süper Etiket satın aldı.
  • textMessageEvent: Kullanıcı kısa mesaj göndermiştir.
  • tombstone: Mezar taşı, bu kimliğe ve yayınlanma zamanına sahip bir ileti olduğunu ancak daha sonra silindiğini gösterir. Bu simge, bir mesaj silindiğinde gönderilmez. Bunun yerine, mesajın silinmeden önceki yerini belirtmek için gösterilir. Bu tür mesajlarda yalnızca snippet.liveChatId, snippet.type ve snippet.publishedAt alanları bulunur.
  • userBannedEvent: Kullanıcı, bir moderatör tarafından yasaklanmıştır. author alanı, moderatörün ayrıntılarını içerir.
  • membershipGiftingEvent: Kullanıcı, diğer izleyiciler için üyelik satın almıştır.
  • giftMembershipReceivedEvent: Kullanıcıya hediye üyelik gönderildi.
  • pollDetails: Kullanıcı canlı anket oluşturdu.
snippet.liveChatId string
İletinin ilişkili olduğu 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 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 mülk değeri, iletiyi yazan kullanıcıyı tanımlar.
  • İleti türü fanFundingEvent ise mülk değeri, yayını finanse eden kullanıcıyı tanımlar.
  • İleti türü messageDeletedEvent ise mülk değeri, iletiyi silen moderatörü tanımlar.
  • Mesaj türü newSponsorEvent ise mülk değeri, sponsor olan kullanıcıyı tanımlar.
  • İleti türü memberMilestoneChatEvent ise mülk değeri, iletiyi gönderen üyeyi tanımlar.
  • Mesaj türü userBannedEvent ise mülk değeri, kullanıcıyı yasaklayan moderatörü tanımlar.
  • Mesaj türü membershipGiftingEvent ise mülk değeri, üyelik hediyesi satın alan 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 mülk değeri, canlı anket oluşturan kullanıcıyı tanımlar.
snippet.publishedAt datetime
İletinin orijinal olarak yayınlandığı tarih ve saat. Değer, ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) biçiminde belirtilir.
snippet.hasDisplayContent boolean
İletinin, kullanıcılara gösterilmesi gereken görüntülü içeriği olup olmadığı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 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, destek etkinliğiyle ilgili ayrıntıları içerir. Yalnızca ileti türü fanFundingEvent ise mevcuttur.
snippet.fanFundingEventDetails.amountMicros unsigned long
Not: Bu özelliğin desteği sonlandırıldı.

Fon 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 özelliğin desteği sonlandı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ılmıştır.

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

Sohbet mesajlarını aldıktan sonra önbelleğe alırsanız artık gösterilmemesi gereken mesajı tanımlamak için bu mülkün değerini kullanın.
snippet.userBannedDetails object
Bu nesne, sohbette yasaklanmış bir kullanıcıyla ilgili ayrıntıları içerir. Ayrıca, yasakla ilgili ayrıntıları da içerir. Kullanıcılar sohbetlerden kalıcı veya geçici olarak engellenebilir.
snippet.userBannedDetails.bannedUserDetails object
Bu nesne, yasaklanan kullanıcıyla ilgili bilgileri içerir.
snippet.userBannedDetails.bannedUserDetails.channelId string
Engellenen kullanıcının YouTube kanal kimliği.
snippet.userBannedDetails.bannedUserDetails.channelUrl string
Banlanan kullanıcının YouTube kanalının URL'si.
snippet.userBannedDetails.bannedUserDetails.displayName string
Banlanan kullanıcının YouTube kanalının görünen adı.
snippet.userBannedDetails.bannedUserDetails.profileImageUrl string
Engellenen kullanıcının YouTube kanalının avatarı.
snippet.userBannedDetails.banType string
Engelleme türü. Bu mülk için geçerli değerler:
  • kalıcı
  • geçici
snippet.userBannedDetails.banDurationSeconds unsigned long
Yasağın süresi. Bu özellik yalnızca snippet.userBannedDetails.banType mülk değeri temporary ise mevcuttur.
snippet.memberMilestoneChatDetails object
Bu nesne, üye aşaması etkinliği ile ilgili ayrıntıları içerir. Yalnızca ileti türü memberMilestoneChatEvent ise mevcuttur.
snippet.memberMilestoneChatDetails.userComment string
Üyenin bu Üye Dönüm Noktası Mesajına eklediği yorum. Üyenin yorumu olmayan mesajlar için bu alan boştur.
snippet.memberMilestoneChatDetails.memberMonth unsigned integer
İzleyicinin, bu Üye Dönüm Noktası Mesajını almasına hak veren üyelik süresinin toplam ayı (yuvarlanıp yukarı doğru gösterilir). 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 belirlenir. 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" terimidir.
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ükseltip yükseltmediğ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, bir Süper Chat etkinliğiyle ilgili ayrıntıları içerir. Yalnızca ileti türü superChatEvent ise mevcuttur.
snippet.superChatDetails.amountMicros unsigned long
Satın alma tutarı (satın alma para biriminin mikro cinsinden). Örneğin, satın alma tutarı bir dolarsa snippet.amountMicros mülk 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 bir dize ($1.00 gibi). Dizinin 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 bağlıdır. 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 sabitlenme süresini belirler.

Süper Chat katmanları YouTube Yardım Merkezi'nde açıklanmıştır. (Süper Chat satın alma ayrıntıları hakkındaki genişletilebilir bölüme bakın.) Bu listede, satın alma tutarı en düşük olan katman 1. katman, bir sonraki en düşük tutar 2. katman ve bu şekilde devam eder.
snippet.superStickerDetails object
Bu nesne, bir Süper Etiket etkinliğiyle ilgili ayrıntıları içerir. Yalnızca ileti türü superStickerEvent ise mevcuttur.
snippet.superStickerDetails.superStickerMetadata object
Süper Etiket ile ilgili ayrıntılar.
snippet.superStickerDetails.superStickerMetadata.stickerId string
Etiket 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 etiket kimliklerinin hangi Süper Etiketlerle ilişkili 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 tutarı (satın alma para biriminin mikro cinsinden değeri). Örneğin, satın alma tutarı bir dolarsa snippet.amountMicros mülk 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 bir dize ($1.00 gibi). Dizinin 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 bağlıdır. Ayrıca, mesajın canlı sohbet kullanıcı arayüzünde öne çıkarılmak için kullanılan rengi, maksimum mesaj uzunluğunu ve mesajın bilgi akışına sabitlenme süresini belirler.

Süper Etiketler'i de kapsayan Süper Chat katmanlarını YouTube Yardım Merkezi'nde bulabilirsiniz. (Süper Chat satın alma ayrıntıları hakkındaki genişletilebilir bölüme bakın.) Bu listede, satın alma tutarı en düşük olan katman 1. katman, bir sonraki en düşük tutar 2. katman ve bu şekilde devam eder.
snippet.pollDetails object
Bu nesne, anket etkinliğiyle ilgili ayrıntıları içerir. Yalnızca ileti türü pollEvent ise mevcuttur.
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 sonuçları. Sayım yalnızca API isteği kanal sahibi tarafından yetkilendirilmişse gösterilir.
snippet.pollDetails.metadata.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:
  • 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 mevcuttur.
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 düzeyinin adı. Seviye adları, üyeliği sunan YouTube kanalı tarafından belirlenir. Bazı durumlarda bu alan doldurulmaz.
snippet.giftMembershipReceivedDetails object
Bu nesne, Hediye Üyeliği Alındı etkinliğiyle ilgili ayrıntıları içerir. Yalnızca message type giftMembershipReceivedEvent ise mevcuttur.
snippet.giftMembershipReceivedDetails.memberLevelName string
İzleyicinin üye 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 belirlenir. Bazı durumlarda bu alan doldurulmaz.
snippet.giftMembershipReceivedDetails.gifterChannelId string
Üyelik hediyesi satın alan 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 üyelikle ilgili üyelik hediye etme mesajının kimliği. Bu kimlik her zaman type değeri membershipGiftingEvent olan bir mesajı 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ı belirtir.
authorDetails.isChatOwner boolean
Bu değer, yazarın canlı sohbetin sahibi olup olmadığını belirtir.
authorDetails.isChatSponsor boolean
Bu değer, yazarın canlı sohbetin sponsoru olup olmadığını belirtir.
authorDetails.isChatModerator boolean
Bu değer, yazarın canlı sohbetin moderatörü olup olmadığını belirtir.