# HG changeset patch # User Mikael Berthe # Date 1127603088 -7200 # Node ID 39a28cb59af31dfcc1655d93129aa70c5eda6ab3 # Parent 03bb57383cea7ada6c442a313df3efea9532c44d Add "/room remove", to remove an old chatroom from the roster diff -r 03bb57383cea -r 39a28cb59af3 mcabber/src/commands.c --- a/mcabber/src/commands.c Sun Sep 25 01:01:44 2005 +0200 +++ b/mcabber/src/commands.c Sun Sep 25 01:04:48 2005 +0200 @@ -152,6 +152,7 @@ compl_add_category_word(COMPL_ROOM, "join"); compl_add_category_word(COMPL_ROOM, "leave"); compl_add_category_word(COMPL_ROOM, "names"); + compl_add_category_word(COMPL_ROOM, "remove"); } // expandalias(line) @@ -973,6 +974,22 @@ return; } do_info(NULL); + } else if (!strcasecmp(arg, "remove")) { + gpointer bud; + bud = BUDDATA(current_buddy); + if (!(buddy_gettype(bud) & ROSTER_TYPE_ROOM)) { + scr_LogPrint(LPRINT_NORMAL, "This isn't a chatroom"); + return; + } + // Quick check: if there are resources, we haven't left + if (buddy_getresources(bud)) { + scr_LogPrint(LPRINT_NORMAL, "You haven't left this room!"); + return; + } + // Delete the room + roster_del_user(buddy_getjid(bud)); + buddylist_build(); + update_roster = TRUE; } else { scr_LogPrint(LPRINT_NORMAL, "Unrecognized parameter!"); }