BotCommander/doc/botcommander.texinfo

350 lines
10 KiB
Plaintext

\input texinfo
@c vim:textwidth=80
@c Header
@setfilename botcommander.info
@include version.texinfo
@settitle BotCommander @value{VERSION}
@documentdescription
BotCommander manual for version @value{VERSION}
@end documentdescription
@setchapternewpage odd
@firstparagraphindent insert
@c Summary and Copyright
@copying
This manual is for BotCommander
(version @value{VERSION}, @value{UPDATED}),
which is a specialized telnet client.
Copyright @copyright{} 2005, Gergely POLONKAI
@quotation
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,''
and with the Back-Cover Texts as in (a) below. A copy of the
license is included in the section entitled ``GNU Free Documentation
License.''
(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
this GNU Manual, like GNU software. Copies published by the Free
Software Foundation raise funds for GNU development.''
@end quotation
@end copying
@dircategory Network Applications
@direntry
* BotCommander: (botcommander).
@end direntry
@c Title and Copyright
@titlepage
@title BotCommander
@subtitle for version @value{VERSION}, @value{UPDATED}
@author Gergely POLONKAI (@email{polesz@@botcommander.hu})
@page
@vskip 0pt plus 1filll
@insertcopying
@end titlepage
@contents
@c Top node and master menu
@ifnottex
@node Top, About, , (dir)
@top BotCommander
@insertcopying
@end ifnottex
@menu
* About:: About the application
* Overview:: Features of BotCommander
* Installation:: How to install BotCommander
* Invoking:: Command line arguments
* Commands:: Internal commands
* Configuration:: The setup window
* Plans:: Plans in future versions
* Index:: Index
@end menu
@c Body
@node About, Overview, Top, Top
@chapter About BotCommander
@cindex about
@cindex homepage
You can reach the project's homepage at @url{http://www.botcommander.hu/}.
@cindex description
BotCommander is a small tool, originally written for the Gnome2 interface, to
remotely manage your @url{http://www.eggheads.org/, eggdrop} IRC bots.@*
Actually, it's acting as a small, configurable telnet client, but it will know a
bit more. For example, it has command-line history. While you cannot recall your
previous command in a simple telnet client, you will be able to do it with this
program. As it uses a text box for the command line, you can easily edit that
command.
The program uses @url{http://www.gnome.org/projects/gconf/, GConf2}
to store its configuration data. You can configure it to use a samba-like config
file instead, so you won't depend that heavily on @url{http://www.gnome.org/,
Gnome 2}, @xref{Installation}. In the near future I also plan
@url{http://www.w3.org/XML/, XML} config backend support.
On 28 August, 2006 I decided to drop this plan, and also the samba-like config
backend for a longer period. I think the application should first function, and
only after that I can create such addons.
@cindex status
The code is in alpha status. You can see how will it look like, also can use
for one connection, and decide if you will like it or not.
@cindex icon
BotCommander icon is from @url{http://www.eggheads.org/, Eggdrop}'s official
homepage. I will draw a new one, but until then, this is perfect.
@node Overview, Installation, About, Top
@chapter Features
BotCommander is a telnet client and much more. It can connect to one or more
@url{http://www.eggheads.org/, eggdrop} IRC bots, and give commands to them. In
the near future it will also possible to give the same command to each connected
bots.
Unlike the normal telnet client, this program has command line editing and
recalling possibilities. E.g if you have a long command line such
@code{
.process very much ugly paramters username
}
@*what you have to run multiple times, and in which you only change the username,
it is possible to recall the previous command, change the username, and send the
changed command. Thus, you don't have to enter the whole line again and again.
It uses @url{http://www.gtk.org/, GTK2} and some @url{http://www.gnome.org/,
GnomeUI} components, and stores its configuration data in
@url{http://www.gnome.org/projects/gconf/, GConf2}.
As it uses tabs, you can connect to many bots in one application, and at last
you won't have one icon for every bot in your task bar.
If you want (and you are at least have global +o in the bot), you can have a
sidebar on your tabs, in which you can see a list of the channels and the users
you have. For this, you will need to install the @file{botcommander.tcl} script
(can be found in the @file{eggdrop/} directory) in your bot (@code{.source
botcommander.tcl}). When the script loads, or when someone connects to the bot
via DCC
@node Installation, Invoking, Overview, Top
@chapter How to install?
@cindex installation
As BotCommander is currently in alpha phase, you cannot compile it with the
usual
@example
./configure
make
make install
@end example
sequence. First, you should edit the config.h file, and change the location of
the pixmaps dir. Then You should run @code{make check} to check if all the
required packages are installed on your system. At the moment these are
@itemize
@item
pkg-config
@item
gtk
@item
vte
@item
gconf2
@item
gnomeui2
@end itemize
If all is OK, simply run @code{make}. If nothing goes wrong, the binary will be
src/botcommander.
If you want to install BotCommander, copy the binary to /usr/local/bin. You
should change the @code{PIXMAPSDIR} variable in @file{config.h} to something
like @code{/usr/local/share/botcommander}, and recompile the whole thing.
@node Invoking, Commands, Installation, Top
@chapter Command line arguments
@cindex command line args
No command line arguments are defined yet. This means that BotCommander
currently accepts the @url{http://www.gnome.org/, Gnome} and
@url{http://www.gtk.org, GTK} standard command line parameters.
Yet I don't even have any plans for such parameters.
@node Commands, QUIT, Invoking, Top
@chapter Internal commands
@cindex command
BotCommander is a bit like an IRC client. As is, there are many commands built
in.
Most of the commands can be abbreviated. This means you can shorten a command
while it is still obvious.
For example, you can write @code{CON botname} instead of
@code{CONNECT botname}, as no other commands begin with ``CON''.
However, there are some ``dangerous'' commands which cannot be abbreviated. One
such command is QUIT.
@cindex internal command list
@menu
* QUIT:: Exits BotCommander
* CLOSE:: Closes the active tab
* CONNECT:: Connects to a bot or a host
* ASSIGN:: Assigns a bot to the active tab
* MODE:: Changes the mode in the current tab
* HISTLIST:: Lists the previously issued commands and sent messages
* BOTLIST:: Opens the bot list window
* PREFERENCES:: Opens the setup dialog
* DISCONNECT:: Disconnects the current tab
@end menu
@node QUIT, CLOSE, Commands, Commands
@section The QUIT command
@cindex command, QUIT
This command simply exists BotCommander.
If at least one tab is open with an opened connection, BotCommander will pop up
a dialog if the user really wants to exit.
These commands cannot be abbreviated.
@node CLOSE, CONNECT, QUIT, Commands
@section The CLOSE command
@cindex command, CLOSE
This will close the active tab. If a connection is opened in the tab,
BotCommander will pop up a dialog if the user really wants to do that.
@node CONNECT, ASSIGN, CLOSE, Commands
@section The CONNECT command
@cindex command, CONNECT
This will open a connection. You can use it in several ways.
If you have already assigned a bot to the tab with the ASSIGN (@xref{ASSIGN}.) command,
you can use it without parameters, so it will connect to the assigned bot.
If you have a bot in your bot list, you can connect to it with @code{CONNECT
botname}. It will also assign that bot to the tab.
You can use it in the form @code{CONNECT host port}.
@node ASSIGN, MODE, CONNECT, Commands
@section The ASSIGN command
@cindex command, ASSIGN
Assigns a bot to the active tab. You can use it in the form @code{ASSING
botname} or @code{ASSIGN host port}. After assigning a bot, you can use the
@code{CONNECT} command without parameters to connect to the bot.
@node MODE, HISTLIST, ASSIGN, Commands
@section The MODE command
@cindex command, MODE
Sets the mode in the current tab. It has only one parameter, the new mode
character. It can be B for BotCommander command mode, E for Eggdrop command mode
or M for Message mode.
You can see the current mode in the right side of the status bar.
@node HISTLIST, BOTLIST, MODE, Commands
@section The HISTLIST command
@cindex command, HISTLIST
It's a very useless command. Prints out all the commands and messages you
entered in the current tab.
@node BOTLIST, PREFERENCES, HISTLIST, Commands
@section The BOTLIST command
@cindex command, BOTLIST
This command simply opens the bot list dialog window.
@node PREFERENCES, DISCONNECT, BOTLIST, Commands
@section The PREFERENCES command
@cindex command, PREFERENCES
This command simply opens the setup dialog.
@node DISCONNECT, Configuration, PREFERENCES, Commands
@section The DISCONNECT command
@cindex command, DISCONNECT
This command forces the disconnection of the current tab. This is useful if you
try to connect a bot which doesn't respond, and you don't want to wait for the
"connection timeout" message before connecting to somewhere else.
@node Configuration, Plans, DISCONNECT, Top
@chapter The preferences window
@node Plans, Index, Configuration, Top
@chapter Future plans
@cindex plans
@itemize
@item
ADDBOT botname host port [nick] will add a new bot to the bot list
@item
DELBOT botname will remove a bot from the bot list
@item
Scripting. BotCommander will be able to run small scripts, perhaps in TCL
@item
Macros and command aliases, so you have to type only one command to achieve the
same as you type in many
@item
Windows port. This will be done after the whole application is functioning. So
this will be in the very far future, though I already got requests for it
@end itemize
@node Index, , Plans, Top
@unnumbered Index
@printindex cp
@c End
@bye