diff options
| author | 2026-03-12 15:15:38 +0000 | |
|---|---|---|
| committer | 2026-03-12 15:38:54 +0000 | |
| commit | 7ed7c7ba0dfd3f73a7d8a621988d7e99f07a23ef (patch) | |
| tree | 1f98a809b4018a6cabfe17aa2549507072840438 /modules/ojoin.cpp | |
| parent | Move channel settings to the <channels> tag. (diff) | |
Move <options:defaultmodes> to <channels> and rework.
- The default prefix modes are now separate from the default channel
modes. This should result in less accidentally broken configs.
- The privs are now pre-parsed to a list of mode references. This
should improve performance slightly as the repeated mode lookups
are gone. It also allows us to write warnings to the debug log
when the default privs are invalid.
- Channels can now have a default topic.
Diffstat (limited to 'modules/ojoin.cpp')
| -rw-r--r-- | modules/ojoin.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/modules/ojoin.cpp b/modules/ojoin.cpp index 2c2e163b6..8c6abced3 100644 --- a/modules/ojoin.cpp +++ b/modules/ojoin.cpp @@ -120,13 +120,13 @@ public: { } - ModResult OnUserPreJoin(LocalUser* user, Channel* chan, const std::string& cname, std::string& privs, const std::string& keygiven, bool override) override + ModResult OnUserPreJoin(LocalUser* user, Channel* chan, const std::string& cname, PrefixMode::Set& privs, const std::string& keygiven, bool override) override { if (mycommand.active) { - privs += np.GetModeChar(); - if (mycommand.op && mycommand.opmode) - privs += mycommand.opmode->IsPrefixMode()->GetPrefix(); + privs.insert(&np); + if (mycommand.op && mycommand.opmode && mycommand.opmode->IsPrefixMode()) + privs.insert(mycommand.opmode->IsPrefixMode()); return MOD_RES_ALLOW; } |
