يمثّل المرجع liveChatMessage
رسالة محادثة في محادثة مباشرة على YouTube. يمكن أن يحتوي المرجع على تفاصيل عن عدة أنواع من الرسائل، بما في ذلك رسالة نصية منشورة حديثًا أو حدث تمويل من المعجبين.
تكون ميزة المحادثة المباشرة مفعّلة تلقائيًا في البث المباشر، وهي متاحة عندما يكون الحدث المباشر نشطًا. (بعد انتهاء الحدث، لن تتوفّر ميزة المحادثة المباشرة لهذا الحدث.)
الطُرق
تتيح واجهة برمجة التطبيقات الطرق التالية لموارد liveChatMessages
:
- list
- تعرض هذه البطاقة رسائل المحادثة المباشرة لمحادثة معيّنة. التجربة الآن
- إدراج
- إضافة رسالة أو استطلاع إلى محادثة مباشرة التجربة الآن
- transition
- تغيير حالة رسالة مباشرة التجربة الآن
- حذف
- لحذف رسالة محادثة يجب أن يحصل طلب البيانات من واجهة برمجة التطبيقات على تفويض من مالك القناة أو مشرف المحادثة المباشرة. التجربة الآن
تمثيل الموارد
تعرض بنية 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 لتحديد نوع مورد واجهة برمجة التطبيقات. ستكون القيمة 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 للرسالة النصية الأصلية. على سبيل المثال، إذا كانت قيمة سمة 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 اسم المستوى الذي ينتمي إليه المشاهد. تحدّد القناة على 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 يحتوي هذا العنصر على تفاصيل عن حدث "ملصق رائع". ولا تظهر إلا إذا كان نوع الرسالة هو superStickerEvent . |
snippet.superStickerDetails.superStickerMetadata |
object تفاصيل حول الملصق الرائع |
snippet.superStickerDetails.superStickerMetadata.stickerId |
string معرّف فريد يحدّد صورة الملصق يُرجى العِلم أنّه لا يتم عرض الصورة إلا كجزء من رسالة الملصقات التعبيرية عندما يطّلع المستخدمون على نافذة المحادثة على 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 على هذه القيمة.يستند المستوى إلى المبلغ الذي تم إنفاقه لشراء الرسالة. ويحدّد هذا الإعداد أيضًا اللون المستخدَم لإبراز الرسالة في واجهة مستخدم المحادثة المباشرة والحد الأقصى لطول الرسالة والمدة التي يتم فيها تثبيت الرسالة في شريط الأسعار. يمكنك الاطّلاع على مركز مساعدة YouTube للتعرّف على فئات Super Chat التي تشمل أيضًا "الملصقات العجيبة". (اطّلِع على القسم القابل للتوسيع حول تفاصيل شراء رسائل 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 يعرض هذا الحقل عدد الأصوات التي حصدها خيار الاستطلاع المباشر. لا يظهر هذا العدد إلا إذا وافق مالك القناة على طلب واجهة برمجة التطبيقات. |
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 معرّف قناة المؤلف على 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 تشير هذه القيمة إلى ما إذا كان المؤلف مشرفًا في المحادثة المباشرة. |