aboutsummaryrefslogtreecommitdiff
path: root/azalea-client/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'azalea-client/src/plugins')
-rw-r--r--azalea-client/src/plugins/chat/mod.rs23
1 files changed, 13 insertions, 10 deletions
diff --git a/azalea-client/src/plugins/chat/mod.rs b/azalea-client/src/plugins/chat/mod.rs
index 2e98fdf8..856184cc 100644
--- a/azalea-client/src/plugins/chat/mod.rs
+++ b/azalea-client/src/plugins/chat/mod.rs
@@ -63,14 +63,21 @@ impl ChatPacket {
match self {
ChatPacket::System(p) => {
let message = p.content.to_string();
-
- // Overlay messages aren't in chat
+ // overlay messages aren't in chat
if p.overlay {
return (None, message);
}
- // It's a system message, so we'll have to match the content with regex
- if let Some(m) = regex!("^<([a-zA-Z_0-9]{1,16})> (?:-> me)?(.+)$").captures(&message) {
+ // it's a system message, so we'll have to match the content with regex
+
+ if let Some(m) =
+ regex!("^<([a-zA-Z_0-9]{1,16})> (?:-> me)?(.+)$").captures(&message)
+ {
+ return (Some(m[1].to_string()), m[2].to_string());
+ }
+ // 2b2t whispers
+ if let Some(m) = regex!("^([a-zA-Z_0-9]{1,16}) whispers: (.+)$").captures(&message)
+ {
return (Some(m[1].to_string()), m[2].to_string());
}
@@ -132,15 +139,11 @@ impl ChatPacket {
match self {
ChatPacket::System(p) => {
let message = p.content.to_string();
-
- // Overlay messages aren't in chat
if p.overlay {
return false;
}
-
- // It's a system message, so we'll have to match the content with regex
- if let Some(m) = regex!("^(-> me)?(?:.+)$").captures(&message) {
- return m.get(1).is_some();
+ if regex!("^(-> me|[a-zA-Z_0-9]{1,16} whispers: )").is_match(&message) {
+ return true;
}
false