First trash commit

This commit is contained in:
Thelie 2021-05-04 00:40:51 +02:00
parent 66308f678f
commit 3e3821d835

View file

@ -135,6 +135,28 @@ fn get_irc_identify_messages (config: &Value)
Ok(queue)
}
fn get_irc_join_messages(config: &Value, queue: VecDeque<Message>)
-> Result<VecDeque<Message>, Box<dyn std::error::Error>> {
let mut queue = queue;
match config.get("channels") {
Some(c) => {
for channel in c.as_array().ok_or("Could not parse channels.")? {
queue.push_back(Message::from(
Command::JOIN(
String::from(channel.as_str().ok_or("Could not parse one of the channels")?),
None,
None
)
))
}
},
None => ()
}
Ok(queue)
}
fn main() {
let config_path = args().nth(1)
.expect("no config given");
@ -153,13 +175,13 @@ fn main() {
}
let mut message_queue = get_irc_identify_messages(&config).unwrap();
message_queue = get_irc_join_messages(&config, message_queue).unwrap();
while let Some(message) = message_queue.pop_front() {
println!("Sending: {}", message.clone().to_string());
stream.write(message).unwrap();
}
stream.flush().unwrap();
loop {
let message = match stream.read() {
Ok(m) => m,
@ -186,7 +208,7 @@ fn main() {
msg,
sender
),
_ => println!("Other message: {}", message.clone().to_string())
_ => println!("{}", message.clone().to_string())
}
}
}