2014-11-29 05:26:55 -05:00
|
|
|
extern crate irc;
|
|
|
|
|
2014-12-04 21:04:22 -05:00
|
|
|
use std::default::Default;
|
2017-06-21 16:53:28 -04:00
|
|
|
use std::thread;
|
2015-11-22 16:26:43 -05:00
|
|
|
use std::time::Duration;
|
2015-02-22 21:22:33 -05:00
|
|
|
use irc::client::prelude::*;
|
2014-11-29 05:26:55 -05:00
|
|
|
|
2018-05-27 23:15:05 +02:00
|
|
|
// NOTE: you can find an asynchronous version of this example with `IrcReactor` in `tooter.rs`.
|
2014-11-29 05:26:55 -05:00
|
|
|
fn main() {
|
2014-12-04 21:04:22 -05:00
|
|
|
let config = Config {
|
2017-06-19 13:46:01 -04:00
|
|
|
nickname: Some("pickles".to_owned()),
|
2018-07-10 04:15:08 +02:00
|
|
|
server: Some("irc.mozilla.org".to_owned()),
|
|
|
|
channels: Some(vec!["#rust-spam".to_owned()]),
|
2017-06-19 13:59:26 -04:00
|
|
|
..Default::default()
|
2015-06-22 12:03:57 -04:00
|
|
|
};
|
2018-01-28 02:16:50 +01:00
|
|
|
let client = IrcClient::from_config(config).unwrap();
|
|
|
|
client.identify().unwrap();
|
|
|
|
let client2 = client.clone();
|
2014-12-11 00:06:12 -05:00
|
|
|
// Let's set up a loop that just prints the messages.
|
2017-06-21 16:53:28 -04:00
|
|
|
thread::spawn(move || {
|
2018-01-28 02:16:50 +01:00
|
|
|
client2.stream().map(|m| print!("{}", m)).wait().count();
|
2015-01-09 17:38:46 -05:00
|
|
|
});
|
2014-11-29 05:26:55 -05:00
|
|
|
loop {
|
2018-07-10 04:15:08 +02:00
|
|
|
client.send_privmsg("#rust-spam", "TWEET TWEET").unwrap();
|
2017-06-21 16:53:28 -04:00
|
|
|
thread::sleep(Duration::new(10, 0));
|
2014-11-29 05:26:55 -05:00
|
|
|
}
|
|
|
|
}
|