1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
//! This library's goal is to offer a highly available IRC client with an easy to use API.
//! Automatic reconnection is built into the design. It uses a channel-like design, where
//! events are received from a `Reader` and commands are sent from one or many `Writer`.
//!
//! The `Writer` are thread safe and can be cheaply cloned.
//!
//! Here's a canonical example.
//!
//! ```no_run
//! extern crate encoding;
//! extern crate loirc;
//!
//! use encoding::all::UTF_8;
//! use loirc::{connect, Code, Event};
//!
//! fn main() {
//! // connect to freenode and use the default reconnection settings.
//! let (writer, reader) = connect("irc.freenode.net:6667", Default::default(), UTF_8).unwrap();
//! writer.raw(format!("USER {} 8 * :{}\n", "username", "realname"));
//! writer.raw(format!("NICK {}\n", "nickname"));
//! // Block until something happens.
//! for event in reader.iter() {
//! match event {
//! // Handle messages
//! Event::Message(msg) => {
//! if msg.code == Code::RplWelcome {
//! writer.raw(format!("JOIN {}\n", "#channel"));
//! }
//! }
//! // Handle other events, such as disconnects.
//! _ => {}
//! }
//! }
//! }
//! ```
extern crate encoding;
pub use ;
pub use ;
pub use Code;
pub use ;