<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [server](./server.md) &gt; [ChatManager](./server.chatmanager.md)

## ChatManager class

Manages chat and commands in a world.

**Signature:**

```typescript
export default class ChatManager extends EventRouter 
```
**Extends:** [EventRouter](./server.eventrouter.md)

## Remarks

The ChatManager is created internally as a singleton for each [World](./server.world.md) instance in a game server. The ChatManager allows you to broadcast messages, send messages to specific players, and register commands that can be used in chat to execute game logic.

<h2>Events</h2>

This class is an EventRouter, and instances of it emit events with payloads listed under [ChatEventPayloads](./server.chateventpayloads.md)

The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `ChatManager` class.

## Example


```typescript
world.chatManager.registerCommand('/kick', (player, args, message) => {
  const admins = [ 'arkdev', 'testuser123' ];
  if (admins.includes(player.username)) {
    const targetUsername = args[0];
    const targetPlayer = world.playerManager.getConnectedPlayerByUsername(targetUsername);

    if (targetPlayer) {
      targetPlayer.disconnect();
    }
  }
});
```

## Methods

<table><thead><tr><th>

Method


</th><th>

Modifiers


</th><th>

Description


</th></tr></thead>
<tbody><tr><td>

[registerCommand(command, callback)](./server.chatmanager.registercommand.md)


</td><td>


</td><td>

Register a command and its callback.


</td></tr>
<tr><td>

[sendBroadcastMessage(message, color)](./server.chatmanager.sendbroadcastmessage.md)


</td><td>


</td><td>

Send a system broadcast message to all players in the world.


</td></tr>
<tr><td>

[sendPlayerMessage(player, message, color)](./server.chatmanager.sendplayermessage.md)


</td><td>


</td><td>

Send a system message to a specific player, only visible to them.


</td></tr>
<tr><td>

[unregisterCommand(command)](./server.chatmanager.unregistercommand.md)


</td><td>


</td><td>

Unregister a command.


</td></tr>
</tbody></table>
