NickServ

From Afterxwiki

Introduction

NickServ allows you to "register" a nickname and prevent others from using it. NickServ is controlled through various commands which allow for registration and maintenance of nicknames. For a list of commands, type /msg NickServ HELP COMMANDS; to use a command, type /msg NickServ command, and for more information on a specific command, type /msg NickServ HELP command. If a registered nickname is not used for 30 days, the registration will expire and the nickname will be available for anyone to use.

NickServ Commands


REGISTER


Syntax:
REGISTER password [E-mail]

Registers your nickname in the NickServ database. Once your nickname is registered, you can use the SET and ACCESS commands to configure your nickname's settings as you like them. Make sure you remember the password you use when registering; you'll need it to make changes to your nickname later. (Note that case matters! FIDO, Fido, and fido are all different passwords!)
You may include an E-mail address when registering your nickname; you may also set one later using the SET EMAIL command. (If the NSRequireEmail is set, the E-mail address is mandatory.)
Guidelines on choosing passwords:
Passwords should not be easily guessable. For example, using your real name as a password is a bad idea. Using your nickname as a password is a much worse idea and, in fact, NickServ will not allow it. Also, short passwords are vulnerable to trial-and-error searches, so you should choose a password at least 5 characters long.





AUTH (requires the nickserv/mail-auth module)


Syntax:
AUTH code

Authenticates registration or change of E-mail for a nickname. To ensure that your E-mail address is correct, NickServ will send an message containing an authentication code to the E-mail address given when you register your nickname or change your E-mail address with the SET EMAIL command. This command allows you to confirm that you have received the message and continue using your nickname normally. Replace code in the command with the nine-digit authentication code given in the E-mail message.





SENDAUTH (requires the nickserv/mail-auth module)


Syntax:
SENDAUTH

Sends you a copy of the authentication code for your nickname after a REGISTER or SET EMAIL. If you accidentally delete or otherwise lose the message with the authentication code, you can use this command to have an extra copy sent to you.
To prevent abuse, this command may only be used once every 24 hours.





SETAUTH (requires the nickserv/mail-auth module)


Syntax:
SETAUTH nickname

Sets a new authentication code for the given nickname. The nickname's owner will have to use the AUTH command for the nickname before being allowed to identify again. If the nickname is currently in use, a notice will be sent to the user of the nickname and they will no longer be treated as identified for the nickname.





GETAUTH (requires the nickserv/mail-auth module)


Syntax:
GETAUTH nickname

Retrieves the authentication code associated with nickname, if one exists.





CLEARAUTH (requires the nickserv/mail-auth module)


Syntax:
CLEARAUTH nickname

Clears any authentication code associated with nickname, allowing the nickname to be used normally.





SENDPASS (requires the nickserv/sendpass module)


Syntax:
SENDPASS nickname

Sends an E-mail message containing the given nickname's password to the E-mail address registered for the nickname. The address must have first been confirmed using the AUTH command.
If encryption (see section 3-7) is in use, this command may not be available depending on the type of encryption used.





IDENTIFY


Syntax:
IDENTIFY password

Tells NickServ that you are really the owner of this nickname. Many commands require you to authenticate yourself with this command before you use them. The password should be the same one you sent with the REGISTER command.





DROP


Syntax:
DROP password

De-registers (drops) your nickname from the NickServ database. A nickname that has been dropped is free for anyone to re-register.
Note that when you drop a nickname, all nicknames linked to it will be dropped as well. To remove a single linked nickname, use the UNLINK command.
To prevent accidental use of this command, you must enter your password in order to drop your nickname.





DROPNICK


Syntax:
DROPNICK nickname

Drops the given nickname from the NickServ database, as well as any linked nicknames.
Limited to Services admins.





DROPEMAIL


Syntax:
DROPEMAIL pattern
DROPEMAIL-CONFIRM pattern

Drops all nicknames with an E-mail address matching the given pattern. If pattern is the single character "-", drops all nicknames without an E-mail address.
To prevent accidentally dropping nicknames via this command, it must be given twice: first using the DROPEMAIL command name, then using DROPEMAIL-CONFIRM with the same pattern. The DROPEMAIL-CONFIRM command must be given within 10 minutes of (by default, changeable via the NSDropEmailExpire option in modules.conf) and by the same person who gave the DROPEMAIL command. If more than 4 DROPEMAIL commands are given in a row, the oldest will be discarded and no longer recognized for a DROPEMAIL-CONFIRM command.
Limited to Services admins.





LINK (requires the nickserv/link module)


Syntax:
LINK nickname

Links a new nickname to the nickname you are currently using, creating a new "alias" for your nick. The new nick will be equivalent to your current nick in terms of access privileges and memos; for example, you can read memos sent to one of your linked nicks from any other one, and if one of your nicks has auto-op privileges in a channel, you will get auto-opped no matter which linked nick you use.
To cancel a link, use the UNLINK command.
In order to use this command, you must identify for your current nickname (using the IDENTIFY command), and the nickname to be linked must not currently be in use.





UNLINK (requires the nickserv/link module)


Syntax:
UNLINK nickname [FORCE]

Removes a link (alias) to your nickname created with the LINK command. You cannot unlink the nickname you are currently using; change to another linked nick first before using this command.
If you unlink the "main nickname" you have selected using the SET MAINNICK command, your current nickname will automatically be selected as the main nickname.
Services admins may add the FORCE option, which allows removal of a link to a nickname other than their own.





LISTLINKS (requires the nickserv/link module)


Syntax:
LISTLINKS

Lists all nicknames which are linked to your nick. The main nickname for the group of linked nicks will be indicated by a "*" to the left of the nick.
Services admins may list links for any nick by specifying the nick in the command.





ACCESS (requires the nickserv/access module)


Syntax:
ACCESS ADD mask
ACCESS DEL mask
ACCESS LIST

Modifies or displays the access list for your nickname. This is the list of user@host addresses which will be automatically recognized by NickServ as allowed to use the nickname. If you connect to IRC with an address on this list, you will not be affected by the nick's SET KILL setting, and if the SET SECURE option is disabled, you will be able to receive auto-op and other privileges in channels without using the IDENTIFY command.
The mask given to the ADD and DELcommands may contain wildcards (* or ?).
Examples:
ACCESS ADD achurch@*.dragonfire.net
Allows access to user achurch from any machine in the dragonfire.net domain.
ACCESS DEL achurch@*.dragonfire.net
Reverses the previous command.
ACCESS LIST
Displays the current access list.

Services admins may give a nickname parameter to the LIST command to display the access list for any nickname.





AJOIN (requires the nickserv/autojoin module)


Syntax:
AJOIN ADD channel
AJOIN DEL channel
AJOIN LIST

Modifies or displays the autojoin list for your nickname. This is the list of channels that you would like to automatically join, and takes effect whenever you identify to NickServ. You may only put channel names starting with "#" in the autojoin list (local channels cannot be added).
Note that the IRC server may prohibit you from entering some channels on the autojoin list, such as channels that have a channel key set (mode +k) or are invite-only (mode +i). However, if you have access to the ChanServ INVITE command on a registered channel, NickServ will automatically invite you into the channel.
Services admins can list the autojoin list for any nickname with the format LIST nickname.





SET


Syntax:
SET option parameters

Sets various nickname options. option can be one of:
PASSWORD
Set your nickname password
LANGUAGE
Set the language Services will use when sending messages to you
URL
Associate a URL with your nickname
EMAIL
Associate an E-mail address with your nickname
INFO
Set text to be displayed with the INFO command
KILL
Turn kill protection on or off
SECURE
Turn nickname security on or off
PRIVATE
Prevent your nickname from appearing in a /msg NickServ LIST
HIDE
Hide certain pieces of nickname information
TIMEZONE
Set the time zone to use for displaying times
MAINNICK
Set the nickname shown in channel access lists

In order to use this command, you must first identify with your password (/msg NickServ HELP IDENTIFY for more information).
Services admins can also set the option NOEXPIRE, with which nicknames can be prevented from expiring. Additionally, Services admins can set options for any nickname without entering a password, using the format SET nickname option parameters.





SET PASSWORD


Syntax:
SET PASSWORD new-password

Changes the password used to identify you as the nickname's owner.





SET LANGUAGE


Syntax:
SET LANGUAGE number

Changes the language Services uses when sending messages to you (for example, when responding to a command you send). number should be chosen from the list of supported languages displayed with /msg NickServ HELP SET LANGUAGE.





SET URL


Syntax:
SET URL url

Associates the given URL with your nickname. This URL will be displayed whenever someone requests information on your nickname with the INFO command.





SET EMAIL


Syntax:
SET EMAIL address

Associates the given E-mail address with your nickname. This address will be displayed whenever someone requests information on your nickname with the INFO command.





SET INFO


Syntax:
SET INFO test

Associates the given text with your nickname; it will be displayed whenever someone requests information on your nickname with the INFO command.





SET KILL


Syntax:
SET KILL {ON | QUICK | IMMED | OFF}

Turns the automatic kill protection option for your nickname on or off. With kill protection on, if another user tries to take your nick, they will be given one minute to change to another nick, after which they will be forcibly removed from IRC by NickServ.
If you select QUICK, the user will be given only 20 seconds to change their nickname instead of the usual 60. If you select IMMED, the user will be killed immediately without being warned first or given a chance to change their nick; please do not use this option unless necessary. (IMMED can be disabled; see the NSAllowKillImmed option in modules.conf.)





SET SECURE


Syntax:
SET SECURE {ON | OFF}

Turns NickServ's security features on or off for your nickname. With SECURE set, you must enter your password before you will be recognized as the owner of the nick, regardless of whether your address is on the access list. However, if you are on the access list, NickServ will not auto-kill you regardless of the setting of the KILL option.





SET PRIVATE


Syntax:
SET PRIVATE {ON | OFF}

Turns NickServ's privacy option on or off for your nickname. With PRIVATE set, your nickname will not appear in nickname lists generated with NickServ's LIST command. (However, anyone who knows your nickname can still get information on it using the INFO command.)





SET HIDE


Syntax:
SET HIDE {EMAIL | USERMASK | QUIT} {ON | OFF}

Allows you to prevent certain pieces of information from being displayed when someone does a NickServ INFO on your nickname. You can hide your E-mail address (EMAIL), last seen user@host mask (USERMASK), and last quit message (QUIT). The second parameter specifies whether the information should be displayed (OFF) or hidden (ON).





SET TIMEZONE


Syntax:
SET TIMEZONE {UTC-offset | time-zone | DEFAULT}

Sets the time zone to use for displaying times (such as a nickname or channel's last used time), instead of using the time zone Services is operating in; the DEFAULT setting can be used to return to Services' time zone. The time zone can be specified in one of two ways:

  • As a UTC offset, the time difference between your local time and UTC (Universal Coordinated Time, also known as GMT, Greenwich Mean Time). The offset is given as a "+" or "-" to indicate ahead of (east) or behind (west) UTC, followed by either a whole number of hours or a string in the form "hh:mm".
  • As a time zone name, such as "GMT" or "EDT". Not all time zone names are supported by Services, and some countries' time zones have the same names, so if you get an error or the time displayed by Services is wrong, use a UTC offset instead.

Note that Services will not automatically adjust for daylight savings time (summer time); you will have to adjust the time zone manually.
Examples:

SET TIMEZONE -5
Set the time zone to 5 hours behind UTC.
SET TIMEZONE +3:30
Set the time zone to 3 hours, 30 minutes ahead of UTC.
SET TIMEZONE JST
Set the time zone to Japan Standard Time (UTC+9:00).





SET MAINNICK (requires the nickserv/link module)


Syntax:
SET MAINNICK nickname

When you have several nicknames linked together, allows you to select which one is displayed in channel access lists. If you later unlink this nick, then a different one will be selected automatically.





SET NOEXPIRE


Syntax:
SET [nickname] NOEXPIRE {ON | OFF}

Sets whether the given nickname will expire. Setting this to ON prevents the nickname from expiring. If no nickname is given, sets the no-expire flag for your nick.
Limited to Services admins.





UNSET


Syntax:
UNSET {URL | EMAIL | INFO}

Allows you to clear the URL (URL), E-mail address (EMAIL), or information text (INFO) associated with your nickname.
If the NSRequireEmail option is set in modules.conf, then the E-mail address cannot be cleared (UNSET EMAIL will generate an error).
Services admins may use the UNSET command on any nickname by including the nickname before the option name, as with the SET command.





RECOVER


Syntax:
RECOVER nickname [password]

Allows you to recover your nickname if someone else has taken it; this does the same thing that NickServ does automatically if someone tries to use a kill-protected nickname.
When you give this command, NickServ will bring a fake user online with the same nickname as the user you're trying to recover your nick from, causing the IRC servers to disconnect the other user. This fake user will remain online for one minute (by default, changeable with the NSReleaseTimeout option in modules.conf) to ensure that the other user does not immediately reconnect; after that time, you can reclaim your nick. Alternatively, use the RELEASE command to get the nick back sooner.
In order to use the RECOVER command for a nickname, you must supply the correct password for the nickname, or you must already have identified to a nick linked to the given nick.





RELEASE


Syntax:
RELEASE nickname [password]

Instructs NickServ to remove any hold on your nickname caused by automatic kill protection or use of the RECOVER command. By default, such holds last for one minute (changeable with the NSReleaseTimeout option in modules.conf); this command gets rid of them sooner.
In order to use the RELEASE command for a nickname, you must supply the correct password for the nickname, or you must already have identified to a nick linked to the given nick.





GHOST


Syntax:
GHOST nickname [password]

Terminates a "ghost" IRC session using your nickname. A "ghost" session is one which is not actually connected, but which the IRC server believes is still online for one reason or another. Typically, this happens if your computer crashes or your Internet or modem connection goes down while you're on IRC.
In order to use the GHOST command for a nickname, you must supply the correct password for the nickname, or you must already have identified to a nick linked to the given nick.





INFO


Syntax:
INFO nickname [ALL]

Displays information about the given nickname, such as the nickname's owner, last seen address and time, and options. If you are identified for the nick you're getting information for and ALL is specified, you will be shown all the information, regardless of whether it's hidden or not.
When the nickserv/mail-auth module is in use, if the nickname's E-mail address has not yet been confirmed with the AUTH command, it will not be shown to anyone except the nickname owner and Services administrators, regardless of the nickname's SET HIDE EMAIL setting.
Services admins may use the ALL parameter with any nickname.





LISTCHANS


Syntax:
LISTCHANS

Lists the names and the total number of channels you have registered under your nickname.
Services admins may list channels for any nickname by giving the nickname with the command (for example, /msg NickServ LISTCHANS OtherNick).





LIST


Syntax:
LIST pattern [FORBIDDEN] [NOEXPIRE] [SUSPENDED] [NOAUTH]

Lists all registered nicknames for which either the nickname itself or the last seen address (in user@host format) match the given pattern. Nicks with the PRIVATE option set will only be displayed to Services admins. For Services admins, nicks with the NOEXPIRE option set will have a ! prepended to the nickname, those that are suspended will be prepended by a *, and those that have not yet been authenticated (with the AUTH command) will be prepended by a ?.
If the FORBIDDEN, SUSPENDED, NOEXPIRE, or NOAUTH options are given, only nicks which, respectively, are forbidden, suspended, have the NOEXPIRE option set, or have not yet been authenticated will be displayed. The options can be used in any order and in any combination. These options are limited to Services admins. (Note that the NOAUTH option is not available unless the nickserv/mail-auth module is loaded.)
If the NSListOpersOnly option is given in modules.conf, only IRC operators will be allowed to use this command.
Examples:
LIST joeuser@foo.com
Lists all registered nicknames last used by joeuser@foo.com.
LIST *Bot*
Lists all registered nicknames with Bot in their names (case insensitive).
LIST * NOEXPIRE
Lists all registered nicknames which have been set to not expire.





LISTEMAIL


Syntax:
LISTEMAIL pattern [FORBIDDEN] [NOEXPIRE] [SUSPENDED] [NOAUTH]

Lists registered nicknames like the LIST command, but matches on E-mail addresses instead of user@host addresses. See the LIST command help for more information.





STATUS


Syntax:
STATUS nickname...

Returns whether the user using the given nickname is recognized as the owner of the nickname. The response has this format:

nickname status-code

where nickname is the nickname sent with the command, and status-code is one of the following:

0
no such user online or nickname not registered
1
user not recognized as nickname's owner
2
user recognized as owner via access list only
3
user recognized as owner via password identification
Up to sixteen nicknames may be sent with each command; the rest will be ignored. No error message is generated if no nickname is given.





GETPASS


Syntax:
GETPASS nickname

Returns the password for the given nickname. Note that whenever this command is used, a message including the person who issued the command and the nickname it was used on will be logged and, if the WallGetpass configuration option is set in ircservices.conf, sent out as a WALLOPS or GLOBOPS.
If encryption (see section 3-7) is in use, this command may not be available depending on the type of encryption used.
Limited to Services admins.





FORBID


Syntax:
FORBID nickname

Disallows a nickname from being registered or used by anyone. May be cancelled by dropping the nickname.
Limited to Services admins.





SUSPEND


Syntax:
SUSPEND [+expiry] nickname reason

Prevents a nickname, and all nicknames linked to it, from being used or identified for by anyone. A nickname can be unsuspended with the UNSUSPEND command, which will allow it to be used as before. The expiry parameter is interpreted in the same manner as for the OperServ AKILL command.
Limited to Services admins.





UNSUSPEND


Syntax:
UNSUSPEND nickname

Allows people to use and identify for a previously suspended nickname.
Limited to Services admins.

User Modes

Mode
Description
r
Identifies the nick as being registered
s
Can listen to server notices
v
Receives infected DCC Send Rejection notices
o
Global IRC Operator (Set in Oper Block)
O
Local IRC Operator (Set in Oper Block)
B
Marks you as being a Bot
b
Can send and read ChatOps
i
Invisible (not shown in /who)
A
Server Admin (Set in Oper Block)
x
Gives user a hidden hostname
q
Only U:Lines can kick you (Services Admins Only)
a
Services Admin (Set in Oper Block)
g
Can send & read globops and locops
H
Hide IRCop Status (IRCop Only)
S
Used to protect Services Daemons
t
Says you are using a /vhost
C
Co-Admin (Set in Oper Block)
d
Makes it so you can not receive private messages
k
Can see all the /kill commands executed
N
Network Administrator (Set in Oper Block)
w
Can listen to wallop messages
h
Available for help (HelpOp) (Set in OperBlock)
G
Filters out all the bad words per configuration
W
Lets you see when people do a /whois on you (IRCops Only)