bavardage / sykobot forked from sykopomp/sykobot

A simple IRC bot

This URL has Read+Write access

name age message
file .gitignore Tue Jul 14 10:24:57 -0700 2009 Rearranged stuff Signed-off-by: Adlai <munchki... [adlai]
file CONTRIB Wed Jul 15 09:37:06 -0700 2009 patched up CONTRIB [sykopomp]
file COPYING Wed Jul 08 15:56:03 -0700 2009 Added copying and contrib files [sykopomp]
file README.mkdn Fri Jul 17 01:22:45 -0700 2009 Sykobot 0.1 - Hello Kitty [sykopomp]
file TODO.org Loading commit data...
directory doc/ Thu Jul 16 09:51:58 -0700 2009 Added a config option to set the timestamp func... [bavardage]
directory src/
file sykobot.asd
directory tests/ Fri Jul 17 00:10:33 -0700 2009 Finished setting up testing framework. [sykopomp]
README.mkdn

About

Vision

Sykobot is a next-gen AI, programmed in a next-gen language. It's aimed at being very easily extensible.

Supported Platforms

Sykobot is developed on GNU/Linux. It should, however, work on any Unix-like system with a Common Lisp compiler. It has been tested and confirmed to work on SBCL, Clozure CL, and Allegro CL Express. If you run sykobot on another platform, please let us know.

Dependencies

  • Sheeple
  • html-entities
  • cl-irc
  • cl-pprce
  • bordeaux-threads
  • drakma
  • cl-store
  • cl-json

Installing Dependencies

You need a Common Lisp compiler to run sykobot, along with several dependencies.

Most of the dependencies can be installed with clbuild, available via darcs:

darcs get http://common-lisp.net/project/clbuild/clbuild
cd clbuild
chmod +x clbuild
./clbuild check  (this checks for various programs that help clbuild; they are: cvs, svn, wget, and darcs)

You should let clbuild install all dependencies of each system.

./clbuild install html-entities
./clbuild install cl-irc
./clbuild install cl-pprce
./clbuild install bodeaux-threads
./clbuild install cl-store
./clbuild install cl-json

Now we need to download sheeple and sykobot itself -- through git.

git clone git://github.com/sykopomp/sykobot.git 
git clone git://github.com/sykopomp/sheeple.git
cd /path/to/clbuild/systems
ln -s /path/to/sheeple.asd
ln -s /path/to/sykbot.asd

Notes

Sykobot is still in development, although it already has quite a few features. Sykopomp's master branch on github has the latest tagged release, although you can pull from the devel branch for the Bleeding Edge Experience. We promise, it'll make more than just your edge bleed.

Features

Sykobot has quite a few modules already, including:

  • Search -- A simple google search
  • Facts -- A simple parser extracts "facts" from the flow of chatter.
  • Quotes -- A facility for grabbing quotes that people in the channel say.
  • Kiloseconds -- The current time, in kiloseconds.
  • Memos -- Leave a message for somebody else, to be delivered when they next speak.
  • ELIZA -- a full-fledged simple ELIZA implementation, so you can chat away with your new friend.
  • Karma -- Who's been naughty? Who's been nice? The karma system is weighted.
  • Seen -- That command that's been on minion's TODO list since the dawn of time.
  • And more...

Using Sykobot

Currently, the best way to get setup using and hacking sykobot is to ask for help at #sykosomatic on freenode. The developers are distributed across timezones and are always glad to help.

Bug Reporting

  • If you think something is a bug, first try to replicate it and get backtraces.
  • Report the bug at irc or at the issue tracker.

Common Lisp's "trace" can also be helpful for catching bugs. If you're not worried about massive amounts of REPL output, evaluate the following immediately after loading the sykobot system:

On SBCL:

(trace "SYKOBOT")

On Clozure CL:

(trace (:package sykobot))