summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSadie Powell <sadie@witchery.services>2020-02-18 18:00:26 +0000
committerSadie Powell <sadie@witchery.services>2020-02-18 18:56:14 +0000
commit9822a57460d4c7edc17c8fb7c760ae32326bf99d (patch)
tree65ad96aeb7d643245f2be1688f63e455638b96a2 /src
parent2e0cc3684df72b2a8de45b354848af43c6b47606 (diff)
Send RPL_KNOCKDLVR when <knock:notify> is set to numeric.
Diffstat (limited to 'src')
-rw-r--r--src/modules/m_knock.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/modules/m_knock.cpp b/src/modules/m_knock.cpp
index 54c6220cc..493913964 100644
--- a/src/modules/m_knock.cpp
+++ b/src/modules/m_knock.cpp
@@ -33,6 +33,8 @@ enum
ERR_CANNOTKNOCK = 480,
// From ircd-ratbox.
+ RPL_KNOCK = 710,
+ RPL_KNOCKDLVR = 711,
ERR_CHANOPEN = 713,
ERR_KNOCKONCHAN = 714
};
@@ -84,18 +86,22 @@ class CommandKnock : public Command
}
if (sendnotice)
+ {
c->WriteNotice(InspIRCd::Format("User %s is KNOCKing on %s (%s)", user->nick.c_str(), c->name.c_str(), parameters[1].c_str()));
+ user->WriteNotice("KNOCKing on " + c->name);
+ }
if (sendnumeric)
{
- Numeric::Numeric numeric(710);
+ Numeric::Numeric numeric(RPL_KNOCK);
numeric.push(c->name).push(user->GetFullHost()).push("is KNOCKing: " + parameters[1]);
ClientProtocol::Messages::Numeric numericmsg(numeric, c->name);
c->Write(ServerInstance->GetRFCEvents().numeric, numericmsg);
+
+ user->WriteNumeric(RPL_KNOCKDLVR, c->name, "KNOCKing on channel");
}
- user->WriteNotice("KNOCKing on " + c->name);
return CMD_SUCCESS;
}