يمثّل العنصر liveChatMessage رسالة محادثة في محادثة مباشرة على YouTube. يمكن أن يحتوي المرجع على تفاصيل حول عدة أنواع من الرسائل، بما في ذلك رسالة نصية تم نشرها حديثًا أو حدث تمويل من المعجبين.
يتم تفعيل ميزة المحادثة المباشرة تلقائيًا للبث المباشر وتكون متاحة أثناء نشاط الحدث المباشر. (بعد انتهاء الحدث، لن تتوفّر ميزة المحادثة المباشرة لهذا الحدث).
الطُرق
تتيح واجهة برمجة التطبيقات الطرق التالية لموارد liveChatMessages:
- list
- تعرض هذه الطريقة رسائل المحادثة المباشرة لمحادثة معيّنة. التجربة الآن
- streamList
- تتيح هذه السمة إنشاء اتصال لبث المحتوى من الخادم بهدف تلقّي رسائل المحادثة المباشرة في محادثة معيّنة بوقت استجابة بطيء. التجربة الآن
- إدراج
- إضافة رسالة أو استطلاع إلى محادثة مباشرة التجربة الآن
- 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
},
"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
},
"giftEventDetails": {
"giftMetadata": {
"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 |
etagتمثّل هذه السمة Etag الخاصة بهذا المرجع. |
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ملاحظة: تم إيقاف هذا العنصر وسماته الفرعية نهائيًا. اعتبارًا من 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.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 للصورة باستخدام واجهة برمجة التطبيقات. للمرجعية فقط، يمكنك الاطّلاع على أرقام تعريف الملصقات المرتبطة بـ "Super Stickers" في ملف 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تمثّل هذه السمة عدد الأصوات التي حصل عليها خيار الاستطلاع المباشر. لا يظهر عدد الأصوات إلا إذا كان طلب البيانات من واجهة برمجة التطبيقات مصرحًا به من قِبل مالك القناة. |
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.giftEventDetails |
objectيحتوي هذا العنصر على تفاصيل حول حدث تقديم هدية. لا تظهر هذه السمة إلا إذا كانت قيمة message type هي giftEvent. |
snippet.giftEventDetails.giftMetadata |
objectتفاصيل حول حدث الهدية. |
snippet.giftEventDetails.giftMetadata.jewelsAmount |
integerتمثّل هذه السمة عدد "الجواهر" التي تم تحصيل قيمتها مقابل الهدية. |
snippet.giftEventDetails.giftMetadata.giftName |
stringتمثّل هذه السمة اسم الهدية. |
snippet.giftEventDetails.giftMetadata.giftUrl |
stringتمثّل هذه السمة عنوان URL لمادة عرض الهدية. |
snippet.giftEventDetails.giftMetadata.giftDuration |
objectتمثّل هذه السمة المدة التي سيتم خلالها عرض عنوان URL الخاص بالهدية. |
snippet.giftEventDetails.giftMetadata.giftDuration.seconds |
integerعدد الثواني التي سيتم فيها عرض عنوان URL الخاص بالهدية |
snippet.giftEventDetails.giftMetadata.giftDuration.nanos |
integerعدد النانو ثانية لعرض عنوان URL الخاص بالهدية. |
snippet.giftEventDetails.giftMetadata.hasVisualEffect |
booleanتُحدِّد ما إذا كانت الهدية تتضمّن تأثيرًا بصريًا. |
snippet.giftEventDetails.giftMetadata.comboCount |
integerعدد الهدايا المجمّعة، ويتم عرض 0 إذا لم تكن هدية مجمّعة. |
snippet.giftEventDetails.giftMetadata.altText |
stringسلسلة نصية تصف الهدية. |
snippet.giftEventDetails.giftMetadata.language |
stringتمثّل هذه السمة لغة قيمة السمة altText. |
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تشير هذه القيمة إلى ما إذا كان المؤلف مشرفًا على المحادثة المباشرة. |