twitch-js
Version:
Javascript library for the Twitch Messaging Interface.
223 lines (222 loc) • 10.3 kB
TypeScript
import { ClearChatMessages, Events, HostingAutoPrivateMessage, HostingPrivateMessage, HostingWithViewersPrivateMessage, HostTargetMessage, JoinMessage, Messages, ModeMessages, NamesEndMessage, NamesMessage, NoticeMessage, NoticeMessages, NoticeRoomModsMessage, PartMessage, PrivateMessages, PrivateMessageWithBits, RoomStateMessage, RoomStateTags, UserNoticeAnonymousGiftPaidUpgradeMessage, UserNoticeGiftPaidUpgradeMessage, UserNoticeMessages, UserNoticeRaidMessage, UserNoticeResubscriptionMessage, UserNoticeRitualMessage, UserNoticeSubscriptionGiftCommunityMessage, UserNoticeSubscriptionGiftMessage, UserNoticeSubscriptionMessage, UserStateMessage, UserStateTags } from '../twitch';
import { LoggerOptions } from '../utils/logger';
import { ClientEventTypes, BaseClientEvents } from '../Client/client-types';
export declare type ChatOptions = {
username?: string;
/**
* OAuth token
* @see https://twitchtokengenerator.com/ to generate a token
*/
token?: string;
/**
* Bot is known
* @see https://dev.twitch.tv/docs/irc/guide/#known-and-verified-bots
*/
isKnown?: boolean;
/**
* Bot is verified
* @see https://dev.twitch.tv/docs/irc/guide/#known-and-verified-bots
*/
isVerified?: boolean;
connectionTimeout: number;
joinTimeout: number;
log?: LoggerOptions;
onAuthenticationFailure?: () => Promise<string>;
};
export declare type ClientOptions = {
username?: string;
token?: string;
isKnown: boolean;
isVerified: boolean;
server: string;
port: number;
ssl: boolean;
log?: LoggerOptions;
};
export declare enum ChatReadyStates {
'WAITING' = 0,
'CONNECTING' = 1,
'RECONNECTING' = 2,
'CONNECTED' = 3,
'DISCONNECTING' = 4,
'DISCONNECTED' = 5
}
export declare type ChannelState = {
roomState: RoomStateTags;
userState?: UserStateTags;
};
export declare type ChannelStates = Record<string, ChannelState>;
export declare enum NoticeCompounds {
ALREADY_BANNED = "NOTICE/ALREADY_BANNED",
ALREADY_EMOTE_ONLY_OFF = "NOTICE/ALREADY_EMOTE_ONLY_OFF",
ALREADY_EMOTE_ONLY_ON = "NOTICE/ALREADY_EMOTE_ONLY_ON",
ALREADY_R9K_OFF = "NOTICE/ALREADY_R9K_OFF",
ALREADY_R9K_ON = "NOTICE/ALREADY_R9K_ON",
ALREADY_SUBS_OFF = "NOTICE/ALREADY_SUBS_OFF",
ALREADY_SUBS_ON = "NOTICE/ALREADY_SUBS_ON",
BAD_HOST_HOSTING = "NOTICE/BAD_HOST_HOSTING",
BAD_MOD_MOD = "NOTICE/BAD_MOD_MOD",
BAN_SUCCESS = "NOTICE/BAN_SUCCESS",
BAD_UNBAN_NO_BAN = "NOTICE/BAD_UNBAN_NO_BAN",
COLOR_CHANGED = "NOTICE/COLOR_CHANGED",
CMDS_AVAILABLE = "NOTICE/CMDS_AVAILABLE",
COMMERCIAL_SUCCESS = "NOTICE/COMMERCIAL_SUCCESS",
EMOTE_ONLY_OFF = "NOTICE/EMOTE_ONLY_OFF",
EMOTE_ONLY_ON = "NOTICE/EMOTE_ONLY_ON",
FOLLOWERS_OFF = "NOTICE/FOLLOWERS_OFF",
FOLLOWERS_ON = "NOTICE/FOLLOWERS_ON",
FOLLOWERS_ONZERO = "NOTICE/FOLLOWERS_ONZERO",
HOST_OFF = "NOTICE/HOST_OFF",
HOST_ON = "NOTICE/HOST_ON",
HOSTS_REMAINING = "NOTICE/HOSTS_REMAINING",
MSG_CHANNEL_SUSPENDED = "NOTICE/MSG_CHANNEL_SUSPENDED",
MOD_SUCCESS = "NOTICE/MOD_SUCCESS",
NOT_HOSTING = "NOTICE/NOT_HOSTING",
R9K_OFF = "NOTICE/R9K_OFF",
R9K_ON = "NOTICE/R9K_ON",
ROOM_MODS = "NOTICE/ROOM_MODS",
SLOW_OFF = "NOTICE/SLOW_OFF",
SLOW_ON = "NOTICE/SLOW_ON",
SUBS_OFF = "NOTICE/SUBS_OFF",
SUBS_ON = "NOTICE/SUBS_ON",
TIMEOUT_SUCCESS = "NOTICE/TIMEOUT_SUCCESS",
UNBAN_SUCCESS = "NOTICE/UNBAN_SUCCESS",
UNMOD_SUCCESS = "NOTICE/UNMOD_SUCCESS",
UNRAID_SUCCESS = "NOTICE/UNRAID_SUCCESS",
UNRECOGNIZED_CMD = "NOTICE/UNRECOGNIZED_CMD"
}
export declare enum PrivateMessageCompounds {
CHEER = "PRIVMSG/CHEER",
HOSTED_WITHOUT_VIEWERS = "PRIVMSG/HOSTED_WITHOUT_VIEWERS",
HOSTED_WITH_VIEWERS = "PRIVMSG/HOSTED_WITH_VIEWERS",
HOSTED_AUTO = "PRIVMSG/HOSTED_AUTO"
}
export declare enum UserNoticeCompounds {
ANON_GIFT_PAID_UPGRADE = "USERNOTICE/ANON_GIFT_PAID_UPGRADE",
GIFT_PAID_UPGRADE = "USERNOTICE/GIFT_PAID_UPGRADE",
RAID = "USERNOTICE/RAID",
RESUBSCRIPTION = "USERNOTICE/RESUBSCRIPTION",
RITUAL = "USERNOTICE/RITUAL",
SUBSCRIPTION = "USERNOTICE/SUBSCRIPTION",
SUBSCRIPTION_GIFT = "USERNOTICE/SUBSCRIPTION_GIFT",
SUBSCRIPTION_GIFT_COMMUNITY = "USERNOTICE/SUBSCRIPTION_GIFT_COMMUNITY"
}
export declare type EventTypes = Omit<ClientEventTypes, BaseClientEvents.ALL> & {
[]: [Messages];
[]: [JoinMessage];
[]: [PartMessage];
[]: [RoomStateMessage];
[]: [UserStateMessage];
[]: [ClearChatMessages];
[]: [HostTargetMessage];
[]: [ModeMessages];
[]: [NamesMessage];
[]: [NamesEndMessage];
/**
* NOTICE messages
*/
[]: [NoticeMessages];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeRoomModsMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeRoomModsMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
[]: [NoticeMessage];
/**
* PRIVMSG messages
*/
[]: [PrivateMessages];
[]: [PrivateMessageWithBits];
[]: [HostingPrivateMessage];
[]: [HostingWithViewersPrivateMessage];
[]: [HostingAutoPrivateMessage];
[]: [PrivateMessageWithBits];
[]: [HostingPrivateMessage];
[]: [HostingWithViewersPrivateMessage];
[]: [HostingAutoPrivateMessage];
/**
* USERNOTICE messages
*/
[]: [UserNoticeMessages];
[]: [UserNoticeAnonymousGiftPaidUpgradeMessage];
[]: [UserNoticeGiftPaidUpgradeMessage];
[]: [UserNoticeRaidMessage];
[]: [UserNoticeResubscriptionMessage];
[]: [UserNoticeRitualMessage];
[]: [UserNoticeSubscriptionMessage];
[]: [UserNoticeSubscriptionGiftMessage];
[]: [UserNoticeSubscriptionGiftCommunityMessage];
[]: [UserNoticeAnonymousGiftPaidUpgradeMessage];
[]: [UserNoticeGiftPaidUpgradeMessage];
[]: [UserNoticeRaidMessage];
[]: [UserNoticeResubscriptionMessage];
[]: [UserNoticeRitualMessage];
[]: [UserNoticeSubscriptionMessage];
[]: [UserNoticeSubscriptionGiftMessage];
[]: [UserNoticeSubscriptionGiftCommunityMessage];
[]: [Messages];
};