UNPKG

hytopia

Version:

The HYTOPIA SDK makes it easy for developers to create massively multiplayer games using JavaScript or TypeScript.

118 lines (60 loc) 2.33 kB
<!-- 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>