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
| Name | Type |
|---|---|
name | string |
password | string |
options? | ClientOptions |
Returns
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
| Name | Type |
|---|---|
name | string |
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
| Name | Type |
|---|---|
name | string |
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
| Name | Type |
|---|---|
channelName | string |
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
| Name | Type |
|---|---|
username | string |
Returns
Promise<Profile>
getTribe
▸ getTribe(includeDisconnectedMember?): Promise<null | Tribe>
Get tribe data
Parameters
| Name | Type | Default value |
|---|---|---|
includeDisconnectedMember | boolean | true |
Returns
Promise<null | Tribe>
joinChannel
▸ joinChannel(channelName, permanent?): void
Join to a chat channel
Parameters
| Name | Type | Default value |
|---|---|---|
channelName | string | undefined |
permanent | boolean | true |
Returns
void
leaveChannel
▸ leaveChannel(channelName): void
Leave a chat channel
Parameters
| Name | Type |
|---|---|
channelName | string |
Returns
void
loadLua
▸ loadLua(script): void
Load a lua script in the room.
Parameters
| Name | Type |
|---|---|
script | string |
Returns
void
on
▸ on<T>(event, listener): this
Listens to a Client Event
Type parameters
| Name | Type |
|---|---|
T | extends keyof ClientEvents |
Parameters
| Name | Type |
|---|---|
event | T |
listener | ClientEvents[T] |
Returns
this
openFriendList
▸ openFriendList(): void
Open friend list.
Returns
void
removeFriend
▸ removeFriend(name): void
Add a player to friend list
Parameters
| Name | Type |
|---|---|
name | string |
Returns
void
requestProfile
▸ requestProfile(username): void
Request profile
Alias for: client.sendCommand("profile")
Parameters
| Name | Type |
|---|---|
username | string |
Returns
void
requestTribe
▸ requestTribe(includeDisconnectedMember?): void
Request tribe data
Parameters
| Name | Type | Default value |
|---|---|---|
includeDisconnectedMember | boolean | true |
Returns
void
requestWho
▸ requestWho(channelName): number
Request /who to a chat channel
Parameters
| Name | Type |
|---|---|
channelName | string |
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
| Name | Type |
|---|---|
channelName | string |
message | string |
Returns
void
sendCommand
▸ sendCommand(message): void
Sends a server command.
Parameters
| Name | Type | Description |
|---|---|---|
message | string | The command message (without the /). |
Returns
void
Example
client.sendCommand('mod');
sendRoomMessage
▸ sendRoomMessage(message): void
Sends a message to the client's room.
Parameters
| Name | Type |
|---|---|
message | string |
Returns
void
sendTribeMessage
▸ sendTribeMessage(message): void
Sends a message to tribe
Parameters
| Name | Type |
|---|---|
message | string |
Returns
void
sendWhisper
▸ sendWhisper(name, message): void
Sends a whisper message to a player.
Parameters
| Name | Type |
|---|---|
name | string |
message | string |
Returns
void
waitFor
▸ waitFor<T>(eventName, timeout?, condition?): Promise<Parameters<ClientEvents[T]>>
Wait for specific event to be emitted
Type parameters
| Name | Type |
|---|---|
T | extends keyof ClientEvents |
Parameters
| Name | Type |
|---|---|
eventName | T |
timeout? | number |
condition? | (...args: Parameters<ClientEvents[T]>) => boolean |
Returns
Promise<Parameters<ClientEvents[T]>>
▸ waitFor<T>(eventName, condition?, timeout?): Promise<Parameters<ClientEvents[T]>>
Type parameters
| Name | Type |
|---|---|
T | extends keyof ClientEvents |
Parameters
| Name | Type |
|---|---|
eventName | T |
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>