From 727713ee3fbae5e7ae70a3d4fb628de0e80cc2e3 Mon Sep 17 00:00:00 2001 From: Jean Date: Sun, 12 Jul 2026 08:59:36 +0000 Subject: [PATCH] Reword NickServ replies to match ChanServ's friendlier tone Clearer, more actionable wording across IDENTIFY, LOGOUT, HELP, the unknown-command hint, and the registration replies, so the two services read consistently. --- src/engine/mod.rs | 8 ++++---- src/services/nickserv.rs | 14 +++++++------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/engine/mod.rs b/src/engine/mod.rs index 853ad6f..a3fa465 100644 --- a/src/engine/mod.rs +++ b/src/engine/mod.rs @@ -477,11 +477,11 @@ fn reg_reply(reply: &RegReply, outcome: RegOutcome, account: &str) -> Vec vec![ // Registering identifies you to the nick right away (drives 900). NetAction::Metadata { target: uid.clone(), key: "accountname".to_string(), value: nick.clone() }, - notice(format!("Nickname \x02{nick}\x02 is now registered.")), + notice(format!("Your nick \x02{nick}\x02 is now registered and you're logged in. Welcome!")), ], - RegOutcome::Exists => vec![notice(format!("Nickname \x02{nick}\x02 is already registered."))], - RegOutcome::RateLimited => vec![notice("Too many registrations, please wait a moment.".to_string())], - RegOutcome::Internal => vec![notice("Registration failed, please try again later.".to_string())], + RegOutcome::Exists => vec![notice(format!("\x02{nick}\x02 is already registered. If it's yours, use \x02IDENTIFY \x02."))], + RegOutcome::RateLimited => vec![notice("Registrations are busy right now. Please try again in a moment.".to_string())], + RegOutcome::Internal => vec![notice("Sorry, that didn't work. Please try again in a moment.".to_string())], } } } diff --git a/src/services/nickserv.rs b/src/services/nickserv.rs index 69fe19f..2d91474 100644 --- a/src/services/nickserv.rs +++ b/src/services/nickserv.rs @@ -47,19 +47,19 @@ impl Service for NickServ { Some(account) => { // Already identified to this account: don't re-fire the login. if from.account == Some(account) { - ctx.notice(me, from.uid, format!("You are already identified for \x02{}\x02.", account)); + ctx.notice(me, from.uid, format!("You're already identified as \x02{}\x02.", account)); return; } let account = account.to_string(); ctx.login(from.uid, &account); - ctx.notice(me, from.uid, format!("You are now identified for \x02{}\x02.", account)); + ctx.notice(me, from.uid, format!("You're now identified as \x02{}\x02. Welcome back!", account)); } - None => ctx.notice(me, from.uid, "Invalid password."), + None => ctx.notice(me, from.uid, "Invalid password. Please try again."), } } Some("LOGOUT") | Some("LOGOFF") => { if from.account.is_none() { - ctx.notice(me, from.uid, "You are not logged in."); + ctx.notice(me, from.uid, "You're not logged in."); return; } // Guest nick = prefix + sequence (seeded from the link TS, bumped @@ -68,15 +68,15 @@ impl Service for NickServ { self.guest_seq = self.guest_seq.wrapping_add(1); ctx.logout(from.uid); ctx.force_nick(from.uid, &guest); - ctx.notice(me, from.uid, format!("You are now logged out. Your nick is now \x02{}\x02.", guest)); + ctx.notice(me, from.uid, format!("You're now logged out. Your nick is now \x02{}\x02.", guest)); } Some("CERT") => self.cert(from, &args, ctx, db), Some("HELP") => ctx.notice( me, from.uid, - "Commands: REGISTER [email], IDENTIFY , LOGOUT, CERT ADD|DEL|LIST [fingerprint].", + "NickServ looks after your nickname. Commands: \x02REGISTER\x02 [email], \x02IDENTIFY\x02 , \x02LOGOUT\x02, \x02CERT\x02 ADD|DEL|LIST [fingerprint].", ), - Some(other) => ctx.notice(me, from.uid, format!("Unknown command: {}. Try HELP.", other)), + Some(other) => ctx.notice(me, from.uid, format!("I don't know the command \x02{other}\x02. Try \x02HELP\x02.")), None => {} } }