diff options
author | MinusGix <MinusGix@gmail.com> | 2020-03-07 00:13:03 +0100 |
---|---|---|
committer | MinusGix <MinusGix@gmail.com> | 2020-03-07 00:13:03 +0100 |
commit | 1d01376ba5e395fd81c95d36951604b10d1432c7 (patch) | |
tree | 16fa02be62ec3e1702bac97a72dcd2524519b304 /server/src/commands | |
parent | Extract invite code into utility functions for greater re-use and access (diff) | |
download | hackchat-1d01376ba5e395fd81c95d36951604b10d1432c7.tar.gz hackchat-1d01376ba5e395fd81c95d36951604b10d1432c7.zip |
Make dumb use abstracted invite functions rather than duplicating code
Diffstat (limited to '')
-rw-r--r-- | server/src/commands/mod/dumb.js | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/server/src/commands/mod/dumb.js b/server/src/commands/mod/dumb.js index 488ed9e..51fc745 100644 --- a/server/src/commands/mod/dumb.js +++ b/server/src/commands/mod/dumb.js @@ -4,6 +4,7 @@ */ import * as UAC from '../utility/UAC/_info'; +import * as Invite from '../core/invite'; // module constructor export function init(core) { @@ -117,19 +118,21 @@ export function chatCheck(core, server, socket, payload) { // shadow-prevent all invites from muzzled users export function inviteCheck(core, server, socket, payload) { - if (typeof payload.nick !== 'string') { - return false; - } - if (core.muzzledHashes[socket.hash]) { + const nickValid = Invite.checkNickname(payload.nick); + if (nickValid !== null) { + server.reply({ + cmd: 'warn', + text: nickValid, + }, socket); + return false; + } + // generate common channel - const channel = Math.random().toString(36).substr(2, 8); + const channel = Invite.getChannel(); // send fake reply - server.reply({ - cmd: 'info', - text: `You invited ${payload.nick} to ?${channel}`, - }, socket); + server.reply(Invite.createSuccessPayload(payload.nick, channel), socket); return false; } |