A fork of aatxe/irc Rust crate, improved for IRCv3 support.
Find a file
Will Hipschman 32900f8d49 Add nochanlists feature.
This feature will disable user tracking including joins, parts, and modes.  This is useful for bots on severely crowded channels (tens of thousands of users) that have no need for maintaining a list of users.
2015-01-10 21:14:08 -08:00
examples Updated for Rust master. 2015-01-09 17:38:46 -05:00
src Add nochanlists feature. 2015-01-10 21:14:08 -08:00
.gitignore Added some basic data tests. 2014-10-08 18:08:29 -04:00
.travis.yml Fixed travis-ci build script. 2014-12-31 20:40:57 -05:00
Cargo.toml Add nochanlists feature. 2015-01-10 21:14:08 -08:00
mktestconfig.sh Added support for non-unicode encodings. 2014-11-30 01:29:38 -05:00
README.md Updated CLA after name change. 2015-01-06 11:15:38 -05:00
UNLICENSE Added UNLICENSE and contributing guidelines. This library is now public domain. 2014-11-05 02:11:33 -05:00

irc Build Status

A thread-safe IRC library in Rust based on iterators. It's hopefully compliant with RFC 2812. You can find up-to-date, ready-to-use documentation online here. The documentation is generated with the default features. These are, however, strictly optional and can be disabled by the end-user.

Getting Started

To start using this library with cargo, you can simply add irc = "*" to your dependencies to your Cargo.toml file. From there, you can look to the examples and the documentation to see how to proceed. Making a simple bot is easy though:

extern crate irc;

use irc::server::{IrcServer, Server};
use irc::server::utils::Wrapper;

fn main() {
    let irc_server = IrcServer::new("config.json").unwrap();
    let server = Wrapper::new(&irc_server);
    server.identify().unwrap();
    for message in server.iter() {
        // Do message processing.
    }
}

Contributing

Contributions to this library would be immensely appreciated. As this project is public domain, all prospective contributors must sign the Contributor License Agreement, a public domain dedication.