# $EPIC: ignore,v 1.4 2001/05/03 21:00:51 jnelson Exp $
Synopsis:
   ignore [<nick>]             [[-|+|^]<message type(s)>]
   ignore [<user@host>]        [[-|+|^]<message type(s)>]
   ignore [<nick!user@host>]   [[-|+|^]<message type(s)>]
   ignore [<channel>]          [[-|+|^]<message type(s)>]

Description:
   The IGNORE command has two primary uses; filtering out messages that
   are unwanted, and highlighting messages of particular importance.  The
   customary use is to filter messages out.

   Messages can be filtered based on any nick!user@host pattern, as well
   as just by nick (a "!*@*" will be appended to complete the pattern) or
   just by user@host (a "*!" will be prepended).  Messages can be filtered
   at the channel level, too.

   Messages can also be filtered based on context, so you could ignore all
   INVITEs from a person and still receive all other messages from that
   person.  Alternately, you could ignore all INVITEs from everyone except
   a specified person.

   IGNORE will apply a filter based on the best possible match.  Thus, if
   you are ignoring *!*@*.net and *!*foobar@*.slurpee.net, and someone
   with an nick!user@host mask of BigFoob!foobar@grape.slurpee.net sends
   you a message, IGNORE will use *!*foobar@*.slurpee.net to determine how
   to filter the message.  This will prove useful, as shown in the example
   below.

   Using IGNORE with no arguments displays your ignore list.  This will
   include the pattern being ignored/highlighted, and the type of messages 
   that shall be ignored/highlighted.

   Most, but not every ignore level works with channels.

   When you are trying to remove an ignore, you must specify the pattern 
   exactly as it appears in your ignore list.  "Approximate" patterns will
   be treated as NEW patterns and will not supercede existing patterns.

Options:
   ctcps      filter in/out all CTCPs received
   invites    filter in/out all INVITEs received
   msgs       filter in/out all MSGs received (but not CTCPs)
   notes      filter in/out all NOTEs received
   notices    filter in/out all NOTICEs received
   public     filter in/out public channel conversation
   wallops    filter in/out operator WALLOPS
   crap       anything else not listed above
   all        everything listed above
   none       remove pattern from list of filtered patterns

Examples:
   To ignore everything from foobar:
      /ignore foobar all

   To ignore everything except public conversation from foobar:
      /ignore foobar all -publics

   To highlight all private messages from foobar (it is displayed
   highlighted with whatever you have set HIGHLIGHT_CHAR to):
      /ignore foobar +msgs

   To ignore all NOTICEs except those from foobar's site:
      /ignore * notices
      /ignore *!*@*.slurpee.net ^notices

   To remove *!*foobar@*.slurpee.net from your ignore list:
      /ignore *!*foobar@*.slurpee.net none

   To highlight people joining and leaving, mode changes, etc. for a channel:
      /ignore #channel +crap

See Also:
   set(4) highlight_char, send_ignore_msg; silence(1); igmask(6);
   rigmask(6); igtype(6); rigtype(6)

Restrictions:
   IGNORE is a client command.  All it does is drop messages sent to 
   you by the person you want to ignore.  The server is still sending the 
   messages to you.  If someone uses a floodnet to try to disconnect you 
   from the server, the IGNORE command will not be of much help.  On
   some servers (particularly the undernet), there is a server-side ignore
   command called SILENCE.  The SILENCE command is more powerful,
   though less flexible, and less portable than IGNORE.  They are 
   complimentary, not competitive features.

