home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 35 Internet
/
35-Internet.zip
/
dance414.zip
/
FAQ
< prev
next >
Wrap
Text File
|
1999-01-20
|
17KB
|
460 lines
Frequently Asked Questions about the Dancer bot - 17th of June 1998.
Table of contents
1. In general
1.1 Is Dancer based on <insert-name-of-another-bot-here>?
1.2 Why should I choose Dancer in preference to other bots?
1.3 What machine/OS does it need.
1.4 How do I report bugs?
1.5 How do I contribute?
1.6 How do I apply patches?
2. Running
2.1 How do I run it?
2.1.1 How do I compile it?
2.1.1.1 Problems when compiling
2.1.1.2 Fpl not found
2.1.2 Which files do I have to edit?
2.1.3 How do I start it?
2.2 Do I have to use the launch script?
2.3 It doesn't start.
2.3.1 The logfile contains a DEBUG statement.
2.3.2 The logfile contains an ERROR statement.
2.4 It doesn't recognize me.
2.5 My friend forgot his password. Can I find it somewhere?
2.6 I cannot dcc chat with it.
2.7 It crashes in mysterious ways.
2.8 How do I upgrade smoothly?
2.9 How do I make it register with Undernet X/W channel service?
2.10 How do I bind a dancer to a vhost?
2.11 How do I enable longer than 9 letter nicks?
3. Commands
3.1 It doesn't answer me if I talk to it from outside the channel.
3.2 How do I use <insert-arbitrary-command-here>?
3.3 Can I issue commands in public?
3.4 Can I redirect the output of a command to someone else?
3.5 Can I add my own commands?
3.6 Invite?
4. Fpl
4.1 What is fpl?
5. Files
5.1 Where can I get the latest version of Dancer?
5.2 Where can I find the fpl library?
5.3 Where can I find <external-program-being-used>?
===================================================================
1. In general
1.1 Is Dancer based on <insert-name-of-another-bot-here>?
No, Dancer was started entirely from scratch. It basically started out as
TCP programming experience. Many of the commands were inspired by the Mama
bot made by pjotr (sourcecode wasn't available, probably still isn't.)
1.2 Why should I choose Dancer in preference to other bots?
It contains many useful services to its users. You may have a more thorough
look at the commands SEEN, TELL, EXPLAIN, EXCHANGE, COUNTRY, CONVERT, TZ,
and TOP. Provided some external programs are present at your site, you can
also have online spell checker (SPELL), webster lookup (WEBSTER), DNS lookup
(HOST), email verification (VRFY), and more.
It is very configurable, either by the fixed settings in the dancer.config
file, or by the on-line SETtings, or by using the 99% C-alike fpl scripts.
It fights clonebots attack very well - it has already handled numerous
attacks by up to 20 clonebots from 4 different sites. Much effort has gone
into making efficient clonebot defences, while at the same time minimizing
unfortunate effects on the innocent user.
Future support is almost guaranteed - being a free product no absolute
guarantees are given, but because the development team consists of more than
one person it is unlikely to be discarded because one person drops out.
1.3 What machine/OS does it need.
Dancer is for Unix. It is being developed on SunOS and Solaris. It also has
compiled and run from Linux, NetBSD, IRIX, FreeBSD, HPUX, and Ultrix.
Furthermore, it works on Amiga.
1.4 How do I report bugs?
Send a very detailed report to the mailing list (include OS and bot
version). It gives any experienced user the opportunity to help and share
wisdom. Bug reports and requests for help in private emails are not as good.
1.5 How do I contribute?
Dancer is an open-source project, which means it is being written by
volountary authors on their spare time. Join the mailist list and discuss
new features and functions with the rest of us. Write additions and send
context patches to the project maintainer when done and thoroughly tested.
1.6 How do I apply patches?
Every now and then there are patches distributed that fix bugs or add
features to existing Dancers. To apply one of those patches to your version,
do as follows:
You must have the tool known as 'patch', and then preferably the GNU
version.
1. cd into your dancer source dir
% cd path/to/dancer/src
2. run patch with the patch file as input like
% patch < path/to/patch
===================================================================
2. Running
2.1 How do I run it?
There are three phases to get Dancer up and running the first time (or each
time you receive a new version.) First phase is to compile it; second phase
editing important files (this can be done via the install script); third
phase starting it.
2.1.1 How do I compile it?
All three steps - system configuration, compilation, and installment
are done in one go.
> make
2.1.1.1 Problems when compiling
SunOS Solaris (2.6 upwards usually with gcc versions 2.7.1 - 2.7.3)
-------------
Problem: gcc gives you the #error: "No DATAMODEL_NATIVE specified" and/or
warning: `NBBY' redefined.
Solution: Its time to upgrade your gcc to a new version. See also:
http://www.wins.uva.nl/pub/solaris/solaris2.html#q6.28
2.1.1.2 Fpl not found
- If the Makefile script doesn't do it for you:
If you have compiled fpl and the library wasn't found during the system
configuration checks (because it is unable to find libraries placed in
non-standard directories) you have to add it yourself.
It can also end up that the configure script does find your fpl library, but
that when using i.e gdb on the Solaris dancer, it doesn't find the library.
The following changes must be done _after_ the system configuration checks
(make configure), and _before_ compilation (make).
In config.h you have to find and change the line
/* #undef HAVE_LIBFPL */
to
#define HAVE_LIBFPL
In Makefile you have to add -lfpl to the LIBS variable, and
-L/path/to/your/libfpl (and also -R/path/to/your/libfpl on Solaris) to the
LDFLAGS variable.
- If things run the way they were designed to:
Invoking the command 'make configure' (or 'make') should already have made
the 'fplcheck' shell script run and search for libfpl for you. If it doesn't
find it by itself, it asks for a manually entered path. If that doesn't work
either, your system simply doesn't have fpl installed. Accept it or install
it.
2.1.2 Which files do I have to edit?
Using 'make install' (or 'make') pretty much edits the necessary files for
you. After that, your bot should be able to run.
If the above failed (or you just didn't do it) you have to...
Most important is 'dancer.config'. You _must_ edit the "server", "nick", and
"channel" fields. If you run 'dancer config', you will get a good standard
template written to stdout that we recommend you to start with.
Secondly you have to add yourself to the userlist in 'dancer.users',
otherwise Dancer will not recognize you at all.
If you want to use the 'launch.sh' script to start Dancer (which is highly
recommended -- see 2.2) you must edit the "path" variable to point to the
directory from where you are running it (if you are in doubt, try the shell
command 'pwd'.)
2.1.3 How do I start it?
From the directory where you want to run Dancer, type either the name of the
executable file (per default 'dancer') or use the 'launch.sh' script (see
also 2.2)
Dancer may quit IRC, due to server crashes, connections timeouts,
system shutdown, and bugs in Dancer. To ensure that it will reconnect
you can either run it from a shell loop (don't use 'launch.sh' in that
case) or from cron ('launch.sh' contains a short summary of the
syntax.)
2.2 Do I have to use the launch script?
No, you can start the bot directly with 'dancer'. The advantage of using the
launch script is that it will check if you already are running the bot, and
exit if so. This make it suitable to use in a cron job.
2.3 It doesn't start.
Make sure that your dancer.config and dancer.users are in the same directory
as the executable file and that they contain valid information.
2.3.1 The logfile contains a DEBUG statement.
If everything else fails try setting the environment variable DANCER_MYHOST
to the full name (host and internet domain) of your machine, ie. "setenv
DANCER_HOST breese.imada.ou.dk" (this assumes that the machine the bot runs
on is called "breese" and is located in the "imada.ou.dk" domain.) It may
also be a good idea to add this line to launch.sh if you run it from cron.
2.3.2 The logfile contains an ERROR statement.
The end of the logfile may show a few lines similar to this:
12.06.00 *** ERROR: (:Closing Link: [foobar@139.99.99.225] (Ping
timeout)) from irc.that-funny-server.com
12.06.00 *** Cleanup
12.06.00 *** No seen item changed, no save performed.
12.06.00 *** Exit
This is no stranger than it sounds. The 'ping timeout' message is an error
message the ircd server sent you because the bot did not respond properly
to the server within time. It is likely because your network connection to
the server is very bad at the moment. You could list more than one server
for the bot to use, which will make it move on and try the next one in
cases like this.
2.4 It doesn't recognize me.
Some commands are password protected. The default password is "pass". Type
"/msg <yourbot> pass pass" to authenticate.
Check if your host name is registered (SVIEW -A). Sometimes DNS fails and
you enter IRC with an IP numerics address instead of a hostname. To be on
the safe side register both types to your accounts, ie. you@*.site and
you@999.999.999.*
NOTE: the default password is possible to configure in the .config file and
thus you must change the commands suggested accordingly.
2.5 My friend forgot his password. Can I find it somewhere?
No, all passwords are encrypted. You cannot read his password, but you can
re-install the default password (which can be changed, but is "pass" in all
'factory default' bots) by using the DEFPASS command.
2.6 I cannot dcc chat with it.
If you're behind a firewall, try CLIENT. This command makes Dancer send a
dcc chat request to you instead.
If it says that you already have a connection or a pending attempt to get
one, you can abort it with CUT.
Sometimes, due to congestion of the network, it is unable to establish a
connection because of some TCP timeout value. In that case there's not much
else to do than to try again.
2.7 It crashes in mysterious ways.
First, remove the optimize (-O, -O2 or -O3) option from the compile flags.
(A lot of gcc-versions do generate bad executables when optimizing.)
If the bug remains, send us a report and include things like:
* the latest entries in the logfile
* possible trace-log
* details of how we should do to repeat it
If the crash generated a core file, enter 'gdb dancer core' (or if the crash
happens while you're running the bot through gdb) enter 'bt' and include
that output in your report. enter 'quit' to leave gdb again.
For systems with limited stack sizes (such as AmigaOS), we suggest you
enlarge the stack a lot before running Dancer to prevent getting problems
with that.
2.8 How do I upgrade smoothly?
Unpack the new archive (it will get extracted in a new directory (named
after the new version).
Compile the new version.
Read the CHANGES file carefully. Perform all actions that are mentioned in
it as must-do-things.
Rename the old executable and the dancer.config files (just to be able to go
back if wanted).
Copy the new executabable to the place of the old one.
Run 'dancer config' in the old directory. Redirect the output to a temporary
file. Edit the file according to your preferences and then save it as
'dancer.config'. Do note that it might contain new entries as well as old
ones may have been removed or got different comments.
Run the new one.
2.9 How do I make it register with Undernet X/W channel service?
Use FPL. Add this line to your dancer.fplconf
join: "" if (!strcmp("%u", "%n")) Do("PRIVMSG X@channels.undernet.org :pass [channel] [password]");
Replace [password] and [channel] with the appropriate strings.
2.10 How do I bind a dancer to a vhost?
Enter a line similar to 'myhost=192.168.10.255' in your normal config file.
Replace the above IP address with your own prefered one.
2.11 How do I enable longer than 9 letter nicks?
Edit your dancer.h, the lines of interest look like:
#define NICKLEN 9
#define NICKLENTXT "9" /*QUOTE(NICKLEN)*/
Change both of these to fit the maximum nick length of your network.
Recompile.
===================================================================
3. Commands
3.1 It doesn't answer me if I talk to it from outside the channel.
Dancer is a _channel_ bot. It ignores all commands from people it cannot see
on the channel. The exceptions are all CTCP, /invite, INVITE, and everything
sent through a dcc chat connection.
3.2 How do I use <insert-arbitrary-command-here>?
Dancer has a simple on-line help feature. HELP <cmd> gives a short
description of the command, and SYNTAX <cmd> summarize the available
arguments and options.
3.3 Can I issue commands in public?
Yes, start your command with at least the first 4 letters of the nickname of
the bot. Not all commands are publicly available. To use a public command
you need at least level 20, or at least level 10 and to be chanop. The
reason for this is that public commands should be used if the output is of
interest to more than just the one issuing it. See also 'HELP CMD'.
3.4 Can I redirect the output of a command to someone else?
Yes. Use "SHOW <nick> <cmd> <args>". Not all commands allow redirection of
their output.
3.5 Can I add my own commands?
Yes. It is possible to add commands through fpl. Some examples can be found
in the distribution.
3.6 Invite?
There are two kinds of invitations. Do not confuse these two!
(1) Inviting Dancer to a certain channel. This is used if you
want to move Dancer to another channel. It is done by the /invite
command (this is an ircII command and may be slightly different on other
clients.) Dancer will only react to /invites from users with level 50
and above. If you don't want Dancer to migrate to other channels, you
can turn this feature off with "SET INVITE OFF".
(2) Getting an invitation from Dancer to an invite-only channel.
This is used if you want to join an invite-only (+i) channel where
Dancer resides. It is done by sending the command "INVITE <your-passwd>"
to Dancer. Only users with level 10 and above are able to use this
feature.
===================================================================
4. Fpl
4.1 What is fpl?
Frexx Programming Language, FPL, is a shared library interpreting language
copyright (C) 1992-1998 by FrexxWare. FPL is Freeware and freely
distributable for non-commercial purposes only, including extensive
documentation and source code. Use within commercial products must be done
with written permission from the author.
FPL is entirely isolated from the rest of the software. FPL is only the
programming language and nothing else. FPL is OS independent. It can (and
will) be used under other Operating Systems than this.
For more information about FPL, fpl.library (Amiga shared library), fpl.DLL
(OS/2 dynamically linked library), fpllib.a (UNIX shared library), other FPL
versions, porting issues, bug reports, enhancement requests or anything else
regarding this subject, don't hesitate to get in touch with the author.
Author:
Daniel Stenberg <Daniel.Stenberg@sth.frontec.se>
===================================================================
5. Files
5.1 Where can I get the latest version of Dancer?
The official homepage of Dancer, which always contains the latest relevant
information, is at:
http://www.fts.frontec.se/~dast/dancer/
The official ftp site is:
ftp://ftp.dk.net/pub/network/irc/dancer/
5.2 Where can I find the fpl library?
http://www.fts.frontec.se/~dast/stuff/
5.3 Where can I find <external-program-being-used>?
For finding programs in general 'archie' is highly recommended. If 'archie'
isn't installed at your site you can try one of the web versions
(http://www.funet.fi/funet/archie/archieplexform.html.) You may also want
to try a web search (guide.infoseek.com, altavista.digital.com)
The following are examples of places where you can find some of the more
exotic programs used by Dancer. Basic programs like the sh shell, echo,
head, grep, etc. are not listed.
host -- DNS lookup
ftp://ftp.nikhef.nl/pub/network/host.tar.gz
vrfy -- Email verifier
ftp://ftp.nikhef.nl/pub/network/vrfy.tar.gz
ispell -- Spellchecker
http://fmg-www.cs.ucla.edu/geoff/ispell.html
webster -- English dictionary lookup
ftp://moose.cs.indiana.edu/pub/webster/webster.tar.Z