use message::Message;
use error::Result;
pub fn pong(host: &str) -> Result<Message> {
Message::try_from(format!("PONG {}", host))
}
pub fn pass(pass: &str) -> Result<Message> {
Message::try_from(format!("PASS {}", pass))
}
pub fn nick(nick: &str) -> Result<Message> {
Message::try_from(format!("NICK {}", nick))
}
pub fn user(username: &str, real_name: &str) -> Result<Message> {
Message::try_from(format!("USER {} 0 * :{}", username, real_name))
}
pub fn cap_req(cap: &str) -> Result<Message> {
Message::try_from(format!("CAP REQ :{}", cap))
}
pub fn join(channels: &str, keys: Option<&str>) -> Result<Message> {
let command = if let Some(keys) = keys {
format!("JOIN {} {}", channels, keys)
} else {
format!("JOIN {}", channels)
};
Message::try_from(command)
}
pub fn priv_msg(targets: &str, message: &str) -> Result<Message> {
Message::try_from(format!("PRIVMSG {} :{}", targets, message))
}