db_canban = -1;
}
if(db_canban == -1) {
- if(!neonserv_cmd_mode_botwar_detect(client, user, chan, &botwar_detect_executed))
+ if(!neonserv_cmd_mode_botwar_detect(client, user, chan, &botwar_detect_executed)) {
+ if(!add) {
+ //check if a user just removed a bot ban
+ for(chanuser = getChannelUsers(chan, NULL); chanuser; chanuser = getChannelUsers(chan, chanuser)) {
+ cuser = chanuser->user;
+ sprintf(usermask, "%s!%s@%s", cuser->nick, cuser->ident, cuser->host);
+ if(!match(carg, usermask) && isBot(cuser)) {
+ skip = 1;
+ break;
+ }
+ }
+ if(skip)
+ break;
+ }
modeBufferSet(modeBuf, !add, modes[i], carg);
+ }
if(uaccess < db_getop)
deop_user = 1;
break;