summaryrefslogtreecommitdiffstats
path: root/examples/client.rs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/client.rs')
-rw-r--r--examples/client.rs18
1 files changed, 10 insertions, 8 deletions
diff --git a/examples/client.rs b/examples/client.rs
index ab1ef42..236b07e 100644
--- a/examples/client.rs
+++ b/examples/client.rs
@@ -1,6 +1,6 @@
extern crate irc;
-use irc::constants::{Ping, Pong};
+use irc::constants::Pong;
use irc::Client;
use std::io;
@@ -28,14 +28,16 @@ impl irc::Client for ExampleClient {
}
}
- fn on_message (client: &mut ExampleClient, m: &irc::Message) {
+ fn on_any_message (_client: &mut ExampleClient, m: &irc::Message) {
print!("{}", m.to_protocol_string());
- match *m.message_type() {
- Ping => {
- client.write(irc::Message::new(None, Pong, m.params().clone()));
- },
- _ => {},
- }
+ }
+
+ fn on_ping (client: &mut ExampleClient, _from: Option<&str>, server1: &str, server2: Option<&str>) {
+ let params = match server2 {
+ Some(server2) => vec![server1.to_string(), server2.to_string()],
+ None => vec![server1.to_string()],
+ };
+ client.write(irc::Message::new(None, Pong, params));
}
}