#include "inspircd.h"
-/* $ModDesc: Provides support for ircu style usermode +d (deaf to channel messages and channel notices) */
+/* $ModDesc: Provides usermode +d to block channel messages and channel notices */
/** User mode +d - filter out channel messages and channel notices
*/
ModuleDeaf()
: m1(this)
{
- if (!ServerInstance->Modes->AddMode(&m1))
- throw ModuleException("Could not add new modes!");
+ }
+
+ void init()
+ {
+ ServerInstance->Modules->AddService(m1);
OnRehash(NULL);
Implementation eventlist[] = { I_OnUserPreMessage, I_OnUserPreNotice, I_OnRehash };
- ServerInstance->Modules->Attach(eventlist, this, 3);
+ ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation));
}
-
virtual void OnRehash(User* user)
{
- ConfigReader conf;
- deaf_bypasschars = conf.ReadValue("deaf", "bypasschars", 0);
- deaf_bypasschars_uline = conf.ReadValue("deaf", "bypasscharsuline", 0);
+ ConfigTag* tag = ServerInstance->Config->ConfValue("deaf");
+ deaf_bypasschars = tag->getString("bypasschars");
+ deaf_bypasschars_uline = tag->getString("bypasscharsuline");
}
virtual ModResult OnUserPreNotice(User* user,void* dest,int target_type, std::string &text, char status, CUList &exempt_list)
virtual Version GetVersion()
{
- return Version("Provides support for ircu style usermode +d (deaf to channel messages and channel notices)", VF_VENDOR);
+ return Version("Provides usermode +d to block channel messages and channel notices", VF_VENDOR);
}
};