Save our own host, as reported by the server

This commit is contained in:
louiz’
2016-06-15 15:51:13 +02:00
parent 4b1c580bb9
commit 849c50f9f3
2 changed files with 23 additions and 0 deletions
+13
View File
@@ -59,6 +59,7 @@ static const std::unordered_map<std::string,
{"333", {&IrcClient::on_topic_who_time_received, {4, 0}}},
{"RPL_TOPICWHOTIME", {&IrcClient::on_topic_who_time_received, {4, 0}}},
{"366", {&IrcClient::on_channel_completely_joined, {2, 0}}},
{"396", {&IrcClient::on_own_host_received, {2, 0}}},
{"432", {&IrcClient::on_erroneous_nickname, {2, 0}}},
{"433", {&IrcClient::on_nickname_conflict, {2, 0}}},
{"438", {&IrcClient::on_nickname_change_too_fast, {2, 0}}},
@@ -746,6 +747,18 @@ void IrcClient::on_channel_completely_joined(const IrcMessage& message)
this->bridge.send_topic(this->hostname, chan_name, channel->topic, channel->topic_author);
}
void IrcClient::on_own_host_received(const IrcMessage& message)
{
this->own_host = message.arguments[1];
const std::string from = message.prefix;
if (message.arguments.size() >= 3)
this->bridge.send_xmpp_message(this->hostname, from,
this->own_host + " " + message.arguments[2]);
else
this->bridge.send_xmpp_message(this->hostname, from, this->own_host +
" is now your displayed host");
}
void IrcClient::on_erroneous_nickname(const IrcMessage& message)
{
const std::string error_msg = message.arguments.size() >= 3 ?