Installing Bots

A bot can be installed by anyone who has 'master' access or higher on the bot; that means being a Local Senior Member or higher, or having a global 'm' flag on the bot.

For these notes, we will use an example in which the user Red_Sunset is requesting an installation of a bot in #chat on Dalnet. Italics will be used for parts of commands that need to be changed for use in an actual installation.

Step 1: Check the approval Command

In the relay channel, type: approval #chat

If the last entry in the result of that command does not say that this channel was approved, then no installation is to take place. If the other entries clearly say that no approval should have been granted, then no installation is to take place.

Step 2: Check the Channel's Ownership

Type: /msg chanserv info #chat
and: /whois Red_Sunset

Use that information, plus any other you can get, to decide whether or not the Red_Sunset you are talking with is actually the owner of #chat -- if you are not persuaded that (s)he is, then no installation is to take place.

Step 3: Check for Eggdrop Bots already in Channel

Type: /join #chat

If you notice that the channel is +i or +k or +l with a value that may prevent easy entry by a bot, and if you believe that this may be a common situation in this channel, then no installation is to take place and you should also then type, in #bothouse:
approve RESCINDED APPROVAL for #chat on Dalnet -- bad channel mode
or some reasonable variation theeof.

If you see a nick in the channel that might be a bot, check it. For example, if you see JaneBot there, type:
/ctcp JaneBot version
If it turns out to be a script bot, no problem. But if it's an eggdrop bot, then no installation is to take place and you should then type, in #bothouse:
approve RESCINDED APPROVAL for #chat on Dalnet -- eggdrop bot already in channel

Step 4: Bring in a Bot

Use the 'channels' command in the relay channel, to determine which bots are already on FEWER than seven channels, including the relay channel. Some bots are not available, regardless of how many channels they are on, namely: If more than one bot turns out to be available, offer the user his/her choice from among them. Suppose the bot Dacey is selected. Then, in the relay, type:
Dacey join #chat
It is a good idea, at this point, to dcc into the bot

Step 5: Add the Chanowner

First check to ensure that the channel owner's nick is no longer than 9 characters.
In our example, Red_Sunset is too long, by one character, so you would say something like "Red_Sunset, please change to a shorter nickname, temporarily" Suppose she changes her nick to Sunset23 (this may take a while, until she finds an unregistered nick, or another of her registered ones).

In #chat, you then type: Dacey adduser Sunset23 chanowner

On rare occasions, this won't work, even though the bot reports to the channel that it has worked. This usually happens because of a server desynch. Dcc into the bot (if you haven't already), and in that dcc chat, type:
.whois Sunset23
If the bot finds the user, then all is well, and you are finished Step 5. But if the bot says it can't find that user, then you have to add her in dcc. To do that, type:
/whois Sunset23
in order to get the user's current hostmask. Suppose it turns out to be then in dcc type:
.+user Sunset23 *!*Jennifer@*.optilink.comm
.chattr Sunset23 +fxp
.chattr Sunset23 +fmno #chat

Step 6: Get the Password Set

In spite of the fact that the bot notifies the user (when the adduser command is given) about how to set a password, and how to login, most channel owners need to be asked to do it, and shown how. So it's usually best to say, in #chat,
Sunset23, please set a password with Dacey
using: /msg Dacey pass <somepassword>
and bear in mind that the password must be at least 6 characters long.
Watch in dcc to see if the PASS command is issued, and when it is, use .whois Sunset23 to ensure that it took.

If it seems hopeless to get the channel owner to do this task, then get her to /msg you the password they want. Suppose they say they want the password to be NickiLives -- then in dcc type:
.chpass Sunset23 NickiLives
At this point, the user can revert to her original nickname.

Step 7: Get the bot added to Channel Services

How this is done, depends on the network, but in general consists of asking the channel owner to add the installed bot to the Channel Services bot at some particular level or higher, and then confirming that it has happened. Here is a brief summary of typical situations:
Network Channel Services Bot Minimum Level ChanOwner's Level Confirmation
Dalnet ChanServ AOP Founder cycle the bot
CyberChat ChanServ 20 30 cycle the bot
Sorcery ChanServ 8 15 cycle the bot
Othernet X 449 500 cspw (see below)
Chatnet K9 449 500 nothing
On nets where 'cspw' is needed, incluing Othernet, Undernet, and our own homenet, the channel owner has to specify a password to the channel services bot, that the bot will use. This can be any password the user likes, and the installer does not need to know what it is. However, the bot does need to know. The channel owner needs to type, in addition to adding the bot to the channel services bot, a command of the form:
/msg botnick cspw #channel password
By the way, the command name cspw is inspired by the phrase Channel Services PassWord.

Step 8: +seen

In #chat, type: Dacey chanset +seen

Step 9: Provide Help

Step 10: Record the Installation

In the relay channel, type:

Step 11: The End

After determining if the channel owner has any more questions, say something like
Enjoy, and thank you for using Nicki's BotService
and then part the channel.

Nicki's BotService, 2000