From 6ed12a0993d56330bb008adc86bfb5ebe4320583 Mon Sep 17 00:00:00 2001 From: Till Hoeppner Date: Fri, 21 Nov 2014 11:31:55 +0100 Subject: Upload to crates.io plus fixes for changes in Rust --- examples/01.rs | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 examples/01.rs (limited to 'examples/01.rs') diff --git a/examples/01.rs b/examples/01.rs new file mode 100644 index 0000000..9756119 --- /dev/null +++ b/examples/01.rs @@ -0,0 +1,38 @@ +#![feature(globs, slicing_syntax)] + +extern crate irsc; + +use irsc::server::Server; +use irsc::color::bold; +use irsc::event; +use irsc::event::{ Event, ParseResult, PrivMsg }; + +static NAME: &'static str = "rusticbot"; +static DESC: &'static str = "A bot, written in Rust."; + +fn callback(arg: (Server, Event)) { + let (mut server, event) = arg; + match event.command[] { + event::PRIVMSG => { + let privmsg: PrivMsg = ParseResult::parse(event).unwrap(); + let response = format!("You wrote: {}", bold(privmsg.content[])); + server.msg(privmsg.from.nickname[], response[]).unwrap(); + }, + _ => () + } +} + +fn main() { + let mut s = Server::new(); + s.connect("irc.freenode.org".into_string(), 6667).unwrap(); + s.nick(NAME).unwrap(); + s.user(NAME, "*", "*", DESC).unwrap(); + s.join("#botzoo").unwrap(); + + s.msg("flan3002", "Hey, I'm your example bot!").unwrap(); + + s.events.lock().register(&callback); + + // Dedicate this thread to listening and event processing + s.listen().unwrap(); +} -- cgit v1.2.3