Mercurial > ~mikael > mcabber > hg
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) |