@database Emerod.guide
@Author D.F. Duck [12-Jan-98]
@Index INDEXNODE

@node "Main" " Golden Emerod v1.0"
                         
          Golden Emerod v1.0 by D.F. Duck www.wordbench.com/dfd/

             IRC bot written in ARexx for the Amiga computer.



                 @{"  Introduction   " link "Intro"} @{fg shine} · @{fg text} @{"  Requirements   " link "Requirements"}

                 @{" Install/Setup   " link "Install"} @{fg shine} · @{fg text} @{"  Running Emerod " link "Running"}  

                 @{"   Registering   " link "Register"} @{fg shine} · @{fg text} @{"     Credits     " link "Credits"}  

                 @{"     Support     " link "Support"} @{fg shine} · @{fg text} @{"  Future Plans   " link "Future"}  

                 @{"   Disclaimer    " link "Disclaimer"} @{fg shine} · @{fg text} @{"    History      " link "History"}  


@endnode

@node "Intro" "Introduction"

 Golden Emerod is an IRC channel bot written in ARexx by D.F. Duck for the
 Amiga computer. Golden Emerod has taken almost a year of coding, revising,
 and testing to make it what it is today.

 Golden Emerod is not a war bot. There are no flood or takeover commands.
 This bot was written to be a well mannered and personable channel bot.
 Although, if the bot is an IRCOP, it can stand up for itself fairly well.


 - Some Features -

o  Stand-alone, runs in a shell window and displays all channel activity.

o  10 user access levels.

o  Op friends when they join the channel.

o  Built in message delivery system allows leaving short messages to known
   users that are not currently online. The messages are delivered to them
   when they join the channel.

o  Keep track of the last time a known users was on the channel.

o  FAQ (Frequently Asked Question) database. View, Add, Delete. Option to
   send a FAQ to another user.

o  Do Aminet searches by keyword.

o  Built in monitor notifies bot operators of who is using the bot and what
   they are doing.

o  Automatic timed removal of any ban made by the bot.

o  Optional plugin commands that run as a background process so the bot is
   free to perform other tasks. (ain't multitasking wonderful? ¦)

o  Creates html log file of channel chatter including a URL grabber that
   automaticly converts URLs into hyper links. (Pro version only)

o  Two programs are included for local control of the bot, you don't have
   to be logged on IRC yourself to control it; EI is a one-shot command
   entry that sends the command to Emerod and exits (can be used from a
   cron). EIC is an input console that stays open and accepts your input
   of bot commands.

o  68 different commands avaiable in Pro version when bot is IRCOP.

o  If Golden Emerod has IRCOP status it knows it and adds several
   additional features including KILL, CONNECT, SQUIT and a psuedo-kline
   for really obnoxious trouble users. Can also send a GLine request to
   an uworld server if it has IRCOP access to one. (Undernet, ARCNet)

o  Can set the channel topic and modes. And can protect them from being
   changed by unknown or low level users.

o  Auto-reconnects to irc server when connection is lost.

o  Configuration files with many user defined options to customize the
   bot to suit your needs. Set up different configuration files for every
   irc servers you want to run the bot on.

o  Much more...

@endnode

@node "Requirements" "Requirements"
- Requirements to run Golden Emerod -

 o An Amiga Computer with at least 600k free memory.

 o ARexx version 1.2 or newer. Version 1.15 comes with AmigaOS 3.1.
   This includes rexxsyslib.library and rexxsupport.library which must be
   in your LIBS: assigned directory. ARexx (rexxmast) must be started
   before running Golden Emerod. 

 o A TCP stack and internet connection. Golden Emerod has been tested with
   AmiTCP and Miami.

 o The "askhost" command must be in a "path" (c: or amitcp:bin/ is good).
   The askhost command is part of the AmiTCP demo package available on
   aminet /comm/tcp/AmiTCP-demo-40.lha I don't know of anywhere else to get
   it seperatly.


@endnode

@node "Install" "Install / Setup"
Install / Setup

 Copy the Emerod directory and all its contents to wherever you want.
 Do NOT copy Emerod.library to your LIBS: assignment. Leave it in
 Emerod/libs/.

 Edit the Config and Data files to fit your needs.

                             @{"   Config File   " link "Config"}

                             @{"   Data Files    " link "Data"}

                             @{" StartEmerod.rexx" link "StartEmerod"}

                             @{"    EI & EIC     " link "EI&EIC"}

@endnode

@node "Running" "Running Emerod"

 In a Shell CD to the Emerod directory, then enter;

Emerod <configfile>

 Entering "Emerod ?" will give a list of available config files.

 If you want Emerod to open its own console window use @{"StartEmerod.rexx" link "StartEmerod"}.


                             @{"  Bot Commands  " link "Commands"}  

 ########################### IMPORTANT NOTE #############################

 The first person to access the bot is automaticly given administration
 access level 9. @{b}So be sure you are the first person to access the bot.@{ub}

 Log the bot onto the channel then Join the channel yourself and you will
 be given administration access. If you are already logged on before you
 start the bot, /leave the channel and /join again.

 ########################################################################


 There are several ways to address the bot. In a private message;

 /msg Botname <command>

 Or to the channel;

 !<command>

 Botname <command>

 Botname: <command>

@endnode

@node "StartEmerod" "StartEmerod.rexx"
- StartEmerod.rexx -

 Use StartEmerod.rexx if you want Emerod to open his own Console window.
 This script works nicely for starting Emerod in your user-startup.

 StartEmerod.rexx MUST reside in the Emerod main directory.

 There is a configuration file for it called /config/StartEmerod.cfg to
 define the console size and default Emerod config file. There are only
 two keywords; CONSOLE and DEFCFG;

   CONSOLE   console size
   top_edge/left_edge/width/height
   default is 0/10/640/100

   DEFCFG    default config file.
   default is localhost


 In a shell or in your user-startup enter;
rx <path>StartEmerod.rexx

 You can load an alternate config file by giving its name as an argument;
rx <path>StartEmerod.rexx <config> 

@endnode

@node "Config" "Configuration File"
- Config file -

 All config files reside in "progdir:config/"

 Any line in the config file starting with # as the first character will
be treated as a comment.

 Any keyword that you do not include in the config file will be set to the
 value show as default.
-------------------------------------------------------------------------

o  @{b}SERVER@{ub}
 args: ircservername/portnumber
 IRC server name and port number to log onto.
 default is localhost/6667

 You can have multiple SERVER settings in the same config file. Emerod will
 attempt to connect to the first one, if no connect then will try the next
 one, etc.

o  @{b}OPERCMD@{ub}	@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}
 args; nick passwd
 This is the nick and password for the OPER command when the bot has
 IRCOP status.
 default is none

o  @{b}OPERMYSELF@{ub}	@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}
 args; 0 or 1
 If an OPERCMD is set, should it be sent when the bot connects to the
 server to get its IRCOP status.
 0=no 1=yes
 default is 1

o  @{b}OPMYSELF@{ub}	@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}
 args: 0 or 1
 If the bot is IRCOP, should it give itself channel op when it joins a
 channel.
 0=no 1=yes
 default is 0

o  @{b}NICK@{ub}
 args: nick
 The nickname the bot wil log in with.
 default is RoBoT

o  @{b}USER@{ub}
 args: username
 The username to bot will log in with.
 default is robot

o  @{b}WHOIS@{ub}
 args: whois info
 The info that will be displayed when somone does a /whois on the bot.
 default is the version string.

o  @{b}USERINFO@{ub}
 args: text
 The info that will be displayed when somone sends a ctcp USERINFO request
 to the bot.
 default "/msg <botnick> help"

o  @{b}CHAN@{ub}
 args: channelname
 Channel to join on connect.
 default is #test

o  @{b}CHANKEY@{ub}
 args: keyword
 Will use this keyword when joining the default channel.
 default is none

o  @{b}GREET@{ub}
 args: text
 If you have this set then the bot will say "text" as soon as he joins the
 channel. This over-rides QUIET and will say it to the channel even if
 QUIET is set to 1.
 default is none

o  @{b}CMDCHAR@{ub}
 args: character
 The command character that lets the bot know you are talking to it.
 default is !

o  @{b}USERSFILE@{ub}
 args: userfilename
 Name of the users file to use. If one does not exist, it will be created
 in progdir:data/
 default is Emerod.users

o  @{b}USERSSAVE@{ub}
 args: number
 This tells Emerod how many changes to the usersfile before it backs the
 changes to disk. 1=save every change. 2=save every 2nd change. Etc.
 Usersfile saving is also timed; it is saved every half hour if no changes
 have been made to it, just for safety sake.
 default is 4

o  @{b}QUIET@{ub}
 args: 0 or 1
 Can I talk on the channel. If not, all replies will be sent in notices.
 0=talk 1=quiet
 default is 0

o  @{b}AUTOOP@{ub}
 args: 0 or 1
 Should I autoOp level 6+ users when they Join the channel.
 0=no 1=yes
 default is 1

o  @{b}AOPMENU@{ub}
 args: 0 or 1
 This will disable the AUTOOP menu command toggle and remove it from the
 help menu.
 AOPMENU 0    disables the option.
 Emerod will still auto op people when they join if AUTOOP = 1 but will
 turn the menu command off so it can't be toggled on/off by a user.
 default is 1

o  @{b}DEFTOPIC@{ub}
 args: default topic text
 This is the default topic to set on Join if DOTOPIC=1 and when the MODE
 command is used with no arguments.
 default is "/msg MYNICK help"

o  @{b}DOTOPIC@{ub}
 args: 0 or 1
 Should I set the channel topic to DEFTOPIC on Join. This only works if
 the bot is the first one on the channel, or if the bot has OPER.
 0=don't set topic 1=set topic on join
 default is 1

o  @{b}PROTOPIC@{ub}	@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}
 args: 0 or 1
 Protect channel topic. If set to 1 (on) when anyone below level 6 changes
 the topic they will be deop'd and the topic set back to what it was before
 they changed it. This only works, of course, if the bot has channel op.
 If set to 0 then it doesn't protect the topic.
 default is 0 (no protection)

o  @{b}DEFMODES@{ub}
 args: +-x[+-x+-x]
 Default channel modes to set when the bot joins the channel if DOMODES is
 turned on, or when the MODE command is used with no arguments.
 Each mode command must have the + or - in front of it. You can not stack
 commands like you do on the IRC.
 default is +t+n-s-i-p-m-l-k

o  @{b}DOMODES@{ub}
 args: 0 or 1
 Should the bot set the channel modes on Join. If this is set to 1 then the
 bot will "protect" the channel modes.
 0=no 1=yes
 default is 1

o  @{b}NOTEXT@{ub}
 args: text string
 Text to send a user that tries to use a command they don't don't have
 access to.
 default is "No way Jose!"

o  @{b}PONG@{ub}
 args: 0 or 1
 Should the bot reply to a "ping" to the channel with *PONG*.
 0=no 1=yes
 default is 1

o  @{b}LOCALCON@{ub}
 args: 0 or 1
 Open an Emerod Input Console at startup.
 0=no 1=yes
 default is 0

o  @{b}EICSIZE@{ub}
 args: top_edge/left_edge/width/height
 Customize the EIC consile size and placement. The syntax is standard CON
 size syntax.
 Example:  EICSIZE 0/0/640/100
 default is 0/10/640/45

o  @{b}AFINDHOST@{ub}
 args: ftp hostname
 Aminet ftp site for AFIND to use.
 default is ftp.wustl.edu

o  @{b}AFINDMAX@{ub}
 args: num
 Maximum number of lines to return from AFIND.
 default is 10

o  @{b}WALLOPS@{ub}
 args: 0 or 1
 Should Emerod recieve wallops or not.
 0=no 1=yes
 default is 0

o  @{b}INVISIBLE@{ub}
 args: 0 or 1
 Should Emerod be invisible or not.
 0=no 1=yes
 default is 0

o  @{b}SET6@{ub}
 args: low,high
 Low and high access a level 6 user can SET another user.
 Valid entries are 0 through 9. Low and high are seperated by a comma with
 no spaces.
 default is 2,5

o  @{b}SET7@{ub}
 args: low,high
 Low and high access a level 7 user can SET another user.
 Valid entries are 0 through 9. Low and high are seperated by a comma with
 no spaces.
 default is 2,6

o  @{b}SET8@{ub}
 args: low,high
 Low and high access a level 8 user can SET another user.
 Valid entries are 0 through 9. Low and high are seperated by a comma with
 no spaces.
 default is 0,7

o  @{b}SET9@{ub}
 args: low,high
 Low and high access a level 9 user can SET another user.
 Valid entries are 0 through 9. Low and high are seperated by a comma with
 no spaces.
 default is 0,9

o  @{b}BEEP@{ub}
 args: 0, 1, 2
 What should Emerod do when someone sends a CTRL-G (bell) to the channel.
 0 = Do nothing. 1 = Send user a notice asking them not to do that.
 2 = Kick the user from the channel.
 default is 2

o  @{b}PURGE_DAYS@{ub}
 args: number
 When Emerod is started and the usersfile is loaded, accounts older than
 "number" days old are purged.
 default is 60

o  @{b}PURGE3_DAYS@{ub}
 args: number
 When Emerod is started and the usersfile is loaded, level 3 accounts
 older than "number" days old are purged.
 default is 7

o  @{b}NO_PURGE@{ub}
 args: number number number ...
 When PURGE_DAYS kicks in and purges unused accounts, the levels defined in
 NO_PURGE will not be purged.
 default is 0 1 8 9

o  @{b}CHATLOG@{ub}	@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}
 args: 0 or 1
 Should Emerod start logging the channel chatter to an html file as soon as
 the channel is joined.
 0=don't start log, 1=do start log.
 default is 0

o  @{b}CHATFILE@{ub}	@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}
 args: filename
 The full path and filename of the chat log file.
 default is ram:Chat<portnumber>.html

o  @{b}CHATTITLE@{ub}	@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}
 args: title text
 Title text for html log file.
 default is  IRC Chat Log

o  @{b}NOTENEW@{ub}
 args: 0 or 1
 Should Emerod say "hello" to unknown users when they join the channel.
 0 = no don't greet unknown users.
 1 = greet unknown users.
 default is 0

o  @{b}KICKDEF@{ub}
 args: kick text
 The default kick reason.
 default is Goodbye

o  @{b}KILLDEF@{ub}	@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}
 args: kill text
 The default kill reason.
 default is Goodbye

o  @{b}BANTIME@{ub}
 args: minutes
 When Emerod sets a BAN on someone, after this number of minutes the ban
 will be automaticly removed.
 default is 15

o  @{b}TRACECMD@{ub}	@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}
 args: traceroute command
 Defines what command to use for the TRACE command.
 If you want to use another traceroute command, such as miamitraceroute,
 then enter its path and filename here.
 default is "traceroute"

o  @{b}ASKHOSTCMD@{ub}	@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}
 args: askhost command
 Defines what command to use for the ASKHOST command.
 If you want to use another askhost command. The askhost command is part
 of AmiTCP demo package available on aminet /comm/tcp/AmiTCP-demo-40.lha
 I don't know of anywhere else to get it seperatly.
 default is "askhost"

o  @{b}ADMINPASS@{ub}
 args: password
 Defines a password for the ADMIN command that allows emergency
 administration access.
 default is none

o  @{b}CLI_PASS@{ub}
 args: password
 If set then CLI command will require the password entered to work. This
 MUST be sent to the bot in a private message; /msg bot cli passwd command
 If you send the cli password command to the channel, the CLI command
 will be disabled.

 If you want the cli output to go to the channel use;
 /msg bot <cmdchar>cli passwd command

 If CLI_PASS is not set then CLI does not require any password.

 default is none

o  @{b}TELNET_SHELL@{ub}	@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}
 args: shell
 Define what shell command to use for the TELNET command. I don't use
 newshell on my computer so I put newwsh in here. If you set TELNET_SHELL
 to 0 then the TELNET will be disabled and removed from the help menu.
 default is newshell

o  @{b}TELNET_PASS@{ub}	@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}
 args: password
 An optional password for the TELNET command. As with CLI, if the password
 is sent to the channel rather than a /msg to the bot, telnet will be
 disabled and the password will be nulled.
 default is none

o  @{b}OWNER@{ub}
 args: your name & email address
 If OWNER is defined then the command will show in the command list.
 default is none (not on menu)

o  @{b}SERVERBOT@{ub}	@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}
 args: botname
 When used on an Undernet or ARCNet server and the bot has IRCOP status
 and access to the serverbot, then put the serverbot name here and when
 Emerod finds a level 0 user a GLINE command will be sent to the serverbot.
 default is 

o  @{b}YAWNTYPE@{ub}
 args: 0 | 1 | 2
 Defines "Yawn" action - when the channel is quiet for a half hour or
 more Emerod can say somthing to the channel to wake them up.
 Set to 0 it will send the random text fromthe data/yawn.text file.
 Set to 1 it will send a random cookie.
 Set to 2 it will randomly choose option 0 or 1.
 default is 0

 To disable Yawning, don't set YAWNTYPE and delete /data/yawn.text

o  @{b}YAWNDELAY@{ub}
 args: seconds
 This defines how long to the channel is quiet before the bot says sends
 some "wake up" text to the channel.
 default is 1800 (30 minutes). Minimum setting is 600 (10 minutes).

o  @{b}QUITCMD@{ub}
 args: quit command
 This is an optional command that does the same as QUIT. This is so you can
 define your own "cute" QUIT command like "GOAWAY" or "DIECOMMIEBASTARD".
 This command does not disable QUIT, it just makes two QUIT commands.
 default is none.


@endnode

@node "Data" "Data Files"
- Data Files -

 All data files reside in "progdir:data/"

 Some files will be created at runtime if they do not already exist.
 Other files, if not present, will turn off the Emerod feature they are
used for.
-------------------------------------------------------------------------

o @{b}connect.servers@{ub}	@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}

 This is the data file for the CONNECT command, which is only usefull if
your bot has OPER. The syntax is;

server_alias  real_server_address

o @{b}Emerod.users@{ub}

 This is the default name for the users file. You can set this in the config
file if you use Emerod to log on more than one IRC.

o @{b}faq.text@{ub}

 This is the file used to store FAQs. 

o @{b}help.text@{ub}

 This file is read in to create the HELP menu. You CAN NOT edit the command
levels or command names. But you can edit the command help text if you want.

o @{b}kick.text@{ub}

 This file contains "kick reasons" that are randomly used when a person has
level 0 or 1, or if someone uses the KICK or KBAN command on them.

 If this file does not exist the kick reason will default to "Goodbye".

o @{b}message.text@{ub}

 This file will be created at runtime and will hold all the MSG's sent.

o @{b}cookie.data@{ub}

 This is the cookie database file. A "cookie" begins with an \\ character
as the first char on the line. Each line can be up to about 230 characters
long. Each line is sent out as a Notice to the channel until the next \\
character is found.
 I pefer to keep cookies at one or two lines. Any more than that and you
take a chance of flooding the bot off.

 * If this file does not exist the COOKIE command will be removed from the
 Help menu.

o @{b}countrycodes.data@{ub}	@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}
 This is the data file for the COUNTRY command.

o @{b}exchange.data@{ub}		@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}
 This is the data file for the EXCHANGE command and will be generated
automaticly by the exchange plugin.

o @{b}lamer.text@{ub}

 This file contains keywords that a LaMeR might use on the channel. If
Emerod sees a low access user using one of these keywords, they are sent
a notice with the defined text for that word. If this file is not present
this feature will be disabled.

The format is;
LaMeWoRd#Text to send LaMeR
        ^
    pound sign between "word" and "response"

o @{b}momma.data@{ub}		@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}

 This is the "Yo Momma" database file.

 * If this file does not exist the MOMMA command will be removed from the
 Help menu.

o @{b}smile.text@{ub}

 This file contains random "smile" texts that will be sent as an "action"
when Emerod sees someone do a smiley-face on the channel. Emerod will only
smile once every 20 minutes or so.

 If this file does not exist then the Smile function is disabled.

o @{b}yawn.text@{ub}

 This file contains random "yawn" texts that will be sent if there has been
nothing sent to the channel in the awhile (time defined by YAWNDELAY in
config file).

 If the first word on the line is "say" then the following text will be sent
to the channel as though the bot typed it in normally.

 If the first word on the line is "me" then the following text will be sent
to the channel as an /me Action.

 If this file does not exist and YAWNTYPE is set to 0 in the config file
(default) then the Yawn function will be disabled.

o @{b}dates.data@{ub}

 If this file exists it will be scanned when the TIME or DATE command are
used. If there is a date in the file that matches todays date then the
text following the date will be appended to the TIME reply.

The format is;

DDMon Text to display.

example;

01JAN Happy New Year!
02FEB Ground Hog Day

o @{b}sinfo.data@{ub}

 If this file exists it will be read and appended to the SINFO reply.
Here is where you might enter your computer model, speed, graphics config-
uration, etc. All data must be in "one line" and be the first line in the
file. Any addional lines will be ignored.


@endnode

@node "Commands" "Emerod Commands"
- Emerod Commands -

Level [3]     - new user

 @{b}ABOUT@{ub}
 USAGE: ABOUT
 Ask Emerod to show version information.

 @{b}CREDIT@{ub}
 USAGE: CREDIT
 Show program credits. This command is not on the help menu, but you can
 add it yourself if you you want.

 @{b}OWNER@{ub}
 USAGE: OWNER
 Shows who is running this bot.

 @{b}HELP@{ub}
 USAGE: HELP [command]
 Get command menu or help on a specific command.
 Also works as ?

 @{b}STATUS@{ub}
 USAGE: STATUS [nick]
 Check your status.  Status 6 or better, you may check the status of other
 users.

 @{b}SEEN@{ub}
 USAGE: SEEN [nick]
 Ask Emerod when he has last seen a certain user.

 @{b}TIME@{ub}
 USAGE: TIME
 Ask Emerod what time it is in his time zone. @{b}DATE@{ub} is a "hidden"
 command that is the same as TIME.

 @{b}IDENT@{ub}
 USAGE: IDENT
 Set the nick Emerod recognise you by to your current nickname.

 @{b}TRYME@{ub}
 USAGE: TRYME [nick]
 Try it and find out.

Level [4]     - normal

 @{b}COUNTRY@{ub}	@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}
 USAGE: COUNTRY [abbreviation | country]
 Find a country name from an abbreviation, or abbreviation from a country
 name.

 @{b}EXCHANGE@{ub}	@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}
 USAGE: EXCHANGE <amount> <from> <to> | ? | UPDATE
 Exchange some currency types. EXCHANGE ? for a list of valid to/from
 types. EXCHANGE UPDATE forces the exchange rate data to be updated
 (lvl 7+)

 Valid from/to entries are; US=US Dollar, AU=Australian Dollar,
 UK=UK Pound, CA=Canadian Dollar, DM=German Mark, FF=French Franc,
 YEN=Japanese Yen, SF=Swiss Franc

 @{b}TEMP@{ub}
 USAGE: TEMP <C2F | F2C> <temperature>
 Convert Celsius to Fahrenheit degrees or Fahrenheit to Celsius degrees.

 @{b}FAQ@{ub}
 USAGE: FAQ <faqname> [nick]
 Ask me to display a specific Frequently Asked Question file from my
 database. Optionally send the faq to someone else (lvl 7+).

 @{b}FAQLIST@{ub}
 USAGE: FAQLIST - Have Emerod show you a list of the
 Frequently Asked Question files in the database.
 Also works as FAQS

Level [5]     - normal+

 @{b}AFIND@{ub}
 USAGE: AFIND <search key>
 Search Aminet for files matching the keyword.

 @{b}MSG@{ub}
 USAGE: MSG <nick> <message>
 Sends a one line email-like message to a user the next time they join the
 channel. If the user is currently on IRC the message will be sent to them
 in a private notice, and not saved.

 @{b}FMSG@{ub}
 USAGE: FMSG <nick> <message>
 Force send a one line message to a user that is currently online.

 @{b}MSGS@{ub}
 USAGE: MSGS
 Read messages stored on the bot for you.

 @{b}SINFO@{ub}
 USAGE: SINFO
 Display some system information.

 @{b}USERS@{ub}
 USAGE: USERS <level>
 Ask Emerod for a list of known users. If a level is included, I will only
 display users with that level access.

 @{b}VOICE@{ub}
 USAGE: VOICE [nick]
 Ask for channel voice for yourself or someone else.

 @{b}UNVOICE@{ub}
 USAGE: UNVOICE [nick]
 Ask me to remove voice from yourself or someone else.

Level [6]     - normal++

 @{b}COOKIE@{ub}
 USAGE: COOKIE
 Send a random cookie to the channel.

 @{b}MOMMA@{ub}		@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}
 USAGE: MOMMA <nick>
 Send a "Yo Momma" joke to nick.

 @{b}FAQADD@{ub}
 USAGE: FAQADD <name> <text>
 Adds a new FAQ to my database.

 @{b}OP@{ub}
 USAGE: OP <nick>
 Ask for channel operator status for yourself or somone else.

 @{b}DEOP@{ub}
 USAGE DEOP <nick>
 Ask Emerod to deop you, or somone else.
 Also works as DOP

 @{b}SET@{ub}
 USAGE: SET <nick> <newlevel>
 Change the status of another user. Status 3 is the new user's default.
 Status levels 6 or above are for channel-operators only and will be
 auto-op'd if it is turned on.

 Status 0 = psuedo-kline if bot is oper, else kban on join. 1 = kban on
 join. 2 = ignore / no-op.
 By default, status 6 can set another user from status 2 to 5, 7 can set
 from status 2 to 6. Status 8 can set a user from status 0 to 7. Status 9
 can set a user from status 0 to 9.

 @{b}SAY@{ub}
 USAGE: SAY <message>
 Makes Emerod talk to the channel with a text of your choice.

 @{b}NOTE@{ub}
 USAGE: NOTE <nick> <message>
 Makes Emerod send a private notice to someone with a text of your choice.

 @{b}ME@{ub}
 USAGE: ME <action>
 Makes Emerod perform an action in the channel.

 @{b}THINK@{ub}
 USAGE: THINK <text>
 Ask Emerod to do a think Action.
 note: Think® is stolen from DuRaN without permission.

 @{b}SLAP@{ub}
 USAGE: SLAP nick
 Will slap nick using a random slap saying. This command is not on the
 help menu, it is a "hidden" command. You could add it to the help menu if
 you want though.

Level [7]     - botop

 @{b}DELUSR@{ub}
 USAGE: DELUSR <nick nick nick...> or <nick account#>
 Delete all accounts matching the given nickname(s), or delete a single
 account# if it matches the given nickname.
 Also works as DELUSER

 @{b}FAQDEL@{ub}
 USAGE: FAQDEL <name> [num]
 Removes a FAQ from Emerods database. If no number is specified then ALL
 faqs on the given subject will be deleted.

 @{b}INVITE@{ub}
 USAGE: INVITE <nick>
 Ask Emerod to invite nick to the current channel.

 @{b}OPALL@{ub}		@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}
 USAGE: OPALL
 Ask Emerod to give channel op to everyone.

 @{b}DOPALL@{ub}		@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}
 USAGE: DOPALL
 Ask Emerod to remove channel op from everyone.
 Also works as DEOPALL

 @{b}BAN@{ub}
 USAGE: BAN <nick>
 Ask Emerod to set a ban on nick.
 Emerod will remove the ban himself after a length of time defined in the
 config file.

 @{b}KICK@{ub}
 USAGE: KICK <nick> [reason | RANDOM]
 Kicks a user from the channel. If no reason is given then one will be
 randomly picked from the "data/kick.text" file. If this file doesn't exist
 then the default kick reason is "Goodbye".

 @{b}KBAN@{ub}
 USAGE: KBAN <nick> [reason | RANDOM]
 Bans and kicks a user from the channel.
 Emerod will remove the ban himself after a length of time defined in the
 config file.

 @{b}UNBAN@{ub}
 USAGE: UNBAN <nick>
 Removes a standard *!*user@*.machine.domain ban (like the ones Emerod
 makes)

 @{b}AUTOOP@{ub}
 USAGE: AUTOOP
 Toggles Emerods Auto-Op feature on and off.  When ON, Emerod will op
 people joining the channel that have status 6 or better.

 @{b}TALK@{ub}
 USAGE: TALK
 Toggles whether Emerod can talk on the channel or not. A "hidden" command
 is @{b}SHUTUP@{ub} which will toggle TALK to OFF.

 @{b}NICK@{ub}
 USAGE: NICK <nick>
 Change the bots nickname.

 @{b}REPORT@{ub}
 USAGE: REPORT
 Ask Emerod for a report of his status and settings.

 @{b}UPTIME@{ub}
 USAGE: UPTIME
 Ask Emerod to report how long he have been running.

 @{b}LOG@{ub}	@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}
 USAGE: LOG <START | STOP | PAUSE | ?>
 Toggle Chat Logging ON/OFF or PAUSE. ? to check current Logging state.

 @{b}MODE@{ub}
 USAGE: MODE [+|-]b [<nick>[!<user>[@<host>]]]
        or <nick> [+|-]<umodechars>

 @{b}MOVE@{ub}
 USAGE: MOVE #<channel>
 Ask Emerod to move to a new channel.

 @{b}TOPIC@{ub}
 USAGE: TOPIC <new topic text>
 Ask Emerod to change the channel topic. If no text argument is given,
 Emerod will set the topic to the "default topic".

 @{b}CONNECT@{ub}	@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}
 USAGE: CONNECT <server_alias>
 Connect a server than has split. Enter CONNECT ? for a list of server alias.
 This is only usefull if your bot has OPER.

 @{b}PING@{ub}
 USAGE: PING <nick>
 Ask me to send a ping request to nick. With no argument I will ping you.

 @{b}ASKHOST@{ub}	@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}
 USAGE: ASKHOST <nick | address>
 Askhost nicks host or given address.

 @{b}FINGER@{ub}	@{bg fill} @{fg shine}Not in Demo@{fg text} @{bg back}
 USAGE: FINGER <nick | address>
 Finger nicks host or given address.

 @{b}TRACE@{ub}	@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}
 USAGE: TRACE <nick>
 Traceroute nick's host.

 @{b}MONITOR@{ub}
 USAGE: MONITOR [? | NAMES]
 Toggle bot usage monitor ON/OFF. Including ? will display your monitor
 ON/OFF status. Including NAMES will display who currently has the monitor
 turned on.

 @{b}RESET@{ub}
 USAGE: RESET <config | ?>
 Emerod will quit and run himself again.
 With no argument Emerod will quit and run himself again using the current
 configfile. Including a configfile name he will quit and rerun using that
 config. To find out configfile names enter RESET ?

Level [8]     - co-admin

 @{b}RAW@{ub}		@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}
 USAGE: RAW <RAW IRC command>
 Execute a RAW IRC command.  Experts only!

 @{b}REHASH@{ub}
 USAGE: REHASH
 Makes Emerod reload all system configuration and data files.

 @{b}KILL@{ub}		@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}
 USAGE: KILL <nick> [reason | RANDOM]
 Ask Emerod to kill nick. Emerod must have IRCOP status for this to work.

 If the OPERCMD is not set in the config file then this command will not
 be shown on the HELP menu.

 @{b}SQUIT@{ub}		@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}
 USAGE: SQUIT <server_alias>
 Send a server quit command.

 If the OPERCMD is not set in the config file then this command will not
 be shown on the HELP menu.

 @{b}OPER@{ub}		@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}
 USAGE: OPER
 Have Emerod send the OPER command and get IRCOP status.

 @{b}UNOPER@{ub}	@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}
 USAGE: UNOPER
 Have Emerod remove his IRCOP status.

 @{b}QUIT@{ub}
 USAGE: QUIT
 Terminates Emerod.  There's no way to reload Emerod from remote, so use
 this with caution.

Level [9]     - administration

 @{b}ADMIN@{ub}
 USAGE: ADMIN <passwd>
 Get emergency administration access.

 @{b}CLI@{ub}
 USAGE: CLI [passwd] <shell command>
 Execute a shell command. An optional cli passwd can be set in the config
 file.

 @{b}TELNET@{ub}	@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}
 USAGE: TELNET [passwd]
 Open a telnet connection to a shell.  An optional telnet passwd can be
 set in the config file.

 @{b}EIC@{ub}		@{bg fill} @{fg shine}Pro only@{fg text} @{bg back}
 USAGE: EIC
 Open an Emerod Input Console.

@endnode

@node "EI&EIC" "EI & EIC"
- EI & EIC -

 EI is a one-shot input interface. As soon as the command has been seen to
 Emerod, EI will exit.

 Use: EI [cmdchar]<bot command>

 EI !time
 will cause Emerod to perform the TIME command to the channel.

 EI status DFDuck
 will cause Emerod to perform the STATUS command on DFDuck and will only
 be seen in the local shell Emerod is running in, and not on the channel.

 The quirk is, it will not perform the EI command until it sees "one more
 line" from the IRC. At worst, you will have to wait for a server ping to
 trip it.

 EIC is an input console for Emerod. You will see a > prompt. Enter a bot
 command and press return. The same above quirk EI has EIC also has. And
 using the bot command character or not is the same. To exit EIC enter a
 blank line.

 EIC can be started by Emerod at runtime by setting config file setting
 LOCALCON 1

 EIC could be copied to your Emerod directory, but anywhere in a PATH
 will do. EI can be copied anywhere you like, bin/ or c: or in the Emerod
 main directory.


 When using EI (Emerod Input) or EIC (Emerod Input Console), if you give
 the command as an argument without the bots command character will be
 treaded as though it was a /msg to the bot from itself. If you include
 your bots command character it will be treaded as though it was entered
 to the channel
@endnode

@node "Credits" "Emerod Credits"
- Golden Emerod Credits -

 Golden Emerod is written in ARexx by D.F. Duck www.wordbench.com/dfd/

 Golden Emerod was mainly beta tested by:
 Michael J. "Cap" Brenegan
 Adelgunde "Lil" Krüger

 Early testing by:
 Michel "Bitstorm" Labbé
 Roy "AK" Milican

 Additional help, suggestions and testing by:
 Christian "Joker" Birchinger           Johan "SmallOne" Bernhardsson
 Issac "Ikemo" Morris                   Allan "Drool" Versaevel
 Mark "DrStrange" Tierno                Skal "skal" Loret

 Special thanks to:
 Dr. Karl Bellve for supplying a server to test it on, and for not calling
 me too many bad names when things went wrong!
 Oliver "Olli" Wagner for setting up the mailing list for us.

 ARexx is Copyright ©1987 by William S. Hawes

 Golden Emerod is very loosly based on Bawt v0.1 by Dan J. Fraser

@endnode

@node "Support" "Golden Emerod Support"
- Golden Emerod Support -

 Upgrades of the external function library, existing plugins as well as
 new optional plugins will be available for free download on the Golden
 Emerod web page at "@{b}www.wordbench.com/dfd/emerod.html@{ub}". 

 This is where any new information on the progress of Golden Emerod will
 be posted.

 You will find an email link to D.F. Duck on the web page to send any bug
 reports or comments to.


 There is also a Golden Emerod mailing list to give us a forum to discuss
 issues related to Emerod, and where update and new release info will be
 posted.

 To subscribe send an email to emerod-request@vapor.com and place ADD in
 the body of the message. You will recieve a reply explaining how to post
 to the mailing list.


@endnode

@node "Register" "Registering Golden Emerod"
                    - Registration Information-

 The unregistered demo version of Golden Emerod will only load the first
 5 users in the usersfile. You can run one bot with the demo version.

 - There are two registered versions of Golden Emerod, Lite and Pro. -

 The Lite version is a fairly bare-bones bot without a lot of bells and
 whistles and has no IRCOP commands. The Lite version will allow you to
 run two bots at once.

 The Pro version includes all commands listed in this guide, all the
 plugins, bell & whistles, IRCOP commands, and can run up to 10 bots
 at once.
 



      - Golden Emerod is being distributed by CL International -



  - U.S. Registration Site -             - Euro Registration Site -

  Michael J. Brenegan                    Gundi Krüger 
  28 Ward Place                          Drahtzugstrasse 54 
  West Haven, CT                         CH - 4057 Basel 
  06516  USA                             Switzerland 

  email:  mbrenegan@worldnet.att.net     email:  akrueger@access.ch




            @{"       Run Golden Emerod Registration Tool       " system "EmerodRegTool"}





                         - Golden Emerod Lite -

                U.S. Dollar $15 email / $20 snail mail
                Swiss Franc  20       /  30

                One free upgrade via email.              
                $10/15SFr for each additional upgrade.

                $5/10SFr for first upgrade via snail mail.
                $15/20Sfr for each additional upgrade. 




                         - Golden Emerod Pro -

                U.S. Dollar $35 email / $40 snail mail
                Swiss Franc  50       / 60

                One free upgrade via email.
                $15/20SFr for each additional upgrade.

                $5/10SFr for first upgrade via snail mail.
                $20/30SFr for each additional upgrade.


@endnode

@node "Future" "Future Plans"
- Future Plans for Golden Emerod -

 o Ability to join multiple channels.

 o Option to log on the irc as a server rather than a client.

 o File Server

 o Ability to send short emails to known users. (built in smtp)

 o Definable command names and levels.

 o Auto-detect new plugins and add it to the command list.

 o Channel flood protection plugin.

 o More stuff that I can't remember at the time of this writing...

@endnode

@node "Disclaimer" "Disclaimer"
                        - Disclaimer -

 Neither the author of Golden Emerod or CL International is in no way
 responsible for any and/or all damages that may result from the use or
 misuse of Emerod or any files associated with Golden Emerod.

 This product is released "as is" with no warrenties either expressed or
 implied as to its quality or usefulness, or to the completness or
 accuracy of these documentations.

@endnode

@node "History" "Golden Emerod History"

 1.0 Demo 5 [12-Jan-98]
 ~~~~~~~~~~~~~~~~~~~~~~
 o Trimmed Log: display in REPORT to maximum 20 characters

 o Added ChanOP: YES|NO and IrcOP: YES|NO display to REPORT. IrcOP only
   shows up in the registered Pro version.

 o Fixed a bug when using REHASH that caused the bot forgot if it had
   channel OP and IRCOP status.

 o Added optional progdir:data/sinfo.data file for adding things like
   computer model, speed, etc. If this file exists it will be read and
   appended to the SINFO reply.

 o Fixed SINFO showing CPU incorrectly for 040 and 060 users. Also added
   (back in) FPU display.

 o Added optional progdir:data/dates.data file that appends a line of text
   after the TIME reply if there is a matching date in the data file.

 1.0 Demo 4 [07-Dec-97]
 ~~~~~~~~~~~~~~~~~~~~~~
 o Fixed some problems with MONITOR.

 o REPORT now shows the actual server name rather than the server name from
   the config file.

 o Added multiple server entries in the exaple config files so people can
   see how to do it without reading the docs <sigh>.

 1.0 Demo 3 [23-Nov-97]
 ~~~~~~~~~~~~~~~~~~~~~~
 o A little snip of code from the Pro version got left in the Demo,
   causing an error and exit. <ackk>

 o FAQADD caused an error and exit, only in the Demo version though.


 1.0 Demo 2 [13-Nov-97]
 ~~~~~~~~~~~~~~~~~~~~~~
 o Wasn't recognising server ERROR notices when trying to connect and the
   irc server was full.

 o Fixed a problem when the default channel mode included a key, and a low
   level or unknown user changed the mode.


 1.0 Demo   [02-Nov-97]
 ~~~~~~~~~~~~~~~~~~~~~~
 o First public demo sent to Aminet. Aminet was down so it wasn't
   available there till the 12th but a few people got it from the emerod
   web page.


@endnode

@NODE INDEXNODE "Index"
- Index -


                            @{"  Bot Commands   " link "Commands"}

                            @{"   Config File   " link "Config"}

                            @{"     Credits     " link "Credits"}

                            @{"   Data Files    " link "Data"}

                            @{"   Disclaimer    " link "Disclaimer"}

                            @{"    EI & EIC     " link "EI&EIC"}

                            @{"  Future Plans   " link "Future"}  

                            @{"    History      " link "History"}  

                            @{" Install/Setup   " link "Install"}

                            @{"  Introduction   " link "Intro"}

                            @{"  Requirements   " link "Requirements"}

                            @{" Running Emerod  " link "Running"}

                            @{"   Registering   " link "Register"}

                            @{"StartEmerod.rexx " link "StartEmerod"}

                            @{"     Support     " link "Support"}  


@endnode
