added cmd_unban, cmd_unbanall, cmd_unbanme
[NeonServV5.git] / cmd_neonserv_unbanme.c
1
2 /*
3 * argv[0-*]    nothing
4 */
5
6 static CMD_BIND(neonserv_cmd_unbanme) {
7     struct ModeBuffer *modeBuf;
8     int bans = 0;
9     struct BanNode *ban;
10     modeBuf = initModeBuffer(client, chan);
11     char usermask[NICKLEN+USERLEN+HOSTLEN+3];
12     sprintf(usermask, "%s!%s@%s", user->nick, user->ident, user->host);
13     for(ban = chan->bans; ban; ban = ban->next) {
14         if(!match(ban->mask, usermask)) {
15             modeBufferUnban(modeBuf, ban->mask);
16             bans++;
17         }
18     }
19     freeModeBuffer(modeBuf);
20     if(bans) {
21         reply(getTextBot(), user, "NS_UNBANME_DONE", bans, chan->name);
22         logEvent(event);
23     } else
24         reply(getTextBot(), user, "NS_UNBANME_FAIL", client->user->nick, usermask);
25 }