It is possible to enable a server-side ignore list which prevents messages reaching your IRC client. These come in two flavours: explicit and implicit.
Only users who explicitly match you silence list are ignored. Entries are added to and removed from your ignore list with the SILENCE command:
/SILENCE <+|-><mask> [p|c|i|n|t|a|x]
Where <mask> is a user mask of the form nick!user@hostname.
The last parameter lets you specify what kind of messages to ignore. Each character corresponds to a message type as follows:
| type | description |
|---|---|
| p | Private messages |
| c | Channel messages |
| i | Invites |
| n | Private notices |
| t | Channel notices |
| a | All the above |
| x | Exception entry |
Ignoring private and channel messages from nick 'bigcheese':
/silence +bigcheese pc
Removing previous silence entry and creating a new entry to ignore everything from domain 'cheese.net' except if the nick is 'goodcheese':
/silence -bigcheese pc /silence +cheese.net a /silence +goodcheese xa
Seeing who is on your ignore list:
/silence
All users will be unable to private message you unless you first add them to your acceptance list. To enable this you must set user mode +g and then accept users with the /ACCEPT command:
/ACCEPT <+|-|*> <nick>[,<nick>]
Where <nick> is the nickname of the user from which you want to allow private messages.
Only users who are online can be added to your accept list, and when they disconnect they are removed automatically until you add them again. Someone not on your acceptance list who tries to send you a private message will receive the following error:
Nick is in +g mode (server-side ignore). Nick has been informed that you messaged them.
To add a nick to your accept list:
/accept +goodcheese
To add multiple nicks to your accept list in one go:
/accept +goodcheese,sweetpotato
To list everyone on your accept list:
/accept *
To remove a nick from your accept list:
/accept -goodcheese