aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Cargo.toml4
-rw-r--r--src/client.rs22
-rw-r--r--src/event.rs4
3 files changed, 26 insertions, 4 deletions
diff --git a/Cargo.toml b/Cargo.toml
index 64e8404..b268304 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -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
}
}
}