diff options
Diffstat (limited to 'src/modules/m_conn_join.cpp')
-rw-r--r-- | src/modules/m_conn_join.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/modules/m_conn_join.cpp b/src/modules/m_conn_join.cpp index 7ba2b0c7d..113e49dff 100644 --- a/src/modules/m_conn_join.cpp +++ b/src/modules/m_conn_join.cpp @@ -45,19 +45,20 @@ class ModuleConnJoin : public Module void OnPostConnect(User* user) { - if (!IS_LOCAL(user)) + LocalUser* localuser = IS_LOCAL(user); + if (!localuser) return; std::string chanlist = ServerInstance->Config->ConfValue("autojoin")->getString("channel"); - chanlist = user->GetClass()->config->getString("autojoin", chanlist); + chanlist = localuser->GetClass()->config->getString("autojoin", chanlist); irc::commasepstream chans(chanlist); std::string chan; while (chans.GetToken(chan)) { - if (ServerInstance->IsChannel(chan.c_str(), ServerInstance->Config->Limits.ChanMax)) - Channel::JoinUser(user, chan, false, "", false, ServerInstance->Time()); + if (ServerInstance->IsChannel(chan, ServerInstance->Config->Limits.ChanMax)) + Channel::JoinUser(localuser, chan); } } }; |