]> gitweb.pimeys.fr Git - bots/basile.git/commitdiff
get_infos et affichage du compte sous lequel Basile connait quelqu'un
authorVincent Le Gallic <legallic@crans.org>
Sun, 23 Nov 2014 01:34:31 +0000 (02:34 +0100)
committerVincent Le Gallic <legallic@crans.org>
Sun, 23 Nov 2014 01:34:31 +0000 (02:34 +0100)
basile.py
nk.py
users.py

index 6567a3c43fdeb4230969b2b6b0312a27b291f291..c549707765830511058a7962a8984c91ad888ffb 100755 (executable)
--- a/basile.py
+++ b/basile.py
@@ -270,8 +270,9 @@ class Basile(ircbot.SingleServerIRCBot):
         elif cmd == u"identify":
             if len(message) == 1:
                 if self.users.has(auteur):
-                    serv.privmsg(auteur, "Je vous connais sous le pseudo note %s." % (
-                                     self.users[auteur].pseudonote.encode("utf8")))
+                    infos = self.users[auteur].get_infos(self.nk, serv, auteur)
+                    serv.privmsg(auteur, (u"Vous avez le compte note n°%(idbde)s, pseudo : %(pseudo)s." % infos
+                                     ).encode("utf8"))
                 else:
                     serv.privmsg(auteur, "Je ne connais pas votre note.")
             elif len(message) >= 3:
diff --git a/nk.py b/nk.py
index 7cec40aec4bcd2a15924f604ff56213a168fe17f..0aafbc16aff64606b07b40e5d5ccf0e6a6ea6e69 100644 (file)
--- a/nk.py
+++ b/nk.py
@@ -92,25 +92,29 @@ def login(username, password, typ="bdd"):
         raise NKRefused(str(exc))
     return out, sock
 
-def get_solde(sock, idbde, serv, canal):
-    """Récupère le (success, solde, pseudo) de l'utilisateur NK n°``idbde``"""
+def get_infos(sock, idbde, serv, canal):
+    """Récupère les données de l'utilisateur NK n°``idbde``"""
     try:
         sock.write(json.dumps(["compte", idbde]))
         ret = full_read(sock)
         retcode = ret["retcode"]
         if retcode == 0:
-            solde = ret["msg"]["solde"]
-            pseudo = ret["msg"]["pseudo"]
-            return (True, solde, pseudo)
+            return ret["msg"]
         else:
             serv.privmsg(canal, ret["errmsg"].encode("utf-8"))
-            return (False, None, None)
     except Exception as exc:
         trace = traceback.format_exc()
         msg = "failed\n%s" % trace
         for l in msg.split("\n"):
             serv.privmsg(canal, l)
         #log(self.serveur, "priv", auteur, " ".join(message) + "[failed]")
+
+def get_solde(sock, idbde, serv, canal):
+    """Récupère le (success, solde, pseudo) de l'utilisateur NK n°``idbde``"""
+    infos = get_infos(sock, idbde, serv, canal)
+    if infos:
+        return (True, infos["solde"], infos["pseudo"])
+    else:
         return (False, None, None)
 
 def consomme(sock, idbde, conso, serv, canal):
index 49ddf4102bdd72657bab9b5f0c8f5ee41fd64b6a..368f9784200e0cc6e60e7cd52afb07eb41940775 100644 (file)
--- a/users.py
+++ b/users.py
@@ -5,6 +5,7 @@
 import json
 
 import config
+import nk
 
 class User(object):
     """ Un utilisateur. Peut avoir plusieurs pseudos IRC, un seul idbde. """
@@ -32,6 +33,10 @@ class User(object):
         else:
             hisset = [otheruser.lower()]
         return myset.intersection(hisset) != set()
+    
+    def get_infos(self, sock, serv, canal):
+        """ Récupère sur le serveur les infos sur le compte. """
+        return nk.get_infos(sock, self.idbde, serv, canal)
 
 def load_file(filename):
     """ Récupère les utilisateurs depuis le fichier """