1 /* +------------------------------------+
2 * | Inspire Internet Relay Chat Daemon |
3 * +------------------------------------+
5 * InspIRCd: (C) 2002-2007 InspIRCd Development Team
6 * See: http://www.inspircd.org/wiki/index.php/Credits
8 * This program is free but copyrighted software; see
9 * the file COPYING for details.
11 * ---------------------------------------------------
19 #include "configreader.h"
21 /* $ModDesc: Provides support for seeing local and remote nickchanges via snomasks */
23 class ModuleSeeNicks : public Module
26 ModuleSeeNicks(InspIRCd* Me)
29 ServerInstance->SNO->EnableSnomask('n',"NICK");
30 ServerInstance->SNO->EnableSnomask('N',"REMOTENICK");
33 virtual ~ModuleSeeNicks()
35 ServerInstance->SNO->DisableSnomask('n');
36 ServerInstance->SNO->DisableSnomask('N');
39 virtual Version GetVersion()
41 return Version(1,1,0,1, VF_VENDOR, API_VERSION);
44 void Implements(char* List)
46 List[I_OnUserPostNick] = 1;
49 virtual void OnUserPostNick(userrec* user, const std::string &oldnick)
51 ServerInstance->SNO->WriteToSnoMask(IS_LOCAL(user) ? 'n' : 'N',"User %s changed their nickname to %s", oldnick.c_str(), user->nick);
55 class ModuleSeeNicksFactory : public ModuleFactory
58 ModuleSeeNicksFactory()
62 ~ModuleSeeNicksFactory()
66 virtual Module * CreateModule(InspIRCd* Me)
68 return new ModuleSeeNicks(Me);
74 extern "C" DllExport void * init_module( void )
76 return new ModuleSeeNicksFactory;