diff --git a/modules/disconkick.cpp b/modules/disconkick.cpp deleted file mode 100644 index 4e0d64cf..00000000 --- a/modules/disconkick.cpp +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (C) 2004-2015 ZNC, see the NOTICE file for details. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include - -using std::vector; - -class CKickClientOnIRCDisconnect: public CModule { -public: - MODCONSTRUCTOR(CKickClientOnIRCDisconnect) {} - - void OnIRCDisconnected() override - { - const vector& vChans = GetNetwork()->GetChans(); - - for(vector::const_iterator it = vChans.begin(); it != vChans.end(); ++it) - { - if((*it)->IsOn()) { - PutUser(":ZNC!znc@znc.in KICK " + (*it)->GetName() + " " + GetNetwork()->GetIRCNick().GetNick() - + " :You have been disconnected from the IRC server"); - } - } - } -}; - -template<> void TModInfo(CModInfo& Info) { - Info.SetWikiPage("disconkick"); -} - -USERMODULEDEFS(CKickClientOnIRCDisconnect, "Kicks the client from all channels when the connection to the IRC server is lost") diff --git a/src/IRCSock.cpp b/src/IRCSock.cpp index 45bb1757..8a571295 100644 --- a/src/IRCSock.cpp +++ b/src/IRCSock.cpp @@ -1102,6 +1102,13 @@ void CIRCSock::Disconnected() { m_pNetwork->ClearRawBuffer(); m_pNetwork->ClearMotdBuffer(); + for (CChan* pChan : m_pNetwork->GetChans()) { + if(pChan->IsOn()) { + m_pNetwork->PutUser(":ZNC!znc@znc.in KICK " + pChan->GetName() + " " + GetNick() + + " :You have been disconnected from the IRC server"); + } + } + ResetChans(); // send a "reset user modes" cmd to the client. diff --git a/src/User.cpp b/src/User.cpp index f184eae2..932ac4eb 100644 --- a/src/User.cpp +++ b/src/User.cpp @@ -376,6 +376,7 @@ bool CUser::ParseConfig(CConfig* pConfig, CString& sError) { // XXX Legacy crap, added in ZNC 0.099 if (sModName == "fixfreenode") { sNotice = "NOTICE: [fixfreenode] doesn't do anything useful anymore, ignoring it"; + CUtils::PrintMessage(sNotice); continue; } @@ -419,6 +420,13 @@ bool CUser::ParseConfig(CConfig* pConfig, CString& sError) { continue; } + // XXX Legacy crap, added in 1.7 + if (sModName == "disconkick") { + sNotice = "NOTICE: [disconkick] is integrated to core now, ignoring it"; + CUtils::PrintMessage(sNotice); + continue; + } + CString sModRet; CString sArgs = sMod.Token(1, true);