Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(parser): Update LiveChatViewerEngagementMessage #856

Merged
merged 1 commit into from
Dec 31, 2024

Conversation

jonz94
Copy link
Contributor

@jonz94 jonz94 commented Dec 25, 2024

Update LiveChatViewerEngagementMessage to extend YTNode rather than LiveChatMessageBase to better align with the latest data provided by Innertube.

Example RawNode data 1:

{
  "liveChatViewerEngagementMessageRenderer": {
    "id": "Ci0KK1NVQlNDUklCRVJTX09OTFlfVkVNMjAyNC8xMi8xNS0wMDoyOToxNi45ODc%3D",
    "timestampUsec": "1734251356987117",
    "icon": {
      "iconType": "YOUTUBE_ROUND"
    },
    "message": {
      "runs": [
        {
          "text": "Subscribers-only mode. Messages that appear are from people who’ve subscribed to this channel for "
        },
        {
          "text": "1 minute"
        },
        {
          "text": " or longer."
        }
      ]
    },
    "actionButton": {
      "buttonRenderer": {
        "style": "STYLE_BLUE_TEXT",
        "size": "SIZE_DEFAULT",
        "isDisabled": false,
        "text": {
          "simpleText": "Learn more"
        },
        "navigationEndpoint": {
          "clickTrackingParams": "CB8Q8FsiEwiE3dTgramKAxXD1UwCHcXaFsg=",
          "commandMetadata": {
            "webCommandMetadata": {
              "url": "//support.google.com/youtube/?p=subs_only_chat_viewer&hl=en",
              "webPageType": "WEB_PAGE_TYPE_UNKNOWN",
              "rootVe": 83769
            }
          },
          "urlEndpoint": {
            "url": "//support.google.com/youtube/?p=subs_only_chat_viewer&hl=en",
            "target": "TARGET_NEW_WINDOW"
          }
        },
        "trackingParams": "CB8Q8FsiEwiE3dTgramKAxXD1UwCHcXaFsg=",
        "accessibilityData": {
          "accessibilityData": {
            "label": "Learn more"
          }
        }
      }
    },
    "trackingParams": "CAEQl98BIhMIhN3U4K2pigMVw9VMAh3F2hbI"
  }
}

Example RawNode data 2:

{
  "liveChatViewerEngagementMessageRenderer": {
    "id": "ChwKGkNJZTg0WXp2cW9vREZRX0N3Z1FkNUFrMXZ3",
    "icon": {
      "iconType": "POLL"
    },
    "message": {
      "runs": [
        {
          "text": "abc",
          "bold": true
        },
        {
          "text": "\n"
        },
        {
          "text": "Yes (100%)"
        },
        {
          "text": "\n"
        },
        {
          "text": "No (0%)"
        },
        {
          "text": "\n"
        },
        {
          "text": "\n"
        },
        {
          "text": "Poll complete: 1 vote"
        }
      ]
    },
    "contextMenuEndpoint": {
      "clickTrackingParams": "CAEQl98BIhMI1ZGfn--qigMVXfNMAh2YlQ9g",
      "commandMetadata": {
        "webCommandMetadata": {
          "ignoreNavigation": true
        }
      },
      "liveChatItemContextMenuEndpoint": {
        "params": "Q2g0S0hBb2FRMGxsT0RSWmVuWnhiMjlFUmxGZlEzZG5VV1ExUVdzeGRuY2FLU29uQ2hoVlEwTjRiR3hUU2xnNFVWUTJXVkZSWmpjNWRIcGxWRkVTQzB4ek4wWk1PV1pKTm10M0lBRW9CRElhQ2hoVlEwTjRiR3hUU2xnNFVWUTJXVkZSWmpjNWRIcGxWRkU0QWtnQVVCWSUzRA=="
      }
    },
    "contextMenuAccessibility": {
      "accessibilityData": {
        "label": "Chat actions"
      }
    },
    "trackingParams": "CAEQl98BIhMI1ZGfn--qigMVXfNMAh2YlQ9g"
  }
}

Example RawNode data 3:

{
  "liveChatViewerEngagementMessageRenderer": {
    "id": "CiMKIVJFUExBWV9WRU0yMDI0LzExLzAxLTEwOjEzOjE2LjMxMA%3D%3D",
    "timestampUsec": "1730481196310968",
    "icon": {
      "iconType": "YOUTUBE_ROUND"
    },
    "message": {
      "runs": [
        {
          "text": "Live chat replay is on. Messages that appeared when the stream was live will show up here."
        }
      ]
    },
    "trackingParams": "CAEQl98BIhMIi4n159C7iQMV6chMAh0qYDmn"
  }
}

Update `LiveChatViewerEngagementMessage` to extend `YTNode` rather than
`LiveChatMessageBase` to better align with the latest data provided by
Innertube.
@LuanRT LuanRT merged commit b4a947a into LuanRT:main Dec 31, 2024
4 checks passed
@jonz94 jonz94 deleted the update-LiveChatViewerEngagementMessage branch December 31, 2024 11:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants