2.6 KB


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.

Opers and U-Lines can bypass the restriction 0bv. ;]

Load the module and set umode +P on yourself (anyone can (un)set the umode). You can't set up a list without it but if you do have one and then unset the umode, it will be kept. Only when you disconnect will it be cleared (so it even persists through rehashes). Also, if you have +P and message someone else, they will automatically be added to the list. If UIDs go stale (relevant user disconnects) the entry will also be removed if it's not persistent. See below (Syntax) for how2manage da whitelist. ;3

There are also a few configuration directives for netadmins to tweak that shit.

Config block:

pmlist {
    noticetarget 0; // Default is 0
    noticedelay 60; // Seconds only
  • noticetarget => Whether to notice the target instead, if the source is a regged and logged in user
  • noticedelay => How many seconds have to pass before a user will receive another notice

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.