Files
znc/modules/extra/notify_connect.cpp
2010-11-07 16:14:13 +00:00

31 lines
873 B
C++

/*
* Copyright (C) 2004-2010 See the AUTHORS file for details.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 as published
* by the Free Software Foundation.
*/
#include "znc.h"
#include "User.h"
class CNotifyConnectMod : public CGlobalModule {
public:
GLOBALMODCONSTRUCTOR(CNotifyConnectMod) {}
virtual void OnClientLogin() {
SendAdmins(m_pUser->GetUserName() + " attached (from " + m_pClient->GetRemoteIP() + ")");
}
virtual void OnClientDisconnect() {
SendAdmins(m_pUser->GetUserName() + " detached (gone: " + m_pClient->GetRemoteIP() + ")");
}
private:
void SendAdmins(const CString &msg) {
CZNC::Get().Broadcast(msg, true, NULL, GetClient());
}
};
GLOBALMODULEDEFS(CNotifyConnectMod, "Notifies all admin users when a client connects or disconnects.")