2014-11-29 11:26:55 +01:00
|
|
|
extern crate irc;
|
|
|
|
|
2014-12-05 03:04:22 +01:00
|
|
|
use std::default::Default;
|
2017-06-21 22:53:28 +02:00
|
|
|
use std::thread;
|
2015-11-22 22:26:43 +01:00
|
|
|
use std::time::Duration;
|
2015-02-23 03:22:33 +01:00
|
|
|
use irc::client::prelude::*;
|
2014-11-29 11:26:55 +01: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 11:26:55 +01:00
|
|
|
fn main() {
|
2014-12-05 03:04:22 +01:00
|
|
|
let config = Config {
|
2017-06-19 19:46:01 +02: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 19:59:26 +02:00
|
|
|
..Default::default()
|
2015-06-22 18:03:57 +02: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 06:06:12 +01:00
|
|
|
// Let's set up a loop that just prints the messages.
|
2017-06-21 22:53:28 +02:00
|
|
|
thread::spawn(move || {
|
2018-01-28 02:16:50 +01:00
|
|
|
client2.stream().map(|m| print!("{}", m)).wait().count();
|
2015-01-09 23:38:46 +01:00
|
|
|
});
|
2014-11-29 11:26:55 +01:00
|
|
|
loop {
|
2018-07-10 04:15:08 +02:00
|
|
|
client.send_privmsg("#rust-spam", "TWEET TWEET").unwrap();
|
2017-06-21 22:53:28 +02:00
|
|
|
thread::sleep(Duration::new(10, 0));
|
2014-11-29 11:26:55 +01:00
|
|
|
}
|
|
|
|
}
|