UNPKG

twiedenbein-thelounge

Version:

The self-hosted Web IRC client

56 lines (55 loc) 1.76 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const msg_1 = __importDefault(require("../../models/msg")); const msg_2 = require("../../../shared/types/msg"); const commands = ["nick"]; const allowDisconnected = true; const input = function (network, chan, cmd, args) { if (args.length === 0) { chan.pushMessage(this, new msg_1.default({ type: msg_2.MessageType.ERROR, text: "Usage: /nick <your new nick>", })); return; } if (args.length !== 1) { chan.pushMessage(this, new msg_1.default({ type: msg_2.MessageType.ERROR, text: "Nicknames may not contain spaces.", })); return; } const newNick = args[0]; if (newNick.length > 100) { chan.pushMessage(this, new msg_1.default({ type: msg_2.MessageType.ERROR, text: "Nicknames may not be this long.", })); return; } // If we were trying to keep a nick and user changes nick, stop trying to keep the old one network.keepNick = null; // If connected to IRC, send to server and wait for ACK // otherwise update the nick and UI straight away if (network.irc) { if (network.irc.connected) { network.irc.changeNick(newNick); return; } network.irc.options.nick = network.irc.user.nick = newNick; } network.setNick(newNick); this.emit("nick", { network: network.uuid, nick: newNick, }); this.save(); }; exports.default = { commands, input, allowDisconnected, };