یک منبع liveChatMessage
یک پیام چت را در یک چت زنده YouTube نشان می دهد. این منبع میتواند حاوی جزئیاتی درباره چندین نوع پیام باشد، از جمله یک پیام متنی جدید ارسال شده یا رویداد حمایت مالی از طرفداران.
ویژگی چت زنده به طور پیش فرض برای پخش زنده فعال است و در زمانی که رویداد زنده فعال است در دسترس است. (بعد از پایان رویداد، چت زنده دیگر برای آن رویداد در دسترس نیست.)
روش ها
API از روش های زیر برای منابع liveChatMessages
پشتیبانی می کند:
- list
- پیامهای چت زنده را برای یک چت خاص فهرست میکند. اکنون آن را امتحان کنید .
- insert
- پیام یا نظرسنجی را به چت زنده اضافه می کند. اکنون آن را امتحان کنید .
- transition
- وضعیت یک پیام زنده را انتقال می دهد. اکنون آن را امتحان کنید .
- delete
- پیام چت را حذف می کند. درخواست 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 }, "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 }, }
خواص
جدول زیر ویژگی های ظاهر شده در این منبع را تعریف می کند:
خواص | |
---|---|
kind | string نوع منبع API را مشخص می کند. مقدار youtube#liveChatMessage خواهد بود. |
etag | etag Etag این منبع |
id | string شناسه ای که YouTube برای شناسایی منحصر به فرد پیام اختصاص می دهد. |
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 توجه: این شی و ویژگی های فرزند آن منسوخ شده اند. از 28 فوریه 2017، منابع 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. messageDeletedDetails | object این شی حاوی جزئیاتی درباره پیامی است که توسط ناظر چت یا مالک کانال پخش زنده حذف شده است. فقط در صورتی وجود دارد که نوع پیام messageDeletedEvent باشد. |
snippet.messageDeletedDetails. deletedMessageId | string شناسه ای که پیام حذف شده را به طور منحصر به فرد شناسایی می کند. مقدار همان مقدار ویژگی id پیام متنی اصلی است. به عنوان مثال، اگر یک textMessageEvent دارای مقدار ویژگی id 123 باشد و آن پیام متعاقبا حذف شود، مقدار snippet.messageDeletedDetails.deletedMessageId برای آن پیام 123 خواهد بود.اگر پیامهای چت را پس از بازیابی حافظه پنهان ذخیره میکنید، از مقدار این ویژگی برای شناسایی پیامی استفاده کنید که دیگر نباید نمایش داده شود. |
snippet. userBannedDetails | object این شی حاوی جزئیاتی در مورد کاربری است که از چت منع شده است. همچنین حاوی جزئیاتی در مورد خود ممنوعیت است. کاربران می توانند به طور دائم یا موقت از چت محروم شوند. |
snippet.userBannedDetails. bannedUserDetails | object این شی حاوی اطلاعاتی در مورد کاربر ممنوع شده است. |
snippet.userBannedDetails.bannedUserDetails. channelId | string شناسه کانال یوتیوب کاربر ممنوعه. |
snippet.userBannedDetails.bannedUserDetails. channelUrl | string نشانی اینترنتی کانال یوتیوب کاربر ممنوعه. |
snippet.userBannedDetails.bannedUserDetails. displayName | string نام نمایشی کانال یوتیوب کاربر ممنوعه. |
snippet.userBannedDetails.bannedUserDetails. profileImageUrl | string آواتار کانال یوتیوب کاربر ممنوعه. |
snippet.userBannedDetails. banType | string نوع ممنوعیت. مقادیر معتبر برای این ویژگی عبارتند از:
|
snippet.userBannedDetails. banDurationSeconds | unsigned long مدت زمان ممنوعیت. این ویژگی فقط در صورتی وجود دارد که مقدار ویژگی snippet.userBannedDetails.banType temporary باشد. |
snippet. memberMilestoneChatDetails | object این شی حاوی جزئیاتی درباره رویداد Milestone عضو است. فقط در صورتی وجود دارد که نوع پیام memberMilestoneChatEvent باشد. |
snippet.memberMilestoneChatDetails. userComment | string نظر اضافه شده توسط عضو به این عضو Milestone Chat. این فیلد برای پیامهای بدون نظر عضو خالی است. |
snippet.memberMilestoneChatDetails. memberMonth | unsigned integer مجموع ماهها (گردششده) بیننده عضوی بوده است که این چت Milestone را به آنها اعطا کرده است. این همان تعداد ماه هایی است که به کاربران 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 مراجعه کنید.) در آن لیست، ردیفی که کمترین مقدار خرید را دارد، ردیف 1، کمترین مقدار بعدی، ردیف 2 و غیره است. |
snippet. superStickerDetails | object این شی حاوی جزئیاتی درباره یک رویداد Super Sticker است. فقط در صورتی وجود دارد که نوع پیام superStickerEvent باشد. |
snippet.superStickerDetails. superStickerMetadata | object جزئیات در مورد Super Sticker. |
snippet.superStickerDetails.superStickerMetadata. stickerId | string یک شناسه منحصر به فرد که تصویر برچسب را مشخص می کند. توجه داشته باشید که زمانی که کاربران پنجره چت را در یوتیوب مشاهده می کنند، تصویر تنها به عنوان بخشی از پیام Super Sticker نمایش داده می شود. با این حال، URL تصویر با استفاده از API در دسترس نیست. فقط برای مرجع، میتوانید شناسههای برچسب مربوط به کدام Super Sticker را در این فایل CSV بیابید. |
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 مراجعه کنید.) در آن لیست، ردیفی که کمترین مقدار خرید را دارد، ردیف 1، کمترین مقدار بعدی، ردیف 2 و غیره است. |
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 است. |
authorDetails | object شی authorDetails حاوی جزئیات بیشتری در مورد کاربری است که این پیام را ارسال کرده است. |
authorDetails. channelId | string شناسه کانال یوتیوب نویسنده. |
authorDetails. channelUrl | string آدرس کانال یوتیوب نویسنده. |
authorDetails. displayName | string نام نمایشی کانال یوتیوب نویسنده. |
authorDetails. profileImageUrl | string آدرس آواتار کانال یوتیوب نویسنده. |
authorDetails. isVerified | boolean این مقدار نشان می دهد که آیا هویت نویسنده توسط YouTube تأیید شده است یا خیر. |
authorDetails. isChatOwner | boolean این مقدار نشان می دهد که آیا نویسنده مالک چت زنده است یا خیر. |
authorDetails. isChatSponsor | boolean این مقدار نشان می دهد که آیا نویسنده حامی چت زنده است یا خیر. |
authorDetails. isChatModerator | boolean این مقدار نشان می دهد که آیا نویسنده ناظر چت زنده است یا خیر. |