def read(self, request, playername): sessions = PlayerSession.objects.all().filter(player__mc_username__iexact=playername, end=None) for session in sessions: session.end = datetime.now() session.save() send_web_event(QuitEvent(playername)) return {'valid': True}
def update(self, request): events = json.loads(request.POST['events'])['events'] for evt in events: print repr(evt) if evt['type'] == 'chat': chat(evt['payload']['sender'], evt['payload']['message']) if evt['type'] == 'player-death': send_web_event(PlayerDeathEvent(evt['payload']['player'], evt['payload']['message'])) if evt['type'] == 'player-murder': bounties = Bounty.objects.filter(target__mc_username=evt['payload']['player']) killer = MinecraftProfile.objects.get(mc_username=evt['payload']['killer']) for bounty in bounties: bounty.close(killer) if len(bounties) > 0: server_broadcast("The bounty on %s has been collected."%(evt['payload']['player'])) return {'result': 'success'}