aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjgeboski <jgeboski@gmail.com>2015-09-13 12:43:34 -0400
committerjgeboski <jgeboski@gmail.com>2015-09-13 12:43:34 -0400
commit2c6233abe87c858a4f1ab28ff1ce0e8f2d974827 (patch)
treea28299db0acc452998997b9c556caedaaad059ae
parenteb71ccbeda290c0ef4c624a8c271476342f69fe5 (diff)
downloadbitlbee-facebook-2c6233abe87c858a4f1ab28ff1ce0e8f2d974827.tar.gz
bitlbee-facebook-2c6233abe87c858a4f1ab28ff1ce0e8f2d974827.tar.bz2
bitlbee-facebook-2c6233abe87c858a4f1ab28ff1ce0e8f2d974827.tar.xz
facebook: implemented group chat KICKing
-rw-r--r--configure.ac2
-rw-r--r--facebook/facebook.c16
2 files changed, 17 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index c4a83a4..a492ced 100644
--- a/configure.ac
+++ b/configure.ac
@@ -76,7 +76,7 @@ AC_ARG_WITH(
[plugindir="$with_plugindir"]
)
-PKG_CHECK_MODULES([BITLBEE], [bitlbee >= 3.2.2])
+PKG_CHECK_MODULES([BITLBEE], [bitlbee >= 3.4])
PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.32.0 gobject-2.0])
PKG_CHECK_MODULES([JSON], [json-glib-1.0 >= 0.14.0])
PKG_CHECK_MODULES([ZLIB], [zlib])
diff --git a/facebook/facebook.c b/facebook/facebook.c
index 3d574d5..cc17a89 100644
--- a/facebook/facebook.c
+++ b/facebook/facebook.c
@@ -711,6 +711,21 @@ fb_chat_invite(struct groupchat *gc, char *who, char *message)
}
static void
+fb_chat_kick(struct groupchat *gc, char *who, const char *message)
+{
+ FbApi *api;
+ FbData *fata = gc->ic->proto_data;
+ FbId tid;
+ FbId uid;
+
+ api = fb_data_get_api(fata);
+ tid = FB_ID_FROM_STR(gc->title);
+ uid = FB_ID_FROM_STR(who);
+
+ fb_api_thread_remove(api, tid, uid);
+}
+
+static void
fb_chat_leave(struct groupchat *gc)
{
FbData *fata = gc->ic->proto_data;
@@ -948,6 +963,7 @@ init_plugin(void)
.add_buddy = fb_add_buddy,
.remove_buddy = fb_remove_buddy,
.chat_invite = fb_chat_invite,
+ .chat_kick = fb_chat_kick,
.chat_leave = fb_chat_leave,
.chat_msg = fb_chat_msg,
.chat_join = fb_chat_join,