]> gitweb.pimeys.fr Git - bots/basile.git/blobdiff - basile.py
Connerie d'utf8 oublié dans on_action
[bots/basile.git] / basile.py
index f92fe673855077abf151c54ddf6bc5c1f30c9c54..1e985a06ddb21b652fdff1ab6753fecd959fc8b1 100755 (executable)
--- a/basile.py
+++ b/basile.py
@@ -432,15 +432,17 @@ class Basile(ircbot.SingleServerIRCBot):
  HELP       Affiche de l'aide sur une commande.
  CONNECT    Ouvre une connection au serveur Note Kfet.
  IDENTIFY   Me permet de savoir qui tu es sur la note kfet.
  HELP       Affiche de l'aide sur une commande.
  CONNECT    Ouvre une connection au serveur Note Kfet.
  IDENTIFY   Me permet de savoir qui tu es sur la note kfet.
- DROP       Me fait oublier ton identité."""
+ DROP       Me fait oublier ton identité.
+ SOLDE      Obtenir ton solde"""
             helpmsg_ops="""
  JOIN       Faire rejoindre un chan
  LEAVE      Faire quitter un chan
  QUIET      Se taire sur un chan
  NOQUIET    Opposé de QUIET
             helpmsg_ops="""
  JOIN       Faire rejoindre un chan
  LEAVE      Faire quitter un chan
  QUIET      Se taire sur un chan
  NOQUIET    Opposé de QUIET
- LOST       Perdre sur un chan"""
+ LOST       Perdre sur un chan
+ SOLDE <pseudo>  Donner le solde de quelqu'un"""
             helpmsg_overops="""
             helpmsg_overops="""
- SAY        Fais envoyer un message sur un chan ou à une personne
+ SAY        Fait envoyer un message sur un chan ou à une personne
  STAY       Ignorera les prochains LEAVE pour un chan
  NOSTAY     Opposé de STAY
  DIE        Mourir"""
  STAY       Ignorera les prochains LEAVE pour un chan
  NOSTAY     Opposé de STAY
  DIE        Mourir"""
@@ -594,6 +596,33 @@ class Basile(ircbot.SingleServerIRCBot):
                 serv.privmsg(auteur,"Syntaxe : LOST <channel>")
             else:
                 notunderstood=True
                 serv.privmsg(auteur,"Syntaxe : LOST <channel>")
             else:
                 notunderstood=True
+        elif cmd=="solde":
+            if len(message)==1:
+                if self.identities.has_key(auteur):
+                    try:
+                        self.nk.write('search ["x",["pseudo"],%s]'%(json.dumps(self.identities[auteur])))
+                        ret=json.loads(self.nk.read())
+                        solde=ret["msg"][0]["solde"]
+                        pseudo=ret["msg"][0]["pseudo"]
+                    except Exception as exc:
+                        print exc
+                        serv.privmsg(auteur,"failed")
+                        log(self.serveur,"priv",auteur," ".join(message)+"[failed]")
+                        return
+                    serv.privmsg(auteur,"%s (%s)"%(float(solde)/100,pseudo.encode("utf8")))
+                else:
+                    serv.privmsg(canal,"Je ne connais pas ton pseudo note.")
+            elif auteur in self.ops:
+                try:
+                    self.nk.write('search ["x",["pseudo"],%s]'%(json.dumps(message[1])))
+                    ret=json.loads(self.nk.read())
+                    solde=ret["msg"][0]["solde"]
+                    pseudo=ret["msg"][0]["pseudo"]
+                except Exception as exc:
+                    serv.privmsg(auteur,"failed")
+                    log(self.serveur,"priv",auteur," ".join(message)+"[failed]")
+                    return
+                serv.privmsg(auteur,"%s (%s)"%(float(solde)/100,pseudo.encode("utf8")))
         else:
             notunderstood=True
         if notunderstood:
         else:
             notunderstood=True
         if notunderstood:
@@ -802,7 +831,7 @@ class Basile(ircbot.SingleServerIRCBot):
             n1,n2=len(l1),len(l2)
             i=random.randrange(n1+n2)
             if i>=n1:
             n1,n2=len(l1),len(l2)
             i=random.randrange(n1+n2)
             if i>=n1:
-                serv.action(channel,l2[i-n1])
+                serv.action(channel,l2[i-n1].encode("utf8"))
             else:
                 serv.privmsg(channel,"%s: %s"%(auteur,l1[i].encode("utf8")))
 
             else:
                 serv.privmsg(channel,"%s: %s"%(auteur,l1[i].encode("utf8")))