UNPKG

@twitchfy/chatbot

Version:

A powerful node module to make your own Twitch ChatBot

84 lines (83 loc) 2.54 kB
import type { GetClip } from '@twitchfy/api-types'; import type { ChatBot } from './ChatBot'; import { BaseClip } from './BaseClip'; import { Video } from './Video'; import { BaseUserWithoutUsername } from './BaseUserWithoutUsername'; import type { EventSubConnection } from '../enums'; /** * Represents a Twitch clip. */ export declare class Clip<T extends EventSubConnection> extends BaseClip<T> { /** * The URL to embed the clip in a frame. */ readonly embedURL: string; /** * The user who created the clip. The user will not have an username because Twitch limitations. */ readonly creator: BaseUserWithoutUsername<T>; /** * The user who broadcasted the clip. The user will not have an username because Twitch limitations. */ readonly broadcaster: BaseUserWithoutUsername<T>; /** * The Id of the game which was played in the clip. */ readonly gameId: string; /** * The language of the clip. */ readonly language: string; /** * The title of the clip. */ readonly title: string; /** * The view count of the clip. */ readonly viewCount: number; /** * The URL to the thumbnail of the clip. */ readonly thumbnailURL: string; /** * The duration of the clip in seconds. */ readonly duration: number; /** * The offset in the VOD where the clip starts. If the clip is not from a VOD, this will be null. */ readonly vodOffset: number | null; /** * Whether the clip is featured. */ readonly isFeatured: boolean; /** * The data of the clip returned from the API. */ private data; /** * Creates a new instance of the clip. * @param chatbot The current instance of the chatbot. * @param data The data of the clip returned from the API. */ constructor(chatbot: ChatBot<T>, data: GetClip); /** * When the clip was created. Returns a JavaScript Date object. */ get createdAt(): Date; /** * The Id of the video of the clip. */ get videoId(): string | null; /** * Fetches the video of the clip. * @returns The video of the clip. Returns null if the video doesn't exist. */ video(): Promise<Video<T> | null>; /** * Fetches the stream of the broadcaster of the clip. * @returns The stream of the broadcaster of the clip. If the stream is offline, it will return null. */ stream(): Promise<import("structures").Stream<T> | null>; }