diff options
author | Sadie Powell <sadie@witchery.services> | 2024-06-24 14:46:41 +0100 |
---|---|---|
committer | Sadie Powell <sadie@witchery.services> | 2024-06-24 14:46:41 +0100 |
commit | 01e0cf4868a96e452712c06620c9307d34c89210 (patch) | |
tree | 2cca6d11e04c847aeac6ba7c099249ae1a3f4702 /modules | |
parent | 693eeed762eac490b1289f8f4428ff0b5bbf1672 (diff) |
Add support for sending tag messages.
Diffstat (limited to 'modules')
-rw-r--r-- | modules/protocol/inspircd.cpp | 10 | ||||
-rw-r--r-- | modules/protocol/unrealircd.cpp | 1 |
2 files changed, 11 insertions, 0 deletions
diff --git a/modules/protocol/inspircd.cpp b/modules/protocol/inspircd.cpp index e3cf294f4..0b0a60c8b 100644 --- a/modules/protocol/inspircd.cpp +++ b/modules/protocol/inspircd.cpp @@ -1147,6 +1147,7 @@ struct IRCDMessageCapab final IRCD->CanClearBans = false; IRCD->CanSQLineChannel = false; IRCD->CanSVSHold = false; + IRCD->CanTagMessage = false; IRCD->DefaultPseudoclientModes = "+oI"; } else if (params[0].equals_cs("CHANMODES") && params.size() > 1) @@ -1523,6 +1524,9 @@ struct IRCDMessageCapab final else if (modname.equals_cs("chgident")) Servers::Capab.insert("CHGIDENT"); + + else if (modname.equals_cs("ircv3_ctctags")) + IRCD->CanTagMessage = true; } const auto &anoperegex = Config->GetBlock("options")->Get<const Anope::string>("regexengine"); @@ -1583,6 +1587,9 @@ struct IRCDMessageCapab final if (!IRCD->CanSQLineChannel) Log() << "The remote server does not have the cban module; services will manually enforce forbidden channels until the module is loaded."; + if (!IRCD->CanTagMessage) + Log() << "The remote server does not have the ircv3_ctctags module; sending tag messages is disabled until the module is loaded."; + if (!Servers::Capab.count("CHGHOST")) Log() << "The remote server does not have the chghost module; vhosts are disabled until the module is loaded."; @@ -1954,6 +1961,9 @@ public: else if (modname.equals_cs("hidechans")) required = true; + else if (modname.equals_cs("ircv3_ctctags")) + IRCD->CanTagMessage = plus; + else if (modname.equals_cs("rline")) capab = "RLINE"; diff --git a/modules/protocol/unrealircd.cpp b/modules/protocol/unrealircd.cpp index 1c3f53270..aaae92b38 100644 --- a/modules/protocol/unrealircd.cpp +++ b/modules/protocol/unrealircd.cpp @@ -38,6 +38,7 @@ public: CanSVSHold = true; CanClearBans = true; CanCertFP = true; + CanTagMessage = true; RequiresID = true; MaxModes = 12; } |