comparison mcabber/src/commands.c @ 1260:b4ccc5b2a6de

Add command /room unban ("unban jid" is actually the same as "affil jid none")
author Mikael Berthe <mikael@lilotux.net>
date Wed, 27 Jun 2007 23:03:22 +0200
parents 58d6e7713164
children dbc907b2d92f
comparison
equal deleted inserted replaced
1259:c5c09f8f60b0 1260:b4ccc5b2a6de
223 compl_add_category_word(COMPL_ROOM, "nick"); 223 compl_add_category_word(COMPL_ROOM, "nick");
224 compl_add_category_word(COMPL_ROOM, "privmsg"); 224 compl_add_category_word(COMPL_ROOM, "privmsg");
225 compl_add_category_word(COMPL_ROOM, "remove"); 225 compl_add_category_word(COMPL_ROOM, "remove");
226 compl_add_category_word(COMPL_ROOM, "role"); 226 compl_add_category_word(COMPL_ROOM, "role");
227 compl_add_category_word(COMPL_ROOM, "topic"); 227 compl_add_category_word(COMPL_ROOM, "topic");
228 compl_add_category_word(COMPL_ROOM, "unban");
228 compl_add_category_word(COMPL_ROOM, "unlock"); 229 compl_add_category_word(COMPL_ROOM, "unlock");
229 compl_add_category_word(COMPL_ROOM, "whois"); 230 compl_add_category_word(COMPL_ROOM, "whois");
230 231
231 // Authorization category 232 // Authorization category
232 compl_add_category_word(COMPL_AUTH, "allow"); 233 compl_add_category_word(COMPL_AUTH, "allow");
2016 g_free(reason_utf8); 2017 g_free(reason_utf8);
2017 2018
2018 free_arg_lst(paramlst); 2019 free_arg_lst(paramlst);
2019 } 2020 }
2020 2021
2022 // The expected argument is a Jabber id
2023 static void room_unban(gpointer bud, char *arg)
2024 {
2025 gchar *fjid = arg;
2026 gchar *jid_utf8;
2027 struct role_affil ra;
2028 const char *roomid = buddy_getjid(bud);
2029
2030 if (!fjid || !*fjid) {
2031 scr_LogPrint(LPRINT_NORMAL, "Please specify a Jabber ID.");
2032 return;
2033 }
2034
2035 ra.type = type_affil;
2036 ra.val.affil = affil_none;
2037
2038 jid_utf8 = to_utf8(fjid);
2039 jb_room_setattrib(roomid, jid_utf8, NULL, ra, NULL);
2040 g_free(jid_utf8);
2041 }
2042
2021 // The expected argument is a nickname 2043 // The expected argument is a nickname
2022 static void room_kick(gpointer bud, char *arg) 2044 static void room_kick(gpointer bud, char *arg)
2023 { 2045 {
2024 char **paramlst; 2046 char **paramlst;
2025 gchar *nick; 2047 gchar *nick;
2379 if ((arg = check_room_subcommand(arg, TRUE, bud)) != NULL) 2401 if ((arg = check_room_subcommand(arg, TRUE, bud)) != NULL)
2380 room_role(bud, arg); 2402 room_role(bud, arg);
2381 } else if (!strcasecmp(subcmd, "ban")) { 2403 } else if (!strcasecmp(subcmd, "ban")) {
2382 if ((arg = check_room_subcommand(arg, TRUE, bud)) != NULL) 2404 if ((arg = check_room_subcommand(arg, TRUE, bud)) != NULL)
2383 room_ban(bud, arg); 2405 room_ban(bud, arg);
2406 } else if (!strcasecmp(subcmd, "unban")) {
2407 if ((arg = check_room_subcommand(arg, TRUE, bud)) != NULL)
2408 room_unban(bud, arg);
2384 } else if (!strcasecmp(subcmd, "kick")) { 2409 } else if (!strcasecmp(subcmd, "kick")) {
2385 if ((arg = check_room_subcommand(arg, TRUE, bud)) != NULL) 2410 if ((arg = check_room_subcommand(arg, TRUE, bud)) != NULL)
2386 room_kick(bud, arg); 2411 room_kick(bud, arg);
2387 } else if (!strcasecmp(subcmd, "leave")) { 2412 } else if (!strcasecmp(subcmd, "leave")) {
2388 if ((arg = check_room_subcommand(arg, FALSE, bud)) != NULL) 2413 if ((arg = check_room_subcommand(arg, FALSE, bud)) != NULL)