يمثّل المرجع liveChatMessage
رسالة محادثة في محادثة مباشرة على YouTube. يمكن أن يحتوي المرجع على تفاصيل حول أنواع متعددة من الرسائل، بما في ذلك رسالة نصية تم نشرها حديثًا أو حدث تمويل من المعجبين.
يتم تفعيل ميزة المحادثة المباشرة تلقائيًا لعمليات البث المباشر وتكون متاحة أثناء بث الحدث المباشر. (بعد انتهاء الحدث، لن تكون المحادثة المباشرة متاحة لهذا الحدث).
الطُرق
تتيح واجهة برمجة التطبيقات استخدام الطرق التالية لموارد liveChatMessages
:
- list
- قائمة رسائل المحادثة المباشرة في محادثة محدّدة التجربة الآن
- إدراج
- إضافة رسالة أو استطلاع إلى محادثة مباشرة التجربة الآن
- عملية انتقال
- ينقل حالة الرسالة المباشرة. التجربة الآن
- حذف
- حذف رسالة محادثة يجب أن يوافق مالك القناة أو أحد مشرفي المحادثة المباشرة على طلب البيانات من واجهة برمجة التطبيقات. التجربة الآن
تمثيل الموارد
تعرض بنية 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, "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 تحدد هذه السياسة نوع مورد واجهة برمجة التطبيقات. ستكون القيمة youtube#liveChatMessage . |
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 للرسالة النصية الأصلية. على سبيل المثال، إذا كانت قيمة السمة id للسمة textMessageEvent هي 123 ، وتم حذف هذه الرسالة لاحقًا، ستكون القيمة snippet.messageDeletedDetails.deletedMessageId هي 123 لتلك الرسالة.في حال تخزين رسائل المحادثة مؤقتًا بعد استردادها، استخدِم قيمة هذه السمة لتحديد الرسالة التي يجب عدم عرضها. |
snippet.userBannedDetails |
object يحتوي هذا العنصر على تفاصيل حول مستخدم تم حظره من المحادثة. ويحتوي الملف أيضًا على تفاصيل حول الحظر نفسه. يمكن حظر المستخدمين من المحادثة نهائيًا أو مؤقتًا. |
snippet.userBannedDetails.bannedUserDetails |
object يحتوي هذا العنصر على معلومات عن المستخدم المحظور. |
snippet.userBannedDetails.bannedUserDetails.channelId |
string معرّف قناة المستخدم المحظور على YouTube |
snippet.userBannedDetails.bannedUserDetails.channelUrl |
string عنوان URL لقناة المستخدم المحظورة على 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 اسم "المستوى" الذي ينضم فيه المُشاهد يتمّ تحديد أسماء المستويات حسب القناة التي تقدّم العضوية. في بعض الحالات، لا يكون هذا الحقل معبأًا. |
snippet.newSponsorDetails |
object يحتوي هذا العنصر على تفاصيل عن حدث "إعلان عضو جديد". ولا يتم ضبط هذا الإعداد إلا إذا كان النوع newSponsorEvent . "عضو" هو مصطلح "الراعي".
|
snippet.newSponsorDetails.memberLevelName |
string اسم "المستوى" الذي ينضم فيه المُشاهد يتمّ تحديد أسماء المستويات حسب القناة التي تقدّم العضوية. في بعض الحالات، لا يتم ملء هذا الحقل. |
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 عندما يرى المستخدمون نافذة المحادثة على YouTube. ومع ذلك، لا يتوفّر عنوان URL للصورة باستخدام واجهة برمجة التطبيقات. يمكنك الاطّلاع فقط على معرّفات الملصقات المرتبطة بالملصقات العجيبة في ملف 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.questionText |
string نص سؤال الاستطلاع المباشر. |
snippet.pollDetails.metadata.status |
enum حالة حدث الاستطلاع المباشر. في ما يلي القيم الصالحة لهذه السمة:
|
snippet.membershipGiftingDetails |
object يحتوي هذا العنصر على تفاصيل عن حدث "إهداء عضوية". ولا تكون موجودة إلا إذا كانت قيمة message type هي membershipGiftingEvent . |
snippet.membershipGiftingDetails.giftMembershipsCount |
integer عدد العضويات المقدَّمة كهدية التي اشتراها المستخدم. |
snippet.membershipGiftingDetails.giftMembershipsLevelName |
string اسم مستوى العضويات المقدَّمة كهدية التي اشتراها المستخدم. يتمّ تحديد أسماء المستويات حسب القناة التي تقدّم العضوية. في بعض الحالات، لا يتم ملء هذا الحقل. |
snippet.giftMembershipReceivedDetails |
object يحتوي هذا العنصر على تفاصيل حول حدث تم تلقّي عضوية مقدَّمة كهدية. ولا تكون موجودة إلا إذا كانت قيمة message type هي giftMembershipReceivedEvent . |
snippet.giftMembershipReceivedDetails.memberLevelName |
string اسم المستوى الذي انضمّ إليه المشاهد يتطابق هذا العنوان مع snippet.membershipGiftingDetails.giftMembershipsLevelName من رسالة إهداء عضوية ذات صلة. يتمّ تحديد أسماء المستويات حسب القناة التي تقدّم العضوية. في بعض الحالات، لا يتم ملء هذا الحقل. |
snippet.giftMembershipReceivedDetails.gifterChannelId |
string رقم تعريف المستخدم الذي أجرى عملية شراء إهداء عضوية يتطابق هذا العنوان مع snippet.authorChannelId من رسالة إهداء عضوية ذات صلة. |
snippet.giftMembershipReceivedDetails.associatedMembershipGiftingMessageId |
string معرّف رسالة إهداء عضوية والمرتبطة بهذه العضوية المقدَّمة كهدية سيشير هذا المعرّف دائمًا إلى رسالة تبلغ قيمة type لها membershipGiftingEvent . |
authorDetails |
object يحتوي العنصر authorDetails على تفاصيل إضافية عن المستخدم الذي نشر هذه الرسالة. |
authorDetails.channelId |
string معرّف قناة المؤلف على YouTube |
authorDetails.channelUrl |
string تمثّل هذه السمة عنوان URL لقناة المؤلف على YouTube. |
authorDetails.displayName |
string الاسم المعروض لقناة المؤلف على YouTube |
authorDetails.profileImageUrl |
string تمثّل هذه السمة عنوان URL للصورة الرمزية لقناة المؤلف على YouTube. |
authorDetails.isVerified |
boolean تشير هذه القيمة إلى ما إذا كان قد تحقّق YouTube من هوية المؤلف. |
authorDetails.isChatOwner |
boolean وتشير هذه القيمة إلى ما إذا كان المؤلف هو مالك المحادثة المباشرة. |
authorDetails.isChatSponsor |
boolean وتشير هذه القيمة إلى ما إذا كان المؤلف جهة راعية للمحادثة المباشرة. |
authorDetails.isChatModerator |
boolean وتشير هذه القيمة إلى ما إذا كان المؤلف مشرفًا على المحادثة المباشرة. |