An IRC bot from another universe. No, really.
Common Lisp
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
doc
src
tests
.gitignore
CONTRIB
COPYING
README.mkdn
TODO.org
sykobot.asd

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/zkat/sykobot.git git clone git://github.com/zkat/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))