botserv: bot registry + BOT ADD/DEL/LIST (first slice)

Adds BotServ as a new module crate (fedserv-botserv) and a persisted bot
registry: a typed Bot{nick,user,host,gecos} threaded through the event log
(new bots map folded in apply, snapshotted, Local scope). BOT ADD/DEL/LIST
gated on the typed Priv::Admin. BotServ is a default service (uid suffix
AAAAAD). Next slices: introduce bots on the network, ASSIGN to channels, and
in-channel fantasy commands. Data + oper-gated engine tests.
This commit is contained in:
Jean Chevronnet 2026-07-13 04:33:27 +00:00
parent cb081a2e95
commit 651cb683de
No known key found for this signature in database
10 changed files with 244 additions and 12 deletions

View file

@ -14,6 +14,7 @@ use std::time::{SystemTime, UNIX_EPOCH};
use tokio::sync::Mutex;
use engine::Engine;
use fedserv_botserv::BotServ;
use fedserv_chanserv::ChanServ;
use fedserv_example::ExampleServ;
use fedserv_inspircd::InspIrcd;
@ -57,6 +58,11 @@ async fn main() -> Result<()> {
uid: format!("{}AAAAAB", cfg.server.sid),
}));
}
if enabled("botserv") {
services.push(Box::new(BotServ {
uid: format!("{}AAAAAD", cfg.server.sid),
}));
}
if enabled("example") {
services.push(Box::new(ExampleServ {
uid: format!("{}AAAAAC", cfg.server.sid),