UNPKG

youtube-chat

Version:

[![npm version](https://badge.fury.io/js/youtube-chat.svg)](https://badge.fury.io/js/youtube-chat) ![npm](https://img.shields.io/npm/dt/youtube-chat) ![NPM](https://img.shields.io/npm/l/youtube-chat) [![CI](https://github.com/LinaTsukusu/youtube-chat/acti

162 lines (161 loc) 4.2 kB
/** APIレスポンスの型 */ /** get_live_chat Response */ export interface GetLiveChatResponse { responseContext: object; trackingParams?: string; continuationContents: { liveChatContinuation: { continuations: Continuation[]; actions: Action[]; }; }; } export interface Continuation { invalidationContinuationData?: { invalidationId: { objectSource: number; objectId: string; topic: string; subscribeToGcmTopics: boolean; protoCreationTimestampMs: string; }; timeoutMs: number; continuation: string; }; timedContinuationData?: { timeoutMs: number; continuation: string; clickTrackingParams: string; }; } export interface Action { addChatItemAction?: AddChatItemAction; addLiveChatTickerItemAction?: object; } export interface Thumbnail { url: string; width?: number; height?: number; } export interface MessageText { text: string; } export interface MessageEmoji { emoji: { emojiId: string; shortcuts: string[]; searchTerms: string[]; supportsSkinTone: boolean; image: { thumbnails: Thumbnail[]; accessibility: { accessibilityData: { label: string; }; }; }; variantIds: string[]; isCustomEmoji?: true; }; } export type MessageRun = MessageText | MessageEmoji; export interface AuthorBadge { liveChatAuthorBadgeRenderer: { customThumbnail?: { thumbnails: Thumbnail[]; }; icon?: { iconType: string; }; tooltip: string; accessibility: { accessibilityData: { label: string; }; }; }; } export interface MessageRendererBase { authorName?: { simpleText: string; }; authorPhoto: { thumbnails: Thumbnail[]; }; authorBadges?: AuthorBadge[]; contextMenuEndpoint: { clickTrackingParams: string; commandMetadata: { webCommandMetadata: { ignoreNavigation: true; }; }; liveChatItemContextMenuEndpoint: { params: string; }; }; id: string; timestampUsec: string; authorExternalChannelId: string; contextMenuAccessibility: { accessibilityData: { label: string; }; }; } export interface LiveChatTextMessageRenderer extends MessageRendererBase { message: { runs: MessageRun[]; }; } export interface LiveChatPaidMessageRenderer extends LiveChatTextMessageRenderer { purchaseAmountText: { simpleText: string; }; headerBackgroundColor: number; headerTextColor: number; bodyBackgroundColor: number; bodyTextColor: number; authorNameTextColor: number; } export interface LiveChatPaidStickerRenderer extends MessageRendererBase { purchaseAmountText: { simpleText: string; }; sticker: { thumbnails: Thumbnail[]; accessibility: { accessibilityData: { label: string; }; }; }; moneyChipBackgroundColor: number; moneyChipTextColor: number; stickerDisplayWidth: number; stickerDisplayHeight: number; backgroundColor: number; authorNameTextColor: number; } export interface LiveChatMembershipItemRenderer extends MessageRendererBase { headerSubtext: { runs: MessageRun[]; }; authorBadges: AuthorBadge[]; } export interface AddChatItemAction { item: { liveChatTextMessageRenderer?: LiveChatTextMessageRenderer; liveChatPaidMessageRenderer?: LiveChatPaidMessageRenderer; liveChatMembershipItemRenderer?: LiveChatMembershipItemRenderer; liveChatPaidStickerRenderer?: LiveChatPaidStickerRenderer; liveChatViewerEngagementMessageRenderer?: object; }; clientId: string; } /** Options for get_live_chat */ export interface FetchOptions { apiKey: string; clientVersion: string; continuation: string; }