Levels of Access
There are four basic ways that commands may be issued:
Which type of Command to
DCC Commands - These commands are
given within a dcc chat session with the bot, and always begin with a dot
followed by the command. These commands form the majority of commands that
are built-in to the bot, prior to BotService's adding our scripts. Extensive
on-line documentation for these is available by using the dcc command:
Message Commands - These are commands
given by typing /msg followed by a space followed by the name of
the bot followed by a space followed by the command. Note that the shortcut
name for the bot cannot be used here. A few of these commands are also
built-in to a 'pure' eggdrop bot, but most are provided by our own scripts.
Direct Commands - These are commands
that appear in the channel, and none of them come with a pure eggy -- all
come from our Siliconbot script or other scripts that have been added to
the bot. A direct command consists of the name of the bot followed by a
space followed by the command. For example, if you want the bot that is
named Achilles to issue the command date, you would type:
Direct commands can be shortened even more by using the bot's 'shortcut'
name. For the bot Achilles, the shortcut is ac, and so the
above example could also be done this way:
In fact, there is a direct command that will have the bot tell you what
its shortcut is; example:
That will cause Achilles to send you a notice saying "My shortcut is
Public Commands - A public command
resembles a direct command, except that the bot's name is omitted. Again,
all these are provided by our Siliconbot script, and by a few other scripts
we put onto our bots.
Let's look at which form of a command to use.
In some cases, there is simply no choice. For example, the ident
command can be given only using the /msg form.
In many cases, there is a dcc form and a non-dcc form (/msg or direct
or public), and the decision there is simple: if you aren't already in
dcc with the bot, why bother using that form?
In many other cases, there is a /msg form and a direct form. Generally
speaking, the direct form is preferable, simply because it involves the
least amount of typing. However, there are occasions where the /msg form
is preferred. Here are some examples:
Suppose you want your bot, Sybil, to say 'hello all' in the channel
(#chatmaniac). You could give the direct command: sy say hello
all or the msg command: /msg sybil say #chatmaniac hello all
and both will have the same effect. However, no one will see you enter
the /msg form, and that is probably more effective than letting everyone
see that you told the bot to do it.
This example shows a case where two forms of a command exist, but you
have no choice on which one to use. Suppose you own #funfactory, and you
have the bot Sava in it, and Sava has ops. As a good channel owner with
one of our bots. you know that the channel mode +i is frowned upon by us,
and using that mode could result in your losing your bot. However, someone
in your channel is asking how to set channel modes and what they mean,
You decide to show them how to use Sava to set the channel into +i mode,
and you have every intention of immediately reversing it -- no problem.
So you give the direct command: sava mode +i to show the user how
its done and what effect it has. Unfortunately, at that point, your ISP
cuts you off, and your channel is left with Sava as its only op, and the
channel is +i --- you can't get in. Now you no longer have the option of
using a direct command to remove the +i, because you can't enter the channel
to issue it. But you can still give the /msg form: /msg sava mode #funfactory
-i This does the job, and lets you back in the channel, too.