@twitchfy/chatbot
Version:
A powerful node module to make your own Twitch ChatBot
84 lines (83 loc) • 2.54 kB
TypeScript
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>;
}