Ejemplo n.º 1
0
def ban_if_blacklisted(rcon: RecordedRcon, steam_id_64, name):
    with enter_session() as sess:
        player = get_player(sess, steam_id_64)

        if not player:
            logger.error("Can't check blacklist, player not found %s",
                         steam_id_64)
            return

        if player.blacklist and player.blacklist.is_blacklisted:
            try:
                logger.info("Player %s was banned due blacklist, reason: %s",
                            str(name), player.blacklist.reason)
                rcon.do_perma_ban(player=name,
                                  reason=player.blacklist.reason,
                                  by=f"BLACKLIST: {player.blacklist.by}")
                safe_save_player_action(rcon=rcon,
                                        player_name=name,
                                        action_type="PERMABAN",
                                        reason=player.blacklist.reason,
                                        by=f"BLACKLIST: {player.blacklist.by}",
                                        steam_id_64=steam_id_64)
                try:
                    send_to_discord_audit(
                        f"`BLACKLIST` -> {dict_to_discord(dict(player=name, reason=player.blacklist.reason))}",
                        "BLACKLIST")
                except:
                    logger.error("Unable to send blacklist to audit log")
            except:
                send_to_discord_audit(
                    "Failed to apply ban on blacklisted players, please check the logs and report the error",
                    "ERROR")
Ejemplo n.º 2
0
 def do_temp_ban(self, player, reason, by):
     res = super().do_temp_ban(player, reason)
     safe_save_player_action(rcon=self,
                             player_name=player,
                             action_type="TEMPBAN",
                             reason=reason,
                             by=by)
Ejemplo n.º 3
0
 def do_kick(self, player, reason, by):
     res = super().do_kick(player, reason)
     safe_save_player_action(rcon=self,
                             player_name=player,
                             action_type="KICK",
                             reason=reason,
                             by=by)
     return res
Ejemplo n.º 4
0
 def do_punish(self, player, reason, by):
     res = super().do_punish(player, reason)
     safe_save_player_action(rcon=self,
                             player_name=player,
                             action_type="PUNISH",
                             reason=reason,
                             by=by)
     return res
Ejemplo n.º 5
0
 def do_switch_player_now(self, player, by):
     res = super().do_switch_player_now(player)
     safe_save_player_action(rcon=self,
                             player_name=player,
                             action_type="SWITCHTEAMNOW",
                             reason='',
                             by=by)
     return res
Ejemplo n.º 6
0
 def do_perma_ban(self, player, reason, by):
     res = super().do_perma_ban(player, reason)
     safe_save_player_action(rcon=self,
                             player_name=player,
                             action_type="PERMABAN",
                             reason=reason,
                             by=by)
     try:
         info = self.get_player_info(player)
         add_player_to_blacklist(info['steam_id_64'], reason)
     except:
         logger.exception("Unable to blacklist")
     return res
Ejemplo n.º 7
0
 def do_perma_ban(self, player=None, steam_id_64=None, reason="", by=""):
     res = super().do_perma_ban(player, steam_id_64, reason, admin_name=by)
     safe_save_player_action(
         rcon=self, player_name=player, action_type="PERMABAN", reason=reason, by=by, steam_id_64=steam_id_64
     )
     try:
         if not steam_id_64:
             info = self.get_player_info(player)
             steam_id_64 = info['steam_id_64']
         # TODO add author
         add_player_to_blacklist(steam_id_64, reason, by=by)
     except:
         logger.exception("Unable to blacklist")
     return res
Ejemplo n.º 8
0
 def do_temp_ban(self,
                 player=None,
                 steam_id_64=None,
                 duration_hours=2,
                 reason="",
                 by=""):
     res = super().do_temp_ban(player,
                               steam_id_64,
                               duration_hours,
                               reason,
                               admin_name=by)
     safe_save_player_action(rcon=self,
                             player_name=player,
                             action_type="TEMPBAN",
                             reason=reason,
                             by=by)
     return res