-/* event_neonserv_mode.c - NeonServ v5.3
+/* event_neonserv_mode.c - NeonServ v5.6
* Copyright (C) 2011-2012 Philipp Kreil (pk910)
*
* This program is free software: you can redistribute it and/or modify
if(argc)
temp_argv = malloc(argc*sizeof(*temp_argv));
if (!cache || (argc && !temp_argv)) {
- perror("malloc() failed");
+ printf_log("neonserv", LOG_ERROR, "%s:%d malloc() failed", __FILE__, __LINE__);
return;
}
if(argc) {
cache->modes = strdup(modes);
cache->argv = temp_argv;
cache->argc = argc;
- get_userlist_with_invisible(chan, neonserv_event_mode_userlist_lookup, cache);
+ get_userlist_with_invisible(chan, module_id, neonserv_event_mode_userlist_lookup, cache);
}
static USERLIST_CALLBACK(neonserv_event_mode_userlist_lookup) {
//someone deopped the bot???
if(!neonserv_cmd_mode_botwar_detect(client, user, chan, &botwar_detect_executed))
requestOp(client->user, chan);
+ } else if(modes[i] == 'o' && add && isBot(cuser)) {
+ //someone opped a bot
+ if(!neonserv_cmd_mode_botwar_detect(client, user, chan, &botwar_detect_executed))
+ module_neonbackup_recover_chan(chan);
}
if((modes[i] == 'o' || (modes[i] == 'h' && !with_halfops)) && !(add && isBot(cuser))) {
if(uaccess < db_canop) {