X-Git-Url: http://gitweb.pimeys.fr/?p=bots%2Fdeconnaisseur.git;a=blobdiff_plain;f=deconnaisseur.py;h=25176490a5262b50d850f8498489719990d5a093;hp=02310f7cdcec8b237cb064ea1bb795219e16da1e;hb=a2e08f1f664cc5aa85703d8d30e39852270d24a9;hpb=8243e861c8da302b95eb7cb11943895c70046ec1 diff --git a/deconnaisseur.py b/deconnaisseur.py index 02310f7..2517649 100755 --- a/deconnaisseur.py +++ b/deconnaisseur.py @@ -42,8 +42,8 @@ u"Héhé, try again", u"Non, j'ai pas envie", u"Peut-être quand toi tu la fermeras, et encore…"] -config_level2=["Petite-Peste"] -config_level3=["[20-100]"] +config_level2=[] +config_level3=["[20-100]","Petite-Peste","PEB"] class UnicodeBotError(Exception): pass @@ -71,7 +71,8 @@ def reussi(message,answer,answer_regexp,auteur): if auteur in config_level2: return remplace_accents(answer) in message else: - return re.match(answer_regexp.lower(),remplace_accents(message).lower()) + if re.match(remplace_accents(answer_regexp).lower(),remplace_accents(message).lower()): + return True def is_something(chain,matches,avant=u".*(?:^| )",apres=u"(?:$|\.| |,|;).*",case_sensitive=False,debug=False): if case_sensitive: @@ -346,7 +347,7 @@ class Deconnaisseur(ircbot.SingleServerIRCBot): elif cmd in ["states","status"]: if auteur in self.overops: for k in self.play_status.keys(): - serv.privmsg(auteur,(u"%s : %s"%(k,"; ".join([str(i) for i in self.play_status[k]]))).encode("utf8") ) + serv.privmsg(auteur,(u"%s : %s"%(k,"; ".join([unicode(i) for i in self.play_status[k]]))).encode("utf8") ) elif cmd=="say": if auteur in self.overops and len(message)>2: serv.privmsg(message[1]," ".join(message[2:])) @@ -479,7 +480,6 @@ class Deconnaisseur(ircbot.SingleServerIRCBot): become=args serv.nick(become) log(canal,auteur,message+"[successful]") - if cmd in ["coucou"] and not canal in self.quiet_channels: serv.privmsg(canal,"%s: coucou"%(auteur)) if cmd in ["ping"] and not canal in self.quiet_channels: @@ -492,9 +492,20 @@ class Deconnaisseur(ircbot.SingleServerIRCBot): except RefuseError: serv.privmsg(canal,"%s: Je peux souffler une minute ?"%(auteur)) else: - serv.privmsg(canal,"%s: Rappel : %s"%(auteur,self.play_status[canal][1])) + serv.privmsg(canal,("%s: Rappel : %s"%(auteur,self.play_status[canal][1])).encode("utf8") ) else: serv.privmsg(canal,"%s: pas ici…"%(auteur)) + if cmd in ["score","!score"]: + serv.privmsg(auteur,"Votre score : %s"%(self.get_scores().get(auteur,0)) ) + if cmd in ["scores","!scores"]: + scores=self.get_scores().items() + # trie par score + scores.sort(lambda x,y:cmp(x[1],y[1])) + scores.reverse() + serv.privmsg(auteur,"Scores by score : "+" ; ".join(["%s %s"%(i[0],i[1]) for i in scores])) + # trie par pseudo + scores.sort(lambda x,y:cmp(x[0].lower(),y[0].lower())) + serv.privmsg(auteur,"Scores by pseudo : "+" ; ".join(["%s %s"%(i[0],i[1]) for i in scores])) if cmd=="indice" and canal in self.play_channels: self.give_indice(serv,canal,None) if is_tag(message) and not canal in self.quiet_channels: