X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_blockamsg.cpp;h=c4af2fd7ff4783b95650ee2a1ce8de4493dd95f6;hb=a032cd90ad5582914759e226085efee5aae1a1ef;hp=266497b9092b38b5f3f0c1491d82b8ad4e851703;hpb=bcdc3b0bb0ba957a9e99cd6db7f1242a9e587400;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_blockamsg.cpp b/src/modules/m_blockamsg.cpp index 266497b90..c4af2fd7f 100644 --- a/src/modules/m_blockamsg.cpp +++ b/src/modules/m_blockamsg.cpp @@ -48,7 +48,7 @@ class BlockedMessage class ModuleBlockAmsg : public Module { - int ForgetDelay; + unsigned int ForgetDelay; BlockAction action; SimpleExtItem blockamsg; @@ -66,22 +66,22 @@ class ModuleBlockAmsg : public Module void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE { ConfigTag* tag = ServerInstance->Config->ConfValue("blockamsg"); - ForgetDelay = tag->getInt("delay", -1); + ForgetDelay = tag->getDuration("delay", 3); std::string act = tag->getString("action"); - if (act == "notice") + if (stdalgo::string::equalsci(act, "notice")) action = IBLOCK_NOTICE; - else if (act == "noticeopers") + else if (stdalgo::string::equalsci(act, "noticeopers")) action = IBLOCK_NOTICEOPERS; - else if (act == "silent") + else if (stdalgo::string::equalsci(act, "silent")) action = IBLOCK_SILENT; - else if (act == "kill") + else if (stdalgo::string::equalsci(act, "kill")) action = IBLOCK_KILL; else action = IBLOCK_KILLOPERS; } - ModResult OnPreCommand(std::string &command, std::vector ¶meters, LocalUser *user, bool validated, const std::string &original_line) CXX11_OVERRIDE + ModResult OnPreCommand(std::string& command, CommandBase::Params& parameters, LocalUser* user, bool validated) CXX11_OVERRIDE { // Don't do anything with unregistered users if (user->registered != REG_ALL) @@ -116,7 +116,7 @@ class ModuleBlockAmsg : public Module // OR // The number of target channels is equal to the number of channels the sender is on..a little suspicious. // Check it's more than 1 too, or else users on one channel would have fun. - if ((m && (m->message == parameters[1]) && (!irc::equals(m->target, parameters[0])) && (ForgetDelay != -1) && (m->sent >= ServerInstance->Time()-ForgetDelay)) || ((targets > 1) && (targets == user->chans.size()))) + if ((m && (m->message == parameters[1]) && (!irc::equals(m->target, parameters[0])) && ForgetDelay && (m->sent >= ServerInstance->Time()-ForgetDelay)) || ((targets > 1) && (targets == user->chans.size()))) { // Block it... if (action == IBLOCK_KILLOPERS || action == IBLOCK_NOTICEOPERS)