Browse Source

Kick reaction fix

tBKwtWS 7 years ago
parent
commit
bc5287dc64
1 changed files with 22 additions and 4 deletions
  1. 22 4
      events/on_kick.py

+ 22 - 4
events/on_kick.py

@@ -72,10 +72,19 @@ def process_event(self, connection, event):
             connection.privmsg("ChanServ", "UNBAN " + channel)
             do_everything_to.join(self, connection, self.homechannel)
         
-        # Stop if the offender is a bot operator and the offended is not the bot owner or if the 2 parties are both bot owner or if the offender is the bot.
-        if userstatus.atleast_halfop(self, kicker, self.homechannel) and not self.channels[self.homechannel].isowner(kicked) or self.channels[self.homechannel].isowner(kicked) == self.channels[self.homechannel].isowner(kicker) or event.source.nick == connection.get_nickname():
+        # Stop if offender is bot.
+        if event.source.nick == connection.get_nickname():
+            print("stop")
             return
         
+        # Only continue if offended is owner and offender is not also owner.
+        if userstatus.atleast_halfop(self, kicker, self.homechannel):   # Offender is bot operator.
+            if self.channels[self.homechannel].is_owner(kicked) and not self.channels[self.homechannel].is_owner(kicker):   # Offended is owner and offender is not also owner.
+                pass
+            else:
+                print("STOP")
+                return
+        
         # Kick.
         ChanServ.kick(connection, channel, kicker, "Aggression channel function = equal_retalliation: " + kicked + " is an operator of " + connection.get_nickname() + ".")
         connection.kick(channel, kicker, "Aggression channel function = equal_retalliation: " + kicked + " is an operator of " + connection.get_nickname() + ".")
@@ -90,10 +99,19 @@ def process_event(self, connection, event):
             connection.privmsg("ChanServ", "UNBAN " + channel)
             do_everything_to.join(self, connection, self.homechannel)
         
-        # Stop if the offender is a bot operator and the offended is not the bot owner or if the 2 parties are both bot owner or if the offender is the bot.
-        if userstatus.atleast_halfop(self, kicker, self.homechannel) and not self.channels[self.homechannel].is_owner(kicked) or self.channels[self.homechannel].is_owner(kicked) == self.channels[self.homechannel].is_owner(kicker) or event.source.nick == connection.get_nickname():
+        # Stop if offender is bot.
+        if event.source.nick == connection.get_nickname():
+            print("stop")
             return
         
+        # Only continue if offended is owner and offender is not also owner.
+        if userstatus.atleast_halfop(self, kicker, self.homechannel):   # Offender is bot operator.
+            if self.channels[self.homechannel].is_owner(kicked) and not self.channels[self.homechannel].is_owner(kicker):   # Offended is owner and offender is not also owner.
+                pass
+            else:
+                print("STOP")
+                return
+
         # Ban.
         ChanServ.tempban(connection, channel, kicker, "1h", "Aggression channel function = equal_retalliation: " + kicked + " is an operator of " + connection.get_nickname() + ".")
         connection.mode(channel, "+b " + event.source)