Added /leader command to assign leader via chat.

This commit is contained in:
Adam Davis 2018-03-30 02:16:26 -04:00
parent 49baabdf66
commit a636b2996f
2 changed files with 44 additions and 23 deletions

View File

@ -401,6 +401,27 @@ Channel.prototype.joinUser = function (user, data) {
});
};
Channel.prototype.getUserForName = function(name){
var result;
var self = this;
for (var i = 0; i < self.users.length; i++) {
if (self.users[i].getLowerName() === name) {
result = self.users[i];
break;
}
}
return result;
};
Channel.prototype.setLeader = function(user, name){
var self = this;
if("playlist" in self.modules){
self.modules['playlist'].handleAssignLeader(user, {name: name});
}
};
Channel.prototype.acceptUser = function (user) {
user.setFlag(Flags.U_IN_CHANNEL);
user.socket.join(this.name);

View File

@ -48,6 +48,7 @@ function ChatModule(channel) {
this.registerCommand("/a", this.handleCmdAdminflair.bind(this));
this.registerCommand("/afk", this.handleCmdAfk.bind(this));
this.registerCommand("/mute", this.handleCmdMute.bind(this));
this.registerCommand("/leader", this.handleCmdLeader.bind(this));
this.registerCommand("/smute", this.handleCmdSMute.bind(this));
this.registerCommand("/unmute", this.handleCmdUnmute.bind(this));
this.registerCommand("/unsmute", this.handleCmdUnmute.bind(this));
@ -535,6 +536,25 @@ ChatModule.prototype.handleCmdAdminflair = function (user, msg, meta) {
ChatModule.prototype.handleCmdAfk = function (user, msg, meta) {
user.setAFK(!user.is(Flags.U_AFK));
};
ChatModule.prototype.handleCmdLeader = function (user, msg, meta) {
if (!this.channel.modules.permissions.canAssignLeader(user)) {
return;
}
var args = msg.split(" ");
args.shift();
var name = args.shift();
if (typeof name !== "string") {
user.socket.emit("errorMsg", {
msg: "/leader requires a target name"
});
return;
}
name = name.toLowerCase();
this.channel.setLeader(user, name);
this.channel.logger.log(`[mod] ${user.getName()} assigned leader to ${name}`);
};
ChatModule.prototype.handleCmdMute = function (user, msg, meta) {
if (!this.channel.modules.permissions.canMute(user)) {
@ -554,14 +574,7 @@ ChatModule.prototype.handleCmdMute = function (user, msg, meta) {
}
name = name.toLowerCase();
var target;
for (var i = 0; i < this.channel.users.length; i++) {
if (this.channel.users[i].getLowerName() === name) {
target = this.channel.users[i];
break;
}
}
var target = this.channel.getUserForName(name);
if (!target) {
user.socket.emit("errorMsg", {
@ -604,14 +617,7 @@ ChatModule.prototype.handleCmdSMute = function (user, msg, meta) {
}
name = name.toLowerCase();
var target;
for (var i = 0; i < this.channel.users.length; i++) {
if (this.channel.users[i].getLowerName() === name) {
target = this.channel.users[i];
break;
}
}
var target = this.channel.getUserForName(name);
if (!target) {
user.socket.emit("errorMsg", {
@ -675,13 +681,7 @@ ChatModule.prototype.handleCmdUnmute = function (user, msg, meta) {
this.channel.logger.log("[mod] " + user.getName() + " unmuted " + name);
this.sendModMessage(user.getName() + " unmuted " + name, muteperm);
var target;
for (var i = 0; i < this.channel.users.length; i++) {
if (this.channel.users[i].getLowerName() === name) {
target = this.channel.users[i];
break;
}
}
var target = this.channel.getUserForName(name);
if (!target) {
return;