Does anyone have a way through either ejabberdctl or muc to simply mute a user for a given amount of time? Or is the usual process to set a flag in the vcard and check that from the client prior to allowing the user to send a message? My end goal is to allow admins to mute a user.
Users in a MUC can be muted
Users in a MUC can be muted through changing their status from "participant" to "visitor". This allows them in the room but they cannot speak.. There is no built in timeout, so this would have to be handled programmatically, but changing their status just involves sending an iq packet to the offender and an updated presence message to the room.
You don't need to handle muting yourself, its a core part of the MUC specs.
thanks very much for the
thanks very much for the feedback, in the end i ended up writing to a mnesia table a global muted list. Will definitely look into refactoring. As I didn't have that information, thanks.