Remove the ability to treat notices specially in delaymsg.

This commit is contained in:
Sadie Powell 2023-07-21 15:55:58 +01:00
parent 325b6f8200
commit a2d6e36abe
2 changed files with 5 additions and 18 deletions

View File

@ -928,8 +928,6 @@
# from talking in the channel unless they've been joined for X seconds.
# Settable using /MODE #chan +d 30
#<module name="delaymsg">
# Set allownotice to no to disallow NOTICEs too. Defaults to yes.
#<delaymsg allownotice="no">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Deny channels module: Deny channels from being used by users.

View File

@ -59,9 +59,8 @@ class ModuleDelayMsg final
{
private:
DelayMsgMode djm;
bool allownotice;
CheckExemption::EventProvider exemptionprov;
ModResult HandleMessage(User* user, const MessageTarget& target, bool notice);
ModResult HandleMessage(User* user, const MessageTarget& target);
public:
ModuleDelayMsg()
@ -75,7 +74,6 @@ public:
void OnUserJoin(Membership* memb, bool sync, bool created, CUList&) override;
ModResult OnUserPreMessage(User* user, const MessageTarget& target, MessageDetails& details) override;
ModResult OnUserPreTagMessage(User* user, const MessageTarget& target, CTCTags::TagMessageDetails& details) override;
void ReadConfig(ConfigStatus& status) override;
};
bool DelayMsgMode::OnSet(User* source, Channel* chan, std::string& parameter)
@ -105,20 +103,17 @@ void ModuleDelayMsg::OnUserJoin(Membership* memb, bool sync, bool created, CULis
ModResult ModuleDelayMsg::OnUserPreMessage(User* user, const MessageTarget& target, MessageDetails& details)
{
return HandleMessage(user, target, details.type == MessageType::NOTICE);
return HandleMessage(user, target);
}
ModResult ModuleDelayMsg::OnUserPreTagMessage(User* user, const MessageTarget& target, CTCTags::TagMessageDetails& details)
{
return HandleMessage(user, target, false);
return HandleMessage(user, target);
}
ModResult ModuleDelayMsg::HandleMessage(User* user, const MessageTarget& target, bool notice)
ModResult ModuleDelayMsg::HandleMessage(User* user, const MessageTarget& target)
{
if (!IS_LOCAL(user))
return MOD_RES_PASSTHRU;
if ((target.type != MessageTarget::TYPE_CHANNEL) || ((!allownotice) && (notice)))
if (!IS_LOCAL(user) || target.type != MessageTarget::TYPE_CHANNEL)
return MOD_RES_PASSTHRU;
Channel* channel = target.Get<Channel>();
@ -155,10 +150,4 @@ ModResult ModuleDelayMsg::HandleMessage(User* user, const MessageTarget& target,
return MOD_RES_PASSTHRU;
}
void ModuleDelayMsg::ReadConfig(ConfigStatus& status)
{
const auto& tag = ServerInstance->Config->ConfValue("delaymsg");
allownotice = tag->getBool("allownotice", true);
}
MODULE_INIT(ModuleDelayMsg)