If a command needs the channel name then you must specify the channel
as the first argument to the command when private messaging the bot a
-command.
-
-The following sub sections are internally organized with commands that
-need a channel in one list, and commands that do not need a channel in
-another list.
+command. If, however, you are using the command in a channel you may
+omit the channel argument, and the bot will use the current channel.
@menu
* Bot Control Commands::
@node Bot Control Commands, Message Commands, Built-In Commands, Built-In Commands
@subsection Bot Control Commands
-@itemize
-
-@item @command{cycle} Yes Makes the bot leave and join
-@var{channel}.
+These commands are used to control the behaviour of the bot.
-@item @command{die} Makes the bot stop immediately.
+@deffn Command cycle channel
+Makes the bot leave and join @var{channel}.
+@end deffn
-@item @command{join} Makes the bot join @var{channel}.
+@deffn Command die
+Makes the bot stop immediately.
+@end deffn
-@item @command{nick} Makes the bot use nickname @var{nick}.
+@deffn Command join channel
+Makes the bot join @var{channel}.
+@end deffn
-@item @command{save} Saves the userlist.
+@deffn Command nick newnick
+Makes the bot use nickname @var{new-nick}.
+@end deffn
-@item @command{setfloodrate}
+@deffn Command setfloodrate messages-per-second
+Sets the flood rate to @var{messages-per-second}. The bot will
+consider users sending more than @var{messages-per-second} messges in
+a second to be flooding and will ignore them.
+@end deffn
-@item @command{setversion}
+@deffn Command setversion version-info
+Sets the string returned when someone requestions the version info of
+the bot.
+@end deffn
-@end itemize
@node Message Commands, Channel Control, Bot Control Commands, Built-In Commands
@subsection Message Commands
-@itemize
-
-@item @command{action} @option{do} Yes @var{USER}
-Causes the bot to perform the action @option{do} in the current
-channel.
+These commands cause the bot to send messages (e.g. sending a message
+to a channel or performing an action). For all commands @var{target}
+may be either a user or a channel.
-@item @command{do}
+@deffn Command action target do
+Makes the bot to perform the action @var{do} in a message sent to
+@var{target}.
+@end deffn
-@item @command{msg}
+@deffn Command do command
+Sends a raw irc command. @var{command} is the IRC command you wish to
+send (e.g. @samp{PRIVMSG #foo Hello!}).
+@end deffn
-@item @command{say} Yes Makes the bot say @var{message}
-on @var{channel}.
-
-@end itemize
+@deffn Command msg target message
+@deffnx Command say target message
+Makes the bot say @var{message} to @var{target}.
+@end deffn
@node Channel Control, Spylist Commands, Message Commands, Built-In Commands
@subsection Channel Control
-@itemize
-
-@item @command{ban} Bans @var{mask} or @var{nick} from
-@var{channel}. You need to be a trusted user to ban with a
-@var{mask}.
+@deffn Command ban channel mask
+Bans @var{mask} from @var{channel}. You must be a trusted user to ban
+using a host mask, but a normal user may ban individual nicks.
+@end deffn
-@item @command{deban} Yes Debans @var{mask} or
-@var{nick} from @var{channel}. You need to be a trusted user to deban
-with a @var{mask}.
+@deffn Command deban channel mask
+Debans @var{mask} from @var{channel}. You must be a trusted user to
+deban with a @var{mask}.
+@end deffn
-@item @command{deop} Yes Deops @var{mask} or @var{nick}
-on @var{channel}.
+@deffn Command deop channel mask
+Deops @var{mask} on @var{channel}.
+@end deffn
-@item @command{invite} Yes Invites @var{nick} on
-@var{channel}.
+@deffn Command invite nick channel
+Invites @var{nick} to @var{channel}.
+@end deffn
-@item @command{keep} Yes Sets the @var{modes} that the
-bot will keep for @var{channel}.
-
-@item @command{kick} Yes Kicks @var{mask} or @var{nick}
-out of @var{channel}, because of @var{reason}. You need to be a
-trusted user to use a @var{mask}.
-
-@item @command{kickban} Yes Bans then kicks @var{mask}
-or @var{nick} out of @var{channel}, because of @var{reason}. You need
-to be a trusted user to use a @var{mask}.
-
-@item @command{lock} Locks topic on @var{channel}.
-
-@item @command{mode} Yes Sends @var{mode string} as
-mode for @var{channel}.
-
-@item @command{op} Yes Ops @var{nick} on @var{channel}.
+@deffn Command keep channel modes
+Sets the @var{modes} that the bot will keep for @var{channel}.
+@end deffn
-@item @command{part} Yes Makes the bot leave @var{channel}.
+@deffn Command kick channel mask reason
+@deffnx Command kickban channel mask reason
+Kicks @var{mask} out of @var{channel}, because of
+@var{reason}. @command{kickban} also bans @var{mask}.You must be a
+trusted user to use a mask.
+@end deffn
-@item @command{tban} Yes Bans @var{nick} or @var{mask}
-from @var{channel} for @var{time} seconds.
+@deffn Command lock channel
+Locks topic on @var{channel}
+@end deffn
-@item @command{tkban} Yes Bans @var{nick} or @var{mask}
-from @var{channel} for @var{time} seconds, then kicks him/them because
-of @var{reason}.
+@deffn Command mode channel modes
+Sets mode of @var{channel} to the mode string @var{modes}.
+@end deffn
-@item @command{topic} Yes If no @var{topic}is given,
-prints @var{channel}'s topic. Otherwise, the bot will change
-@var{channel}'s topic to @var{topic}.
+@deffn Command op channel nick
+Ops @var{nick} on @var{channel}
+@end deffn
-@item @command{unlock} Yes Makes the bot unlock topic
-on @var{channel}
+@deffn Command part channel
+Makes the bot leave @var{channel}.
+@end deffn
+
+@deffn Command tban channel mask time
+@deffnx Command tkban channel mask time
+Bans @var{mask} from @var{channel} for @var{time}
+seconds. @command{tkban} also kicks the user. You must be a trusted
+user to use a mask.
+@end deffn
+
+@deffn Command topic channel [topic]
+Sets the topic in @var{channel} to @var{topic}. If @var{topic} is not
+supplied the current topic is sent as a notice to the user calling the
+command.
+@end deffn
-@end itemize
+@deffn Command unlock channel
+Unlocks the topic on @var{channel}
+@end deffn
@node Spylist Commands, User List Commands, Channel Control, Built-In Commands
@subsection Spylist Commands
@node User List Commands, Server List Commands, Spylist Commands, Built-In Commands
@subsection User List Commands
-@itemize
-@item @command{adduser}
+@deffn Command adduser mask
+Adds the user
+@end deffn
-@item @command{deluser} Removes @var{nick} or
+@command{deluser} Removes @var{nick} or
@var{mask} from the userlist.
+@deffn Command save
+Saves the userlist.
+@end deffn
-@item @command{userlist} Shows the bot's userlist
-@end itemize
+@command{userlist} Shows the bot's userlist
@node Server List Commands, Shit List Commands, User List Commands, Built-In Commands
@subsection Server List Commands
@node High Level Message Functions, Low Level Message Functions, Sending Messages, Sending Messages
@subsection ``High Level'' Message Functions
-@defun bot:say channel message
-Send a public or private @var{message} to @var{channel}.
-
-Sends a normal text message, as if a user had typed it in. The
-@var{dest} can be a nickname or a channel.
-@end defun
-
@defun bot:action channel message
Send an ``action'' type @var{message} to @var{channel}
@end defun
@c (2, 0, 0)
@defun bot:ban channel mask-or-nick
-Bans @var{mask} or @var{nick} from @var{channel}. You need to be a trusted
+Bans @var{mask} or @var{nick} from @var{channel}. You must be a trusted
user to ban with a @var{mask}.
@end defun
@c (2, 0, 0)
@defun bot:deban channel mask-or-nick
-Debans @var{mask} or @var{nick} from @var{channel}. You need to be a trusted
+Debans @var{mask} or @var{nick} from @var{channel}. You must be a trusted
user to deban with a @var{mask}.
@end defun
@c (2, 1, 0)
@defun bot:kick channel mask-or-nick [reason]
Kicks @var{mask} or @var{nick} out of @var{channel}, because of @var{reason}.
-You need to be a trusted user to use a @var{mask}.
+You must be a trusted user to use a @var{mask}.
@end defun
@c (2, 1, 0)
@defun bot:kickban channel mask-or-nick [reason]
Bans then kicks @var{mask} or @var{nick} out of @var{channel},
because of @var{reason}.
-You need to be a trusted user to use a @var{mask}.
+You must be a trusted user to use a @var{mask}.
@end defun
@c (1, 0, 0)