summaryrefslogtreecommitdiff
path: root/src/modules/m_chanhistory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/m_chanhistory.cpp')
-rw-r--r--src/modules/m_chanhistory.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/modules/m_chanhistory.cpp b/src/modules/m_chanhistory.cpp
index fe4bd9477..06840744b 100644
--- a/src/modules/m_chanhistory.cpp
+++ b/src/modules/m_chanhistory.cpp
@@ -20,6 +20,7 @@
#include "inspircd.h"
#include "modules/ircv3_servertime.h"
#include "modules/ircv3_batch.h"
+#include "modules/server.h"
struct HistoryItem
{
@@ -118,7 +119,9 @@ class HistoryMode : public ParamMode<HistoryMode, SimpleExtItem<HistoryList> >
}
};
-class ModuleChanHistory : public Module
+class ModuleChanHistory
+ : public Module
+ , public ServerEventListener
{
HistoryMode m;
bool sendnotice;
@@ -131,7 +134,8 @@ class ModuleChanHistory : public Module
public:
ModuleChanHistory()
- : m(this)
+ : ServerEventListener(this)
+ , m(this)
, botmode(this, "bot")
, batchcap(this)
, batchmanager(this)
@@ -148,6 +152,11 @@ class ModuleChanHistory : public Module
dobots = tag->getBool("bots", true);
}
+ ModResult OnBroadcastMessage(Channel* channel, const Server* server) CXX11_OVERRIDE
+ {
+ return channel->IsModeSet(m) ? MOD_RES_ALLOW : MOD_RES_PASSTHRU;
+ }
+
void OnUserPostMessage(User* user, const MessageTarget& target, const MessageDetails& details) CXX11_OVERRIDE
{
if ((target.type == MessageTarget::TYPE_CHANNEL) && (target.status == 0) && (details.type == MSG_PRIVMSG))