transformice.js
Version:
Node.js client for Transformice with full Typescript support.
170 lines (169 loc) • 5.38 kB
TypeScript
import { Connection, ByteArray, ValueOf } from "../utils";
import { ChannelMessage, Friend, Member, Message, Player, Profile, Room, RoomMessage, RoomPlayer, Tribe, WhisperMessage } from "../structures";
import { languages } from "../enums";
interface ClientEvents {
/**
* Emitted when a new old packet received.
*/
rawOldPacket: (connection: Connection, ccc: number, data: string[]) => void;
/**
* Emitted when the client can login on the game.
*/
loginReady: () => void;
/**
* Emitted when the client has logged in.
*/
login: (name: string, pcode: number) => void;
/**
* Emitted when the client failed to log in.
*/
loginError: (code: number, error1: string, error2: string) => void;
/**
* Emitted when connection failed
*/
connectionError: (err: Error) => void;
/**
* Emitted when client is attempting to restart the connection
*/
restart: () => void;
/**
* Emitted when the client is connected to the community platform.
*/
ready: () => void;
/**
* Emitted when a new packet received from main or bulle connection.
*/
rawPacket: (conn: Connection, ccc: number, packet: ByteArray) => void;
/**
* Emitted when a language is changed.characters or not.
*/
languageChange: (language: ValueOf<typeof languages>, country: string, readRight: boolean, readSpecialChar: boolean) => void;
/**
* Emitted when a new community platform packet received.
*/
rawTribulle: (code: number, packet: ByteArray) => void;
/**
* Emitted when the client has disconnect.
*/
disconnect: () => void;
/**
* Emitted when a connection is successfully connected.
*/
connect: (connection: Connection) => void;
/**
* Emitted when data received from /profile
*/
profile: (profile: Profile) => void;
/**
* Emitted when the client receives lua logs or errors from `#Lua` chat.
*/
luaLog: (log: string) => void;
/**
* Emitted when a player sends a message in the room.
*/
roomMessage: (message: RoomMessage) => void;
/**
* Emitted when the room is changed.
*
* @example
* ```js
* client.on('roomChange', (after, before) => {
* console.log('The room changed from '+before.name+' to '+after.name);
* })
* ```
*/
roomChange: (after: Room, before: Room) => void;
/**
* Emitted when the room playerList is updated.
*/
roomPlayersUpdate: (after: RoomPlayer[], before: RoomPlayer[]) => void;
/**
* Emitted when the room playerList is updated.
*/
roomPlayerUpdate: (after: RoomPlayer, before: RoomPlayer | undefined) => void;
/**
* Emitted when a player left the room.
*/
roomPlayerLeave: (player: Player) => void;
/**
* Emitted when a new player entered the room.
*/
roomPlayerEnter: (player: RoomPlayer) => void;
/**
* Emitted when a player dies
*/
roomPlayerDie: (player: RoomPlayer) => void;
/**
* Emitted when a player get the cheese
*/
roomPlayerGetCheese: (player: RoomPlayer) => void;
/**
* Emitted when a player enters the hole
*/
roomPlayerEnterHole: (player: RoomPlayer, order: number, time: number) => void;
/**
* Emitted when the client received the friend list
*/
friendList: (friends: Friend[]) => void;
/**
* Emitted when a friend is added to friend list
*/
friendAdd: (friend: Player) => void;
/**
* Emitted when a friend is removed from friend list
*/
friendRemove: (friend: Player) => void;
/**
* Emitted when a friend is connected
*/
friendConnect: (name: string) => void;
/**
* Emitted when a friend is disconnected
*/
friendDisconnect: (name: string) => void;
/**
* Emitted when friend state is changed (e.g. room, gender)
*/
friendUpdate: (friend: Friend) => void;
/**
* Emitted when received /who result
*/
channelWho: (channelName: string, players: Player[], fingerprint: number) => void;
/**
* Emitted when client joined a chat channel
*/
channelJoin: (channelName: string) => void;
/**
* Emitted when client left a chat channel
*/
channelLeave: (channelName: string) => void;
/**
* Emitted when a message is sent to a channel
*/
channelMessage: (channelMessage: ChannelMessage) => void;
/**
* Emitted when a tribe member updated
*/
tribeMemberUpdate: (member: Member) => void;
/**
* Emitted when a tribe message is received
*/
tribeMessage: (message: Message) => void;
/**
* Emitted when a tribe member connected
*/
tribeMemberConnect: (name: string) => void;
/**
* Emitted when a tribe member disconnected
*/
tribeMemberDisconnect: (name: string) => void;
/**
* Emitted when tribe information received
*/
tribe: (tribe: Tribe | null) => void;
/**
* Emitted when a player sends a whisper message to the client.
*/
whisper: (message: WhisperMessage) => void;
}
export default ClientEvents;