X-Git-Url: http://gitweb.pimeys.fr/?p=bots%2Fsaturnin.git;a=blobdiff_plain;f=saturnin.py;h=848019c2ea51a4001b4295f0862eb468ddb1fae8;hp=5babda4422fc2a22255090fc09dbd1dd317b6912;hb=HEAD;hpb=5a27760dcc6eb5cd05ebf5140a80b121e35bf5f0 diff --git a/saturnin.py b/saturnin.py index 5babda4..848019c 100755 --- a/saturnin.py +++ b/saturnin.py @@ -461,15 +461,29 @@ class Saturnin(ircbot.SingleServerIRCBot): def sendscore(self, to): self.serv.privmsg(to, "Votre score : %s"%(self.get_scores().get(to,0)) ) + def _sendscores(self, to, scores): + message = '' + for [nick, score] in scores: + score = '{}: {}'.format(nick, score) + if len(message) < config.MAX_LENGTH - len(score): + message += ' ' + score + else: + self.serv.privmsg(to, message) + message = score + if message: + self.serv.privmsg(to, message) + def sendscores(self, to): scores=self.get_scores().items() # trie par score scores.sort(lambda x,y:cmp(x[1],y[1])) scores.reverse() - self.serv.privmsg(to, "Scores by score : "+" ; ".join(["%s %s"%(i[0],i[1]) for i in scores])) + self.serv.privmsg(to, "Scores by score : ") + self._sendscores(to, scores) # trie par pseudo scores.sort(lambda x,y:cmp(x[0].lower(),y[0].lower())) - self.serv.privmsg(to, "Scores by pseudo : "+" ; ".join(["%s %s"%(i[0],i[1]) for i in scores])) + self.serv.privmsg(to, "Scores by pseudo : ") + self._sendscores(to, scores) def on_pubmsg(self, serv, ev): if ignore_event(serv, ev): @@ -515,6 +529,11 @@ class Saturnin(ircbot.SingleServerIRCBot): self.sendscore(auteur) elif cmd == "scores": self.sendscores(auteur) + elif cmd in [u"deviens", u"pseudo"]: + if auteur in self.ops: + become = args + serv.nick(become) + log(self.serveur, channel, auteur, message + "[successful]") if is_pan(message): self.shot(channel, auteur)