# $EPIC: ignore,v 1.6 2004/06/11 02:27:32 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)>]
   ignore [<refnum>]           [[-|+|^]<message type(s)>]
   ignore [<something>] [<types>] [REASON "<reason>"]
   ignore [<something>] [<types>] [REASON "<reason>"]

Description:
   The IGNORE command is a client-side filtering mechanism.  You can
   use it to avoid seeing messages you would rather not see.  This does
   not stop someone from flooding you, but it does stop your screen from
   being flooded.  If someone attacks you with a floodnet, you can still
   be knocked off of irc even if you IGNORE it.

   Messages can be filtered based on any nick!user@host pattern, (which 
   can be abbreviated to just a nick, or just a user@host) or on any 
   channel.

   Messages are filtered by context type.  This allows you to ignore only
   certain types of messages from someone without having to ignore every
   message from that person.  For example, you could ignore INVITEs 
   from someone who is annoying you without having to ignore his MSGs.

   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 an ignore reference number, the pattern being ignored/highlighted,
   and the type of messages that shall be ignored/highlighted.  Optionally,
   a ignore reason and timeout may be included.

   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 supersede existing patterns.

Message Types:
   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
   topics     filter in/out all TOPIC changes
   nicks      filter in/out all NICK changes
   joins      filter in/out all channel JOINs
   parts      filter in/out all channel PARTs
   crap       filter QUIT, MODE, KICK and PONG
   all        everything listed above
   none       remove pattern from list of filtered patterns

Special Message Types:
  These are not really message types, but they can be used in your
  message types list.
   REASON "<arg>"    Set a reason you're ignoring the person.
   TIMEOUT <number>  Automatically cancel the message after <number> seconds.

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)

