BotServ GREET + NickServ SET GREET

Members set a personal greet with NickServ SET GREET; a channel founder
enables display with BotServ SET <#channel> GREET ON. On join, if greets
are enabled and the member has channel access and a non-empty greet, the
assigned bot shows [account] greet in the channel.

Per-account greet is a typed field on Account (AccountGreetSet event, rides
the account snapshot); the per-channel toggle is a new ChanSetting::BotGreet
bool. Greet is public in NickServ INFO.
This commit is contained in:
Jean Chevronnet 2026-07-13 14:43:48 +00:00
parent 801bfc5c96
commit ad8041bd9d
No known key found for this signature in database
8 changed files with 172 additions and 5 deletions

View file

@ -122,6 +122,7 @@ fn to_wire(entry: &LogEntry) -> Option<ReplicationEvent> {
Event::CertAdded { .. }
| Event::CertRemoved { .. }
| Event::AccountPasswordSet { .. }
| Event::AccountGreetSet { .. }
| Event::AjoinAdded { .. }
| Event::AjoinRemoved { .. }
| Event::AccountSuspended { .. }
@ -369,6 +370,7 @@ mod tests {
ajoin: vec![],
suspension: None,
memos: vec![],
greet: String::new(),
};
let registered = LogEntry::for_test("A", 0, 1, Event::AccountRegistered(acct));
let wire = to_wire(&registered).expect("account registration replicates");