tiktok-live-connector
Version:
Node.js library to receive live stream chat events like comments and gifts from TikTok LIVE.
118 lines • 5.83 kB
TypeScript
import { ControlAction, WebcastChatMessage, WebcastControlMessage, WebcastEmoteChatMessage, WebcastEnvelopeMessage, WebcastGiftMessage, WebcastLikeMessage, WebcastLinkMicArmies, WebcastLinkMicBattle, WebcastLiveIntroMessage, WebcastMemberMessage, WebcastQuestionNewMessage, WebcastRoomUserSeqMessage, WebcastSocialMessage, WebcastSubNotifyMessage } from '../types/tiktok-schema';
import { DecodedWebcastPushFrame, RoomGiftInfo, RoomInfo, WebcastEventMessage, 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",
WEBSOCKET_DATA = "websocketData",
ENTER_ROOM = "enterRoom"
}
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",
CONTROL_MESSAGE = "controlMessage",
BARRAGE = "barrage",
HOURLY_RANK = "hourlyRank",
GOAL_UPDATE = "goalUpdate",
ROOM_MESSAGE = "roomMessage",
CAPTION_MESSAGE = "captionMessage",
IM_DELETE = "imDelete",
IN_ROOM_BANNER = "inRoomBanner",
RANK_UPDATE = "rankUpdate",
POLL_MESSAGE = "pollMessage",
RANK_TEXT = "rankText",
LINK_MIC_BATTLE_PUNISH_FINISH = "linkMicBattlePunishFinish",
LINK_MIC_BATTLE_TASK = "linkMicBattleTask",
LINK_MIC_FAN_TICKET_METHOD = "linkMicFanTicketMethod",
LINK_MIC_METHOD = "linkMicMethod",
UNAUTHORIZED_MEMBER = "unauthorizedMember",
OEC_LIVE_SHOPPING = "oecLiveShopping",
MSG_DETECT = "msgDetect",
LINK_MESSAGE = "linkMessage",
ROOM_VERIFY = "roomVerify",
LINK_LAYER = "linkLayer",
ROOM_PIN = "roomPin"
}
export declare enum ConnectState {
DISCONNECTED = "DISCONNECTED",
CONNECTING = "CONNECTING",
CONNECTED = "CONNECTED"
}
export type EventHandler<T> = (event: T) => void | Promise<void>;
export type ClientEventMap = {
[]: EventHandler<WebcastSocialMessage>;
[]: EventHandler<WebcastSocialMessage>;
[]: (event: {
action: ControlAction;
}) => void | Promise<void>;
[]: EventHandler<TikTokLiveConnectionState>;
[]: EventHandler<void>;
[]: EventHandler<any>;
[]: EventHandler<Uint8Array>;
[]: (type: string, data: Uint8Array) => void | Promise<void>;
[]: (type: string, event: any, binary: Uint8Array) => void | Promise<void>;
[]: EventHandler<TikTokWsClient>;
[]: EventHandler<DecodedWebcastPushFrame>;
[]: EventHandler<WebcastChatMessage>;
[]: EventHandler<WebcastMemberMessage>;
[]: EventHandler<WebcastGiftMessage>;
[]: EventHandler<WebcastRoomUserSeqMessage>;
[]: EventHandler<WebcastSocialMessage>;
[]: EventHandler<WebcastLikeMessage>;
[]: EventHandler<WebcastQuestionNewMessage>;
[]: EventHandler<WebcastLinkMicBattle>;
[]: EventHandler<WebcastLinkMicArmies>;
[]: EventHandler<WebcastLiveIntroMessage>;
[]: EventHandler<WebcastEmoteChatMessage>;
[]: EventHandler<WebcastEnvelopeMessage>;
[]: EventHandler<WebcastSubNotifyMessage>;
[]: EventHandler<WebcastControlMessage>;
[]: EventHandler<WebcastMessage>;
[]: EventHandler<WebcastMessage>;
[]: EventHandler<WebcastMessage>;
[]: EventHandler<WebcastMessage>;
[]: EventHandler<WebcastMessage>;
[]: EventHandler<WebcastMessage>;
[]: EventHandler<WebcastMessage>;
[]: EventHandler<WebcastMessage>;
[]: EventHandler<WebcastMessage>;
[]: EventHandler<WebcastMessage>;
[]: EventHandler<WebcastMessage>;
[]: EventHandler<WebcastMessage>;
[]: EventHandler<WebcastMessage>;
[]: EventHandler<WebcastMessage>;
[]: EventHandler<WebcastMessage>;
[]: EventHandler<WebcastMessage>;
[]: EventHandler<WebcastMessage>;
[]: EventHandler<WebcastMessage>;
[]: EventHandler<WebcastMessage>;
[]: EventHandler<WebcastMessage>;
[]: EventHandler<WebcastMessage>;
};
export declare const WebcastEventMap: Record<BasicWebcastEventMessage, keyof ClientEventMap>;
export type BasicWebcastEventMessage = keyof Omit<WebcastEventMessage, 'WebcastGiftMessage'>;
export type TikTokLiveConnectionState = {
isConnected: boolean;
roomId: string;
roomInfo: RoomInfo | null;
availableGifts: RoomGiftInfo | null;
};
//# sourceMappingURL=events.d.ts.map