A fork of aatxe/irc Rust crate, improved for IRCv3 support.
Find a file
2016-01-16 11:47:25 -05:00
examples Implemented Clone for IrcServer and updated multithreaded examples 2016-01-03 05:39:44 -05:00
src Fixed test execution. 2016-01-16 11:47:25 -05:00
.gitignore Added some basic data tests. 2014-10-08 18:08:29 -04:00
.travis.yml Switched to new travis infrastructure. 2015-07-12 19:48:30 -04:00
Cargo.toml Made time a required library dependency. 2016-01-16 11:18:11 -05:00
LICENSE Changed from Unlicense to CC0 for public domain dedication. 2015-02-19 10:59:20 -05:00
mktestconfig.sh Clean up after #14. Updated test config script. 2015-02-17 13:20:59 -05:00
README.md Added more information about specification compliance to README.md. 2015-06-07 18:45:59 -04:00

irc Build Status Crates.io

A thread-safe IRC library in Rust. The client portion is compliant with RFC 2812, IRCv3.1, IRCv3.2, and includes some additional, common features. The server portion is still a work in progress. 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 accordingly.

Getting Started

To start using this library with cargo, you can simply add irc = "*" to your dependencies to your Cargo.toml file. You'll likely want to take a look at some of the examples, as well as the documentation. You'll also be able to find a small template to get a feel for the library.

Getting Started with Bots

extern crate irc;

use irc::client::prelude::*;

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

Contributing

Contributions to this library would be immensely appreciated. It should be noted that as this is a public domain project, any contributions will thus be released into the public domain as well.