diff options
Diffstat (limited to 'src/modules/m_chanhistory.cpp')
-rw-r--r-- | src/modules/m_chanhistory.cpp | 13 |
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)) |