def testBroadcast(self): events.server_broadcast("Test message") response = json.loads(self.client.get('/api/server/events', HTTP_AUTHORIZATION='X-Caminus %s'%(self.token)).content) self.assertTrue(len(response['events']) > 0) response = json.loads(self.client.post('/api/server/events', {'job':response['events'][0]['id']}, HTTP_AUTHORIZATION='X-Caminus %s'%(self.token)).content) self.assertEqual(response['result'], 'success')
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'}
def create(self, request): chat(request.user.minecraftprofile.mc_username, request.POST['message']) server_broadcast("<%s> %s"%(request.user.minecraftprofile.mc_username, request.POST['message']))
def notify_badge(sender, award, *args, **kwargs): player = award.user.minecraftprofile.mc_username events.server_broadcast("%s was awarded the %s badge!"%(player, award.badge.name))