diff options
Diffstat (limited to 'modules/protocol/inspircd.cpp')
-rw-r--r-- | modules/protocol/inspircd.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/modules/protocol/inspircd.cpp b/modules/protocol/inspircd.cpp index cef005f83..fd4771a7d 100644 --- a/modules/protocol/inspircd.cpp +++ b/modules/protocol/inspircd.cpp @@ -299,13 +299,15 @@ public: void SendNumericInternal(int numeric, const Anope::string &dest, const std::vector<Anope::string> ¶ms) override { auto newparams = params; - newparams.insert(newparams.begin(), { Me->GetSID(), dest, numeric }); + newparams.insert(newparams.begin(), { Me->GetSID(), dest, stringify(numeric) }); Uplink::SendInternal({}, Me, numeric, newparams); } - void SendModeInternal(const MessageSource &source, const Channel *dest, const Anope::string &buf) override + void SendModeInternal(const MessageSource &source, Channel *chan, const Anope::string &modes, const std::vector<Anope::string> &values) override { - UplinkSocket::Message(source) << "FMODE " << dest->name << " " << dest->creation_time << " " << buf; + auto params = values; + params.insert(params.begin(), { chan->name, stringify(chan->creation_time), modes }); + Uplink::SendInternal({}, source, "FMODE", params); } void SendClientIntroduction(User *u) override |