fragmon.ScoreBot.set_option(self, key, value) def get_option(self, key): opt = fragmon.ScoreBot.get_option(self, key) print 'Py Get option', opt return opt def broadcast(self): print 'GOT broadcast' fragmon.ScoreBot.broadcast(self) def broadcast_players(self): print 'GOT broadcast_players' players = self.get_players() alist = [plr for plr in players if plr.teamid == 0] blist = [plr for plr in players if plr.teamid == 1] flist = [plr for plr in players if plr.teamid not in (0,1)] for ls, name in [(alist, self.name_a), (blist, self.name_b), (flist, 'specs/other')]: if ls: irc.msg(self.channel, 'Pts Ping Name (%s)' % name) irc.msg(self.channel, '----------------') for plr in ls: irc.msg(self.channel, '%-5d %-5d %s' % (plr.score, plr.ping, plr.name)) fragmon.register_scorebot(MyBot) fragmon.register_scorebot(MyBot2) #mb = MyBot()
def broadcast(self): """ Print scores to channel using the broadcast format configured by user. This adds two new format specifiers, 'best_name' and 'best_score'. This also does team sum if the do_sum option is set. """ alist, blist, flist = self.get_teams() if self.do_sum: self.score_a = str(self.sum_score(alist)) self.score_b = str(self.sum_score(blist)) bestplayer = Player(name='...', score=-999) search = alist + blist for plr in search: if plr.score > bestplayer.score: bestplayer = plr v = [ ('best_name', bestplayer.name), ('best_score', str(bestplayer.score)), ] out = self.sub_format(vars=v) irc.msg(self.channel, out) #This registers the scorebot in Fragmon. #After this point, the bot should be available in the dropdown menu in the scorebot dialog fragmon.register_scorebot(SumBot)