2015-02-14 22:47:49 +01:00
|
|
|
# irc [![Build Status](https://travis-ci.org/aatxe/irc.svg?branch=master)](https://travis-ci.org/aatxe/irc) [![Crates.io](https://img.shields.io/crates/v/irc.svg)](https://crates.io/crates/irc) #
|
2015-06-08 00:45:59 +02:00
|
|
|
A thread-safe IRC library in Rust. The client portion is compliant with
|
|
|
|
[RFC 2812](http://tools.ietf.org/html/rfc2812), [IRCv3.1](http://ircv3.net/irc/3.1.html),
|
|
|
|
[IRCv3.2](http://ircv3.net/irc/3.2.html), 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](http://aatxe.github.io/irc/irc/). The documentation is generated with the default features.
|
|
|
|
These are, however, strictly optional and can be disabled accordingly.
|
2014-12-02 18:26:50 +01:00
|
|
|
|
|
|
|
## Getting Started ##
|
|
|
|
|
|
|
|
To start using this library with cargo, you can simply add `irc = "*"` to your dependencies to your
|
2015-06-08 00:45:59 +02:00
|
|
|
Cargo.toml file. You'll likely want to take a look at some of the examples, as well as the
|
2015-01-13 08:57:40 +01:00
|
|
|
documentation. You'll also be able to find a small template to get a feel for the library.
|
|
|
|
|
|
|
|
## Getting Started with Bots ##
|
2014-12-02 18:26:50 +01:00
|
|
|
|
|
|
|
```rust
|
2014-12-05 16:27:58 +01:00
|
|
|
extern crate irc;
|
|
|
|
|
2015-02-23 03:22:33 +01:00
|
|
|
use irc::client::prelude::*;
|
2014-12-05 16:27:58 +01:00
|
|
|
|
2014-12-02 18:26:50 +01:00
|
|
|
fn main() {
|
2015-02-24 16:14:44 +01:00
|
|
|
let server = IrcServer::new("config.json").unwrap();
|
2014-12-02 18:26:50 +01:00
|
|
|
server.identify().unwrap();
|
|
|
|
for message in server.iter() {
|
2014-12-05 16:27:58 +01:00
|
|
|
// Do message processing.
|
2014-12-02 18:26:50 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
2014-11-05 08:11:33 +01:00
|
|
|
|
|
|
|
## Contributing ##
|
2015-02-20 04:44:33 +01:00
|
|
|
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.
|