LiveChatMessages

liveChatMessage משאב מייצג הודעה בצ'אט בשידור חי ב-YouTube. יכול להיות שהמשאב יכיל פרטים על כמה סוגים של הודעות, כולל הודעת טקסט שפורסמה לאחרונה או אירוע של מימון על ידי מעריצים.

התכונה של צ'אט בשידור חי מופעלת כברירת מחדל בשידורים חיים, והיא זמינה בזמן שהאירוע בשידור חי פעיל. (אחרי שהאירוע מסתיים, הצ'אט בשידור חי לא זמין יותר לאירוע הזה).

Methods

ה-API תומך בשיטות הבאות למשאבי liveChatMessages:

list
מציג רשימה של הודעות בצ'אט בשידור חי בצ'אט ספציפי. כדאי לנסות עכשיו.
streamList
הפעלת חיבור להזרמת נתונים מהשרת כדי לקבל הודעות בצ'אט בשידור חי בצ'אט ספציפי עם השהיה נמוכה. כדאי לנסות עכשיו.
הוספה
הוספת הודעה או סקר לצ'אט בשידור חי. כדאי לנסות עכשיו.
transition
מעבר בין מצבים של הודעה פעילה. כדאי לנסות עכשיו.
מחיקה
מחיקת הודעה בצ'אט. הבקשה ל-API צריכה להיות מאושרת על ידי הבעלים של הערוץ או על ידי מנהל תגובות בצ'אט בשידור חי. כדאי לנסות עכשיו.

ייצוג משאבים

מבנה ה-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
מזהה את סוג משאב ה-API. הערך יהיה youtube#liveChatMessage.
etag etag
ה-Etag של מקור המידע הזה.
id string
המזהה שמערכת YouTube מקצה כדי לזהות את ההודעה באופן ייחודי.
הערה: באירועים של מתנות, אפשר להשתמש שוב באותו מזהה כדי לעדכן את מספר המתנות.
snippet object
אובייקט snippet מכיל פרטים בסיסיים על ההודעה בצ'אט.
snippet.type string
סוג ההודעה. המאפיין הזה תמיד קיים, והערך שלו קובע אילו שדות קיימים במשאב.

הערכים התקינים של המאפיין הזה הם:
  • chatEndedEvent – הצ'אט הסתיים ואי אפשר להוסיף עוד הודעות אחרי ההודעה הזו. הפעולה הזו תתרחש באופן טבעי זמן קצר אחרי סיום השידור. ההודעה הזו לא נשלחת בצ'אטים בשידור חי בשידור ברירת המחדל של הערוץ.
  • sponsorOnlyModeEndedEvent – הצ'אט כבר לא במצב 'ספונסרים בלבד', כלומר משתמשים שהם לא ספונסרים יכולים עכשיו לשלוח הודעות. לאירוע הזה אין תוכן להצגה.
  • sponsorOnlyModeStartedEvent – הצ'אט עבר למצב שבו רק ספונסרים יכולים לשלוח הודעות. באירוע הזה אין תוכן שמוצג.
  • newSponsorEvent – משתמש חדש נתן חסות לערוץ שבבעלותו הצ'אט בשידור חי. השדות author מכילים את הפרטים של הספונסר החדש.
  • memberMilestoneChatEvent – משתמש שלח הודעת צ'אט של חברי מועדון שהגיעו לציון דרך.
  • superChatEvent – משתמש רכש סופר צ'אט.
  • superStickerEvent – משתמש רכש סופר סטיקר.
  • textMessageEvent – משתמש שלח הודעת טקסט.
  • tombstone – מציין שהייתה קיימת הודעה עם המזהה הזה ועם שעת הפרסום הזו, אבל היא נמחקה מאז. הקו לא נשלח כשמוחקים הודעה, אלא מוצג כדי לסמן את המקום שבו ההודעה הייתה לפני המחיקה. רק השדות snippet.liveChatId, snippet.type ו-snippet.publishedAt מופיעים בסוג הזה של הודעות.
  • userBannedEvent – משתמש נחסם על ידי מנהל. השדה author מכיל את פרטי המפקח.
  • membershipGiftingEvent – משתמש רכש חברות במועדון בשביל צופים אחרים.
  • giftMembershipReceivedEvent – משתמש קיבל חברות במועדון במתנה.
  • pollDetails – משתמש יצר סקר בשידור חי.
  • giftEvent – משתמש מימש יהלומים כדי לקנות מתנה.
snippet.liveChatId string
המזהה שמזהה באופן ייחודי את הצ'אט בשידור חי שההודעה משויכת אליו. מזהה הצ'אט בשידור חי שמשויך לשידור מוחזר במאפיין snippet.liveChatId של משאב liveBroadcast.
snippet.authorChannelId string
המזהה של המשתמש שכתב את ההודעה. השדה הזה מתמלא רק עבור סוגי ההודעות הבאים:
  • אם סוג ההודעה הוא textMessageEvent, ערך המאפיין מזהה את המשתמש שכתב את ההודעה.
  • אם סוג ההודעה הוא fanFundingEvent, ערך המאפיין מזהה את המשתמש שמימן את השידור.
  • אם סוג ההודעה הוא newSponsorEvent, ערך המאפיין מזהה את המשתמש שהפך זה עתה לספונסר.
  • אם סוג ההודעה הוא memberMilestoneChatEvent, ערך המאפיין מזהה את החבר ששלח את ההודעה.
  • אם סוג ההודעה הוא userBannedEvent, ערך המאפיין מזהה את המנחה שהטיל את האיסור על המשתמש.
  • אם סוג ההודעה הוא membershipGiftingEvent, ערך המאפיין מזהה את המשתמש שרכש את המתנה של המינוי.
  • אם סוג ההודעה הוא giftMembershipReceivedEvent, ערך המאפיין מזהה את המשתמש שקיבל את החברות במועדון במתנה.
  • אם סוג ההודעה הוא pollEvent, ערך המאפיין מזהה את המשתמש שיצר את הסקר בזמן אמת.
  • אם סוג ההודעה הוא giftEvent, ערך המאפיין מזהה את המשתמש ששלח את המתנה.
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
האובייקט הזה מכיל פרטים על אירוע של סופר צ'אט. הוא מופיע רק אם סוג ההודעה הוא 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
התגובה שהמשתמש הוסיף לאירוע הסופר צ'אט הזה.
snippet.superChatDetails.tier unsigned integer
הרמה של ההודעה בתשלום. שימו לב שבמשאב superChatEvent, המאפיין snippet.messageType מכיל את הערך הזה.

הסיווג מבוסס על סכום הכסף שהוצא על רכישת ההודעה. היא גם קובעת את הצבע שבו ההודעה תודגש בממשק המשתמש של הצ'אט בשידור חי, את האורך המקסימלי של ההודעה ואת משך הזמן שבו ההודעה תוצמד לטיקר.

המידע על רמות הסופר צ'אט מופיע במרכז העזרה של YouTube. (ראו את האזור שאפשר להרחיב כדי להציג פרטים על רכישת סופר צ'אט). ברשימה הזו, רמת המחיר עם סכום הרכישה הנמוך ביותר היא רמה 1, רמת המחיר עם סכום הרכישה הנמוך הבא היא רמה 2 וכן הלאה.
snippet.superStickerDetails object
האובייקט הזה מכיל פרטים על אירוע של Super Sticker. הוא מופיע רק אם סוג ההודעה הוא superStickerEvent.
snippet.superStickerDetails.superStickerMetadata object
פרטים על ה-Super Sticker.
snippet.superStickerDetails.superStickerMetadata.stickerId string
מזהה ייחודי שמזהה את תמונת הסטיקר. חשוב לשים לב שהתמונה מוצגת רק כחלק מההודעה עם הסופר סטיקר כשהמשתמשים צופים בחלון הצ'אט ב-YouTube. עם זאת, כתובת ה-URL של התמונה לא זמינה באמצעות ה-API. לעיון בלבד, בקובץ ה-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.
(ראו את האזור שאפשר להרחיב כדי להציג פרטים על רכישת סופר צ'אט). ברשימה הזו, רמת המחיר עם סכום הרכישה הנמוך ביותר היא רמה 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
סיכום התוצאות של האפשרות בסקר בשידור חי. הנתון הזה מוצג רק אם בעלי הערוץ אישרו את בקשת ה-API.
snippet.pollDetails.metadata.questionText string
הטקסט של השאלה בסקר בזמן אמת.
snippet.pollDetails.metadata.status enum
הסטטוס של אירוע הסקר בזמן אמת. הערכים התקינים של המאפיין הזה הם:
  • unknown
  • active
  • closed
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
הערך הזה מציין אם המחבר הוא מנחה של הצ'אט בשידור חי.