diff --git a/src/command.ts b/src/command.ts index d49df42..33fba65 100644 --- a/src/command.ts +++ b/src/command.ts @@ -49,13 +49,6 @@ export function run_command(cmd_raw: string, uid: string, users: Map { - if (user.is_administrator) { return true; } - - command_reply('You must be an administrator to run this command.'); - return false; - }; - const safe_find_user = (filter_string: string) => { let res: string[]; try { @@ -69,6 +62,7 @@ export function run_command(cmd_raw: string, uid: string, users: Map void> = new Map(); const admin_command_map: Map void> = new Map(); @@ -183,6 +177,20 @@ export function run_command(cmd_raw: string, uid: string, users: Map { + const filter_string = cmd_only.substring(prefix.length); + const checked_user = safe_find_user(filter_string); + Array + .from(users) + .filter(([id,]) => checked_user.includes(id)) + .map(([, { socket }]) => socket) + .forEach(socket => socket.emit('private message', { + type: 'text-message', + data: msg, + sender: user.name, + })); + }); + if (user.is_administrator) { for (let val of admin_command_map) { const [prefix, executor] = val;