aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/m_restrictmsg.cpp
diff options
context:
space:
mode:
authorGravatar Sadie Powell2019-05-15 15:11:31 +0100
committerGravatar Sadie Powell2019-05-15 15:26:55 +0100
commit1d5b18de82a90317291a10acb3b9132324c0e98b (patch)
treebe49087463332fcb617dd88567afce5cea6eb8c6 /src/modules/m_restrictmsg.cpp
parentMerge branch 'insp3' into master. (diff)
parentDocument the --disable-auto-extras configure option. (diff)
Merge branch 'insp3' into master.
Diffstat (limited to 'src/modules/m_restrictmsg.cpp')
-rw-r--r--src/modules/m_restrictmsg.cpp27
1 files changed, 23 insertions, 4 deletions
diff --git a/src/modules/m_restrictmsg.cpp b/src/modules/m_restrictmsg.cpp
index 3cc02ab48..6d220c0be 100644
--- a/src/modules/m_restrictmsg.cpp
+++ b/src/modules/m_restrictmsg.cpp
@@ -20,11 +20,14 @@
#include "inspircd.h"
+#include "modules/ctctags.h"
-class ModuleRestrictMsg : public Module
+class ModuleRestrictMsg
+ : public Module
+ , public CTCTags::EventListener
{
- public:
- ModResult OnUserPreMessage(User* user, const MessageTarget& target, MessageDetails& details) override
+ private:
+ ModResult HandleMessage(User* user, const MessageTarget& target)
{
if ((target.type == MessageTarget::TYPE_USER) && (IS_LOCAL(user)))
{
@@ -47,9 +50,25 @@ class ModuleRestrictMsg : public Module
return MOD_RES_PASSTHRU;
}
+ public:
+ ModuleRestrictMsg()
+ : CTCTags::EventListener(this)
+ {
+ }
+
+ ModResult OnUserPreMessage(User* user, const MessageTarget& target, MessageDetails& details) override
+ {
+ return HandleMessage(user, target);
+ }
+
+ ModResult OnUserPreTagMessage(User* user, const MessageTarget& target, CTCTags::TagMessageDetails& details) override
+ {
+ return HandleMessage(user, target);
+ }
+
Version GetVersion() override
{
- return Version("Forbids users from messaging each other. Users may still message opers and opers may message other opers.",VF_VENDOR);
+ return Version("Forbids users from messaging each other, but users may still message opers and opers may message other opers", VF_VENDOR);
}
};