~singpolyma/biboumi

1d2f20600a937cd00181a2fad055cd9bb56f058e ā€” louizā€™ 7 years ago fdf336a
Handle IRC message 341 (invite confirmation)
2 files changed, 13 insertions(+), 0 deletions(-)

M src/irc/irc_client.cpp
M src/irc/irc_client.hpp
M src/irc/irc_client.cpp => src/irc/irc_client.cpp +9 -0
@@ 46,6 46,7 @@ static const std::unordered_map<std::string,
  {"323", {&IrcClient::on_rpl_listend, {0, 0}}},
  {"RPL_NOTOPIC", {&IrcClient::on_empty_topic, {0, 0}}},
  {"331", {&IrcClient::on_empty_topic, {0, 0}}},
  {"341", {&IrcClient::on_invited, {3, 0}}},
  {"RPL_MOTDSTART", {&IrcClient::empty_motd, {0, 0}}},
  {"375", {&IrcClient::empty_motd, {0, 0}}},
  {"RPL_MOTD", {&IrcClient::on_motd_line, {2, 0}}},


@@ 709,6 710,14 @@ void IrcClient::empty_motd(const IrcMessage&)
  this->motd.erase();
}

void IrcClient::on_invited(const IrcMessage& message)
{
  const std::string& chan_name = message.arguments[2];
  const std::string& invited_nick = message.arguments[1];

  this->bridge.send_xmpp_message(this->hostname, "", invited_nick + " has been invited to " + chan_name);
}

void IrcClient::on_empty_topic(const IrcMessage& message)
{
  const std::string chan_name = utils::tolower(message.arguments[1]);

M src/irc/irc_client.hpp => src/irc/irc_client.hpp +4 -0
@@ 214,6 214,10 @@ public:
   */
  void on_empty_topic(const IrcMessage& message);
  /**
   * The IRC server is confirming that the invitation has been forwarded
   */
  void on_invited(const IrcMessage& message);
  /**
   * The channel has been completely joined (self presence, topic, all names
   * received etc), send the self presence and topic to the XMPP user.
   */