def game_on_game_in_progress(self, g): for player in g.players: self.send_message(player.name, message.game.in_progress, server=g.server.name, password=g.password, \ ip=g.server.address[0], port=g.server.address[1]) user = User.find_or_create_by_nick(player.name) if not user.games_played: user.games_played = 0 user.games_played += 1 user.save() user = User.find_or_create_by_nick(g.owner) if not user.games_admined: user.games_admined = 0 user.games_admined += 1 user.save() game_mode = "highlander" if g.is_highlander else "%sv%s" % (g.max_players / 2, g.max_players / 2) team_groups = (g.get_class_groups() if g.is_highlander else g.get_team_groups()) team_groups = dict(map(lambda k: (str(k), team_groups[k]), team_groups)) game = Game(created_at=datetime.datetime.now(), mode=game_mode, server=g.server.name, \ map=g.map, admin=g.owner, teams=team_groups) game.save() #self.set_topic_game_inprogress() self.game_end() self.send_message(message.game.sent_password)
def cmd_set(self, c, e): if e.payload == "user": user = User.find_or_create_by_nick(e.args[1]) attr, value = e.args[2].split("=", 1) setattr(user, attr, int(value) if value.isdigit() else value) user.save() self.send_msg("Set attribute [%s] for user [%s] to value [%s]." % (attr, user.nickname, value))
def on_dcc_connect(self, c, e): #user = User.find_one({'nickname': c.nick}) user = User.find_or_create_by_nick(c.nick) user.last_ip_address = e.source() user.save() print "[on_dcc_connect] Updated ip address from nickname [%s] to [%s]." % (c.nick, e.source()) c.privmsg("Your IP has been authorized for web interface access.") c.disconnect() self.httpd.status[c.nick] = "updated"