This module limits the rate of outgoing unsolicited messages from local clients. Optionally, unsolicited messages coming in from remote servers may be limited per s2s conneciton. A message counts as “unsolicited” if the receiving user hasn’t added the sending user to their roster.

The module depends on mod_track_muc_joins in order to allow sent messages to joined MUC rooms.


To set a limit on messages from local sessions:

unsolicited_messages_per_minute = 10

To enable limits on unsolicited messages from s2s connections:

unsolicited_s2s_messages_per_minute = 100


With the plugin installer in Prosody 0.12 you can use:

sudo prosodyctl install --server= mod_throttle_unsolicited

For earlier versions see the documentation for installing 3rd party modules