*** VERSION 5.6.0 ***
[NeonServV5.git] / src / modules / NeonServ.mod / event_neonserv_mode.c
index f0794a906b7aa30db06ba1fb9e5e62360cedb239..255c07927410dbd1293e64e8ac47a30d91df759b 100644 (file)
@@ -1,4 +1,4 @@
-/* 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
@@ -52,7 +52,7 @@ static void neonserv_event_mode(struct UserNode *user, struct ChanNode *chan, ch
     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) {
@@ -131,6 +131,10 @@ static void neonserv_event_mode_async1(struct ClientSocket *client, struct UserN
                     //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) {