diff options
author | Sadie Powell <sadie@witchery.services> | 2024-10-02 15:00:58 +0100 |
---|---|---|
committer | Sadie Powell <sadie@witchery.services> | 2024-10-02 23:54:36 +0100 |
commit | 2f745132461080b4773e878d0cafb68de99a7e67 (patch) | |
tree | 01aba256ac36c6404241370de1bb67d8b9d1cd94 /src/servers.cpp | |
parent | 94dbb1959308116c4edf411eb5e88d7ad871286d (diff) |
Change User::SetModesInternal to take a split mode change.
Diffstat (limited to 'src/servers.cpp')
-rw-r--r-- | src/servers.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/servers.cpp b/src/servers.cpp index 1435ee743..ca418aec0 100644 --- a/src/servers.cpp +++ b/src/servers.cpp @@ -50,9 +50,15 @@ Server::Server(Server *up, const Anope::string &sname, unsigned shops, const Ano /* Now do mode related stuff as we know what modes exist .. */ for (auto &[_, bi] : *BotListByNick) { - Anope::string modes = !bi->botmodes.empty() ? ("+" + bi->botmodes) : IRCD->DefaultPseudoclientModes; + spacesepstream modesep(bi->botmodes.empty() ? IRCD->DefaultPseudoclientModes : "+" + bi->botmodes); - bi->SetModesInternal(bi, modes); + Anope::string modechars; + modesep.GetToken(modechars); + + std::vector<Anope::string> modeparams; + modesep.GetTokens(modeparams); + + bi->SetModesInternal(bi, modechars, modeparams); for (const auto &botchannel : bi->botchannels) { size_t h = botchannel.find('#'); |