mirror of
https://github.com/inspircd/inspircd.git
synced 2025-03-09 18:49:03 -04:00
m_delaymsg Add option to disallow NOTICEs too
This commit is contained in:
parent
9e42a8e8f7
commit
6cc3e6be81
@ -695,6 +695,8 @@
|
||||
# from talking in the channel unless they've been joined for X seconds.
|
||||
# Settable using /MODE #chan +d 30
|
||||
#<module name="m_delaymsg.so">
|
||||
# Set allownotice to no to disallow NOTICEs too. Defaults to yes.
|
||||
#<delaymsg allownotice="no">
|
||||
|
||||
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
|
||||
# Deny channels module: Deny channels from being used by users.
|
||||
|
@ -52,12 +52,15 @@ class ModuleDelayMsg : public Module
|
||||
{
|
||||
ServerInstance->Modules->AddService(djm);
|
||||
ServerInstance->Modules->AddService(djm.jointime);
|
||||
Implementation eventlist[] = { I_OnUserJoin, I_OnUserPreMessage};
|
||||
Implementation eventlist[] = { I_OnUserJoin, I_OnUserPreMessage, I_OnRehash };
|
||||
ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation));
|
||||
OnRehash(NULL);
|
||||
}
|
||||
Version GetVersion();
|
||||
void OnUserJoin(Membership* memb, bool sync, bool created, CUList&);
|
||||
ModResult OnUserPreMessage(User* user, void* dest, int target_type, std::string &text, char status, CUList &exempt_list);
|
||||
ModResult OnUserPreNotice(User* user, void* dest, int target_type, std::string& text, char status, CUList& exempt_list);
|
||||
void OnRehash(User* user);
|
||||
};
|
||||
|
||||
ModeAction DelayMsgMode::OnModeChange(User* source, User* dest, Channel* channel, std::string ¶meter, bool adding)
|
||||
@ -144,5 +147,19 @@ ModResult ModuleDelayMsg::OnUserPreMessage(User* user, void* dest, int target_ty
|
||||
return MOD_RES_PASSTHRU;
|
||||
}
|
||||
|
||||
ModResult ModuleDelayMsg::OnUserPreNotice(User* user, void* dest, int target_type, std::string& text, char status, CUList& exempt_list)
|
||||
{
|
||||
return OnUserPreMessage(user, dest, target_type, text, status, exempt_list);
|
||||
}
|
||||
|
||||
void ModuleDelayMsg::OnRehash(User* user)
|
||||
{
|
||||
ConfigTag* tag = ServerInstance->Config->ConfValue("delaymsg");
|
||||
if (tag->getBool("allownotice", true))
|
||||
ServerInstance->Modules->Detach(I_OnUserPreNotice, this);
|
||||
else
|
||||
ServerInstance->Modules->Attach(I_OnUserPreNotice, this);
|
||||
}
|
||||
|
||||
MODULE_INIT(ModuleDelayMsg)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user