rust-irc/examples/tweeter.rs

32 lines
1,001 B
Rust
Raw Normal View History

#![feature(old_io, std_misc)]
extern crate irc;
use std::default::Default;
2015-01-28 18:19:02 +01:00
use std::old_io::timer::sleep;
use std::sync::Arc;
use std::thread::spawn;
use std::time::duration::Duration;
2015-02-23 03:22:33 +01:00
use irc::client::prelude::*;
fn main() {
let config = Config {
nickname: Some(format!("pickles")),
server: Some(format!("irc.fyrechat.net")),
channels: Some(vec![format!("#vana")]),
.. Default::default()
};
let irc_server = Arc::new(IrcServer::from_config(config).unwrap());
let irc_server2 = irc_server.clone();
// The wrapper provides us with methods like send_privmsg(...) and identify(...)
2014-12-11 06:06:12 +01:00
let server = Wrapper::new(&*irc_server2);
server.identify().unwrap();
2014-12-11 06:06:12 +01:00
// Let's set up a loop that just prints the messages.
spawn(move || {
irc_server.iter().map(|m| print!("{}", m.unwrap().into_string())).count();
2015-01-09 23:38:46 +01:00
});
loop {
server.send_privmsg("#vana", "TWEET TWEET").unwrap();
sleep(Duration::seconds(10))
}
}