LiveChatMessages

يمثّل المرجع 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
نوع الرسالة تتوفّر هذه السمة دائمًا، وتحدِّد قيمتها الحقول المتوفّرة في المورد.

في ما يلي القيم الصالحة لهذا الموقع:
  • chatEndedEvent – انتهت المحادثة ولا يمكن إدراج المزيد من الرسائل بعد هذه المحادثة. سيحدث هذا بشكل طبيعي بعد فترة وجيزة من انتهاء البث. لا يتم إرسال هذا النوع من الرسائل في المحادثات المباشرة خلال البث التلقائي للقناة.
  • messageDeletedEvent – تم حذف رسالة بواسطة المشرف. يتضمّن الحقل author تفاصيل المشرف. لا يتضمّن هذا الحدث أي محتوى معروض.
  • sponsorOnlyModeEndedEvent – لم تعد المحادثة في وضع الجهات الراعية فقط، ما يعني أنّه أصبح بإمكان المستخدمين الذين ليسوا جهات راعية إرسال رسائل. لا يتضمّن هذا الحدث أي محتوى معروض.
  • sponsorOnlyModeStartedEvent – دخلت المحادثة في وضع الجهات الراعية فقط، ما يعني أنّه يمكن للجهات الراعية فقط إرسال رسائل. لا يتضمّن هذا الحدث أي محتوى معروض.
  • newSponsorEvent – قدم مستخدم جديد رعاية للقناة التي تملك المحادثة المباشرة. تحتوي الحقول author على تفاصيل الجهة الراعية الجديدة.
  • memberMilestoneChatEvent – أرسل مستخدم رسالة محادثة مميّزة خاصة بالأعضاء.
  • superChatEvent – اشترى مستخدم رسالة Super Chat
  • superStickerEvent – اشترى مستخدم ملصق Super Stickers.
  • textMessageEvent – أرسل مستخدم رسالة نصية.
  • tombstone – يشير سجل القبور إلى وجود رسالة بنفس رقم التعريف ووقت النشر، ولكن تم حذفها منذ ذلك الحين. ولا يتم إرسالها عند حذف رسالة، ولكن يتم عرضها للإشارة إلى مكان الرسالة قبل الحذف. لا يتوفّر سوى الحقول snippet.liveChatId وsnippet.type وsnippet.publishedAt في هذا النوع من الرسائل.
  • userBannedEvent – تم حظر مستخدم بواسطة المشرف. يتضمّن الحقل author تفاصيل المشرف.
  • membershipGiftingEvent – اشترى مستخدم عضوية لمشاهدين آخرين.
  • giftMembershipReceivedEvent – حصل مستخدم على عضوية مقدَّمة كهدية.
  • pollDetails – أنشأ مستخدم استطلاعًا مباشرًا.
snippet.liveChatId string
المعرّف الذي يعرّف المحادثة المباشرة المرتبطة بالرسالة بشكل فريد يتم عرض معرّف المحادثة المباشرة المرتبط بالبث في السمة snippet.liveChatId الخاصة بمورد liveBroadcast.
snippet.authorChannelId string
رقم تعريف المستخدم الذي ألّف الرسالة. يتم ملء هذا الحقل لأنواع الرسائل التالية فقط:
  • إذا كان نوع الرسالة هو textMessageEvent، ستحدِّد قيمة السمة المستخدم الذي كتب الرسالة.
  • إذا كان نوع الرسالة هو fanFundingEvent، ستحدِّد قيمة السمة المستخدم الذي موّل البث.
  • إذا كان نوع الرسالة هو messageDeletedEvent، ستحدِّد قيمة السمة المشرف الذي حذف الرسالة.
  • إذا كان نوع الرسالة هو newSponsorEvent، ستحدِّد قيمة الموقع المستخدم الذي أصبح جهة راعية للتو.
  • إذا كان نوع الرسالة هو memberMilestoneChatEvent، ستحدِّد قيمة السمة العضو الذي أرسل الرسالة.
  • إذا كان نوع الرسالة هو userBannedEvent، ستحدِّد قيمة السمة المشرف الذي حظر المستخدم.
  • إذا كان نوع الرسالة هو membershipGiftingEvent، ستحدِّد قيمة الموقع المستخدم الذي أجرى عملية شراء إهداء عضوية.
  • إذا كان نوع الرسالة هو giftMembershipReceivedEvent، تحدِّد قيمة الموقع المستخدم الذي حصل على العضوية المقدَّمة كهدية.
  • إذا كان نوع الرسالة هو pollEvent، ستحدِّد قيمة السمة المستخدم الذي أنشأ استطلاعًا مباشرًا.
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
حالة حدث الاستطلاع المباشر. في ما يلي القيم الصالحة لهذه السمة:
  • unknown
  • active
  • closed
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
وتشير هذه القيمة إلى ما إذا كان المؤلف مشرفًا على المحادثة المباشرة.