comparison mcabber/src/commands.c @ 571:d63e6cbdc297

Add "/room ban"
author Mikael Berthe <mikael@lilotux.net>
date Sat, 03 Dec 2005 14:25:34 +0100
parents 29806b0fe830
children afc2bd38b15c
comparison
equal deleted inserted replaced
570:29806b0fe830 571:d63e6cbdc297
154 compl_add_category_word(COMPL_MULTILINE, "begin"); 154 compl_add_category_word(COMPL_MULTILINE, "begin");
155 compl_add_category_word(COMPL_MULTILINE, "send"); 155 compl_add_category_word(COMPL_MULTILINE, "send");
156 compl_add_category_word(COMPL_MULTILINE, "verbatim"); 156 compl_add_category_word(COMPL_MULTILINE, "verbatim");
157 157
158 // Room category 158 // Room category
159 compl_add_category_word(COMPL_ROOM, "ban");
159 compl_add_category_word(COMPL_ROOM, "invite"); 160 compl_add_category_word(COMPL_ROOM, "invite");
160 compl_add_category_word(COMPL_ROOM, "join"); 161 compl_add_category_word(COMPL_ROOM, "join");
161 compl_add_category_word(COMPL_ROOM, "kick"); 162 compl_add_category_word(COMPL_ROOM, "kick");
162 compl_add_category_word(COMPL_ROOM, "leave"); 163 compl_add_category_word(COMPL_ROOM, "leave");
163 compl_add_category_word(COMPL_ROOM, "names"); 164 compl_add_category_word(COMPL_ROOM, "names");
1242 jb_room_invite(roomname, jid, arg); 1243 jb_room_invite(roomname, jid, arg);
1243 scr_LogPrint(LPRINT_LOGNORM, "Invitation sent to <%s>", jid); 1244 scr_LogPrint(LPRINT_LOGNORM, "Invitation sent to <%s>", jid);
1244 free_arg_lst(paramlst); 1245 free_arg_lst(paramlst);
1245 } 1246 }
1246 1247
1248 // The expected argument is a Jabber id
1249 static void room_ban(gpointer bud, char *arg)
1250 {
1251 char **paramlst;
1252 gchar *jid;
1253 const char *roomid = buddy_getjid(bud);
1254
1255 paramlst = split_arg(arg, 2, 1); // jid, [reason]
1256 jid = *paramlst;
1257 arg = *(paramlst+1);
1258
1259 if (!jid || !*jid) {
1260 scr_LogPrint(LPRINT_NORMAL, "Missing parameter (Jabber id)");
1261 free_arg_lst(paramlst);
1262 return;
1263 }
1264
1265 jb_room_kickban(roomid, jid, NULL, 2, arg);
1266
1267 free_arg_lst(paramlst);
1268 }
1269
1270 // The expected argument is a nickname
1247 static void room_kick(gpointer bud, char *arg) 1271 static void room_kick(gpointer bud, char *arg)
1248 { 1272 {
1249 char **paramlst; 1273 char **paramlst;
1250 gchar *nick; 1274 gchar *nick;
1251 const char *roomid = buddy_getjid(bud); 1275 const char *roomid = buddy_getjid(bud);
1252 1276
1253 paramlst = split_arg(arg, 2, 1); // nickname, reason 1277 paramlst = split_arg(arg, 2, 1); // nickname, [reason]
1254 nick = *paramlst; 1278 nick = *paramlst;
1255 arg = *(paramlst+1); 1279 arg = *(paramlst+1);
1256 1280
1257 if (!nick || !*nick) { 1281 if (!nick || !*nick) {
1258 scr_LogPrint(LPRINT_NORMAL, "Missing parameter (nickname)"); 1282 scr_LogPrint(LPRINT_NORMAL, "Missing parameter (nickname)");
1393 if ((arg = check_room_subcommand(arg, TRUE, NULL)) != NULL) 1417 if ((arg = check_room_subcommand(arg, TRUE, NULL)) != NULL)
1394 room_join(bud, arg); 1418 room_join(bud, arg);
1395 } else if (!strcasecmp(subcmd, "invite")) { 1419 } else if (!strcasecmp(subcmd, "invite")) {
1396 if ((arg = check_room_subcommand(arg, TRUE, bud)) != NULL) 1420 if ((arg = check_room_subcommand(arg, TRUE, bud)) != NULL)
1397 room_invite(bud, arg); 1421 room_invite(bud, arg);
1422 } else if (!strcasecmp(subcmd, "ban")) {
1423 if ((arg = check_room_subcommand(arg, TRUE, bud)) != NULL)
1424 room_ban(bud, arg);
1398 } else if (!strcasecmp(subcmd, "kick")) { 1425 } else if (!strcasecmp(subcmd, "kick")) {
1399 if ((arg = check_room_subcommand(arg, TRUE, bud)) != NULL) 1426 if ((arg = check_room_subcommand(arg, TRUE, bud)) != NULL)
1400 room_kick(bud, arg); 1427 room_kick(bud, arg);
1401 } else if (!strcasecmp(subcmd, "leave")) { 1428 } else if (!strcasecmp(subcmd, "leave")) {
1402 if ((arg = check_room_subcommand(arg, FALSE, bud)) != NULL) 1429 if ((arg = check_room_subcommand(arg, FALSE, bud)) != NULL)