A fork of aatxe/irc Rust crate, improved for IRCv3 support.
Find a file
2014-12-22 17:24:56 -05:00
examples Added CTCP feature with automatic responses to a set of CTCP commands 2014-12-22 16:35:56 -05:00
src Added CTCP response tests. 2014-12-22 17:24:56 -05:00
.gitignore Added some basic data tests. 2014-10-08 18:08:29 -04:00
.travis.yml Updated Travis-CI build files. 2014-12-19 11:34:54 -05:00
Cargo.toml Added CTCP feature with automatic responses to a set of CTCP commands 2014-12-22 16:35:56 -05:00
mktestconfig.sh Added support for non-unicode encodings. 2014-11-30 01:29:38 -05:00
README.md Updated docs links because Rust-CI docs is working again. 2014-12-19 11:40:12 -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:

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.