Metronome allows MUC related modules to perform default actions overriding like pluggable muc configuration via eventing.

Pluggable MUC Configuration

To note there’re some definite differences regarding the room object methods with Prosody in particular the set_option method, and I’ll describe it here as it’s very important for pluggable config. Instead of having methods to deal with default configuration there’s just one being set_option this function takes three arguments two mandatory ones being the name of the config value, the value itself, and as optional one a table which will contain changed directives (“dirty”) in the form.

I’ll below list the events and which arguments will be passed to each callback:

 

A fair amount of real usage of this API can be found in both mod_muc_limits and mod_muc_log.

Other MUC Events

These are utility events to perform additional manipulation of message stanzas directed to internal MUC components:

See mod_muc_log_mam for an example usage.

NOTE: This is only available into current trunk