【问题标题】:How to get emotes for YouTube live chat messages?如何获取 YouTube 实时聊天消息的表情?
【发布时间】:2022-01-08 16:28:59
【问题描述】:

我一直在使用 YouTube 实时聊天 API 来渲染 YouTube 实时流聊天,但我一直不知道如何处理表情。

用于实时聊天消息的 YouTube API 似乎只以纯文本形式返回消息,而不是关于表情的元数据。这本身很好,因为纯文本中有表情的标准语法,但我正在努力将它们转换为图像。

如果我查看从 YouTube API 获得的响应,除了纯文本消息中的内容之外,我看不到有关表情的任何信息:

{
  "kind": "youtube#liveChatMessage",
  "etag": "UaRmhczzavJeCA9S1_s8J_4MHD0",
  "id": "LCC.CjgKDQoLd1VwYUIzYTdkVW8qJwoYVUNEWExPVjNTMEdUd21EOFY4R1A2dzlREgt3VXBhQjNhN2RVbxJFChpDT25vOHN6SW92VUNGZUFJMWdBZE85b1BfZxInQ1BhdG12UEhvdlVDRlhzNFRBb2RVSE1BeVExNjQxNjU5MDY5OTU3",
  "snippet": {
    "type": "textMessageEvent",
    "liveChatId": "Cg0KC3dVcGFCM2E3ZFVvKicKGFVDRFhMT1YzUzBHVHdtRDhWOEdQNnc5URILd1VwYUIzYTdkVW8",
    "authorChannelId": "UC_MMOdc84fer50_SIPiPX1Q",
    "publishedAt": "2022-01-08T16:24:28.363Z",
    "hasDisplayContent": true,
    "displayMessage": ":yougotthis::elbowcough:",
    "textMessageDetails": {
      "messageText": ":yougotthis::elbowcough:"
    }
  },
  "authorDetails": {
    "channelId": "UC_MMOdc84fer50_SIPiPX1Q",
    "channelUrl": "http://www.youtube.com/channel/UC_MMOdc84fer50_SIPiPX1Q",
    "displayName": "Blake Nolan",
    "profileImageUrl": "https://yt3.ggpht.com/ytc/AKedOLSVNcUaOuoH49GXdG1Zlam0uBMJYJXUI5h_pHtMr-rOVr5hDnjzspewBUVqgKyw=s88-c-k-c0x00ffffff-no-rj",
    "isVerified": false,
    "isChatOwner": false,
    "isChatSponsor": false,
    "isChatModerator": false
  }
}

但是,如果我查看此消息在 YouTube 聊天中的显示方式,则会呈现表情:

我缺少什么来执行此查找和转换,以便我可以从聊天消息中呈现表情?

干杯。

【问题讨论】:

  • 首先,有些表情实际上并不存在,例如 YouTube 表情不是国际标准表情(它是由 YouTube 为 YouTube 设计的)。为什么不保存所有表情并制作转换表?将其公开将消除将来尝试与您做同样事情的人的痛苦。由于 YouTube 代码混淆,我看不到任何自动化此过程的方法。
  • Unicode 表情以它们的 unicode 形式出现,这根本不是问题——我的问题是处理自定义表情,它以 :emote: 的形式以纯文本形式出现。查找表会很棒,但我不确定 YouTube 在哪里公开了全局 + 频道表情的此表情信息。作为参考,Twitch 也有自定义表情,其 API 响应包含有关如何将这些表情解析为可从其 CDN 呈现的图像的信息。

标签: youtube youtube-api youtube-data-api youtube-livestreaming-api


【解决方案1】:

在这个精确的问题上从your other question 完成my answer

通过运行第 1 步。您将在请求之前收到以 HTML 格式发送的实时消息,其中包含格式为 :emote: 的表情,然后是表情图像的 URL。

通过运行所有步骤,您将获得以 JSON 格式实时发送的实时消息,就像您将获得带有表情的实时聊天消息一样,格式为 :emote: 但随后是表情图像的 URL .

我让你了解 HTML 和 JSON 格式。

注意:我还发现,在使用 0 到 8 之间的 N 对 URL 进行逆向工程时,会返回一堆链接到它们的图像 URL 的表情代码,但是像你所说的一些表情不在这些文件我不知道为什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-10
    • 2016-07-23
    • 2015-10-04
    • 2018-03-10
    • 2016-08-24
    • 2022-12-11
    • 2016-01-19
    • 2019-04-09
    相关资源
    最近更新 更多