diff --git a/src/controllers/groups.js b/src/controllers/groups.js index 2d0bd650c1..036c9b13c9 100644 --- a/src/controllers/groups.js +++ b/src/controllers/groups.js @@ -217,6 +217,7 @@ api.getChat = function(req, res, next) { api.postChat = function(req, res, next) { var user = res.locals.user var group = res.locals.group; + if (group.type!='party' && user.flags.chatRevoked) return res.json(401,{err:'Your chat privileges have been revoked.'}); var lastClientMsg = req.query.previousMsg; var chatUpdated = (lastClientMsg && group.chat && group.chat[0] && group.chat[0].id !== lastClientMsg) ? true : false; diff --git a/src/models/user.js b/src/models/user.js index 372a30a801..fee9c47ba9 100644 --- a/src/models/user.js +++ b/src/models/user.js @@ -109,7 +109,8 @@ var UserSchema = new Schema({ mathUpdates: Boolean, rebirthEnabled: {type: Boolean, 'default': false}, freeRebirth: {type: Boolean, 'default': false}, - levelDrops: {type:Schema.Types.Mixed, 'default':{}} + levelDrops: {type:Schema.Types.Mixed, 'default':{}}, + chatRevoked: Boolean }, history: { exp: Array, // [{date: Date, value: Number}], // big peformance issues if these are defined