Rate limit user messages to 5/s

pull/942/head
Marcelo Schmidt 10 years ago
parent 9c188b9537
commit b97231b45b
  1. 11
      packages/rocketchat-lib/lib/rateLimiter.coffee
  2. 2
      packages/rocketchat-lib/package.js

@ -0,0 +1,11 @@
# Limit sending messages to 5 messages per second per user
DDPRateLimiter.addRule
userId: (userId) ->
return Meteor.users.findOne(userId)?.username isnt RocketChat.settings.get('RocketBot_Name')
clientAddress: null
type: 'method'
name: 'sendMessage'
connectionId: ->
return true
, 5, 1000

@ -13,6 +13,7 @@ Package.onUse(function(api) {
api.use('coffeescript');
api.use('random');
api.use('check');
api.use('ddp-rate-limiter');
api.use('underscore');
api.use('underscorestring:underscore.string');
api.use('monbro:mongodb-mapreduce-aggregation@1.0.1');
@ -34,6 +35,7 @@ Package.onUse(function(api) {
// COMMON
api.addFiles('lib/core.coffee');
api.addFiles('lib/callbacks.coffee');
api.addFiles('lib/rateLimiter.coffee');
api.addFiles('lib/slashCommand.coffee');
// MODELS SERVER

Loading…
Cancel
Save