diff options
author | Florent Le Coz <louiz@louiz.org> | 2013-12-26 14:57:13 +0100 |
---|---|---|
committer | Florent Le Coz <louiz@louiz.org> | 2014-01-04 01:59:35 +0100 |
commit | 9df757fc6737b59f56d5b808ef48baba760b142e (patch) | |
tree | ae3b0c1543262f8328010a9f41c8be99cf140773 /src/irc | |
parent | b8ce9ed43d809daefe17714b36aa0874ca5f6cc8 (diff) | |
download | biboumi-9df757fc6737b59f56d5b808ef48baba760b142e.tar.gz biboumi-9df757fc6737b59f56d5b808ef48baba760b142e.tar.bz2 biboumi-9df757fc6737b59f56d5b808ef48baba760b142e.tar.xz biboumi-9df757fc6737b59f56d5b808ef48baba760b142e.zip |
Handle topic changes
Diffstat (limited to 'src/irc')
-rw-r--r-- | src/irc/irc_client.cpp | 2 | ||||
-rw-r--r-- | src/irc/irc_client.hpp | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/src/irc/irc_client.cpp b/src/irc/irc_client.cpp index bde9973..bdeb2f8 100644 --- a/src/irc/irc_client.cpp +++ b/src/irc/irc_client.cpp @@ -274,6 +274,8 @@ void IrcClient::on_topic_received(const IrcMessage& message) const std::string chan_name = utils::tolower(message.arguments[1]); IrcChannel* channel = this->get_channel(chan_name); channel->topic = message.arguments[2]; + if (channel->joined) + this->bridge->send_topic(this->hostname, chan_name, channel->topic); } void IrcClient::on_channel_completely_joined(const IrcMessage& message) diff --git a/src/irc/irc_client.hpp b/src/irc/irc_client.hpp index 4038cdf..99ee6c0 100644 --- a/src/irc/irc_client.hpp +++ b/src/irc/irc_client.hpp @@ -218,6 +218,7 @@ static const std::unordered_map<std::string, irc_callback_t> irc_callbacks = { {"PRIVMSG", &IrcClient::on_channel_message}, {"353", &IrcClient::set_and_forward_user_list}, {"332", &IrcClient::on_topic_received}, + {"TOPIC", &IrcClient::on_topic_received}, {"366", &IrcClient::on_channel_completely_joined}, {"001", &IrcClient::on_welcome_message}, {"PART", &IrcClient::on_part}, |