def bot_scored(self, team, message=None): """ Callback for when a bot scores """ if message is None: message = "%s botnet has scored" % team.name Notification.create_team(team, "Botnet Scored", message, SUCCESS) self.io_loop.add_callback(self.push_team, team.id) self.io_loop.add_callback(self.push_scoreboard)
def team_file_shared(self, user, file_upload): ''' Callback when a team file share is created ''' message = "%s has shared the file '%s'" % ( user.handle, file_upload.file_name, ) Notification.create_team(user.team, "File Share", message, INFO) self.io_loop.add_callback(self.push_team, user.team.id)
def team_paste_shared(self, user, paste_bin): ''' Callback when a pastebin is created ''' message = "%s posted '%s' to the team paste bin" % ( user.handle, paste_bin.name ) Notification.create_team(user.team, "Text Share", message, INFO) self.io_loop.add_callback(self.push_team, user.team.id)
def user_joined_team(self, user): ''' Callback when a user joins a team''' message = "%s has joined the %s team" % ( user.handle, user.team.name, ) Notification.create_team(user.team, "New Team Member", message, INFO) self.io_loop.add_callback(self.push_team, user.team.id)
def flag_decayed(self, team, flag): """ Callback for when a bot is added """ message = ( "The value of Flag %s has decreased due to other team captures - score adjusted." % (flag.name, )) Notification.create_team(team, "Flag Value Decreased", message, INFO) self.io_loop.add_callback(self.push_team, team.id)
def item_purchased(self, user, item): ''' Callback when a team purchases an item ''' message = "%s purchased %s from the black market" % ( user.handle, item.name, ) Notification.create_team(user.team, "Upgrade Purchased", message, SUCCESS) self.io_loop.add_callback(self.push_team, user.team.id) self.io_loop.add_callback(self.push_scoreboard)
def user_joined_team(self, user): """ Callback when a user joins a team""" if options.teams: message = "%s has joined the %s team" % (user.handle, user.team.name) Notification.create_team(user.team, "New Team Member", message, INFO) else: message = "%s has joined the game" % (user.handle,) Notification.create_team(user.team, "New Player", message, INFO) self.io_loop.add_callback(self.push_team, user.team.id)
def admin_score_update(self, team, message, value): """ Callback for when admin point change is made """ if value < 0: icon = WARNING else: icon = SUCCESS Notification.create_team(team, "Admin Update", "%s (%s)" % (message, str(value)), icon) self.io_loop.add_callback(self.push_team, team.id) self.io_loop.add_callback(self.push_scoreboard)
def flag_penalty(self, user, flag): ''' Callback for when a flag is captured ''' if len(GameLevel.all()) > 1: message = "%s was penalized on the '%s' flag in %s (Lvl %s)" % ( user.team.name, flag.name, flag.box.name, GameLevel.by_id(flag.box.game_level_id).number) else: message = "%s was penalized on the '%s' flag in %s" % ( user.team.name, flag.name, flag.box.name) Notification.create_team(user.team, "Flag Penalty", message, WARNING) self.io_loop.add_callback(self.push_team, user.team.id) self.io_loop.add_callback(self.push_scoreboard)
def hint_taken(self, user, hint): ''' Callback for when a hint is taken ''' if len(GameLevel.all()) > 1: message = "%s has taken a hint for %s (Lvl %s)" % ( user.team.name, hint.box.name, GameLevel.by_id(hint.box.game_level_id).number) else: message = "%s has taken a hint for %s" % (user.team.name, hint.box.name) Notification.create_team(user.team, "Hint Taken", message, INFO) self.io_loop.add_callback(self.push_team, user.team.id) self.io_loop.add_callback(self.push_scoreboard)
def hint_taken(self, user, hint): """ Callback for when a hint is taken """ if options.teams: message = "%s has taken a hint for %s" % (user.handle, hint.box.name) else: message = "%s has taken a hint for %s" % (user.team.name, hint.box.name) if len(GameLevel.all()) > 1: message = message + " (%s)" % ( GameLevel.by_id(hint.box.game_level_id).name, ) Notification.create_team(user.team, "Hint Taken", message, INFO) self.io_loop.add_callback(self.push_team, user.team.id) self.io_loop.add_callback(self.push_scoreboard)
def team_paste_shared(self, user, paste_bin): ''' Callback when a pastebin is created ''' message = "%s posted '%s' to the team paste bin" % ( user.handle, paste_bin.name ) evt_id = Notification.create_team(user.team, "Text Share", message, INFO) self.io_loop.add_callback(self.push_team, user.team.id)
def flag_penalty(self, user, flag): """ Callback for when a flag is captured """ if options.teams: message = "%s was penalized on '%s' in %s" % ( user.handle, flag.name, flag.box.name, ) else: message = "%s was penalized on '%s' in %s" % ( user.team.name, flag.name, flag.box.name, ) if len(GameLevel.all()) > 1: message = message + " (%s)" % ( GameLevel.by_id(flag.box.game_level_id).name, ) Notification.create_team(user.team, "Flag Penalty", message, WARNING) self.io_loop.add_callback(self.push_team, user.team.id) self.io_loop.add_callback(self.push_scoreboard)