mirror of
https://github.com/MeexReay/bRAC.git
synced 2025-05-06 13:38:04 +03:00
remove empty messages and allow non-format messages
This commit is contained in:
parent
52720c2748
commit
41340f0f45
101
src/chat.rs
101
src/chat.rs
@ -209,55 +209,70 @@ pub fn on_send_message(ctx: Arc<Context>, message: &str) -> Result<(), Box<dyn E
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn format_message(enable_ip_viewing: bool, message: String) -> Option<String> {
|
pub fn format_message(enable_ip_viewing: bool, message: String) -> Option<String> {
|
||||||
let message = sanitize_text(&message);
|
if message.is_empty() {
|
||||||
|
None
|
||||||
let date = DATE_REGEX.captures(&message)?;
|
|
||||||
let (date, message) = (
|
|
||||||
date.get(1)?.as_str().to_string(),
|
|
||||||
date.get(2)?.as_str().to_string(),
|
|
||||||
);
|
|
||||||
|
|
||||||
let (ip, message) = if let Some(message) = IP_REGEX.captures(&message) {
|
|
||||||
(Some(message.get(1)?.as_str().to_string()), message.get(2)?.as_str().to_string())
|
|
||||||
} else {
|
} else {
|
||||||
(None, message)
|
Some(
|
||||||
};
|
{
|
||||||
|
let message = message.clone();
|
||||||
|
move || -> Option<String> {
|
||||||
|
let message = sanitize_text(&message);
|
||||||
|
|
||||||
let message = message
|
let date = DATE_REGEX.captures(&message)?;
|
||||||
.trim_start_matches("(UNREGISTERED)")
|
let (date, message) = (
|
||||||
.trim_start_matches("(UNAUTHORIZED)")
|
date.get(1)?.as_str().to_string(),
|
||||||
.trim_start_matches("(UNAUTHENTICATED)")
|
date.get(2)?.as_str().to_string(),
|
||||||
.trim()
|
);
|
||||||
.to_string()+" ";
|
|
||||||
|
|
||||||
let prefix = if enable_ip_viewing {
|
let (ip, message) = if let Some(message) = IP_REGEX.captures(&message) {
|
||||||
if let Some(ip) = ip {
|
(Some(message.get(1)?.as_str().to_string()), message.get(2)?.as_str().to_string())
|
||||||
format!("{}{} [{}]", ip, " ".repeat(if 15 >= ip.chars().count() {15-ip.chars().count()} else {0}), date)
|
} else {
|
||||||
} else {
|
(None, message)
|
||||||
format!("{} [{}]", " ".repeat(15), date)
|
};
|
||||||
}
|
|
||||||
} else {
|
|
||||||
format!("[{}]", date)
|
|
||||||
};
|
|
||||||
|
|
||||||
Some(if let Some(captures) = find_username_color(&message) {
|
let message = message
|
||||||
let nick = captures.0;
|
.trim_start_matches("(UNREGISTERED)")
|
||||||
let content = captures.1;
|
.trim_start_matches("(UNAUTHORIZED)")
|
||||||
let color = captures.2;
|
.trim_start_matches("(UNAUTHENTICATED)")
|
||||||
|
.trim()
|
||||||
|
.to_string()+" ";
|
||||||
|
|
||||||
|
let prefix = if enable_ip_viewing {
|
||||||
|
if let Some(ip) = ip {
|
||||||
|
format!("{}{} [{}]", ip, " ".repeat(if 15 >= ip.chars().count() {15-ip.chars().count()} else {0}), date)
|
||||||
|
} else {
|
||||||
|
format!("{} [{}]", " ".repeat(15), date)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
format!("[{}]", date)
|
||||||
|
};
|
||||||
|
|
||||||
|
Some(if let Some(captures) = find_username_color(&message) {
|
||||||
|
let nick = captures.0;
|
||||||
|
let content = captures.1;
|
||||||
|
let color = captures.2;
|
||||||
|
|
||||||
|
format!(
|
||||||
|
"{} {} {}",
|
||||||
|
prefix.white().dimmed(),
|
||||||
|
format!("<{}>", nick).color(color).bold(),
|
||||||
|
content.white().blink()
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
format!(
|
||||||
|
"{} {}",
|
||||||
|
prefix.white().dimmed(),
|
||||||
|
message.white().blink()
|
||||||
|
)
|
||||||
|
})
|
||||||
|
}()
|
||||||
|
}.unwrap_or_else(|| {
|
||||||
format!(
|
format!(
|
||||||
"{} {} {}",
|
"{}",
|
||||||
prefix.white().dimmed(),
|
message.white().blink()
|
||||||
format!("<{}>", nick).color(color).bold(),
|
)
|
||||||
content.white().blink()
|
}))
|
||||||
)
|
}
|
||||||
} else {
|
|
||||||
format!(
|
|
||||||
"{} {}",
|
|
||||||
prefix.white().dimmed(),
|
|
||||||
message.white().blink()
|
|
||||||
)
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn find_username_color(message: &str) -> Option<(String, String, Color)> {
|
pub fn find_username_color(message: &str) -> Option<(String, String, Color)> {
|
||||||
|
Loading…
Reference in New Issue
Block a user