diff --git a/channel.js b/channel.js index 70e1ae51..10dd81f4 100644 --- a/channel.js +++ b/channel.js @@ -68,7 +68,8 @@ var Channel = function(name) { ban: 2, motdedit: 3, filteredit: 3, - drink: 1.5 + drink: 1.5, + chat: 0 }; this.opts = { allow_voteskip: true, @@ -1710,7 +1711,10 @@ Channel.prototype.tryChat = function(user, data) { return; } - if(data.msg == undefined) { + if(!this.hasPermission(user, "chat")) + return; + + if(typeof data.msg !== "string") { return; } diff --git a/www/assets/js/util.js b/www/assets/js/util.js index 939c826b..dcb3fee8 100644 --- a/www/assets/js/util.js +++ b/www/assets/js/util.js @@ -762,6 +762,8 @@ function handlePermissionChange() { for(var i = 0; i < users.length; i++) { addUserDropdown($(users[i]), users[i].children[1].innerHTML); } + + $("#chatline").attr("disabled", !hasPermission("chat")); rebuildPlaylist(); } @@ -1195,6 +1197,7 @@ function genPermissionsEditor() { addDivider("Misc"); makeOption("Drink calls", "drink", modleader, CHANNEL.perms.drink+""); + makeOption("Chat", "chat", standard, CHANNEL.perms.chat+""); var submit = $("