commit 2c9ea4739cc4bfe285c3def648e77b336aa5e797
parent ecd9e2c0ba9770634817eaeedf117e91ef4826ad
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Fri, 7 Apr 2023 14:34:21 -0700
deindent code
Diffstat:
| M | src/main.rs | | | 183 | +++++++++++++++++++++++++++++++++++++++---------------------------------------- |
1 file changed, 90 insertions(+), 93 deletions(-)
diff --git a/src/main.rs b/src/main.rs
@@ -1380,116 +1380,113 @@ fn get_msgs(
let source = Decoder::new_mp3(Cursor::new(SOUND1)).unwrap();
let url = format!("{}/{}?action=view&session={}&lang={}", base_url, page_php, session, LANG);
- if let Ok(resp) = client.get(url).send() {
- if let Ok(resp_text) = resp.text() {
- let resp_text = resp_text.replace("<br>", "\n");
- let doc = Document::from(resp_text.as_str());
- let mut should_notify = false;
- {
- let mut messages = messages.lock().unwrap();
- if let Ok(new_messages) = extract_messages(&doc) {
- let parse_date = |date: &str| -> NaiveDateTime {
- let now = Utc::now();
- let date_fmt = format!("%Y-{}", datetime_fmt);
- NaiveDateTime::parse_from_str(format!("{}-{}", now.year(), date).as_str(), date_fmt.as_str()).unwrap()
- };
+ let resp_text = client.get(url).send()?.text()?;
+ let resp_text = resp_text.replace("<br>", "\n");
+ let doc = Document::from(resp_text.as_str());
+ let mut should_notify = false;
+ {
+ let mut messages = messages.lock().unwrap();
+ if let Ok(new_messages) = extract_messages(&doc) {
+ let parse_date = |date: &str| -> NaiveDateTime {
+ let now = Utc::now();
+ let date_fmt = format!("%Y-{}", datetime_fmt);
+ NaiveDateTime::parse_from_str(format!("{}-{}", now.year(), date).as_str(), date_fmt.as_str()).unwrap()
+ };
- if let Some(last_known_msg) = messages.get(0) {
- let msg = last_known_msg;
- let parsed_dt = parse_date(&msg.date);
- for new_msg in &new_messages {
- let new_parsed_dt = parse_date(&new_msg.date);
+ if let Some(last_known_msg) = messages.get(0) {
+ let msg = last_known_msg;
+ let parsed_dt = parse_date(&msg.date);
+ for new_msg in &new_messages {
+ let new_parsed_dt = parse_date(&new_msg.date);
- if parsed_dt > new_parsed_dt || (new_msg.date == msg.date && msg.text == new_msg.text) {
- break;
- }
+ if parsed_dt > new_parsed_dt || (new_msg.date == msg.date && msg.text == new_msg.text) {
+ break;
+ }
- if let Some((from, to_opt, msg)) = get_message(&new_msg.text, &members_tag) {
- // Process new messages
-
- // !bhcli filters
- if msg == "!bhcli" && username == N0TR1V {
- let msg = format!("@{} -> {}", from, BHCLI_BLOG_URL).to_owned();
- tx.send(PostType::Post(msg, None)).unwrap();
- } else if msg == "/logout" && from == STUXNET && username == N0TR1V {
- log::error!("forced logout by {}", from);
- sig.lock().unwrap().signal(&ExitSignal::Terminate);
- return Ok(());
- }
- // Auto kick spammers
- if username == N0TR1V {
- if from != N0TR1V && from != FAGGOT {
- if msg.contains(FAGGOT) && (msg.contains("pedo") || msg.contains("child")) {
- let msg = "spam".to_owned();
- let username_to_kick = from.to_owned();
- tx.send(PostType::Kick(msg, username_to_kick)).unwrap();
- }
- }
- }
- // Notify when tagged
- if msg.contains(format!("@{}", &username).as_str()) {
- should_notify = true;
- }
- // Notify when PM is received
- if let Some(to) = to_opt {
- if to == username && msg != "!up" {
- should_notify = true;
- }
+ if let Some((from, to_opt, msg)) = get_message(&new_msg.text, &members_tag) {
+ // Process new messages
+
+ // !bhcli filters
+ if msg == "!bhcli" && username == N0TR1V {
+ let msg = format!("@{} -> {}", from, BHCLI_BLOG_URL).to_owned();
+ tx.send(PostType::Post(msg, None)).unwrap();
+ } else if msg == "/logout" && from == STUXNET && username == N0TR1V {
+ log::error!("forced logout by {}", from);
+ sig.lock().unwrap().signal(&ExitSignal::Terminate);
+ return Ok(());
+ }
+ // Auto kick spammers
+ if username == N0TR1V {
+ if from != N0TR1V && from != FAGGOT {
+ if msg.contains(FAGGOT) && (msg.contains("pedo") || msg.contains("child")) {
+ let msg = "spam".to_owned();
+ let username_to_kick = from.to_owned();
+ tx.send(PostType::Kick(msg, username_to_kick)).unwrap();
}
}
}
+ // Notify when tagged
+ if msg.contains(format!("@{}", &username).as_str()) {
+ should_notify = true;
+ }
+ // Notify when PM is received
+ if let Some(to) = to_opt {
+ if to == username && msg != "!up" {
+ should_notify = true;
+ }
+ }
}
+ }
+ }
- // Build messages vector. Tag deleted messages.
- let mut old_msg_ptr = 0;
- for new_msg in new_messages.into_iter() {
- loop {
- if let Some(old_msg) = messages.get_mut(old_msg_ptr) {
- let new_parsed_dt = parse_date(&new_msg.date);
- let parsed_dt = parse_date(&old_msg.date);
- if new_parsed_dt < parsed_dt {
- old_msg.deleted = true;
- old_msg_ptr += 1;
- continue;
- }
- if new_parsed_dt == parsed_dt {
- if old_msg.text != new_msg.text {
- messages.insert(old_msg_ptr, new_msg);
- old_msg_ptr += 1;
- }
- old_msg_ptr += 1;
- break;
- }
+ // Build messages vector. Tag deleted messages.
+ let mut old_msg_ptr = 0;
+ for new_msg in new_messages.into_iter() {
+ loop {
+ if let Some(old_msg) = messages.get_mut(old_msg_ptr) {
+ let new_parsed_dt = parse_date(&new_msg.date);
+ let parsed_dt = parse_date(&old_msg.date);
+ if new_parsed_dt < parsed_dt {
+ old_msg.deleted = true;
+ old_msg_ptr += 1;
+ continue;
+ }
+ if new_parsed_dt == parsed_dt {
+ if old_msg.text != new_msg.text {
+ messages.insert(old_msg_ptr, new_msg);
+ old_msg_ptr += 1;
}
- messages.insert(old_msg_ptr, new_msg);
old_msg_ptr += 1;
break;
}
}
-
- // Notify new messages has arrived.
- // This ensure that we redraw the messages on the screen right away.
- // Otherwise, the screen would not redraw until a keyboard event occurs.
- messages_updated_tx.send(true).unwrap();
- } else {
- // Failed to get messages, probably need re-login
- sig.lock().unwrap().signal(&ExitSignal::NeedLogin);
- return Ok(());
- }
- }
- let muted = { *is_muted.lock().unwrap() };
- if should_notify && !muted {
- if let Err(err) = stream_handle.play_raw(source.convert_samples()) {
- log::error!("{}", err);
+ messages.insert(old_msg_ptr, new_msg);
+ old_msg_ptr += 1;
+ break;
}
}
- {
- let mut users = users.lock().unwrap();
- ban_imposters(&tx, &username, &users);
- *users = extract_users(&doc);
- }
+
+ // Notify new messages has arrived.
+ // This ensure that we redraw the messages on the screen right away.
+ // Otherwise, the screen would not redraw until a keyboard event occurs.
+ messages_updated_tx.send(true).unwrap();
+ } else {
+ // Failed to get messages, probably need re-login
+ sig.lock().unwrap().signal(&ExitSignal::NeedLogin);
+ return Ok(());
}
}
+ let muted = { *is_muted.lock().unwrap() };
+ if should_notify && !muted {
+ if let Err(err) = stream_handle.play_raw(source.convert_samples()) {
+ log::error!("{}", err);
+ }
+ }
+ {
+ let mut users = users.lock().unwrap();
+ ban_imposters(&tx, &username, &users);
+ *users = extract_users(&doc);
+ }
Ok(())
}