@adamjessop/tiktok-live-connector
Version:
Node.js module to receive live stream chat events like comments and gifts from TikTok LIVE
69 lines • 3.23 kB
TypeScript
import { ControlAction, WebcastChatMessage, WebcastEmoteChatMessage, WebcastEnvelopeMessage, WebcastGiftMessage, WebcastLikeMessage, WebcastLinkMicArmies, WebcastLinkMicBattle, WebcastLiveIntroMessage, WebcastMemberMessage, WebcastQuestionNewMessage, WebcastRoomUserSeqMessage, WebcastSocialMessage, WebcastSubNotifyMessage } from '../types/tiktok-schema';
import { RoomGiftInfo, RoomInfo, WebcastMessage } from '../types/client';
import TikTokWsClient from '../lib/ws/lib/ws-client';
export declare enum ControlEvent {
CONNECTED = "connected",
DISCONNECTED = "disconnected",
ERROR = "error",
RAW_DATA = "rawData",
DECODED_DATA = "decodedData",
WEBSOCKET_CONNECTED = "websocketConnected"
}
export declare enum WebcastEvent {
CHAT = "chat",
MEMBER = "member",
GIFT = "gift",
ROOM_USER = "roomUser",
SOCIAL = "social",
LIKE = "like",
QUESTION_NEW = "questionNew",
LINK_MIC_BATTLE = "linkMicBattle",
LINK_MIC_ARMIES = "linkMicArmies",
LIVE_INTRO = "liveIntro",
EMOTE = "emote",
ENVELOPE = "envelope",
SUBSCRIBE = "subscribe",
FOLLOW = "follow",
SHARE = "share",
STREAM_END = "streamEnd"
}
export declare enum ConnectState {
DISCONNECTED = "DISCONNECTED",
CONNECTING = "CONNECTING",
CONNECTED = "CONNECTED"
}
export declare type EventHandler<T> = (event: T) => void | Promise<void>;
export declare type EventMap = {
[WebcastEvent.CHAT]: EventHandler<WebcastChatMessage>;
[WebcastEvent.MEMBER]: EventHandler<WebcastMemberMessage>;
[WebcastEvent.GIFT]: EventHandler<WebcastGiftMessage>;
[WebcastEvent.ROOM_USER]: EventHandler<WebcastRoomUserSeqMessage>;
[WebcastEvent.SOCIAL]: EventHandler<WebcastSocialMessage>;
[WebcastEvent.LIKE]: EventHandler<WebcastLikeMessage>;
[WebcastEvent.QUESTION_NEW]: EventHandler<WebcastQuestionNewMessage>;
[WebcastEvent.LINK_MIC_BATTLE]: EventHandler<WebcastLinkMicBattle>;
[WebcastEvent.LINK_MIC_ARMIES]: EventHandler<WebcastLinkMicArmies>;
[WebcastEvent.LIVE_INTRO]: EventHandler<WebcastLiveIntroMessage>;
[WebcastEvent.EMOTE]: EventHandler<WebcastEmoteChatMessage>;
[WebcastEvent.ENVELOPE]: EventHandler<WebcastEnvelopeMessage>;
[WebcastEvent.SUBSCRIBE]: EventHandler<WebcastSubNotifyMessage>;
[WebcastEvent.STREAM_END]: (event: {
action: ControlAction;
}) => void | Promise<void>;
[WebcastEvent.FOLLOW]: EventHandler<WebcastSocialMessage>;
[WebcastEvent.SHARE]: EventHandler<WebcastSocialMessage>;
[ControlEvent.CONNECTED]: EventHandler<TikTokLiveConnectionState>;
[ControlEvent.DISCONNECTED]: EventHandler<void>;
[ControlEvent.ERROR]: EventHandler<any>;
[ControlEvent.RAW_DATA]: (type: string, data: Uint8Array) => void | Promise<void>;
[ControlEvent.DECODED_DATA]: (type: string, event: any, binary: Uint8Array) => void | Promise<void>;
[ControlEvent.WEBSOCKET_CONNECTED]: EventHandler<TikTokWsClient>;
};
export declare const WebcastEventMap: Partial<Record<keyof WebcastMessage, string>>;
export declare type TikTokLiveConnectionState = {
isConnected: boolean;
roomId: string;
roomInfo: RoomInfo | null;
availableGifts: RoomGiftInfo | null;
};
//# sourceMappingURL=events.d.ts.map