From 1d01376ba5e395fd81c95d36951604b10d1432c7 Mon Sep 17 00:00:00 2001
From: MinusGix <MinusGix@gmail.com>
Date: Fri, 6 Mar 2020 17:13:03 -0600
Subject: Make dumb use abstracted invite functions rather than duplicating
 code

---
 server/src/commands/mod/dumb.js | 21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

(limited to 'server/src')

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;
   }
-- 
cgit v1.2.1