1 import { Server, Socket } from 'socket.io';
2 import { Player } from '../shared/player';
3 import { broadcastMessage } from '../shared/message';
4 import { renderChatMessage } from './views/chat';
5 import { Commands } from './chat-commands/';
8 export async function handleChatCommands(msg: string, player: Player, io: Server, sender: Socket): Promise<void> {
9 const rawCommand = msg.split('/server ')[1];
12 Commands.forEach(async command => {
13 if(command.regex.test(rawCommand)) {
15 console.log(`${player.username} running command: [${rawCommand}]`);
16 await command.handler(rawCommand, sender, player, io);
21 const message = broadcastMessage('server', `Invalid command: [${rawCommand}]`);
22 sender.emit('chat', renderChatMessage(message));