Option to select if chanhistory is on for bots

This commit is contained in:
Daniel Vassdal 2013-08-24 07:36:30 -07:00
parent 7264a6a8d4
commit 71b9af776e
2 changed files with 9 additions and 2 deletions

View File

@ -384,7 +384,8 @@
# This is the hard limit for 'X'.
# If notice is set to yes, joining users will get a NOTICE before playback
# telling them about the following lines being the pre-join history.
#<chanhistory maxlines="20" notice="yes">
# If bots is set to yes, it will also send to users marked with +B
#<chanhistory maxlines="20" notice="yes" bots="yes">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Channel logging module: used to send snotice output to channels, to

View File

@ -107,8 +107,10 @@ class ModuleChanHistory : public Module
{
HistoryMode m;
bool sendnotice;
UserModeReference botmode;
bool dobots;
public:
ModuleChanHistory() : m(this)
ModuleChanHistory() : m(this), botmode(this, "bot")
{
}
@ -125,6 +127,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&, MessageType msgtype) CXX11_OVERRIDE
@ -148,6 +151,9 @@ class ModuleChanHistory : public Module
if (IS_REMOTE(memb->user))
return;
if (memb->user->IsModeSet(botmode) && !dobots)
return;
HistoryList* list = m.ext.get(memb->chan);
if (!list)
return;