html terminal
Diffstat (limited to 'src/webhook.rs')
-rw-r--r--src/webhook.rs30
1 files changed, 11 insertions, 19 deletions
diff --git a/src/webhook.rs b/src/webhook.rs
index c83e64c..f018917 100644
--- a/src/webhook.rs
+++ b/src/webhook.rs
@@ -4,8 +4,8 @@ use regex::Regex;
use serenity::{builder::ExecuteWebhook, http::Http, json};
use std::convert::AsRef;
use std::sync::{Arc, LazyLock, Mutex};
-use std::time::{Duration, Instant};
use tokio::sync::broadcast::{self, error::TryRecvError};
+use tokio::time::{sleep, Duration, Instant};
pub struct Webhook<'a> {
pub skipped: broadcast::Sender<String>,
@@ -73,7 +73,7 @@ impl<'a> Webhook<'a> {
flush!();
}
}
- async_std::task::sleep(Duration::from_millis(20)).await;
+ sleep(Duration::from_millis(20)).await;
continue;
}
},
@@ -94,7 +94,7 @@ impl<'a> Webhook<'a> {
last = Some(now);
}
}
- async_std::task::sleep(Duration::from_millis(20)).await;
+ sleep(Duration::from_millis(20)).await;
}
}
@@ -104,18 +104,17 @@ impl<'a> Webhook<'a> {
let mut unnamed: Option<String> = None;
// this code is very game dependent
- for line in feed.into_iter() {
+ for line in feed {
let line: String = Style::fix(line);
if let Some((name, msg)) = Style::split(&line) {
if let Some(n) = current.as_ref() {
if n == &name {
message.madd_panic(&msg);
continue;
- } else {
- let message = message.take().unwrap();
- self.send_message(n, &message).await;
- current.take();
}
+ let message = message.take().unwrap();
+ self.send_message(n, &message).await;
+ current.take();
}
current = Some(name.to_owned());
message = Some(msg.to_owned());
@@ -125,7 +124,7 @@ impl<'a> Webhook<'a> {
}
continue;
}
- unnamed.madd(line);
+ unnamed.madd(unify(&line));
}
// finish
if let Some(n) = current.as_ref() {
@@ -173,7 +172,7 @@ impl OutputStyle for MindustryStyle {
return None;
}
- if let Some((u, c)) = line.split(": ").map(|s| unify(s)).collect_tuple() {
+ if let Some((u, c)) = line.split(": ").map(unify).collect_tuple() {
let u = u.trim_start_matches('<');
let c = c.trim_end_matches('>');
if !(u.is_empty() || c.is_empty()) {
@@ -194,15 +193,8 @@ impl OutputStyle for MindustryStyle {
}
}
-fn unify(s: &str) -> String {
- s.chars()
- .filter_map(|c| {
- if c > 'џ' {
- return None;
- }
- Some(c)
- })
- .collect()
+pub fn unify(s: &str) -> String {
+ s.chars().filter(|&c| c < 'џ').collect()
}
trait Madd {