bhcli

"Strange's fork of n0tr1v's bhcli (onion)"
git clone https://git.dasho.dev/Strange/bhcli.git
Log | Files | Refs | README

commit a89cd6cc66a204d77e3114d5ce5dd7e5fc157a62
parent 03d5dc2190596a1a05bc89617bf53a4b1b07b405
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Tue, 10 May 2022 17:10:42 -0700

auto kick spammers

Diffstat:
Msrc/main.rs | 14+++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/src/main.rs b/src/main.rs @@ -75,6 +75,8 @@ const CAPTCHA_WG_ERR: &str = "Wrong Captcha"; const CAPTCHA_USED_ERR: &str = "Captcha already used or timed out"; const UNKNOWN_ERR: &str = "Unknown error"; const N0TR1V: &str = "n0tr1v"; +const STUXNET: &str = "STUXNET"; +const FAGGOT: &str = "faggot"; const DNMX_URL: &str = "http://hxuzjtocnzvv5g2rtg2bhwkcbupmk7rclb6lly3fo4tvqkk5oyrv3nid.onion"; type Result<T> = std::result::Result<T, Box<dyn error::Error>>; @@ -583,13 +585,23 @@ impl<'a> LeChatPHPClient<'a> { .to_owned(); tx.send(PostType::Post(msg, None)).unwrap(); } else if msg == "/logout" - && from == "STUXNET" + && from == STUXNET && username == N0TR1V { eprintln!("forced logout by {}", from); sig.lock().unwrap().signal(ExitSignal::Terminate); return; } + // 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;