Banter

Banter is an IRC library written in Ruby. Banter is Based on Celluloid.

Usage

Banter doesn't feature a simple bot and plugin API yet. To play with Banter, you can make use of the "back-end".

require 'banter'

connection = IRC::Connection.new 'irc.server.com', 6667 do
  nick 'nickname'
  user 'username', 'real name'
  join '#channel'

  hook :send, :debug do |message|
    debug message
  end

  hook :receive, :debug do |message|
    debug message
  end
end

Documentation can be found in the /docs folder. Additional documentation can be found at rubydoc.info.

Installation

Banter isn't ready for production. To play with Banter you can clone the git repository and run bundle install to install its dependencies.

git clone https://github.com/britishtea/banter.git banter
cd banter
bundle install

Then simply run Ruby with the -I path/to/banter/lib flag to make Banter requirable.

Roadmap

0.1.0

Version 0.1.0 will consist mostly of the back end.

  • Full implementation of the IRC protocol as described in RFC 2812.
  • Basic API to interact with IRC entities, such as networks, channels, users and messages.

0.2.0

Version 0.2.0 will add a simple API to write bots and plugins.

  • A simple API that simplifies the writing of IRC bots and plugins.
    • Channel specific hooks.
    • A simple authorization utility.
  • An active mode, where accurate lists of IRC::Users and IRC::Channels are kept.
  • Implement unofficial features such as half ops, admin, founder, etc.

0.3.0

Version 0.3.0 will add widely used extensions to the IRC protocol.

  • Full implemantation of the CTCP protocol as described on irchelp.org.
  • Full Implementation of the ISUPPORT standard.
  • Support for mIRC colors.

0.4.0

  • A simple storage system, to store data between sessions.