summaryrefslogtreecommitdiff
path: root/include/modules/cap.h
diff options
context:
space:
mode:
authorPeter Powell <petpow@saberuk.com>2018-08-13 20:17:46 +0100
committerPeter Powell <petpow@saberuk.com>2018-08-13 21:51:11 +0100
commit58a0a7e01422e62de1565a8eb0a1febdc463d04d (patch)
tree8861789deefe9df3524690de8ccd11e5366f1f2e /include/modules/cap.h
parente2a820cce21342478653a34cf8ce2b593128d035 (diff)
Implement IRCv3 message tag support.
Co-authored-by: Attila Molnar <attilamolnar@hush.com>
Diffstat (limited to 'include/modules/cap.h')
-rw-r--r--include/modules/cap.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/include/modules/cap.h b/include/modules/cap.h
index 8299d14ae..6dcb9f3bc 100644
--- a/include/modules/cap.h
+++ b/include/modules/cap.h
@@ -313,4 +313,23 @@ namespace Cap
return false;
}
};
+
+ class MessageBase : public ClientProtocol::Message
+ {
+ public:
+ MessageBase(const std::string& subcmd)
+ : ClientProtocol::Message("CAP", ServerInstance->Config->ServerName)
+ {
+ PushParamPlaceholder();
+ PushParam(subcmd);
+ }
+
+ void SetUser(LocalUser* user)
+ {
+ if (user->registered & REG_NICK)
+ ReplaceParamRef(0, user->nick);
+ else
+ ReplaceParam(0, "*");
+ }
+ };
}