Skip to main content

Class: Client

Represents a client that connects to Transformice.

Example

const { Client, enums } = require("transformice.js");

const client = new Client("username", "password", {
language: enums.languages.en
});

client.on("roomMessage", (message) => {
if (client.name === message.author.name) return;
client.sendRoomMessage(message.author.look);
});

client.run("tfm_id", "token");

Hierarchy

  • EventEmitter

    Client

Constructors

constructor

new Client(name, password, options?): Client

Parameters

NameType
namestring
passwordstring
options?ClientOptions

Returns

Client

Properties

bulle

bulle: Connection

The connection with the game server (bulle).


channels

channels: Map<string, Channel>

The client's joined channels.


community

community: GameCommunity

The client's community code.


connectionTime

connectionTime: number

The connection time.


friends

friends: Map<string, Friend>

The client's friends.


language

language: Language

The language suggested by the server.


loginRoom

loginRoom: string

The room where the client will be logged in.


main

main: Connection

The connection with the main server.


name

name: string

The client's name.


onlinePlayers

onlinePlayers: number

The online players when the bot log.


pcode

pcode: number

The client's temporary code.


player

player: RoomPlayer

The client's player.


playerId

playerId: number

The client's Id.


playingTime

playingTime: number

The client's playing time.


room

room: Room

The client's room.

Methods

addFriend

addFriend(name): void

Add a player to friend list

Parameters

NameType
namestring

Returns

void


closeFriendList

closeFriendList(): void

Close friend list.

Returns

void

Throws

When intents.friendList is set.


disconnect

disconnect(): void

Disconnects the client.

Returns

void


enterRoom

enterRoom(name, options?): void

Sends a request to the server to join a room with specific name.

Parameters

NameType
namestring
options?RoomJoinOptions

Returns

void


enterTribeHouse

enterTribeHouse(): void

Joins the tribe house.

Returns

void


getChannelPlayers

getChannelPlayers(channelName): Promise<TribullePlayer[]>

Get player list inside a chat channel

Parameters

NameType
channelNamestring

Returns

Promise<TribullePlayer[]>


getFriendList

getFriendList(): Promise<Map<string, Friend>>

Get friend list.

Returns

Promise<Map<string, Friend>>


getProfile

getProfile(username): Promise<Profile>

Get user profile

Parameters

NameType
usernamestring

Returns

Promise<Profile>


getTribe

getTribe(includeDisconnectedMember?): Promise<null | Tribe>

Get tribe data

Parameters

NameTypeDefault value
includeDisconnectedMemberbooleantrue

Returns

Promise<null | Tribe>


joinChannel

joinChannel(channelName, permanent?): void

Join to a chat channel

Parameters

NameTypeDefault value
channelNamestringundefined
permanentbooleantrue

Returns

void


leaveChannel

leaveChannel(channelName): void

Leave a chat channel

Parameters

NameType
channelNamestring

Returns

void


loadLua

loadLua(script): void

Load a lua script in the room.

Parameters

NameType
scriptstring

Returns

void


on

on<T>(event, listener): this

Listens to a Client Event

Type parameters

NameType
Textends keyof ClientEvents

Parameters

NameType
eventT
listenerClientEvents[T]

Returns

this


openFriendList

openFriendList(): void

Open friend list.

Returns

void


removeFriend

removeFriend(name): void

Add a player to friend list

Parameters

NameType
namestring

Returns

void


requestProfile

requestProfile(username): void

Request profile

Alias for: client.sendCommand("profile")

Parameters

NameType
usernamestring

Returns

void


requestTribe

requestTribe(includeDisconnectedMember?): void

Request tribe data

Parameters

NameTypeDefault value
includeDisconnectedMemberbooleantrue

Returns

void


requestWho

requestWho(channelName): number

Request /who to a chat channel

Parameters

NameType
channelNamestring

Returns

number


restart

restart(): Promise<void>

Restart the client

Returns

Promise<void>


run

run(): Promise<void>

Starts the client.

Returns

Promise<void>


sendChannelMessage

sendChannelMessage(channelName, message): void

Sends a message to a chat channel

Parameters

NameType
channelNamestring
messagestring

Returns

void


sendCommand

sendCommand(message): void

Sends a server command.

Parameters

NameTypeDescription
messagestringThe command message (without the /).

Returns

void

Example

client.sendCommand('mod');

sendRoomMessage

sendRoomMessage(message): void

Sends a message to the client's room.

Parameters

NameType
messagestring

Returns

void


sendTribeMessage

sendTribeMessage(message): void

Sends a message to tribe

Parameters

NameType
messagestring

Returns

void


sendWhisper

sendWhisper(name, message): void

Sends a whisper message to a player.

Parameters

NameType
namestring
messagestring

Returns

void


waitFor

waitFor<T>(eventName, timeout?, condition?): Promise<Parameters<ClientEvents[T]>>

Wait for specific event to be emitted

Type parameters

NameType
Textends keyof ClientEvents

Parameters

NameType
eventNameT
timeout?number
condition?(...args: Parameters<ClientEvents[T]>) => boolean

Returns

Promise<Parameters<ClientEvents[T]>>

waitFor<T>(eventName, condition?, timeout?): Promise<Parameters<ClientEvents[T]>>

Type parameters

NameType
Textends keyof ClientEvents

Parameters

NameType
eventNameT
condition?(...args: Parameters<ClientEvents[T]>) => boolean
timeout?number

Returns

Promise<Parameters<ClientEvents[T]>>


fetchIP

fetchIP(): Promise<ConnectionSettings>

Get Transformice IP and ports.

Returns

Promise<ConnectionSettings>