From 758cf504f1b049c5a1b33f7f774042c5e3efaea5 Mon Sep 17 00:00:00 2001 From: Michael Hazell Date: Fri, 29 Dec 2017 18:16:39 -0500 Subject: m_chanhistory: optionally exempt bots from receiving history. Sending history to some bots can cause problems as without the IRCv3 chathistory batch they have no way of knowing what messages are history and what they should respond to. Closes #1450. --- src/modules/m_chanhistory.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/modules/m_chanhistory.cpp') diff --git a/src/modules/m_chanhistory.cpp b/src/modules/m_chanhistory.cpp index e48e67fe5..08f316578 100644 --- a/src/modules/m_chanhistory.cpp +++ b/src/modules/m_chanhistory.cpp @@ -111,6 +111,7 @@ class ModuleChanHistory : public Module { HistoryMode m; bool sendnotice; + bool dobots; public: ModuleChanHistory() : m(this) { @@ -131,6 +132,7 @@ class ModuleChanHistory : public Module ConfigTag* tag = ServerInstance->Config->ConfValue("chanhistory"); m.maxlines = tag->getInt("maxlines", 50); sendnotice = tag->getBool("notice", true); + dobots = tag->getBool("bots", true); } void OnUserMessage(User* user,void* dest,int target_type, const std::string &text, char status, const CUList&) @@ -156,6 +158,9 @@ class ModuleChanHistory : public Module if (IS_REMOTE(memb->user)) return; + if (!dobots && ServerInstance->Modules->Find("m_botmode.so") && memb->user->IsModeSet('B')) + return; + HistoryList* list = m.ext.get(memb->chan); if (!list) return; -- cgit v1.2.3