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

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

تستند الفئة إلى المبلغ الذي تم إنفاقه لشراء الرسالة. وتحدّد هذه السمة أيضًا اللون المستخدَم لتمييز الرسالة في واجهة مستخدم المحادثة المباشرة والحد الأقصى لطول الرسالة ومدّة تثبيت الرسالة في شريط الدردشة.

يمكنك زيارة مركز مساعدة YouTube للاطّلاع على فئات رسائل Super Chat. (اطّلِع على القسم القابل للتوسيع حول تفاصيل شراء رسائل 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
فئة الرسالة المدفوعة. يُرجى العلم أنّ السمة snippet.messageType في مورد superChatEvent تحتوي على هذه القيمة.

تستند الفئة إلى المبلغ الذي تم إنفاقه لشراء الرسالة. وتحدّد هذه الصفحة أيضًا اللون المستخدَم لإبراز الرسالة في واجهة المستخدم الخاصة بالمحادثة المباشرة، والحد الأقصى لطول الرسالة، ومدة تثبيتها في شريط الدردشة.

إنّ فئات Super Chat التي تغطي أيضًا "الملصقات العجيبة" متوفرة في مركز مساعدة YouTube. (اطّلِع على القسم القابل للتوسيع حول تفاصيل شراء رسائل Super Chat). في هذه القائمة، الفئة ذات أقل مبلغ شراء هي الفئة 1، وأدنى مبلغ بعده هو الفئة 2، وهكذا.
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
تشير هذه القيمة إلى ما إذا كان المؤلف مشرفًا في المحادثة المباشرة.