Git Product home page Git Product logo

jibot's Introduction

JIBOT: A Ruby IRC Bot For #joiito

Version 2.0 (Today, 2008)

Authors James Cox ([email protected])…
Copyright Copyright © 2008 + The #joiito IRC Channel + James Cox
License Distributed under the same terms as Ruby. The system heavily relies on Autumn, an irc framework: http://github.com/riscfuture.
Portions of this code are copyright ©2004 David Heinemeier Hansson; please see libs/inheritable_attributes.rb for more information.

About Autumn

Autumn is a full-featured framework on top of which IRC bots (called “leaves”)
can be quickly and easily built. It features a very Ruby-like approach to
bot-writing, a complete framework for loading and daemonizing your bots,
multiple environment contexts, a database-backed model, and painless logging
support.

Requirements

Autumn requires RubyGems and the Daemons and Facets*
gems. Install RubyGems then run sudo gem install daemons facets in a command
line in order to run Autumn.

Jibot requires the ruby-sqlite3: sudo port install rb-sqlite3 the sqlite gem:
sudo gem install -v 0.9.2 do_sqlite3 and the Datamapper
gem: sudo gem install -v 0.9.2 install dm-core dm-ar-finders .

One person’s install notes on OS/X Leopard:

On a fairly stock leopard system it was also necessary to add a few steps… this which in which ssh-keygen creates the .ssl folder and public key to provide the github website.

Then to make logging in easier by adding the login to the keychain:
$ /usr/bin/ssh-add -K

To install git follow

Or just use the precompiled one from

Configured git:
Macintosh:~ myhomedir$ git config —global user.name ‘Firstname Lastname’
Macintosh:~ myhomedir$ git config —global user.email ‘[email protected]

Created a spot and got a clone:
Macintosh:~ myhomedir$ cd src
Macintosh:src myhomedir$ git clone git://github.com/imajes/jibot.git

RubyGems was already installed on Leopard so I ran the sudo gem install daemons facets above.
Before I could run the sudo port install rb-sqlite3 however it was necessary to install macports

Then continue by running Macintosh:~ myhomedir$ sudo /opt/local/bin/port install rb-sqlite3
and it took awhile to come back… updated a lot of packages.

Extlib was missing so this was necessary: Macintosh:~ myhomedir$ sudo gem install -v 0.9.2 extlib
Successfully installed extlib-0.9.2
1 gem installed

Then following the advice in README.autumn – had to modify jibot/config/global.yml to point to testing season instead of production.

Modify jibot/config/seasons/testing/stems.yml to point to a different nick and channel to avoid stepping on the other jibots.

Had to manually create a log file in the jibot directory before rake would work.

Macintosh:jibot myhomedir$ mkdir log
Macintosh:jibot myhomedir$ rake db:migrate
(in /Users/myhomedir/src/jibot)
rake aborted!
Usage: DB=[Database config name] rake db:migrate
/Users/myhomedir/src/jibot/rakefile:82
(See full trace by running task with —trace)
Macintosh:jibot myhomedir$ script/server
Loading Autumn 3.0 (7-4-08)
Freenode (Stem): Connecting to chat.freenode.net:6667…

Hacking JIBOT

You should peruse README.autumn first, to get a feel for how it’s structured.
Then, feel free to hack on a leaf (or create your own) to add or augment bot
functionality.

jibot's People

Contributors

imajes avatar wiredfool avatar xicubed avatar

Stargazers

Gun.io Robot avatar

Watchers

Gun.io Robot avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.