mirror of
https://github.com/znc/znc.git
synced 2026-05-05 04:52:31 +02:00
@@ -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 <znc/IRCNetwork.h>
|
||||
#include <znc/Chan.h>
|
||||
|
||||
using std::vector;
|
||||
|
||||
class CKickClientOnIRCDisconnect: public CModule {
|
||||
public:
|
||||
MODCONSTRUCTOR(CKickClientOnIRCDisconnect) {}
|
||||
|
||||
void OnIRCDisconnected() override
|
||||
{
|
||||
const vector<CChan*>& vChans = GetNetwork()->GetChans();
|
||||
|
||||
for(vector<CChan*>::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<CKickClientOnIRCDisconnect>(CModInfo& Info) {
|
||||
Info.SetWikiPage("disconkick");
|
||||
}
|
||||
|
||||
USERMODULEDEFS(CKickClientOnIRCDisconnect, "Kicks the client from all channels when the connection to the IRC server is lost")
|
||||
@@ -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.
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user