diff options
Diffstat (limited to 'server/src/commands/mod')
-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; } |