mirror of
https://github.com/inspircd/inspircd.git
synced 2025-03-11 11:39:02 -04:00
m_showwhois.cpp - adds support for +W umode
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@845 e03df62e-2008-0410-955e-edbf42e46eb7
This commit is contained in:
parent
ca5af9f34d
commit
6a2a049d38
77
src/modules/m_showwhois.cpp
Normal file
77
src/modules/m_showwhois.cpp
Normal file
@ -0,0 +1,77 @@
|
||||
// showwhois module by typobox43
|
||||
|
||||
#include "users.h"
|
||||
#include "channels.h"
|
||||
#include "modules.h"
|
||||
|
||||
/* $ModDesc: Allows opers to set +W to see when a user uses WHOIS on them */
|
||||
|
||||
Server *Srv;
|
||||
|
||||
class ModuleShowwhois : public Module {
|
||||
|
||||
public:
|
||||
|
||||
ModuleShowwhois() {
|
||||
|
||||
Srv = new Server;
|
||||
|
||||
Srv->AddExtendedMode('W',MT_CLIENT,true,0,0);
|
||||
|
||||
}
|
||||
|
||||
~ModuleShowwhois() {
|
||||
|
||||
delete Srv;
|
||||
|
||||
}
|
||||
|
||||
virtual int OnExtendedMode(userrec* user, void* target, char modechar, int type, bool mode_on, string_list& params) {
|
||||
|
||||
if((type == MT_CLIENT) && (modechar == 'W')) {
|
||||
|
||||
return 1;
|
||||
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
virtual void OnWhois(userrec* source, userrec* dest) {
|
||||
|
||||
if(strchr(dest->modes,'W')) {
|
||||
|
||||
WriteServ(dest->fd,"NOTICE %s :*** %s (%s@%s) did a /whois on you.",dest->nick,source->nick,source->ident,source->host);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
class ModuleShowwhoisFactory : public ModuleFactory {
|
||||
|
||||
public:
|
||||
|
||||
ModuleShowwhoisFactory() {
|
||||
|
||||
}
|
||||
|
||||
~ModuleShowwhoisFactory() {
|
||||
|
||||
}
|
||||
|
||||
virtual Module* CreateModule() {
|
||||
|
||||
return new ModuleShowwhois;
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
extern "C" void* init_module() {
|
||||
|
||||
return new ModuleShowwhoisFactory;
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user