summaryrefslogtreecommitdiff
path: root/src/modules/m_delaymsg.cpp
diff options
context:
space:
mode:
authorAttila Molnar <attilamolnar@hush.com>2014-10-27 15:26:20 +0100
committerAttila Molnar <attilamolnar@hush.com>2014-10-27 15:26:20 +0100
commit3a3ff949670c61a4a8856e1391222e156eb1cd17 (patch)
treefd8023fefa4829ceea428ec424608ef9aace1d9a /src/modules/m_delaymsg.cpp
parentcba05046ce20eed4c429093296eb481bf95d7e07 (diff)
parentc99a43968f6a04c7d5d3038b4e39d14c22aa6e89 (diff)
Merge insp20
Diffstat (limited to 'src/modules/m_delaymsg.cpp')
-rw-r--r--src/modules/m_delaymsg.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/modules/m_delaymsg.cpp b/src/modules/m_delaymsg.cpp
index 06a05db02..c906e2c30 100644
--- a/src/modules/m_delaymsg.cpp
+++ b/src/modules/m_delaymsg.cpp
@@ -47,6 +47,7 @@ class DelayMsgMode : public ParamMode<DelayMsgMode, LocalIntExt>
class ModuleDelayMsg : public Module
{
DelayMsgMode djm;
+ bool allownotice;
public:
ModuleDelayMsg() : djm(this)
{
@@ -55,6 +56,7 @@ class ModuleDelayMsg : public Module
Version GetVersion() CXX11_OVERRIDE;
void OnUserJoin(Membership* memb, bool sync, bool created, CUList&) CXX11_OVERRIDE;
ModResult OnUserPreMessage(User* user, void* dest, int target_type, std::string& text, char status, CUList& exempt_list, MessageType msgtype) CXX11_OVERRIDE;
+ void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE;
};
ModeAction DelayMsgMode::OnSet(User* source, Channel* chan, std::string& parameter)
@@ -97,7 +99,7 @@ ModResult ModuleDelayMsg::OnUserPreMessage(User* user, void* dest, int target_ty
if ((!user) || (!IS_LOCAL(user)))
return MOD_RES_PASSTHRU;
- if ((target_type != TYPE_CHANNEL) || (msgtype != MSG_PRIVMSG))
+ if ((target_type != TYPE_CHANNEL) || ((!allownotice) && (msgtype == MSG_NOTICE)))
return MOD_RES_PASSTHRU;
Channel* channel = (Channel*) dest;
@@ -130,4 +132,10 @@ ModResult ModuleDelayMsg::OnUserPreMessage(User* user, void* dest, int target_ty
return MOD_RES_PASSTHRU;
}
+void ModuleDelayMsg::ReadConfig(ConfigStatus& status)
+{
+ ConfigTag* tag = ServerInstance->Config->ConfValue("delaymsg");
+ allownotice = tag->getBool("allownotice", true);
+}
+
MODULE_INIT(ModuleDelayMsg)