From cb45d5c3a51eb0e2c625809ee28c618faeb4da78 Mon Sep 17 00:00:00 2001 From: Attila Molnar Date: Mon, 20 Oct 2014 20:42:17 +0200 Subject: Update tag documentation --- docs/conf/modules.conf.example | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'docs/conf/modules.conf.example') diff --git a/docs/conf/modules.conf.example b/docs/conf/modules.conf.example index 5b79fc2b6..2af84c83b 100644 --- a/docs/conf/modules.conf.example +++ b/docs/conf/modules.conf.example @@ -1146,7 +1146,8 @@ # # file - filename of existing file in "locales" directory # casemapping - custom value for 005 numeric (if you want it to be -# different from the filename). +# different from the filename). Set this to the name of +# the locale if you are specifying an absolute path. # #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# -- cgit v1.2.3 From 6cc3e6be818f8d15c41e32787ba6885d501e8ed4 Mon Sep 17 00:00:00 2001 From: Attila Molnar Date: Thu, 23 Oct 2014 17:59:44 +0200 Subject: m_delaymsg Add option to disallow NOTICEs too --- docs/conf/modules.conf.example | 2 ++ src/modules/m_delaymsg.cpp | 19 ++++++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) (limited to 'docs/conf/modules.conf.example') diff --git a/docs/conf/modules.conf.example b/docs/conf/modules.conf.example index 2af84c83b..30b8181ac 100644 --- a/docs/conf/modules.conf.example +++ b/docs/conf/modules.conf.example @@ -695,6 +695,8 @@ # from talking in the channel unless they've been joined for X seconds. # Settable using /MODE #chan +d 30 # +# Set allownotice to no to disallow NOTICEs too. Defaults to yes. +# #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Deny channels module: Deny channels from being used by users. diff --git a/src/modules/m_delaymsg.cpp b/src/modules/m_delaymsg.cpp index cfc06866a..978ab55d2 100644 --- a/src/modules/m_delaymsg.cpp +++ b/src/modules/m_delaymsg.cpp @@ -52,12 +52,15 @@ class ModuleDelayMsg : public Module { ServerInstance->Modules->AddService(djm); ServerInstance->Modules->AddService(djm.jointime); - Implementation eventlist[] = { I_OnUserJoin, I_OnUserPreMessage}; + Implementation eventlist[] = { I_OnUserJoin, I_OnUserPreMessage, I_OnRehash }; ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation)); + OnRehash(NULL); } Version GetVersion(); void OnUserJoin(Membership* memb, bool sync, bool created, CUList&); ModResult OnUserPreMessage(User* user, void* dest, int target_type, std::string &text, char status, CUList &exempt_list); + ModResult OnUserPreNotice(User* user, void* dest, int target_type, std::string& text, char status, CUList& exempt_list); + void OnRehash(User* user); }; ModeAction DelayMsgMode::OnModeChange(User* source, User* dest, Channel* channel, std::string ¶meter, bool adding) @@ -144,5 +147,19 @@ ModResult ModuleDelayMsg::OnUserPreMessage(User* user, void* dest, int target_ty return MOD_RES_PASSTHRU; } +ModResult ModuleDelayMsg::OnUserPreNotice(User* user, void* dest, int target_type, std::string& text, char status, CUList& exempt_list) +{ + return OnUserPreMessage(user, dest, target_type, text, status, exempt_list); +} + +void ModuleDelayMsg::OnRehash(User* user) +{ + ConfigTag* tag = ServerInstance->Config->ConfValue("delaymsg"); + if (tag->getBool("allownotice", true)) + ServerInstance->Modules->Detach(I_OnUserPreNotice, this); + else + ServerInstance->Modules->Attach(I_OnUserPreNotice, this); +} + MODULE_INIT(ModuleDelayMsg) -- cgit v1.2.3