]> gitweb.pimeys.fr Git - bots/saturnin.git/blobdiff - saturnin.py
On splitte le message de scores, souvent trop long
[bots/saturnin.git] / saturnin.py
index e1ac570c15eeb3a4444da702cc7abbfdc5fd535f..848019c2ea51a4001b4295f0862eb468ddb1fae8 100755 (executable)
@@ -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):