]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_seenicks.cpp
Include explicit routing information in Command, will replace CMD_LOCALONLY return...
[user/henk/code/inspircd.git] / src / modules / m_seenicks.cpp
index 2e775581072624bb03673f7411a022621d9ea4ee..6ef5ad0c3623bd8c595da25418488582eec1e5dc 100644 (file)
@@ -1 +1,48 @@
-/*       +------------------------------------+\r *       | Inspire Internet Relay Chat Daemon |\r *       +------------------------------------+\r *\r *  InspIRCd: (C) 2002-2007 InspIRCd Development Team\r * See: http://www.inspircd.org/wiki/index.php/Credits\r *\r * This program is free but copyrighted software; see\r *            the file COPYING for details.\r *\r * ---------------------------------------------------\r */\r\r#include "inspircd.h"\r#include "users.h"\r#include "channels.h"\r#include "modules.h"\r#include "hashcomp.h"\r#include "configreader.h"\r\r/* $ModDesc: Provides support for seeing local and remote nickchanges via snomasks */\r\rclass ModuleSeeNicks : public Module\r{\r public:\r       ModuleSeeNicks(InspIRCd* Me)\r           : Module(Me)\r   {\r              ServerInstance->SNO->EnableSnomask('n',"NICK");\r                ServerInstance->SNO->EnableSnomask('N',"REMOTENICK");\r  }\r\r     virtual ~ModuleSeeNicks()\r      {\r              ServerInstance->SNO->DisableSnomask('n');\r              ServerInstance->SNO->DisableSnomask('N');\r      }\r\r     virtual Version GetVersion()\r   {\r              return Version(1,1,0,1, VF_VENDOR, API_VERSION);\r       }\r\r     void Implements(char* List)\r    {\r              List[I_OnUserPostNick] = 1;\r    }\r\r     virtual void OnUserPostNick(userrec* user, const std::string &oldnick)\r {\r              ServerInstance->SNO->WriteToSnoMask(IS_LOCAL(user) ? 'n' : 'N',"User %s changed their nickname to %s", oldnick.c_str(), user->nick);\r   }\r};\r\rMODULE_INIT(ModuleSeeNicks)\r
\ No newline at end of file
+/*       +------------------------------------+
+ *       | Inspire Internet Relay Chat Daemon |
+ *       +------------------------------------+
+ *
+ *  InspIRCd: (C) 2002-2009 InspIRCd Development Team
+ * See: http://wiki.inspircd.org/Credits
+ *
+ * This program is free but copyrighted software; see
+ *            the file COPYING for details.
+ *
+ * ---------------------------------------------------
+ */
+
+#include "inspircd.h"
+
+/* $ModDesc: Provides support for seeing local and remote nickchanges via snomasks */
+
+class ModuleSeeNicks : public Module
+{
+ public:
+       ModuleSeeNicks(InspIRCd* Me)
+               : Module(Me)
+       {
+               ServerInstance->SNO->EnableSnomask('n',"NICK");
+               ServerInstance->SNO->EnableSnomask('N',"REMOTENICK");
+               Implementation eventlist[] = { I_OnUserPostNick };
+               ServerInstance->Modules->Attach(eventlist, this, 1);
+       }
+
+       virtual ~ModuleSeeNicks()
+       {
+               ServerInstance->SNO->DisableSnomask('n');
+               ServerInstance->SNO->DisableSnomask('N');
+       }
+
+       virtual Version GetVersion()
+       {
+               return Version("$Id$", VF_VENDOR, API_VERSION);
+       }
+
+
+       virtual void OnUserPostNick(User* user, const std::string &oldnick)
+       {
+               ServerInstance->SNO->WriteToSnoMask(IS_LOCAL(user) ? 'n' : 'N',"User %s changed their nickname to %s", oldnick.c_str(), user->nick.c_str());
+       }
+};
+
+MODULE_INIT(ModuleSeeNicks)