User:Alexey kvirc/rfc

=Introduction=

Motivation
All NickServ-based services have basic common features and common syntax. But IRC client is unable to interact with them due to lots of translations, versions, etc. The goal of this draft – make possible for IRC Clients’ developers to understand services messages, and interact with them.

Services should send standard numeric messages instead of notices. Numerics should be in 800-899 range (as a less used range).

Conventions
The key words "MUST", "MUST NOT", "SHOULD", "SHOULD NOT", "MAY" in this document are to be interpreted as described in RFC-2119.

=Overview= Services should send numeric replies, where all meaningful parts should be message parameters, and not the text part. For example: :prefix 8xx ChanServ #channel FOUNDER NICK :is channel founder But not :prefix 8xx ChanServ :NICK is #channel founder Trailing part of the string may be varied and localized. =Services nicks= There are 5 standard services nicks – NickServ, ChanServ, MemoServ, BotServ, OperServ. Services administrator may add aliases to their name. But services must be reachable by standard nicks.

Services must be reachable by direct query to server, using their nick. For example by direct sending: CHANSERV PARAM1 PARAM2 …. Services may be extended, and new ones added with new functionality.

No one service is required. Any service can be disabled.

=Services replies= Services replies must contain standard service nick as the first param. Trailing part of the string may be varied and/or localized. :prefix 8xx MESSAGE_TARGET ChanServ #channel FOUNDER NICK :is channel founder

Need password
Tells, that client must identify with password

801 RPL_SERVICES_NEEDPASS :prefix 801 MESSAGE_TARGET SERVICE PASS_TARGET :password required Where PASS_TARGET – registered target. Nick or Channel.

Example: :prefix 801 Alexey NickServ Alexey :password required :prefix 801 Alexey ChanServ #kvirc :password required

Auth Ok
Indicates, that password accepted

802 RPL_SERVICES_PASSOK :prefix 802 MESSAGE_TARGET SERVICE PASS_TARGET :password accepted Where PASS_TARGET – registered target. Nick or Channel.

Example: :prefix 802 Alexey NickServ Alexey :password accepted :prefix 802 Alexey ChanServ #kvirc :password accepted

Password incorrect
Indicates, that password wrong

803 RPL_SERVICES_BADPASS :prefix 803 MESSAGE_TARGET SERVICE PASS_TARGET :password wrong Where PASS_TARGET – registered target. Nick or Channel.

Example: :prefix 803 Alexey NickServ Alexey :password wrong :prefix 803 Alexey ChanServ #kvirc :password wrong

Command Success
Indicates, that command successfully executed

804 RPL_SERVICES_COMMAND_SUCCESS :prefix 804 MESSAGE_TARGET SERVICE COMMAND :command ok Where COMMAND – last used command.

Example: :prefix 804 NickServ SET : command ok

Command Error
Indicates, that command successfully executed

805 RPL_ SERVICES _ COMMAND_ERROR :prefix 805 MESSAGE_TARGET SERVICE COMMAND ERRNO :error text Where COMMAND – last used command. ERRNO – error code.

Information about nick/channel
806 RPL_SERVICES_INFO
 * prefix 806 MESSAGE_TARGET SERVICE INFO_TARGET INFO_TAG :VALUE

Where INFO_TAG can be:
 * REGISTERED
 * USED

Example: :prefix 806 Alexey NickServ #kvirc REGISTERED :1000000 Where 1000000 is registration timestamp

End of information about nick/channel
Indicates end of information about nick/channel

807 RPL_SERVICES_INFO_END
 * prefix 807 MESSAGE_TARGET SERVICE INFO_TARGET :End of info

Example: :prefix 807 Alexey NickServ #kvirc :End of info

You must register the nick
Indicates that you must register the nick

808 RPL_SERVICES_ERROR_NEEDREGISTRATION :prefix 808 MESSAGE_TARGET SERVICE :Your nick must be registered first

Example: :prefix 808 Alexey NickServ : Your nick must be registered first

List command on MemoServ/BotServ
Some info from services.

809 RPL_SERVICES_COMMAND_LIST :prefix 809 MESSAGE_TARGET SERVICE :Text

Example: :prefix 809 Inviolatum MemoServ : No new messages.

List command end
Indicates end of info.

810 RPL_SERVICES_COMMAND_LIST_END :prefix 810 MESSAGE_TARGET SERVICE :End of memo

Example: :prefix 810 Inviolatum MemoServ :End of memo

Nick Status
811 RPL_SERVICES_NICKSTATUS

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

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. If no nickname is given, your status will be returned.

Example :prefix 811 Inviolatum 3

Channel Key
812 RPL_SERVICES_CHANSERV_CHANKEY

Returns the key of the given channel.



Example: :prefix 812 #kvirc qwerty

=Queries=

IDENTIFY
Syntax:  IDENTIFY

Identify currently used nick on services. The should be the same, as specified by REGISTER command.

 can be one of:
 * NickServ
 * ChanServ

Numeric Replies: RPL_SERVICES_PASSOK, RPL_SERVICES_BADPASS

INFO
Syntax:  INFO  []

Displays information about the given .

 can be one of:
 * NickServ
 * ChanServ

Numeric Replies: RPL_SERVICES_INFO, RPL_SERVICES_INFO_END

HELP
Syntax:  HELP  [argument1] [argument2] [...]

Shows services help for the given . If you provide an argument list, it will show an argument-dependent help.

Numeric Replies: RPL_SERVICES_HELP, RPL_SERVICES_HELPEND

REGISTER
Syntax: NickServ REGISTER password [email] Registers your nickname in the NickServ database. Once your nick is registered, you can use the SET and ACCESS  commands to configure your nick'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 nick later. (Note that ase matters! ANOPE, Anope, and  anope are all different passwords!)

The parameter email is optional and will set the email for your nick immediately. However, it may be required on certain networks. Your privacy is respected; this e-mail won't be given to any third-party person.

This command also creates a new group for your nickname, that will allow you to register other nicks later sharing the same configuration, the same set of memos and the same channel privileges. For more information on this feature.

Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

GROUP
Syntax: NickServ GROUP target password This command makes your nickname join the target nickname's group. password is the password of the target nickname.

Joining a group will allow you to share your configuration, memos, and channel privileges with all the nicknames in the group, and much more!

Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

LOGOUT
Syntax: NickServ LOGOUT This reverses the effect of the IDENTIFY command, i.e. make you not recognized as the real owner of the nick anymore. Note, however, that you won't be asked to reidentify yourself.

Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

DROP
Syntax: NickServ DROP [nickname] Drops your nickname from the NickServ database. A nick that has been dropped is free for anyone to re-register.

You may drop a nick within your group by passing it as the nick parameter. In order to use this command, you must first identify with your password.

Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

ACCESS
Syntax: NickServ ACCESS ADD mask ACCESS DEL mask ACCESS LIST Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you need to send an IDENTIFY command to make NickServ recognize you.

Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR, RPL_SERVICES_COMMAND_LIST, RPL_SERVICES_COMMAND_LIST_END

SET
Syntax: NickServ SET option parameters Sets various nickname options. In order to use this command, you must first identify with your password.

Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

RECOVER
Syntax: NickServ 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 nick. 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. This causes the IRC servers to disconnect the other user. This fake user will will remain online for one minute to ensure that the other user does not immediately reconnect; after that minute, 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 nick, your current address as shown in /WHOIS must be on that nick's access list, you must be identified and in the group of that nick, or you must supply the correct password for the nickname.

Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

RELEASE
Syntax: NickServ 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; this command gets rid of them sooner. In order to use the RELEASE command for a nick, your current address as shown in /WHOIS must be on that nick's access list, you must be identified and in the group of that nick, or you must supply the correct password for the nickname.

Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

GHOST
Syntax: NickServ GHOST nickname [password] Terminates a "ghost" IRC session using your nick. 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 nick, your current address as shown in /WHOIS must be on that nick's access list, you must be identified and in the group of that nick, or you must supply the correct password for the nickname.

Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

GLIST
Syntax: NickServ GLIST

Lists all nicks in your group.

Numeric Replies: RPL_SERVICES_GLIST, RPL_SERVICES_GLIST_END

STATUS
Syntax: NickServ STATUS nickname1,[[nickname2],...] Returns whether the user using the given nickname is recognized as the owner of the nickname. Up to sixteen nicknames may be sent with each command; the rest will be ignored. If no nickname is given, your status will be returned.

Numeric Replies: RPL_SERVICES_NICKSTATUS

SENDPASS
Syntax: NickServ SENDPASS nickname

Send the password of the given nickname to the e-mail address set in the nickname record. This command is really useful to deal with lost passwords. May be limited to IRC operators on certain networks. Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

REGISTER
Syntax: ChanServ REGISTER : Registers a in the ChanServ database. In order to use this command, you must first be a channel operator on the channel you're trying to register. The is used with the IDENTIFY command to allow others to make changes to the channel settings at a later time. The last parameter, which must be included, is a general description of the channel's purpose. Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

DROP
Syntax: ChanServ DROP Unregisters the named channel. Can only be used by channel founder, who must use the IDENTIFY command first.

Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

SET
Syntax: ChanServ SET [ ] Allows the channel founder to set various channel options and other information.

Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

ACL
Syntax: ChanServ ACL   [] [] ...

Manages access lists for the. There are several common access-lists:
 * SOP
 * AOP
 * HOP
 * VOP
 * Raw ACL management (level-based)

TODO: detailed description

 can be one of:
 * ADD
 * DEL
 * CLEAR
 * LIST

Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR, RPL_SERVICES_ACL_LIST, RPL_SERVICES_ACL_LIST_END

OP
Syntax: ChanServ OP [#channel [nick]] Ops a selected nick on a channel. If nick is not given, it will op you. If channel and nick are not given, it will op you on all channels you're on, provided you have the rights to. Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

DEOP
Syntax: ChanServ DEOP [#channel [nick]] Deops a selected nick on a channel. If nick is not given, it will deop you. If channel and nick are not given, it will deop you on all channels you're on, provided you have the rights to. Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

VOICE
Syntax: ChanServ VOICE [#channel [nick]] Voices a selected nick on a channel. If nick is not given, it will voice you. If channel and nick are not given, it will voice you on all channels you're on, provided you have the rights to. Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

DEVOICE
Syntax: ChanServ DEVOICE [#channel [nick]] Devoices a selected nick on a channel. If nick is not given, it will devoice you. If channel and nick are not given, it will devoice you on all channels you're on, provided you have the rights to. Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

HALFOP
Syntax: ChanServ HALFOP [#channel [nick]] Halfops a selected nick on a channel. If nick is not given, it will halfop you. If channel and nick are not given, it will halfop you on all channels you're on, provided you have the rights to. Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

DEHALFOP
Syntax: ChanServ DEHALFOP [#channel [nick]] Dehalfops a selected nick on a channel. If nick is not given, it will dehalfop you. If channel and nick are not given, it will dehalfop you on all channels you're on, provided you have the rights to. Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

PROTECT
Syntax: ChanServ PROTECT [#channel [nick]] Protects a selected nick on a channel. If nick is not given, it will protect you. If channel and nick are not given, it will protect you on all channels you're on, provided you have the rights to. Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

DEPROTECT
Syntax: ChanServ DEPROTECT [#channel [nick]] Deprotects a selected nick on a channel. If nick is not given, it will deprotect you. If channel and nick are not given, it will deprotect you on all channels you're on, provided you have the rights to. Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

OWNER
Syntax: ChanServ OWNER [#channel] Gives you owner status on channel. If channel is not given, it will give you owner status on all channels you're on, provided you have the rights to. Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

DEOWNER
Syntax: ChanServ DEOWNER [#channel] Removes your owner status on channel. If channel is not given, it will remove your owner status on all channels you're on, provided you have the rights to. Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

INVITE
Syntax: ChanServ INVITE channel Tells ChanServ to invite you into the given channel. Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

UNBAN
Syntax: ChanServ UNBAN channel Tells ChanServ to remove all bans preventing you from entering the given channel. Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

KICK
Syntax: ChanServ KICK [#channel [nick [reason]]] Kicks a selected nick on a channel. If nick is not given, it will kick you. If channel and nick are not given, it will kick you on all channels you're on, provided you have the rights to. Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

BAN
Syntax: ChanServ BAN [#channel [nick [reason]]] Bans a selected nick on a channel. If nick is not given, it will ban you. If channel and nick are not given, it will ban you on all channels you're on, provided you have the rights to. Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

TOPIC
Syntax: ChanServ TOPIC channel [topic] Causes ChanServ to set the channel topic to the one specified. If topic is not given, then an empty topic is set. This command is most useful in conjunction with SET TOPICLOCK. See /msg ChanServ HELP SET TOPICLOCK for more information. Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

CLEAR
Syntax: ChanServ CLEAR channel what Tells ChanServ to clear certain settings on a channel.

Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

GETKEY
Syntax: ChanServ GETKEY channel Returns the key of the given channel.

Numeric Replies: RPL_SERVICES_CHANSERV_CHANKEY, RPL_SERVICES_COMMAND_ERROR

SEND
Syntax: MemoServ SEND | memo-text Sends the named nick or channel a memo containing memo-text. When sending to a nickname, the recipient will receive a notice that he/she has a new memo. The target nickname/channel must be registered.

Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

SENDALL
Syntax: MemoServ SENDALL memo-text

Sends all registered users a memo containing memo-text.

Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

CANCEL
Syntax: MemoServ CANCEL {nick | channel} Cancels the last memo you sent to the given nick or channel, provided it has not been read at the time you use the command.

Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

CHECK
Syntax: MemoServ CHECK nick Checks whether the _last_ memo you sent to nick has been read or not. Note that this does only work with nicks, not with chans.

Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

LIST
Syntax: MemoServ LIST [channel] [list | NEW] Lists any memos you currently have. With NEW, lists only new (unread) memos. Unread memos are marked with a "*" to the left of the memo number. You can also specify a list of numbers, as in the example below: LIST 2-5,7-9 Lists memos numbered 2 through 5 and 7 through 9.

Numeric Replies: RPL_SERVICES_COMMAND_LIST, RPL_SERVICES_COMMAND_LIST_END

READ
Syntax: MemoServ READ [channel] {num | list | LAST | NEW} Sends you the text of the memos specified. If LAST is given, sends you the memo you most recently received. If NEW is given, sends you all of your new memos. Otherwise, sends you memo number num. You can also give a list of numbers, as in this example: READ 2-5,7-9 Displays memos numbered 2 through 5 and 7 through 9.

Numeric Replies: RPL_SERVICES_MEMO_READ, RPL_SERVICES_MEMO_READ_END

RSEND
Syntax: MemoServ RSEND {nick | channel} memo-text Sends the named nick or channel a memo containing memo-text. When sending to a nickname, the recipient will receive a notice that he/she has a new memo. The target nickname/channel must be registered. Once the memo is read by its recipient, an automatic notification memo will be sent to the sender informing him/her that the memo has been read.

Numeric Replies: RPL_SERVICES_MEMO_RSEND_READED, RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

DEL
Syntax: MemoServ DEL [channel] {num | list | LAST | ALL} Deletes the specified memo or memos. You can supply multiple memo numbers or ranges of numbers instead of a single number, as in the second example below. If LAST is given, the last memo will be deleted. If ALL is given, deletes all of your memos.

Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

SET
Syntax: MemoServ SET option parameters

Sets various memo options. option can be one of: NOTIFY Changes when you will be notified about new memos (only for nicknames) LIMIT Sets the maximum number of memos you can receive

Numeric Replies: RPL_SERVICES_MEMO_RSEND_READED, RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

INFO
Syntax: MemoServ INFO [channel] Displays information on the number of memos you have, how many of them are unread, and how many total memos you can receive. With a parameter, displays the same information for the given channel.

Numeric Replies: RPL_SERVICES_COMMAND_INFO, RPL_SERVICES_COMMAND_INFO_END

STAFF
Syntax: MemoServ STAFF memo-text

Sends all services staff a memo containing memo-text.

Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

BOTLIST
Syntax: BotServ BOTLIST

Lists all available bots on this network. Numeric Replies: RPL_SERVICES_COMMAND_LIST, RPL_SERVICES_COMMAND_LIST_END

ASSIGN
Syntax: BotServ ASSIGN chan nick

Assigns a bot pointed out by nick to the channel chan. You can then configure the bot for the channel so it fits your needs.

Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

UNASSIGN
Syntax: BotServ UNASSIGN chan

Unassigns a bot from a channel. When you use this command, the bot won't join the channel anymore. However, bot configuration for the channel is kept, so you will always be able to reassign a bot later without have to reconfigure it entirely.

Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

INFO
Syntax: BotServ INFO {chan | nick}

Allows you to see BotServ information about a channel or a bot. If the parameter is a channel, then you'll get information such as enabled kickers. If the parameter is a nick, you'll get information about a bot, such as creation time or number of channels it is on.

Numeric Replies: RPL_SERVICES_INFO, RPL_SERVICES_INFO_END

SET
Syntax: BotServ SET channel option parameters

Configures bot options. Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

KICK
Syntax: BotServ KICK channel option parameters

Configures bot kickers.

Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

BADWORDS
Syntax: BotServ BADWORDS channel ADD word [SINGLE | START | END] BotServ BADWORDS channel DEL {word | entry-num | list} BotServ BADWORDS channel LIST [mask | list] BotServ BADWORDS channel CLEAR

Maintains the bad words list for a channel. The bad words list determines which words are to be kicked when the bad words kicker is enabled.

BADWORDS ADD
The BADWORDS ADD command adds the given word to the badword list. If SINGLE is specified, a kick will be done only if an user says the entire word. If START is specified, a kick will be done if an user says a word that starts with word. If END is specified, a kick will be done if an user says a word that ends with word. If you don't specify anything, a kick will be issued every time word is said by an user.

Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

BADWORDS DEL
The BADWORDS DEL command removes the given word from the bad words list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.)

Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

BADWORDS LIST
The BADWORDS LIST command displays the bad words list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example: BADWORDS #channel LIST 2-5,7-9 Lists bad words entries numbered 2 through 5 and 7 through 9.

Numeric Replies: RPL_SERVICES_COMMAND_LIST, RPL_SERVICES_COMMAND_LIST_END

BADWORDS CLEAR
The BADWORDS CLEAR command clears all entries of the bad words list.

Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

SAY
Syntax: BotServ SAY channel text

Makes the bot say the given text on the given channel.

Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

ACT
Syntax: BotServ ACT channel text

Makes the bot do the equivalent of a "/me" command on the given channel using the given text.

Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

SERVADMIN BOT
Syntax: BotServ BOT ADD nick user host real BOT CHANGE oldnick newnick [user [host [real]]] BOT DEL nick

Allows Services admins to create, modify, and delete bots that users will be able to use on their own channels.

BOT ADD
Adds a bot with the given nickname, username, hostname and realname. Since no integrity checks are done for these settings, be really careful.

Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

BOT CHANGE
Allows to change nickname, username, hostname or realname of a bot without actually delete it (and all the data associated with it).

Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

BOT DEL
Removes the given bot from the bot list.

Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR

SERVADMIN SET
Syntax: BotServ SET channel {NOBOT|PRIVATE} {ON|OFF}

These options are reserved to Services admins: NOBOT Prevent a bot from being assigned to a channel PRIVATE Prevent a bot from being assigned by non IRC operators

Numeric Replies: RPL_SERVICES_COMMAND_SUCCESS, RPL_SERVICES_COMMAND_ERROR