Add HelpServ: a help-desk ticket queue

Users open tickets with REQUEST (or HELPME); the queue is event-sourced
and, because a request is an event, the audit feed announces it to staff
and records it in the searchable log — so OperServ LOGSEARCH finds a ticket
by any word, the same trail as reports. A user can CANCEL their own open
ticket. Operators work the queue: LIST [ALL], VIEW, TAKE (claim), NEXT
(claim the oldest unassigned), CLOSE. Filing is rate-limited. Opt-in.

That completes the six third-party modules — all interconnected: they
share the account/channel/oper identity, the event-sourced store, and the
one audit/incident trail.
This commit is contained in:
Jean Chevronnet 2026-07-14 04:39:45 +00:00
parent 06227e73da
commit a47dd6bda3
No known key found for this signature in database
9 changed files with 385 additions and 2 deletions

View file

@ -26,6 +26,7 @@ use fedserv_infoserv::InfoServ;
use fedserv_reportserv::ReportServ;
use fedserv_groupserv::GroupServ;
use fedserv_chanfix::ChanFix;
use fedserv_helpserv::HelpServ;
use fedserv_example::ExampleServ;
use fedserv_inspircd::InspIrcd;
use fedserv_nickserv::NickServ;
@ -119,6 +120,11 @@ async fn main() -> Result<()> {
uid: format!("{}AAAAAM", cfg.server.sid),
}));
}
if enabled("helpserv") {
services.push(Box::new(HelpServ {
uid: format!("{}AAAAAN", cfg.server.sid),
}));
}
if enabled("example") {
services.push(Box::new(ExampleServ {
uid: format!("{}AAAAAC", cfg.server.sid),