diff options
| author | 2017-11-12 17:33:21 +0000 | |
|---|---|---|
| committer | 2017-11-12 17:33:21 +0000 | |
| commit | d23c030c9a8fd58807438245a004e4aa5b7288ba (patch) | |
| tree | d1207d9f811ba486470ac3869052b0bc2180f758 /src/modules/m_timedbans.cpp | |
| parent | Allow spaces in the network name now it doesn't cause problems. (diff) | |
| parent | Release v2.0.25 (diff) | |
| download | inspircd++-d23c030c9a8fd58807438245a004e4aa5b7288ba.tar.gz inspircd++-d23c030c9a8fd58807438245a004e4aa5b7288ba.tar.bz2 inspircd++-d23c030c9a8fd58807438245a004e4aa5b7288ba.zip | |
Merge tag 'v2.0.25' into master.
Diffstat (limited to 'src/modules/m_timedbans.cpp')
| -rw-r--r-- | src/modules/m_timedbans.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/modules/m_timedbans.cpp b/src/modules/m_timedbans.cpp index 9890800e4..8c1454d7e 100644 --- a/src/modules/m_timedbans.cpp +++ b/src/modules/m_timedbans.cpp @@ -117,11 +117,13 @@ class CommandTban : public Command T.chan = channel; TimedBanList.push_back(T); + const std::string addban = user->nick + " added a timed ban on " + mask + " lasting for " + ConvToStr(duration) + " seconds."; // If halfop is loaded, send notice to halfops and above, otherwise send to ops and above PrefixMode* mh = ServerInstance->Modes->FindPrefixMode('h'); char pfxchar = (mh && mh->name == "halfop") ? mh->GetPrefix() : '@'; - channel->WriteAllExcept(ServerInstance->FakeClient, true, pfxchar, tmp, "NOTICE %s :%s added a timed ban on %s lasting for %ld seconds.", channel->name.c_str(), user->nick.c_str(), mask.c_str(), duration); + channel->WriteAllExcept(ServerInstance->FakeClient, true, pfxchar, tmp, "NOTICE %s :%s", channel->name.c_str(), addban.c_str()); + ServerInstance->PI->SendChannelNotice(channel, pfxchar, addban); return CMD_SUCCESS; } @@ -207,9 +209,13 @@ class ModuleTimedBans : public Module Channel* cr = i->chan; { CUList empty; - std::string expiry = "*** Timed ban on " + cr->name + " expired."; - cr->WriteAllExcept(ServerInstance->FakeClient, true, '@', empty, "NOTICE %s :%s", cr->name.c_str(), expiry.c_str()); - ServerInstance->PI->SendChannelNotice(cr, '@', expiry); + const std::string expiry = "*** Timed ban on " + cr->name + " expired."; + // If halfop is loaded, send notice to halfops and above, otherwise send to ops and above + PrefixMode* mh = ServerInstance->Modes->FindPrefixMode('h'); + char pfxchar = (mh && mh->name == "halfop") ? mh->GetPrefix() : '@'; + + cr->WriteAllExcept(ServerInstance->FakeClient, true, pfxchar, empty, "NOTICE %s :%s", cr->name.c_str(), expiry.c_str()); + ServerInstance->PI->SendChannelNotice(cr, pfxchar, expiry); Modes::ChangeList setban; setban.push_remove(ServerInstance->Modes->FindMode('b', MODETYPE_CHANNEL), mask); |
