Przeglądaj źródła

* Don't count bot actions as fighting

Bryan Drewery 16 lat temu
rodzic
commit
50975f5b31
2 zmienionych plików z 10 dodań i 5 usunięć
  1. 2 1
      src/mod/irc.mod/chan.c
  2. 8 4
      src/mod/irc.mod/mode.c

+ 2 - 1
src/mod/irc.mod/chan.c

@@ -2865,9 +2865,10 @@ static int gotkick(char *from, char *origmsg)
     struct userrec *u = NULL;
     struct flag_record fr = {FR_GLOBAL | FR_CHAN, 0, 0, 0 };
 
-    chan->channel.fighting++;
     fixcolon(msg);
     u = get_user_by_host(from);
+    if (!u || (u && !u->bot))
+      chan->channel.fighting++;
     strlcpy(uhost, from, sizeof(buf));
     whodid = splitnick(&uhost);
     detect_chan_flood(whodid, uhost, from, chan, FLOOD_KICK, nick);

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

@@ -1402,7 +1402,8 @@ gotmode(char *from, char *msg)
             }
             break;
           case 'o':
-            chan->channel.fighting++;
+            if (!u || (u && !u->bot))
+              chan->channel.fighting++;
             mv = assert_ismember(chan, mparam);
             if (mv) {
               if (msign == '+')
@@ -1464,21 +1465,24 @@ gotmode(char *from, char *msg)
             }
             break;
           case 'b':
-            chan->channel.fighting++;
+            if (!u || (u && !u->bot))
+              chan->channel.fighting++;
             if (msign == '+')
               got_ban(chan, m, mparam, isserver);
             else
               got_unban(chan, m, mparam);
             break;
           case 'e':
-            chan->channel.fighting++;
+            if (!u || (u && !u->bot))
+              chan->channel.fighting++;
             if (msign == '+')
               got_exempt(chan, m, mparam, isserver);
             else
               got_unexempt(chan, m, mparam);
             break;
           case 'I':
-            chan->channel.fighting++;
+            if (!u || (u && !u->bot))
+              chan->channel.fighting++;
             if (msign == '+')
               got_invite(chan, m, mparam, isserver);
             else