diff options
-rw-r--r-- | Cargo.toml | 4 | ||||
-rw-r--r-- | src/client.rs | 22 | ||||
-rw-r--r-- | src/event.rs | 4 |
3 files changed, 26 insertions, 4 deletions
@@ -14,13 +14,11 @@ log = "^0.3" regex = "^0.1" regex_macros = "^0.1" openssl = "^0.6" +carboxyl = "^0.1" [features] lints = ["clippy"] -[dependencies.carboxyl] -git = "https://github.com/tilpner/carboxyl" - [dependencies.clippy] version = "*" optional = true diff --git a/src/client.rs b/src/client.rs index e09532f..a154fba 100644 --- a/src/client.rs +++ b/src/client.rs @@ -63,6 +63,28 @@ pub trait Client { self.send_message(PRIVMSG(to.into(), message.into()).to_message()) } + fn msg_many(&mut self, to: &str, message: &[&str]) -> Result<()> { + for m in message { + self.msg(to, m); + } + Result(Ok(())) + } + + fn msg_word_wrap(&mut self, to: &str, message: &str, limit: u16) -> Result<()> { + let mut line = String::new(); + for word in message.split_whitespace() { + if line.len() + word.len() < limit as usize { + line.push_str(" "); + line.push_str(word); + } else { + debug!("Sending {}", line); + self.msg(to, &line); + line.clear(); + } + } + self.msg(to, &line) + } + fn register(&mut self, nick: &str, user: &str, desc: &str, pass: Option<&str>) -> Result<()> { Result(if let Some(pass) = pass { self.send_message(PASS(pass.into()).to_message()).inner() diff --git a/src/event.rs b/src/event.rs index 3863b49..f9a0422 100644 --- a/src/event.rs +++ b/src/event.rs @@ -16,7 +16,9 @@ impl<'a> Event<'a> { use Event::*; match self { &Command(ref c) => Command(c.to_static()), - _ => unimplemented!() + &Reply(ref r) => Reply(r.to_static()), + &Connected => Connected, + &Disconnected => Disconnected } } } |