Răsfoiți Sursa

Merge branch 'no-desync-kick-friends'

* no-desync-kick-friends:
  * Don't kick friendly bots that are desynced: op them.

Conflicts:
	doc/UPDATES
Bryan Drewery 15 ani în urmă
părinte
comite
9561a7c5ba
2 a modificat fișierele cu 10 adăugiri și 4 ștergeri
  1. 1 0
      doc/UPDATES
  2. 9 4
      src/mod/irc.mod/mode.c

+ 1 - 0
doc/UPDATES

@@ -9,6 +9,7 @@
   * Allow simulated terminal (HQ) user to access owners (ie, .chpass owner)
   * Updated server list, 'set -yes servers -' and 'set -yes servers6 -' to get new list.
   * Fix 'mop' causing a mass deop when -bitch
+  * Don't kick friendly bots that are desynced: op them.
 
 1.3.1 - http://wraith.botpack.net/milestone/1.3.1
   * Fix crash related to slowpart

+ 9 - 4
src/mod/irc.mod/mode.c

@@ -1249,10 +1249,15 @@ gotmode(char *from, char *msg)
           m->flags |= SENTKICK;
           reversing = 1;
         } else if (!chan_hasop(m) && !channel_nodesynch(chan)) {
-          putlog(LOG_MODES, ch, "Mode change by non-chanop on %s!  Reversing...", ch);
-          dprintf(DP_MODE, "KICK %s %s :%sAbusing desync\n", ch, m->nick, kickprefix);
-          m->flags |= SENTKICK;
-          reversing = 1;
+          if (u && u->bot && chk_op(user, chan)) {
+            putlog(LOG_MODES, ch, "Mode change by friendly non-chanop on %s!  Opping...", ch);
+            do_op(m->nick, chan, 0, 0);
+          } else {
+            putlog(LOG_MODES, ch, "Mode change by non-chanop on %s!  Reversing...", ch);
+            dprintf(DP_MODE, "KICK %s %s :%sAbusing desync\n", ch, m->nick, kickprefix);
+            m->flags |= SENTKICK;
+            reversing = 1;
+          }
         }
       }