Resource liveChatMessage mewakili pesan chat di live chat YouTube. Resource dapat berisi detail tentang beberapa jenis pesan, termasuk pesan teks yang baru diposting atau acara fan funding.
Fitur Live Chat diaktifkan secara default untuk live streaming dan tersedia saat acara live aktif. (Setelah acara berakhir, live chat tidak lagi tersedia untuk acara tersebut.)
Metode
API ini mendukung metode berikut untuk resource liveChatMessages:
- list
- Mencantumkan pesan live chat untuk chat tertentu. Coba sekarang.
- streamList
- Mengaktifkan koneksi streaming server untuk menerima pesan live chat untuk chat tertentu dalam latensi rendah. Coba sekarang.
- insert
- Menambahkan pesan atau polling ke live chat. Coba sekarang.
- transition
- Mengubah status pesan live. Coba sekarang.
- hapus
- Menghapus pesan chat. Permintaan API harus diizinkan oleh pemilik channel atau moderator live chat. Coba sekarang.
Representasi resource
Struktur JSON berikut menunjukkan format resource 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
},
"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
},
}Properti
Tabel berikut menentukan properti yang muncul dalam resource ini:
| Properti | |
|---|---|
kind |
stringMengidentifikasi jenis resource API. Nilainya adalah youtube#liveChatMessage. |
etag |
etagETag resource ini. |
id |
stringID yang ditetapkan YouTube untuk mengidentifikasi pesan secara unik. Catatan: Untuk giftEvents, ID yang sama dapat digunakan kembali untuk memperbarui jumlah kombo. |
snippet |
objectObjek snippet berisi detail inti tentang pesan chat. |
snippet.type |
stringJenis pesan. Properti ini selalu ada, dan nilainya menentukan kolom mana yang ada dalam resource. Nilai yang valid untuk properti ini adalah:
|
snippet.liveChatId |
stringID yang secara unik mengidentifikasi live chat yang terkait dengan pesan. ID live chat yang terkait dengan siaran ditampilkan di properti snippet.liveChatId resource liveBroadcast. |
snippet.authorChannelId |
stringID pengguna yang menulis pesan. Kolom ini hanya diisi untuk jenis pesan berikut:
|
snippet.publishedAt |
datetimeTanggal dan waktu saat pesan pertama kali dipublikasikan. Nilai ditentukan dalam format ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ). |
snippet.hasDisplayContent |
booleanMenunjukkan apakah pesan memiliki konten tampilan yang harus ditampilkan kepada pengguna. |
snippet.displayMessage |
stringBerisi string yang ditampilkan kepada pengguna. Kolom ini tidak ada jika jenis pesan adalah chatEndedEvent atau tombstone. |
snippet.fanFundingEventDetails |
objectCatatan: Objek ini dan properti turunannya tidak digunakan lagi. Mulai 28 Februari 2017, resource liveChatMessage tidak akan lagi menampilkan detail untuk acara Fan Funding.Objek ini berisi detail tentang acara pendanaan. Informasi ini hanya ada jika jenis pesan adalah fanFundingEvent. |
snippet.fanFundingEventDetails.amountMicros |
unsigned longCatatan: Properti ini tidak digunakan lagi. Jumlah dana. |
snippet.fanFundingEventDetails.currency |
stringCatatan: Properti ini tidak digunakan lagi. Mata uang yang digunakan untuk membuat dana. |
snippet.fanFundingEventDetails.amountDisplayString |
stringCatatan: Properti ini tidak digunakan lagi. String yang dirender yang menampilkan jumlah dan mata uang dana kepada pengguna. |
snippet.fanFundingEventDetails.userComment |
stringCatatan: Properti ini tidak digunakan lagi. Komentar yang ditambahkan oleh pengguna ke acara fan funding ini. |
snippet.textMessageDetails |
objectObjek ini berisi detail tentang pesan teks. Informasi ini hanya ada jika jenis pesan adalah textMessageEvent. |
snippet.textMessageDetails.messageText |
stringPesan pengguna. |
snippet.userBannedDetails |
objectObjek ini berisi detail tentang pengguna yang telah dilarang dari chat. Halaman ini juga berisi detail tentang larangan itu sendiri. Pengguna dapat dilarang dari chat secara permanen atau sementara. |
snippet.userBannedDetails.bannedUserDetails |
objectObjek ini berisi informasi tentang pengguna yang dilarang. |
snippet.userBannedDetails.bannedUserDetails.channelId |
stringID channel YouTube pengguna yang dilarang. |
snippet.userBannedDetails.bannedUserDetails.channelUrl |
stringURL channel YouTube pengguna yang dilarang. |
snippet.userBannedDetails.bannedUserDetails.displayName |
stringNama tampilan channel YouTube pengguna yang diblokir. |
snippet.userBannedDetails.bannedUserDetails.profileImageUrl |
stringAvatar channel YouTube pengguna yang dilarang. |
snippet.userBannedDetails.banType |
stringJenis larangan. Nilai yang valid untuk properti ini adalah:
|
snippet.userBannedDetails.banDurationSeconds |
unsigned longDurasi larangan. Properti ini hanya ada jika nilai properti snippet.userBannedDetails.banType adalah temporary. |
snippet.memberMilestoneChatDetails |
objectObjek ini berisi detail tentang peristiwa Pencapaian Pelanggan. Informasi ini hanya ada jika jenis pesan adalah memberMilestoneChatEvent. |
snippet.memberMilestoneChatDetails.userComment |
stringKomentar yang ditambahkan oleh pelanggan ke Chat Pencapaian Pelanggan ini. Kolom ini kosong untuk pesan tanpa komentar dari anggota. |
snippet.memberMilestoneChatDetails.memberMonth |
unsigned integerTotal bulan (dibulatkan ke atas) penonton telah menjadi pelanggan yang memberinya Chat Pencapaian Pelanggan ini. Jumlah bulan ini sama dengan yang ditampilkan kepada pengguna YouTube. |
snippet.memberMilestoneChatDetails.memberLevelName |
stringNama Level tempat penonton menjadi pelanggan. Nama Level ditentukan oleh channel YouTube yang menawarkan Langganan. Dalam beberapa situasi, kolom ini tidak diisi. |
snippet.newSponsorDetails |
objectObjek ini berisi detail tentang peristiwa Pengumuman Pelanggan Baru. Ini hanya disetel jika jenisnya adalah newSponsorEvent. "Anggota" adalah istilah untuk "sponsor".
|
snippet.newSponsorDetails.memberLevelName |
stringNama Level tempat penonton menjadi anggota. Nama Level ditentukan oleh channel YouTube yang menawarkan Langganan. Dalam beberapa situasi, kolom ini tidak diisi. |
snippet.newSponsorDetails.isUpgrade |
boolMenunjukkan apakah penonton baru saja mengupgrade dari Level yang lebih rendah. Untuk penonton yang bukan pelanggan pada saat pembelian, nilai kolomnya adalah false.
|
snippet.superChatDetails |
objectObjek ini berisi detail tentang peristiwa Super Chat. Informasi ini hanya ada jika jenis pesan adalah superChatEvent. |
snippet.superChatDetails.amountMicros |
unsigned longJumlah pembelian, dalam mikro mata uang pembelian. Misalnya, jika jumlah pembelian adalah satu dolar, nilai properti snippet.amountMicros adalah 1000000. |
snippet.superChatDetails.currency |
stringMata uang yang digunakan untuk melakukan pembelian. Nilainya adalah kode mata uang ISO 4217. |
snippet.superChatDetails.amountDisplayString |
stringString, seperti $1.00, yang berisi jumlah pembelian dan mata uang. String ini dimaksudkan untuk ditampilkan kepada pengguna. |
snippet.superChatDetails.userComment |
stringKomentar yang ditambahkan oleh pengguna ke peristiwa Super Chat ini. |
snippet.superChatDetails.tier |
unsigned integerTingkatan untuk pesan berbayar. Perhatikan bahwa dalam resource superChatEvent, properti snippet.messageType berisi nilai ini.Tingkatan didasarkan pada jumlah uang yang dibelanjakan untuk membeli pesan. Tingkatan ini juga menentukan warna yang digunakan untuk menandai pesan di UI live chat, panjang maksimum pesan, dan durasi waktu pesan disematkan di ticker. Tingkatan Super Chat didokumentasikan di Pusat Bantuan YouTube. (Lihat bagian yang dapat diperluas tentang detail pembelian Super Chat.) Dalam daftar tersebut, tingkat dengan jumlah pembelian terendah adalah tingkat 1, jumlah terendah berikutnya adalah tingkat 2, dan seterusnya. |
snippet.superStickerDetails |
objectObjek ini berisi detail tentang peristiwa Super Stickers. Informasi ini hanya ada jika jenis pesan adalah superStickerEvent. |
snippet.superStickerDetails.superStickerMetadata |
objectDetail tentang Super Stickers. |
snippet.superStickerDetails.superStickerMetadata.stickerId |
stringID unik yang mengidentifikasi gambar stiker. Perhatikan bahwa gambar hanya ditampilkan sebagai bagian dari pesan Super Stickers saat pengguna melihat jendela chat di YouTube. Namun, URL gambar tidak tersedia menggunakan API. Sebagai referensi saja, Anda dapat menemukan ID Stiker yang terkait dengan Super Stickers tertentu dalam file CSV ini. |
snippet.superStickerDetails.superStickerMetadata.altText |
stringString teks yang mendeskripsikan stiker. Kolom snippet.superStickerDetails.superStickerMetadata.language mengidentifikasi bahasa teks. Saat memanggil metode liveChatMessages.list, tetapkan nilai parameter hl ke bahasa yang dipilih untuk teks. |
snippet.superStickerDetails.superStickerMetadata.language |
stringBahasa nilai properti snippet.superStickerDetails.superStickerMetadata.altText. |
snippet.superStickerDetails.amountMicros |
unsigned longJumlah pembelian, dalam mikro mata uang pembelian. Misalnya, jika jumlah pembelian adalah satu dolar, nilai properti snippet.amountMicros adalah 1000000. |
snippet.superStickerDetails.currency |
stringMata uang yang digunakan untuk melakukan pembelian. Nilainya adalah kode mata uang ISO 4217. |
snippet.superStickerDetails.amountDisplayString |
stringString, seperti $1.00, yang berisi jumlah dan mata uang pembelian. String ini dimaksudkan untuk ditampilkan kepada pengguna. |
snippet.superStickerDetails.tier |
unsigned integerTingkatan untuk pesan berbayar. Perhatikan bahwa dalam resource superChatEvent, properti snippet.messageType berisi nilai ini.Tingkatan didasarkan pada jumlah uang yang dibelanjakan untuk membeli pesan. Tingkatan ini juga menentukan warna yang digunakan untuk menyoroti pesan di UI live chat, panjang pesan maksimum, dan durasi pesan disematkan di ticker. Tingkatan Super Chat, yang juga mencakup Super Stickers, didokumentasikan di Pusat Bantuan YouTube. (Lihat bagian yang dapat diperluas tentang detail pembelian Super Chat.) Dalam daftar tersebut, tingkat dengan jumlah pembelian terendah adalah tingkat 1, jumlah terendah berikutnya adalah tingkat 2, dan seterusnya. |
snippet.pollDetails |
objectObjek ini berisi detail tentang peristiwa polling. Informasi ini hanya ada jika jenis pesan adalah pollEvent. |
snippet.pollDetails.metadata |
objectDetail tentang peristiwa polling. |
snippet.pollDetails.metadata.options |
objectOpsi dalam polling live. |
snippet.pollDetails.metadata.options.optionText |
stringTeks opsi polling live. |
snippet.pollDetails.metadata.options.tally |
stringJumlah suara opsi polling live. Jumlah hanya ada jika permintaan API diizinkan oleh pemilik channel. |
snippet.pollDetails.metadata.questionText |
stringTeks pertanyaan polling live. |
snippet.pollDetails.metadata.status |
enumStatus acara polling live. Nilai yang valid untuk properti ini adalah:
|
snippet.membershipGiftingDetails |
objectObjek ini berisi detail tentang peristiwa Hadiah Langganan. Hanya ada jika message type adalah membershipGiftingEvent. |
snippet.membershipGiftingDetails.giftMembershipsCount |
integerJumlah hadiah langganan yang dibeli oleh pengguna. |
snippet.membershipGiftingDetails.giftMembershipsLevelName |
stringNama Level langganan hadiah yang dibeli oleh pengguna. Nama level ditentukan oleh channel YouTube yang menawarkan Langganan. Dalam beberapa situasi, kolom ini tidak diisi. |
snippet.giftMembershipReceivedDetails |
objectObjek ini berisi detail tentang peristiwa Hadiah Langganan yang Diterima. Ini hanya ada jika message type adalah giftMembershipReceivedEvent. |
snippet.giftMembershipReceivedDetails.memberLevelName |
stringNama Level tempat penonton menjadi pelanggan. Ini cocok dengan snippet.membershipGiftingDetails.giftMembershipsLevelName pesan pemberian hadiah langganan terkait. Nama level ditentukan oleh channel YouTube yang menawarkan Langganan. Dalam beberapa situasi, kolom ini tidak diisi. |
snippet.giftMembershipReceivedDetails.gifterChannelId |
stringID pengguna yang melakukan pembelian hadiah langganan. ID ini cocok dengan snippet.authorChannelId pesan hadiah langganan terkait. |
snippet.giftMembershipReceivedDetails.associatedMembershipGiftingMessageId |
stringID pesan pemberian hadiah langganan yang terkait dengan hadiah langganan ini. ID ini akan selalu merujuk ke pesan yang type-nya adalah membershipGiftingEvent. |
snippet.giftDetails |
objectObjek ini berisi detail tentang acara pemberian hadiah. Hanya ada jika message type adalah giftEvent. |
snippet.giftDetails.jewelsAmount |
integerJumlah Kristal yang ditukarkan untuk hadiah. |
snippet.giftDetails.giftName |
stringNama hadiah. |
snippet.giftDetails.giftUrl |
stringURL aset hadiah. |
snippet.giftDetails.giftDuration |
objectDurasi untuk menampilkan URL hadiah. |
snippet.giftDetails.giftDuration.seconds |
integerJumlah detik untuk menampilkan URL hadiah. |
snippet.giftDetails.giftDuration.nanos |
integerJumlah nanodetik untuk menampilkan URL hadiah. |
snippet.giftDetails.hasVisualEffect |
booleanApakah hadiah memiliki efek visual. |
snippet.giftDetails.comboCount |
integerJumlah kombo hadiah; 0 jika bukan kombo. |
snippet.giftDetails.altText |
stringString teks yang menjelaskan hadiah. |
snippet.giftDetails.language |
stringBahasa nilai properti altText. |
authorDetails |
objectObjek authorDetails berisi detail tambahan tentang pengguna yang memposting pesan ini. |
authorDetails.channelId |
stringID channel YouTube penulis. |
authorDetails.channelUrl |
stringURL channel YouTube penulis. |
authorDetails.displayName |
stringNama tampilan channel YouTube penulis. |
authorDetails.profileImageUrl |
stringURL avatar channel YouTube penulis. |
authorDetails.isVerified |
booleanNilai ini menunjukkan apakah identitas penulis telah diverifikasi oleh YouTube. |
authorDetails.isChatOwner |
booleanNilai ini menunjukkan apakah penulis adalah pemilik chat langsung. |
authorDetails.isChatSponsor |
booleanNilai ini menunjukkan apakah penulis adalah sponsor live chat. |
authorDetails.isChatModerator |
booleanNilai ini menunjukkan apakah penulis adalah moderator Live Chat. |