]> jfr.im git - solanum.git/blobdiff - doc/tgchange.txt
Add ratelimit for high-bandwidth commands.
[solanum.git] / doc / tgchange.txt
index 50e648e5a72e2aadbd019e71649e1eee4b6f036f..faea0090a321a9216f977befa38b85d7dcef5474 100644 (file)
@@ -2,37 +2,45 @@ Target Change for Messages
 Lee H <lee -at- leeh.co.uk>
 ---------------------------
 
+Reworked by Jilles Tjoelker, February 2010.
+Channel target change added by Jilles Tjoelker, August 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
-timeframe.
+restrictions are placed on how many different users and/or channels you can
+message in a set timeframe.  This also applies to invites (for the target
+user) and topic changes.
 
-Target change does not apply to channels, ctcp replies or messages to
-yourself.
+Target change does not apply to ctcp replies, messages to yourself, messages
+to services and joins.
 
-You will have a set number of 'slots', each different client you message
+You will have a set number of 'slots', each different target 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.
 
-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
+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
+a slot.
+
+When all slots are filled, messages to new targets will not be accepted.
+Messages to targets already filling a slot will be accepted.  If all slots
 are full, you will receive the ERR_TARGCHANGE numeric, number 707 in the
 form:
-:<server> 707 <yournick> <targetnick> :Targets changing too fast, message dropped
+:<server> 707 <yournick> <target> :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 or
+channel 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
-information.
+Target change does not apply if you are opped or voiced in a channel, and
+you are messaging that channel or a client within that channel.  The latter
+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 $