X-Git-Url: http://gitweb.pimeys.fr/?p=bots%2Fbasile.git;a=blobdiff_plain;f=nk.py;h=78b6594c1bd37d66d79ae0a1d185bea10db72ddb;hp=ecad88fd4a482357240b47d4947dd35790d1d2cb;hb=fc1ad7795762c50f2eeadfcb14bd3058b3bfe8c2;hpb=bf0ca5fa90df6a7c1c094c904ec824700dff4787 diff --git a/nk.py b/nk.py index ecad88f..78b6594 100644 --- a/nk.py +++ b/nk.py @@ -8,6 +8,7 @@ import socket import json import ssl +import traceback #: Config de basile import config @@ -69,3 +70,24 @@ def login(username, password, typ="bdd"): raise NKRefused(str(exc)) return json.loads(out), sock +def get_solde(sock, idbde, serv, canal): + """Récupère le (solde, pseudo, success) de l'utilisateur NK n°``idbde``""" + try: + sock.write(json.dumps(["compte", idbde])) + ret = json.loads(sock.read()) + retcode = ret["retcode"] + if retcode == 0: + solde = ret["msg"]["solde"] + pseudo = ret["msg"]["pseudo"] + return (True, solde, pseudo) + else: + serv.privmsg(canal, ret["errmsg"]) + 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]") + return (False, None, None) +