      _   _          _            __         
   __| | (_)   ___  (_)  _ __    / _|   ___  
  / _` | | |  / __| | | | '_ \  | |_   / _ \ 
 | (_| | | | | (__  | | | | | | |  _| | (_) |
  \____| |_|  \___| |_| |_| |_| |_|    \___/ 
              learn engine for eggdrops 1.6.x


developer(s)
============

* Main tcls:
Marco (fourier) Ferra <mferra@users.sourceforge.net>

* PHP search interface: (php/ directory)
Carlos (r3pek) Silva <r3pek@r3pek.homelinux.org>

* Code enhances:
ardoRic <ardoric@aliensheep.net>

http://dicinfo.sourceforge.net

List:  https://lists.sourceforge.net/lists/listinfo/dicinfo-devel
Mail:  <dicinfo-devel@lists.sourceforge.net>


intro
=====

dicinfo is a set of tcl scripts to use on eggdrop 1.6.x.  It provides an
infobot to use on IRC (help) channels.  It acts like a database (or a useful
FAQ) system.  It's a robust and versatile (modular) system.  Issue !dic on a
channel for the commands list.


features
========

* database is saved on a text file
* different database files for each channel
* timestamps conform to rfc3339 (internet date/time)
* periodic tar-ball generation containing all the source and database files
* dcc send support to send the database file to users (and md5sum notice)
* support for multiple definitions per key
* simple database search capabilities
* contribution statistics
* lack of (extensive) documentation :-)
* the database can be searched online through a set of php scripts


conceptual goals
================

* be stable and fast
* extensible and maintainable
* clean and elegant/intelligent code


installation
============

To use dicinfo all the .tcl files should be in the same directory and dic.tcl
should be loaded in eggdrop.conf using "source path/to/dic.tcl".

On dic.tcl you can specify what should be the flags permitted to modify/access
the definitions.  These are:

lflag(get) - flag to obtain information
lflag(cmd) - flag to the other mortals

lfile(cmm) - common database file for channels
lfile(cms) - use (1) or not (0) the common database

By default all users can obtain information and only global/channel operators
can add/erase the keys.  The +o status is given in the bot's partyline with the
".chattr handle +o" command so even channel @operators can not add/erase key if
they are not registered within the bot.

Other variables/flags exist and these are the most useful ones to edit:

lfile(max) - the nr. of chars that each definition can be (def. 192)
lfile(def) - the nr. of definitions that a key can have (def. 10)

Please use the !dic trigger to find out what are the arguments and their options.
Documentation is not extensive but all the command usage is there.


dic.dat format
==============

yyyy-mm-ddThh:nn:ssZ nick unikey long-spaced-description

The timestamp (the 1st field) on dic.dat conforms to RFC3339.
(see http://www.ietf.org/rfc/rfc3339.txt)


bug reports
===========

Patches or bug reports should be mailed to <mferra@users.sourceforge.net>.
Some feedback about the usage and experience with dicinfo is also appreciated.

Enjoy dicinfo

- the developer

"The spice must flow."  (Baron Harkonnen, Dune)
