Skip to content

zeekay/lambdabot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

 _                   _          _         _             _
/ \                 / |        | \       / |           | \_
| |    ___ _  _ _ _ | \__    __/ | ___ _ | \__   ____  |  _|
| |   /  _` || ` ` ||  _ \  / _  |/  _` ||  _ \ /  _ \ | |
| \__ | |_| || | | || |_| || |_| || |_| || |_| || |_| || \__
\____|\___,_/|_|_|_|\____/  \____/\___,_/\____/ \____/ \____|

PREREQUISITES:

You'll need GHC >= 6.8

You will need a number of libraries available on Hackage (see <http://hackage.haskell.org/packages/archive/pkg-list.html>):
        botpp
        brainfuck
        hoogle
        lambdabot-utils
        oeis
        show
        unlambda
        utf8-string
        zlib
        mueval
        ...

In short, you are probably best off using cabal-install to fetch and install everything you need.

BUILDING:
Build with cabal (simple)
    $ runhaskell Setup configure
    $ runhaskell Setup build
    $ runhaskell Setup install
    $ lambdabot { -e command }

If the Setup.hs doesn't seem to like the cabal file, you likely
need to install an updated version of Cabal:
    $ cd $place_you_want_to_put_cabal
    $ darcs get http://darcs.haskell.org/cabal
    $ cd Cabal
    $ #install as usual
    $ runhaskell Setup configure && runhaskell Setup build && runhaskell Setup install

Note: If you want Lambdabot to be able to evaluate expressions
(e.g., "> 1 + 1" evaluates to "2") then you'll need mueval installed.

Or with GHCi (fastest turn around but perhaps more buggy). But first you have to build with cabal as above anyway. So this is mostly for development purposes.
    $ vi Config.hs
    $ sh configure
    $ sh ghci Main.hs
then
    *Main> main
or
    *Main> online <list>
where <list> is a list of commands to execute, as with -e.

RUNNING:

Lambdabot can be installed system-wide or per user, but currently the lambdabot binary makes certain assumptions about what directory it is being run in & where files it needs can be found. (This is the subject of future work.)

Your best bet is to always run lambdabot after having cd'd to the Darcs repository; ie. 'cd ~/ && lambdabot' is bad, but 'cd ~/bin/lambdabot && lambdabot' is better.

OFFLINE MODE:
    lambdabot

CONNECTING:
    lambdabot -e 'rc online.rc'

SSL MODE (with stunnel):

append the following to your stunnel.conf
    client = yes
    [irc]
    accept = 6667
    connect = ssl-irc-server.org:6667

and edit online.rc to use localhost as server, then restart the stunnel
server and restart lambdabot with:

    ./lambdabot -e 'rc online.rc'

SCRIPTS:
    The scripts directory contains some shell scripts for Vim editor support
    They are self-explanatory

BUGS:

Bug reports, patches, new modules etc, contact:

        Cale Gibbard <cgibbard@gmail.com>
        aka Cale on #haskell

REPOSITORY:

Our darcs repository is located at:
    http://code.haskell.org/lambdabot

CONTRIBUTING:

Use 'darcs send' to submit patches to Cale. Add yourself to the AUTHORS
file if you haven't already.