view mod_throttle_unsolicited/README.markdown @ 4983:7c77058a1ac5

mod_compat_roles: New module providing compat shim for trunk's new role API The new role API is translated to is_admin() calls on older versions. On newer versions (which have the role API) this module does nothing. It allows modules to drop their use of is_admin() (which is not available in trunk) and switch to the new role API, while remaining compatible with previous Prosody versions.
author Matthew Wild <mwild1@gmail.com>
date Thu, 11 Aug 2022 17:49:33 +0100
parents 476afcbfb3e9
children
line wrap: on
line source

---
rockspec:
  dependencies:
  - mod_track_muc_joins
summary: Limit rate of outgoing unsolicited messages
---

Introduction
============

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.

Configuration
=============

To set a limit on messages from local sessions:

``` {.lua}
unsolicited_messages_per_minute = 10
```

To enable limits on unsolicited messages from s2s connections:

``` {.lua}
unsolicited_s2s_messages_per_minute = 100
```