 
   ______)\    __  /\    ________/(____
  /______  \  /  \/__\  //      /     \\
   /   _/  \\/   \\   \//  |___//   |  /
  //   \    \\     \  \\   |   \   ___/_
 /_____/     \\ ___/___/________\_______\
 :::: /________\ ::::: [alice.tcl] ::::::

 alice.tcl v1.1.0 - by strikelight ([sL] @ EFNet) (6/18/02)

 =-=-=-=-=
 Contents:
 =-=-=-=-=

 1....contact.................contact information
 2....description.............about alice.tcl
 3....requirements............minimum eggdrop requirements
 4....installation............how to install the script
 5....usage...................how to use the script
 6....history.................changes made to script
 7....variable settings.......variable configuration descriptions
 8....faq.....................frequently asked questions
 9....greetings...............greetings and salutations

 =-=-=-=-=-=
 1. Contact:
 =-=-=-=-=-=

 - E-Mail: strikelight@tclscript.com
 - WWW   : http://www.TCLScript.com
 - IRC   : #Scripting @ EFNet

 Note: DO NOT CONTACT ME IF YOU HAVE NOT READ THE ENTIRE
       CONTENTS OF THIS README FILE. ANY MAILS THAT ARE ANSWERED
       IN THIS FILE WILL BE IGNORED. BE WARNED. I DO NOT HAVE
       TOLERANCE FOR THE LAZY.


 =-=-=-=-=-=-=-=
 2. Description:
 =-=-=-=-=-=-=-=

 This is a TCL to turn your bot into an artificially intelligent
 chatterbot.

 This is done via communication with a web engine (which does all
 of the real work) which is located at http://www.alicebot.org
 (not just alicebot.org anymore, since 1.1.0, other alice-engines
  are now used as well, depending on user's choice.)

 There was a project by the name of "Hippie" which was based
 on the ALICE engine, which used a command line program to get
 it's results, but it was never maintained and fell behind,
 and thus is not AIML 1.0 compliant (AIML is the markup language
 the ALICE engine uses to "understand" things and "reply")
 I hope to one day convert/create an AIML 1.0 compliant parser totally
 with TCL, but until that day, here is a script that will interface
 with the ALICE web engine.


 =-=-=-=--=-=-=-=
 3. Requirements:
 =-=-=-=--=-=-=-=

 1) Eggdrop1.1.5-Eggdrop1.6.x
 2) egghttp.tcl v1.0.0 or higher (TO BE LOADED BEFORE THIS SCRIPT!!)


 =-=-=-=--=-=-=-=
 4. Installation:
 =-=-=-=--=-=-=-=

 Place script in your scripts directory
 Edit the Configuration options at the top of the script
 Add the line: source scripts/alice.tcl to your eggdrop config (See Note)
 Note: !! _AFTER_ THE LINE THAT LOADS EGGHTTP.TCL !!
 Done.


 =-=-=-=-=
 5. Usage:
 =-=-=-=-=

 1) Message the bot and start conversing with it ..or..
 2) Say the bot's name in a (defined) channel along with some text
    and converse away from there
 3) Depending on configuration, bot's name may or may not be
    required at all times to get a response from it in channel.
 4) To have the bot stop talking to you in channel, tell it to
    "be quiet", or "shut up", or something along those lines. (seriously)


 =-=-=-=-=-=
 6. History:
 =-=-=-=-=-=

 (6/18/02)/v1.1.0 - New features.. skipped releasing 1.0.4 to public
                  - Can now choose which site to use as its alice-engine
                  - Two new variable settings:
                    1) alice_respondwithnick -> whether or not to always
                         respond with a user's nick
                    2) alice_respondrequirenick -> whether or not bot's
                         nick is always required to be said for it to
                         respond to a user.
                  - Bit more documentation included now (FAQ)

 (6/14/02)/v1.0.4 - Ok, I lied, no new features this version...
                  - Let's ignore msg commands (ie. passwords)
                  - Bug fix.. rogue 'return' statement outside of proc

 (6/13/02)/v1.0.3 - Fixed up strip_html procedure
                    (Next release should include new features)

 (5/22/02)/v1.0.2 - Fixed problem with &amp; html code
                  - Fixed a caching cookie problem

 (5/14/02)/v1.0.1 - Fixed typo for required egghttp.tcl version (1.0.0)
                  - Let's not let the bot have a conversation with itself
                    or other bots for that matter
                  - Update a user's cookies timestamp so they won't
                    be expired for not being used

 (5/13/02)/v1.0.0 - Initial Release


 =-=-=-=-=-=-=-=-=-=-=
 7. Variable Settings:
 =-=-=-=-=-=-=-=-=-=-=

 alice_cookiesfile
 - File to save alice-engine web cookies to

 alice_cookiesexpire
 - Define the number of days of inactivity at which cookies will expire

 alice_respondpriv
 - Allows or disallows your bot from responding to private messages
   (0 = No, 1 = Yes)

 alice_respondchan
 - Allows or disallows your bot from responding to public channel messages
   when its nick is mentioned (0 = No, 1 = Yes)

 alice_respondrequirenick
 - If alice_respondchan is set to 1, this will require (or not require)
   that the bot's nick be mentioned in all lines of a conversation by a user
   after the initial conversation engagement. (0 = No, 1 = Yes)

 alice_respondwithnick
 - If alice_respondchan is set to 1, to prevent confusion, you may turn this
   feature on, to have the bot respond with the user's nick that it is
   speaking to. (0 = No, 1 = Yes)

 alice_channels
 - If alice_respondchan is set to 1, define the channels that the bot will
   engage conversations in. Separate multiple channels with a space, or
   use "*" for all channels.

 alice_timeoutchat
 - If alice_respondchan is set to 1, define the number of minutes that
   the bot will wait for user's text in a channel after the first
   contact has been made, before giving up on the conversation.

 alice_engine
 - Define the engine to use to power the bot's responses
   This list is:
   0 = www.alicebot.org      (default: Alice)
   1 = www.agentruby.com     (Ruby)
   2 = ncd3.math.harvard.edu (math Alice: Sofia)
   3 = www.jaczone.com       (Cyber-Ivar)
   4 = Your own Alice Server

   For #4, you may download the software for such a server from
   http://www.alicebot.org, and while it does provide an IRC client as
   well as the web server, the IRC client lacks many features of
   a typical eggdrop, thus not making it very useful.
   As for setting up the server if you choose #4, I leave that to
   you and the docs that come with the software you download. I
   did NOT write it, so do NOT contact me for help with that.

 alice_url
 - If you choose #4 for the alice_engine, then enter the url
   to where you set it up, for this variable.


 =-=-=-=
 8. FAQ:
 =-=-=-=

 1) Q: Where can I download egghttp.tcl?
    A: http://www.TCLScript.com -- in the projects section

 2) Q: Why don't I get any response from my bot when I message it?
    A: You didn't load egghttp.tcl BEFORE loading alice.tcl in your
       eggdrop config file

 3) Q: Why do I keep getting 'I am restarting. Just a minute' as a response?
    A: Problems with the website that powers the script. This is beyond
       my control, so deal with it.

 4) Q: How do I set up my own alice-engine web server?
    A: Go to http://www.alicebot.org and read everything there and
       download the software from there as well.  Beyond that,
       I can not help you.  Look at the contact information in the
       software you download from there if you need assistance.
       Do NOT email -me- asking to help you set it up.

 5) Q: I think I have found a bug that isn't addressed here, what should I do?
    A: First, check the website (www.TCLScript.com) for the latest version,
       and also check the news box on the main page.  If the problem still
       persists and you are positive it isn't addressed in any of the
       formentioned locations, then you may e-mail me.


 =-=-=-=-=-=-=
 9. Greetings:
 =-=-=-=-=-=-=

 - eRUPT, G0mp, mikee, MORA, oiad, prefect, raeky, Wcc


 WARNING: Again, DO NOT EMAIL ME IF YOU HAVE NOT READ THE ENTIRE
          README FILE. ANY QUESTIONS ASKED THAT ARE ANSWERED ABOVE WILL
          BE IGNORED.  I HAVE NO TOLERANCE FOR THE LAZY.  ENJOY.

