migrate: carry channel SET flags, noexpire, and account hide-status
All checks were successful
CI / check (push) Successful in 3m45s

Completes the importer: Anope's per-channel bool flags (KEEPTOPIC, PEACE,
SIGNKICK, BS_GREET, and defensively SECUREOPS/RESTRICTED/PRIVATE/TOPICLOCK/
NOAUTOOP/NOBOT) now map to ChanSettings, CS_NO_EXPIRE to channel noexpire, and
NickCore HIDE_MASK to the account's hide-status. PERSIST/SECUREFOUNDER/
KEEP_MODES/FANTASY have no Echo equivalent and are skipped. Verified: #devs
carries its full flag set + noexpire off the real backup.
This commit is contained in:
Jean Chevronnet 2026-07-16 15:03:54 +00:00
parent 062eae703e
commit 3f97a66dbb
No known key found for this signature in database
2 changed files with 34 additions and 7 deletions

View file

@ -52,8 +52,8 @@ async fn main() -> Result<()> {
let node = argv.get(4).map(String::as_str).unwrap_or("services");
let s = migrate::import_anope(src, out, node)?;
println!(
"imported: {} accounts, {} grouped nicks, {} certs, {} vhosts, {} channels, {} access, {} mlocked, {} bots, {} memos",
s.accounts, s.grouped_nicks, s.certs, s.vhosts, s.channels, s.access, s.mlocked, s.bots, s.memos
"imported: {} accounts, {} grouped nicks, {} certs, {} vhosts, {} channels ({} with settings), {} access, {} mlocked, {} bots, {} memos",
s.accounts, s.grouped_nicks, s.certs, s.vhosts, s.channels, s.settings, s.access, s.mlocked, s.bots, s.memos
);
for note in &s.skipped {
println!(" skipped: {note}");