aboutsummaryrefslogtreecommitdiffstats
path: root/server/src/commands/core/move.js
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/commands/core/move.js')
-rw-r--r--server/src/commands/core/move.js49
1 files changed, 25 insertions, 24 deletions
diff --git a/server/src/commands/core/move.js b/server/src/commands/core/move.js
index 8e97a06..7eda88c 100644
--- a/server/src/commands/core/move.js
+++ b/server/src/commands/core/move.js
@@ -3,67 +3,67 @@
*/
// module main
-exports.run = async (core, server, socket, data) => {
+export async function run(core, server, socket, data) {
// check for spam
- if (server.police.frisk(socket.remoteAddress, 6)) {
+ if (server.police.frisk(socket.address, 6)) {
return server.reply({
cmd: 'warn',
- text: 'You are changing channels too fast. Wait a moment before trying again.'
+ text: 'You are changing channels too fast. Wait a moment before trying again.',
}, socket);
}
// check user input
if (typeof data.channel !== 'string') {
- return;
+ return true;
}
if (data.channel === socket.channel) {
// they are trying to rejoin the channel
- return;
+ return true;
}
// check that the nickname isn't already in target channel
const currentNick = socket.nick.toLowerCase();
- let userExists = server.findSockets({
+ const userExists = server.findSockets({
channel: data.channel,
- nick: (targetNick) => targetNick.toLowerCase() === currentNick
+ nick: (targetNick) => targetNick.toLowerCase() === currentNick,
});
if (userExists.length > 0) {
// That nickname is already in that channel
- return;
+ return true;
}
// broadcast leave notice to peers
- let peerList = server.findSockets({ channel: socket.channel });
+ const peerList = server.findSockets({ channel: socket.channel });
if (peerList.length > 1) {
- for (let i = 0, l = peerList.length; i < l; i++) {
+ for (let i = 0, l = peerList.length; i < l; i += 1) {
server.reply({
cmd: 'onlineRemove',
- nick: peerList[i].nick
+ nick: peerList[i].nick,
}, socket);
- if (socket.nick !== peerList[i].nick){
+ if (socket.nick !== peerList[i].nick) {
server.reply({
cmd: 'onlineRemove',
- nick: socket.nick
+ nick: socket.nick,
}, peerList[i]);
}
}
}
// broadcast join notice to new peers
- let newPeerList = server.findSockets({ channel: data.channel });
- let moveAnnouncement = {
+ const newPeerList = server.findSockets({ channel: data.channel });
+ const moveAnnouncement = {
cmd: 'onlineAdd',
nick: socket.nick,
trip: socket.trip || 'null',
- hash: socket.hash
+ hash: socket.hash,
};
- let nicks = [];
+ const nicks = [];
- for (let i = 0, l = newPeerList.length; i < l; i++) {
+ for (let i = 0, l = newPeerList.length; i < l; i += 1) {
server.reply(moveAnnouncement, newPeerList[i]);
nicks.push(newPeerList[i].nick);
}
@@ -73,18 +73,19 @@ exports.run = async (core, server, socket, data) => {
// reply with new user list
server.reply({
cmd: 'onlineSet',
- nicks: nicks
+ nicks,
}, socket);
// commit change
socket.channel = data.channel;
-};
-// module meta
-exports.requiredData = ['channel'];
-exports.info = {
+ return true;
+}
+
+export const requiredData = ['channel'];
+export const info = {
name: 'move',
description: 'This will change your current channel to the new one provided',
usage: `
- API: { cmd: 'move', channel: '<target channel>' }`
+ API: { cmd: 'move', channel: '<target channel>' }`,
};