Description: Sort of a hybrid between umode +D (don't allow private messages at all) and +R (allow registered users only), this module allows you to keep a whitelist of people allowed to send you private messages. =] Their UID is stored so it persists through nickchanges too, but the module only shows you the original whitelisted nick in lists etc.
/OPENPM <nick> [-persist] => Allow messages from the given user (the argument must be an actual, existing nick) /CLOSEPM <nickmask> => Clear matching entries from your list; supports wildcard matches too (* and ?) /PMLIST => Display your current whitelist /PMHELP => Display built-in halp info
/OPENPM guest8 => Allow guest8 to message you /OPENPM muhb0i -persist => Allow muhb0i, persistently /CLOSEPM guest* => Remove all entries matching this mask (guest8, guestxxxx, etc) /CLOSEPM * => Remove all entries (saves you a disconnect lol)
Now this is what happens when a non-whitelisted user tries to message you:
- For users who haven't logged into services or if noticetarget is set to 0, they will get a notice saying you don't accept private messages from them. It also instructs them to tell you to do /openpm for them, like in a common channel.
- For users who have logged into services and if noticetarget is set to 1 you will get a single notice asking you to do /openpm (the notice also includes their message).
- These notices only happen once in a certain time period (based on the config directive noticedelay). After the first one, everything else will be silently discarded until enough time passes.
Description: umode +N to block invites
Description: umode +c to prevent people who aren't sharing a channel with you from messaging you
Description: +J chmode: Mute newly joined people for +J X seconds
Description: Chanmode +j to prevent people from rejoining too fast after a kick
Note: Remember this is an extended ban, to apply this:
/mode #help +b ~I*!*@*.someisp.com
Description: This one is created as an attempt of making behaviour of the +R chanmode more selective.
It allows things like:
~I:*!*@*.someisp.com - lets users from someisp in only when they are registered - this is the particular target of creating this module. ~I:~q:~c:#channel - allows users coming from #channel to talk only when they are registered.