A fork of aatxe/irc Rust crate, improved for IRCv3 support.
Find a file
2014-12-02 14:41:09 -05:00
examples Updated tweeter example because reading and writing now use separate 2014-12-01 19:27:30 -05:00
src Added support for CAP and IRCv3 capabilities extension. 2014-12-02 14:41:09 -05:00
.gitignore Added some basic data tests. 2014-10-08 18:08:29 -04:00
.travis.yml Travis-CI now builds with the encode feature. 2014-11-30 03:32:20 -05:00
Cargo.toml Fixed typo in SSL implementation that went unnoticed. 2014-12-01 18:34:39 -05:00
mktestconfig.sh Added support for non-unicode encodings. 2014-11-30 01:29:38 -05:00
README.md Updated README.md. 2014-12-02 12:26:50 -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 using both the SSL feature and the encode feature. Specifically, the signatures of irc::conn::Connection::send(...) and irc::conn::Connection::recv(...) will be different by default.

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:

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

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.