منبع liveChatMessage نشاندهنده پیام گپ در گپ مستقیم YouTube است. این منبع میتواند حاوی جزئیاتی درباره انواع مختلف پیامها باشد، ازجمله پیام متنی جدیداً پستشده یا رویداد تأمین بودجه طرفداران.
ویژگی گپ مستقیم بهطور پیشفرض برای پخشهای زنده فعال است و درحین فعال بودن رویداد زنده دردسترس است. (پساز پایان رویداد، گپ مستقیم دیگر برای آن رویداد دردسترس نیست.)
روشها
«میانای برنامهسازی کاربردی» از روشهای زیر برای منابع liveChatMessages پشتیبانی میکند:
- فهرست
- پیامهای گپ مستقیم را برای گپ خاصی فهرست میکند. اکنون امتحان کنید.
- streamList
- اتصال جاریسازی سرور را برای دریافت پیامهای گپ مستقیم برای گپ خاصی با تأخیر کم فعال میکند. اکنون امتحان کنید.
- درج
- پیام یا نظرسنجی را به گپ مستقیم اضافه میکند. اکنون امتحان کنید.
- transition
- وضعیت پیام مستقیم را تغییر میدهد. اکنون امتحان کنید.
- حذف
- پیام گپ را حذف میکند. درخواست API باید توسط مالک کانال یا یک مدیر گپ زنده مجاز شود. اکنون امتحان کنید.
وکالت منابع
ساختار JSON زیر قالب منبع 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
},
}مشخصات
جدول زیر خصوصیات نشاندادهشده در این منبع را تعریف میکند:
| مشخصات | |
|---|---|
kind |
stringنوع منبع میانای برنامهسازی کاربردی را مشخص میکند. مقدار youtube#liveChatMessage خواهد بود. |
etag |
etagEtag این منبع. |
id |
stringشناسهای که YouTube برای شناسایی یکتای پیام اختصاص میدهد. توجه: برای giftEvents، ممکن است از همان شناسه برای بهروزرسانی تعداد ترکیبی استفاده شود. |
snippet |
objectشیء snippet حاوی جزئیات اصلی درباره پیام گپ است. |
snippet.type |
stringنوع پیام. این ویژگی همیشه وجود دارد و مقدار آن تعیین میکند که کدام فیلدها در منبع وجود دارند. مقادیر معتبر برای این ویژگی عبارتند از:
|
snippet.liveChatId |
stringشناسهای که گپ مستقیمی را که پیام با آن مرتبط است بهصورت یکتا شناسایی میکند. شناسه گپ مستقیم مرتبط با یک همهفرستی در دارایی snippet.liveChatId منبع liveBroadcast برگردانده میشود. |
snippet.authorChannelId |
stringشناسه کاربری که پیام را نوشته است. این فیلد فقط برای انواع پیامهای زیر پر میشود:
|
snippet.publishedAt |
datetimeتاریخ و زمان انتشار اصلی پیام. مقدار در قالب ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ) مشخص شده است. |
snippet.hasDisplayContent |
booleanنشان میدهد که آیا پیام دارای محتوای نمایشی است که باید به کاربران نمایش داده شود یا نه. |
snippet.displayMessage |
stringشامل رشتهای است که به کاربران نمایش داده میشود. اگر نوع پیام chatEndedEvent یا tombstone باشد، این فیلد وجود ندارد. |
snippet.fanFundingEventDetails |
objectتوجه: این شیء و ویژگیهای فرزند آن منسوخ شدهاند. از تاریخ ۲۸ فوریه ۲۰۱۷، liveChatMessage منابع دیگر جزئیات رویدادهای «تأمین بودجه طرفداران» را برنمیگردانند.این شیء حاوی جزئیات رویداد تأمین بودجه است. فقط درصورتی وجود دارد که نوع پیام fanFundingEvent باشد. |
snippet.fanFundingEventDetails.amountMicros |
unsigned longتوجه: این دارایی منسوخ شده است. مقدار بودجه. |
snippet.fanFundingEventDetails.currency |
stringتوجه: این دارایی منسوخ شده است. ارزی که صندوق با آن ساخته شده است. |
snippet.fanFundingEventDetails.amountDisplayString |
stringتوجه: این ویژگی منسوخ شده است. رشتهای پردازششده که مبلغ و واحد پول را به کاربر نشان میدهد. |
snippet.fanFundingEventDetails.userComment |
stringتوجه: این ویژگی منسوخ شده است. نظری که کاربر به این رویداد تأمین بودجه از طرف طرفداران اضافه کرده است. |
snippet.textMessageDetails |
objectاین شیء حاوی جزئیاتی درباره پیامک است. این مورد فقط زمانی وجود دارد که نوع پیام textMessageEvent باشد. |
snippet.textMessageDetails.messageText |
stringپیام کاربر. |
snippet.userBannedDetails |
objectاین شیء حاوی جزئیاتی درباره کاربری است که از گپ منع شده است. همچنین حاوی جزئیاتی درباره خود ممنوعیت است. کاربران میتوانند بهطور دائمی یا موقت از چت منع شوند. |
snippet.userBannedDetails.bannedUserDetails |
objectاین شیء حاوی اطلاعاتی درباره کاربر مسدودشده است. |
snippet.userBannedDetails.bannedUserDetails.channelId |
stringشناسه کانال YouTube کاربر ممنوعشده. |
snippet.userBannedDetails.bannedUserDetails.channelUrl |
stringنشانی وب کانال YouTube کاربر ممنوعشده. |
snippet.userBannedDetails.bannedUserDetails.displayName |
stringنام نمایشی کانال YouTube کاربر مسدودشده. |
snippet.userBannedDetails.bannedUserDetails.profileImageUrl |
stringچهرک کانال YouTube کاربر ممنوعشده. |
snippet.userBannedDetails.banType |
stringنوع ممنوعیت. مقادیر معتبر برای این دارایی عبارتاند از:
|
snippet.userBannedDetails.banDurationSeconds |
unsigned longمدتزمان ممنوعیت. این دارایی فقط درصورتی وجود دارد که مقدار دارایی snippet.userBannedDetails.banType برابر با temporary باشد. |
snippet.memberMilestoneChatDetails |
objectاین شیء حاوی جزئیات مربوط به رویداد نقطه عطف عضو است. فقط درصورتی وجود دارد که نوع پیام memberMilestoneChatEvent باشد. |
snippet.memberMilestoneChatDetails.userComment |
stringنظری که عضو به این «گپ اعضای وفادار» اضافه کرده است. این فیلد برای پیامهای بدون نظر ازسوی عضو خالی است. |
snippet.memberMilestoneChatDetails.memberMonth |
unsigned integerتعداد کل ماههایی (گردشده به بالا) که بیننده عضو بوده و این «گپ اعضای وفادار» به او اعطا شده است. این تعداد ماه با تعداد ماههایی که به کاربران YouTube نمایش داده میشود یکسان است. |
snippet.memberMilestoneChatDetails.memberLevelName |
stringنام «سطحی» که بیننده در آن عضو است. نام «سطحها» توسط کانال YouTube ارائهدهنده «عضویت» تعریف میشود. در برخی شرایط این فیلد پر نمیشود. |
snippet.newSponsorDetails |
objectاین شیء حاوی جزئیات مربوط به رویداد «اعلام عضو جدید» است. این فقط درصورتی تنظیم میشود که نوع newSponsorEvent باشد. «عضو» اصطلاحی برای «حامی مالی» است.
|
snippet.newSponsorDetails.memberLevelName |
stringنام سطحی که بیننده در آن عضو است. نامهای سطح توسط کانال YouTube که عضویت را ارائه میدهد، تعریف میشوند. در برخیاز موقعیتها، این فیلد تکمیل نمیشود. |
snippet.newSponsorDetails.isUpgrade |
boolنشان میدهد که آیا بیننده بهتازگی از سطح پایینتری ارتقا یافته است یا نه. برای بینندگانی که در زمان خرید عضو نبودهاند، مقدار فیلد false است.
|
snippet.superChatDetails |
objectاین شیء حاوی جزئیاتی درباره رویداد Super Chat است. این مورد فقط زمانی وجود دارد که نوع پیام superChatEvent باشد. |
snippet.superChatDetails.amountMicros |
unsigned longمقدار خرید، به میکرو از واحد پول خرید. برای مثال، اگر مبلغ خرید یک دلار باشد، مقدار ویژگی snippet.amountMicros برابر با 1000000 است. |
snippet.superChatDetails.currency |
stringواحد پولی که خرید با آن انجام شده است. مقدار، کد ارز ISO 4217 است. |
snippet.superChatDetails.amountDisplayString |
stringرشتهای، مثل $1.00، که حاوی مبلغ خرید و واحد پول است. این رشته برای نمایش به کاربر درنظر گرفته شده است. |
snippet.superChatDetails.userComment |
stringنظری که کاربر به این رویداد Super Chat اضافه کرده است. |
snippet.superChatDetails.tier |
unsigned integerسطح پیام پولی. توجه داشته باشید که در منبع superChatEvent، دارایی snippet.messageType حاوی این مقدار است.سطح براساس مقدار پولی است که برای خرید پیام خرج شده است. همچنین رنگی را که برای برجسته کردن پیام در واسط کاربر گپ مستقیم استفاده میشود، حداکثر طول پیام، و مدت زمانی را که پیام به تیکر سنجاق میشود تعیین میکند. سطوح Super Chat در مرکز راهنمایی YouTube مستند شده است. (بخش گسترشیافتنی درباره جزئیات خرید Super Chat را ببینید.) در این فهرست، سطحی که کمترین مبلغ خرید را دارد سطح ۱ است، مبلغ بعدی سطح ۲ است، و به همین ترتیب. |
snippet.superStickerDetails |
objectاین شیء حاوی جزئیات مربوط به رویداد Super Sticker است. این فیلد فقط درصورتی وجود دارد که نوع پیام superStickerEvent باشد. |
snippet.superStickerDetails.superStickerMetadata |
objectجزئیات مربوط به Super Sticker. |
snippet.superStickerDetails.superStickerMetadata.stickerId |
stringشناسه یکتایی که تصویر برچسب را شناسایی میکند. توجه داشته باشید که تصویر فقط بهعنوان بخشی از پیام Super Sticker نمایش داده میشود زمانی که کاربران پنجره گپ را در YouTube مشاهده میکنند. بااینحال، نشانی وب تصویر بااستفاده از API دردسترس نیست. فقط برای مرجع، میتوانید در این فایل CSV ببینید کدام شناسههای برچسب به کدام Super Sticker مربوط میشوند. |
snippet.superStickerDetails.superStickerMetadata.altText |
stringرشته نوشتاری که برچسب را توصیف میکند. فیلد snippet.superStickerDetails.superStickerMetadata.language زبان نوشتار را مشخص میکند. هنگام فراخوانی روش liveChatMessages.list، مقدار پارامتر hl را روی زبان انتخابی برای نوشتار تنظیم کنید. |
snippet.superStickerDetails.superStickerMetadata.language |
stringزبان مقدار خصوصیت snippet.superStickerDetails.superStickerMetadata.altText. |
snippet.superStickerDetails.amountMicros |
unsigned longمقدار خرید، به میکرو از واحد پول خرید. برای مثال، اگر مبلغ خرید یک دلار باشد، مقدار ویژگی snippet.amountMicros برابر با 1000000 است. |
snippet.superStickerDetails.currency |
stringواحد پولی که خرید با آن انجام شده است. مقدارْ کد واحد پول ISO 4217 است. |
snippet.superStickerDetails.amountDisplayString |
stringرشتهای، مثل $1.00، که شامل مبلغ خرید و واحد پول است. این رشته برای نمایش به کاربر درنظر گرفته شده است. |
snippet.superStickerDetails.tier |
unsigned integerسطح پیام پولی. توجه داشته باشید که در منبع superChatEvent، ویژگی snippet.messageType حاوی این مقدار است.سطح براساس مقدار پولی است که برای خرید پیام هزینه شده است. همچنین رنگی را که برای برجسته کردن پیام در میانای کاربر گپ مستقیم استفاده میشود، حداکثر طول پیام، و مدت زمانی را که پیام به تیکر سنجاق میشود تعیین میکند. سطوح Super Chat که Super Stickers را نیز پوشش میدهد، در مرکز راهنمایی YouTube مستند شده است. (بخش گسترشپذیر مربوط به جزئیات خرید Super Chat را ببینید.) در آن فهرست، سطح با کمترین مقدار خرید سطح ۱، سطح با مقدار خرید بعدی سطح ۲، و به همین ترتیب ادامه مییابد. |
snippet.pollDetails |
objectاین شیء حاوی جزئیاتی درباره رویداد نظرسنجی است. این مورد فقط زمانی وجود دارد که نوع پیام pollEvent باشد. |
snippet.pollDetails.metadata |
objectجزئیات مربوط به رویداد نظرسنجی. |
snippet.pollDetails.metadata.options |
objectگزینههای نظرسنجی زنده. |
snippet.pollDetails.metadata.options.optionText |
stringنوشتار گزینه نظرسنجی زنده. |
snippet.pollDetails.metadata.options.tally |
stringتعداد آرای گزینه نظرسنجی زنده. این شمارش تنها زمانی وجود دارد که درخواست API توسط مالک کانال مجاز شده باشد. |
snippet.pollDetails.metadata.questionText |
stringنوشتار سؤال نظرسنجی زنده. |
snippet.pollDetails.metadata.status |
enumوضعیت رویداد نظرسنجی زنده. مقادیر معتبر برای این دارایی عبارتاند از:
|
snippet.membershipGiftingDetails |
objectاین شیء حاوی جزئیات مربوط به رویداد «هدیه عضویت» است. فقط درصورتی وجود دارد که message type، membershipGiftingEvent باشد. |
snippet.membershipGiftingDetails.giftMembershipsCount |
integerتعداد عضویتهای هدیهای خریداریشده توسط کاربر. |
snippet.membershipGiftingDetails.giftMembershipsLevelName |
stringنام سطح عضویتهای هدیهای که کاربر خریداری کرده است. نام سطوح توسط کانال YouTube ارائهدهنده «عضویت» تعریف میشود. در برخیاز موقعیتها، این فیلد تکمیل نمیشود. |
snippet.giftMembershipReceivedDetails |
objectاین شیء حاوی جزئیات مربوط به رویداد «عضویت هدیهای دریافت شد» است. فقط درصورتی وجود دارد که message type giftMembershipReceivedEvent باشد. |
snippet.giftMembershipReceivedDetails.memberLevelName |
stringنام سطحی که بیننده در آن عضو است. این با snippet.membershipGiftingDetails.giftMembershipsLevelName پیام هدیه دادن عضویت مرتبط مطابقت دارد. نامهای سطح توسط کانال YouTube که عضویت را ارائه میدهد، تعریف میشوند. در برخیاز موقعیتها، این فیلد تکمیل نمیشود. |
snippet.giftMembershipReceivedDetails.gifterChannelId |
stringشناسه کاربری که خرید هدیه عضویت را انجام داده است. این با snippet.authorChannelId پیام هدیه دادن عضویت مرتبط مطابقت دارد. |
snippet.giftMembershipReceivedDetails.associatedMembershipGiftingMessageId |
stringشناسه پیام هدیه دادن عضویت که به این عضویت هدیه مربوط است. این شناسه همیشه به پیامی ارجاع میدهد که type آن membershipGiftingEvent است. |
snippet.giftDetails |
objectاین شیء حاوی جزئیاتی درباره رویداد هدیه است. فقط درصورتی وجود دارد که message type giftEvent باشد. |
snippet.giftDetails.jewelsAmount |
integerتعداد «جواهرات» پسخریدشده برای هدیه. |
snippet.giftDetails.giftName |
stringنام هدیه. |
snippet.giftDetails.giftUrl |
stringنشانی وب دارایی هدیه. |
snippet.giftDetails.giftDuration |
objectمدت زمان نمایش نشانی وب هدیه. |
snippet.giftDetails.giftDuration.seconds |
integerتعداد ثانیههایی که نشانی وب هدیه نمایش داده میشود. |
snippet.giftDetails.giftDuration.nanos |
integerتعداد نانوثانیهها برای نمایش نشانی وب هدیه. |
snippet.giftDetails.hasVisualEffect |
booleanاینکه هدیه جلوه دیداری دارد یا نه. |
snippet.giftDetails.comboCount |
integerتعداد مجموعه هدیه؛ اگر مجموعه هدیه نباشد، ۰ است. |
snippet.giftDetails.altText |
stringرشته نوشتاری که هدیه را توصیف میکند. |
snippet.giftDetails.language |
stringزبان مقدار خصوصیت altText. |
authorDetails |
objectشیء authorDetails حاوی جزئیات بیشتری درباره کاربری است که این پیام را پست کرده است. |
authorDetails.channelId |
stringشناسه کانال YouTube نویسنده. |
authorDetails.channelUrl |
stringنشانی وب کانال YouTube نویسنده. |
authorDetails.displayName |
stringنام نمایشی کانال YouTube نویسنده. |
authorDetails.profileImageUrl |
stringنشانی وب چهرک کانال YouTube نویسنده. |
authorDetails.isVerified |
booleanاین مقدار نشان میدهد که آیا هویت نویسنده توسط YouTube تأیید شده است یا خیر. |
authorDetails.isChatOwner |
booleanاین مقدار نشان میدهد که آیا نویسنده مالک گپ مستقیم است یا نه. |
authorDetails.isChatSponsor |
booleanاین مقدار نشان میدهد که آیا نویسنده حامی مالی گپ مستقیم است یا نه. |
authorDetails.isChatModerator |
booleanاین مقدار نشان میدهد که آیا نویسنده گرداننده گپ مستقیم است یا نه. |