summaryrefslogtreecommitdiff
path: root/src/bridge/bridge.cpp
diff options
context:
space:
mode:
authorFlorent Le Coz <louiz@louiz.org>2013-11-13 01:24:36 +0100
committerFlorent Le Coz <louiz@louiz.org>2013-11-13 01:24:36 +0100
commit0859801230f999889d0f7356864888e8c5936cda (patch)
tree31b1eed96847157def5c22adb1a55abff6a3dae1 /src/bridge/bridge.cpp
parent3cfaab9a2debe03829b1ff26fe94e775e1d18e0a (diff)
downloadbiboumi-0859801230f999889d0f7356864888e8c5936cda.tar.gz
biboumi-0859801230f999889d0f7356864888e8c5936cda.tar.bz2
biboumi-0859801230f999889d0f7356864888e8c5936cda.tar.xz
biboumi-0859801230f999889d0f7356864888e8c5936cda.zip
Handle KICK in irc channel, both ways
Diffstat (limited to 'src/bridge/bridge.cpp')
-rw-r--r--src/bridge/bridge.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/bridge/bridge.cpp b/src/bridge/bridge.cpp
index 0b26a7f..e39cdd3 100644
--- a/src/bridge/bridge.cpp
+++ b/src/bridge/bridge.cpp
@@ -122,6 +122,13 @@ void Bridge::send_irc_nick_change(const Iid& iid, const std::string& new_nick)
irc->send_nick_command(new_nick);
}
+void Bridge::send_irc_kick(const Iid& iid, const std::string& target, const std::string& reason)
+{
+ IrcClient* irc = this->get_irc_client(iid.server);
+ if (irc)
+ irc->send_kick_command(iid.chan, target, reason);
+}
+
void Bridge::send_message(const Iid& iid, const std::string& nick, const std::string& body, const bool muc)
{
std::string utf8_body = this->sanitize_for_xmpp(body);
@@ -180,3 +187,8 @@ std::string Bridge::get_own_nick(const Iid& iid)
return irc->get_own_nick();
return "";
}
+
+void Bridge::kick_muc_user(Iid&& iid, const std::string& target, const std::string& reason, const std::string& author)
+{
+ this->xmpp->kick_user(iid.chan + "%" + iid.server, target, reason, author, this->user_jid);
+}