Lee H <lee -at- leeh.co.uk>
+Reworked by Jilles Tjoelker, February 2010.
If the server you are using uses the target change mechanism, then
restrictions are placed on how many different users you can message in a set
-Target change does not apply to channels, ctcp replies or messages to
+Target change does not apply to channels, ctcp replies, messages to
+yourself or messages to services.
You will have a set number of 'slots', each different client you message
will take up one slot. A client doing a nick change will not use a new slot,
however a client disconnecting from the server it is on and reconnecting
will. You will receive 1 new slot roughly every minute.
+Additionally, clients that message or invite you are placed in one of a
+small number of special slots, in many cases allowing replies without using
When all slots are filled, messages to new clients will not be accepted.
Messages to clients already filling a slot will be accepted. If all slots
are full, you will receive the ERR_TARGCHANGE numeric, number 707 in the
:<server> 707 <yournick> <targetnick> :Targets changing too fast, message dropped
-The slots are operated as a FIFO (first in, first out), so the first person
-you message will be the first person removed from a slot, even if you are
-still talking to this person.
+The slots are operated in an LRU (least recently used), so the person you
+have talked to least recently will be replaced.
The number of slots in use will be kept through a reconnection, though the
information in those slots will be dropped. However, you will always
receive one free slot on a reconnection. Other servers using this mechanism
will also be made aware of details about slots.
-Target change can be avoided via the CNOTICE and CPRIVMSG commands, when you
-are opped or voiced in a channel, and you are messaging a client within that
-channel. See /quote help cnotice and /quote help cprivmsg for more
+Target change does not apply if you are opped or voiced in a channel, and
+you are messaging a client within that channel. This can be done explicitly
+using the CNOTICE and CPRIVMSG commands, see /quote help cnotice and /quote
+help cprivmsg, but is also implicit in a normal /msg, /notice or /invite.
$Id: tgchange.txt 6 2005-09-10 01:02:21Z nenolod $