diff options
Diffstat (limited to 'modules/protocol/inspircd.cpp')
-rw-r--r-- | modules/protocol/inspircd.cpp | 10 |
1 files changed, 10 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"; |