From 4792c70635cd73d581861a6da9794655a5e72099 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Tue, 13 Dec 2016 14:48:41 +0100 Subject: Send a presence error from the room, when receiving command ERR_BADCHANNELKEY fix #2886 --- src/irc/irc_client.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'src/irc/irc_client.cpp') diff --git a/src/irc/irc_client.cpp b/src/irc/irc_client.cpp index b13e5ab..ba13c6a 100644 --- a/src/irc/irc_client.cpp +++ b/src/irc/irc_client.cpp @@ -66,6 +66,7 @@ static const std::unordered_mapon_user_mode(message); } +void IrcClient::on_channel_bad_key(const IrcMessage& message) +{ + this->on_generic_error(message); + const std::string& nickname = message.arguments[0]; + const std::string& channel = message.arguments[1]; + std::string text; + if (message.arguments.size() > 2) + text = message.arguments[2]; + + this->bridge.send_presence_error({channel, this->hostname, Iid::Type::Channel}, nickname, "auth", "not-authorized", "", text); +} + void IrcClient::on_channel_mode(const IrcMessage& message) { // For now, just transmit the modes so the user can know what happens -- cgit v1.2.3