diff options
author | marzavec <admin@marzavec.com> | 2019-02-02 22:34:06 +0100 |
---|---|---|
committer | marzavec <admin@marzavec.com> | 2019-02-02 22:34:06 +0100 |
commit | 02f6fbf70153241ce45b9c880664566f2d1ede86 (patch) | |
tree | 27f9bfbfd572342dc7c559088ad155bbf0d9d0ee /server/src/commands/core/changenick.js | |
parent | Merge pull request #51 from MinusGix/patch-2 (diff) | |
download | hackchat-02f6fbf70153241ce45b9c880664566f2d1ede86.tar.gz hackchat-02f6fbf70153241ce45b9c880664566f2d1ede86.zip |
Minor module changes
Added trips to listusers output. Added 'reason' to reload broadcast. Fixed removemod bug. Added /nick hook to changenick. Added 'type' and 'from' fields to invite event.
Diffstat (limited to 'server/src/commands/core/changenick.js')
-rw-r--r-- | server/src/commands/core/changenick.js | 42 |
1 files changed, 41 insertions, 1 deletions
diff --git a/server/src/commands/core/changenick.js b/server/src/commands/core/changenick.js index 6cc967c..28d8de3 100644 --- a/server/src/commands/core/changenick.js +++ b/server/src/commands/core/changenick.js @@ -55,6 +55,8 @@ exports.run = async (core, server, socket, data) => { } // build join and leave notices + // TODO: this is a legacy client holdover, name changes in the future will + // have thieir own event let leaveNotice = { cmd: 'onlineRemove', nick: socket.nick @@ -81,11 +83,49 @@ exports.run = async (core, server, socket, data) => { socket.nick = newNick; }; +// module hook functions +exports.initHooks = (server) => { + server.registerHook('in', 'chat', this.nickCheck); +}; + +// hooks chat commands checking for /whisper +exports.nickCheck = (core, server, socket, payload) => { + if (typeof payload.text !== 'string') { + return false; + } + + if (payload.text.startsWith('/nick')) { + let input = payload.text.split(' '); + + // If there is no nickname target parameter + if (input[1] === undefined) { + server.reply({ + cmd: 'warn', + text: 'Refer to `/help nick` for instructions on how to use this command.' + }, socket); + + return false; + } + + let newNick = input[1].replace(/@/g, ''); + + this.run(core, server, socket, { + cmd: 'changenick', + nick: newNick + }); + + return false; + } + + return payload; +}; + // module meta exports.requiredData = ['nick']; exports.info = { name: 'changenick', description: 'This will change your current connections nickname', usage: ` - API: { cmd: 'changenick', nick: '<new nickname>' }` + API: { cmd: 'changenick', nick: '<new nickname>' } + Text: /nick <new nickname>` }; |