ircu2/doc/features.txt

209 lines
6.9 KiB
Plaintext

Undernet server features.
-------------------------
This document is supposed to list the features that undernet supports and
provides to clients, and which version of ircu this was added. Additional
numeric replies should be added here too.
Extended Who information: (WHOX)
Version: unknown, but at least 2.10.07+
This is described in the file 'readme.who'
USERIP:
Version: unknown, but at least 2.10.07+
This works the same as userhost, but returns the IP instead, useful for
setting a ban on someones IP address instead of their nick.
usage:
USERIP nick[,nick...]
returns:
RPL_USERIP (307)
:server.name 307 target nick[*]=[+|-]user@host...
RPL_ISUPPORT:
version: 2.10.08+
This sends a numeric during client signon that lists various features that
ircu supports. This allows client and script writers to know what features
they can use, and various parameters about the irc server. The numeric
used is '005' to try and maintain some semblance of compatibility with
dalnet which has a similar feature. The 005 numeric may be split across
multiple lines if the length exceeds 512 characters.
The format is:
:servername 005 target feature1 feature2... :are supported by this server.
:servername 005 target feature200... :are supported by this server.
features are either a word describing the feature eg: 'SILENCE', or a word
describing the feature and an equals and a list of parameters.
eg: SILENCE=15 (says that we support silence, and we support up to 15 of
them per user), or FOO=12,3 (says we support FOO with parameters 12 and 3)
for example 2.10.08 lists:
:test.undernet.org 005 test SILENCE=15 WHOX WALLCHOPS USERIP CPRIVMSG
CNOTICE MODES=6 MAXCHANNELS=10 MAXBANS=30 NICKLEN=9 TOPICLEN=160
KICKLEN=160
NOTE: Versions prior to 2.10.08+ use numeric 005 as part of 'MAP', so
005 should be /not/ be used after the server registration has occured.
(ie: after END_OF_MOTD has arrived).
MAP:
Version: unknown, but since 2.9.30 at least, updated in 2.10.08
/map shows the servers as the server percieves them, who's connected
to who in a pretty display. In version 2.10.08 it also lists the
amount time time it takes a message to get /from/ a server to the local
server - this measures the one way lag only, in 2.10.08 it also lists
the number of clients that are currently on that server.
The lag estimation is very approximate and depends on people changing nick
and joining channels, so the less clients on a server the less reliable the
lag estimation is.
Map prior to 2.10.08 uses:
RPL_MAP 005
RPL_MAPMORE 006
RPL_MAPEND 007
Map changed in 2.10.08 to allow for ISUPPORT on numeric 005, the new
numerics are:
RPL_MAP 015
RPL_MAPMORE 016
RPL_MAPEND 017
WALLCHOPS:
Version: unknown, but since 2.10.07
WALLCHOPS sends a message to all channel operators (@)'s on a channel.
It does /not/ require you to be op'd (@'d) to do so. This is a feature.
syntax:
WALLCHOPS #channel :message
or:
NOTICE @#channel :message
this sends:
:user NOTICE @#channel :message
to clients that are @'d on the channel.
CPRIVMSG/CNOTICE:
Version: unknown, but since 2.10.07
CPRIVMSG/CNOTICE are a way around target limiting in recent undernet
servers. Undernet servers prevent you from sending messages to too many
people at once in an attempt to help cut down the amount of spam that
occurs on the network. Because there are several situations where you want
to send messages to lots of people that are on the same channel as you
(autogreet's and gamebots for example) an 'escape' was made in the form
of CPRIVMSG/CNOTICE. These allow you to send a privmsg/notice to a person
on a common channel if you are op'd (@'d) without incuring a target
penalty. If you see 'Target changed too fast' messages, you should
probably be using these commands.
Syntax:
CPRIVMSG #channel nick :Message
CNOTICE #channel nick :Message
Results are the same as for 'PRIVMSG' and 'NOTICE' respectively.
SILENCE:
Version: unknown, 2.9.32 at least.
Silence is a server side ignore. You can /silence +hostmask or
/silence +nick, to add someone to your silence list, or use /silence
-hostmask to remove it. /silence will list your 'silence list'.
you can /silence nick, to see someone elses silence list (useful for
helping someone). Silence is preferably used as a last resort as it
tends to use server CPU time. Undernet typically only allows 15 silences
per user. in 2.10.08+ this information is available in the RPL_ISUPPORT
line.
Syntax:
SILENCE +hostmask
SILENCE +nick
SILENCE -hostmask
SILENCE -nick
SILENCE nick
reply:
RPL_SILELIST 217
RPL_ENDOFSILELIST 218
User modes:
Version: various
Undernet supports these additional user modes:
+d: Deaf & Dumb. This user will not get any channel traffic. Used for
bots.
+k: This user cannot be kicked, deop'd or /kill'd. This usermode may only
be set by a server, it may not be set by a user. This is used by
undernet service bots (X/W/UWorld etc)
+g: List channel HACK:'s
+s: Server messages - takes a parameter of which masks to send, see
'snomask.html' for more details. (2.10.0+)
LIST:
Version: Unknown
List now takes various parameters to allow you to quickly and efficiently
find interesting channels. These are:
>n or <n show channels with less than or greater than 'n' users
respectively
C>n or C<n show channels that have existed for less than or greater than
'n' minutes.
T>n or C<n show channels that have had their topic changed in less than or
greater than 'n' minutes.
Additional Numerics:
RPL_LISTHELP 334
Additional Topic Numerics:
Version: Since the dawn of time.
Topic also lists who set it and when they set it.
Additional Numerics:
RPL_TOPICWHOTIME 333
Straight after the topic:
:server.name 333 #channel Isomer 923423442
where the number is seconds past 00:00 1970-01-01 that the topic was set.
INVITE list:
Version: 2.10.08+
/invite without any parameters lists which channels you have an outstanding
invite to (ie: an invite to a channel which you haven't joined)
Additional Numerics:
RPL_INVITELIST 336
RPL_ENDOFINVITELIST 337
NICK change:
Version: Since the dawn of time.
Undernet prevents you from changing nick on a channel while your banned.
Undernet prevents you changing nicks more than once per 30 seconds, you
get one 'free' nick change if you haven't changed nick recently.
Additional Numerics:
RPL_BANNICKCHANGE 347
RPL_NICKTOOFAST 349
Target limiting:
Version: Recent 2.10.07ish at least.
Undernet prevents you from changing 20 targets per 2 minutes. A target
is a 'Nick' or 'channel'. This is to prevent spam. If you message more
than 20 people or join more than 20 channels in two minutes then you'll
start getting 'Target change too fast' and will have to wait before you
can start talking. See CPRIVMSG/CNOTICE above for information on how to
avoid this.
Additional Numerics:
ERR_TARGETTOOFAST 349