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:
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):
import json
import config
+import nk
class User(object):
""" Un utilisateur. Peut avoir plusieurs pseudos IRC, un seul idbde. """
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 """