ou bien (``False``, None)"""
try:
login_result, sock = nk.login(username, password, typ)
- droits, retcode, errmsg = login_result["msg"], login_result["retcode"], login_result["errmsg"]
+ info, retcode, errmsg = login_result["msg"], login_result["retcode"], login_result["errmsg"]
except nk.NKRefused as exc:
for report in self.report_bugs_to:
serv.privmsg(report, "Le Serveur NK2015 est down.")
- return (False, None)
+ return (False, None, None)
except nk.NKHelloFailed as exc:
for report in self.report_bugs_to:
serv.privmsg(report,
"La version du protocole utilisée n'est pas supportée par le serveur NK2015.")
- return (False, None)
+ return (False, None, None)
except nk.NKUnknownError as exc:
erreurs = ["Une fucking erreur inconnue s'est produite"]
erreurs += str(exc).split("\n")
for report in self.report_bugs_to:
for err in erreurs:
serv.privmsg(report, err)
- return (False, None)
+ return (False, None, None)
except Exception as exc:
# Exception qui ne vient pas de la communication avec le serveur NK2015
log(self.serveur, "Erreur dans new_connection_NK\n" + str(exc))
- return (False, None)
+ return (False, None, None)
if retcode == 0:
- return (True, sock)
+ return (True, info, sock)
else:
- return (False, None)
+ return (False, None, None)
def give_me_my_pseudo(self, serv):
"""Récupère le pseudo auprès de NickServ."""
log(self.serveur, "JOIN %s" % (c))
serv.join(c)
# on ouvre la connexion note de Basile, special user
- self.nk = self.new_connection_NK(serv, config.note_pseudo, config.note_password, "special")[1]
+ self.nk = self.new_connection_NK(serv, config.note_pseudo, config.note_password, "special")[2]
if self.nk == None:
for report in self.report_bugs_to:
serv.privmsg(report, "Connection to NK2015 failed, invalid password ?")
if len(message) == 1:
if self.identities.has_key(auteur):
serv.privmsg(auteur, "Je vous connais sous le pseudo note %s." % (
- self.identities[auteur].encode("utf8")))
+ self.identities[auteur]["pseudo"].encode("utf8")))
else:
serv.privmsg(auteur, "Je ne connais pas votre pseudo note.")
elif len(message) >= 3:
username, password = message[1], " ".join(message[2:])
- success, _ = self.new_connection_NK(serv, username, password)
+ success, info, _ = self.new_connection_NK(serv, username, password)
if success:
log(self.serveur, "priv", auteur, " ".join(message) + "[successful]")
serv.privmsg(auteur, "Identité enregistrée.")
- self.identities[auteur] = username
+ self.identities[auteur] = info
json.dump(self.identities, open(config.identities_file,"w"))
else:
log(self.serveur, "priv", auteur, " ".join(message) + "[failed]")
if len(message) > 1:
if self.identities.has_key(auteur):
password = " ".join(message[1:])
- success, _ = self.new_connection_NK(serv, self.identities[auteur], password)
+ success, _, _ = self.new_connection_NK(serv, self.identities[auteur], password)
if success:
del self.identities[auteur]
log(self.serveur, "priv", auteur, " ".join(message) + "[successful]")
if auteur in self.ops:
try:
self.nk = self.new_connection_NK(serv, config.note_pseudo,
- config.note_password, "special")[1]
+ config.note_password, "special")[2]
except Exception as exc:
self.nk = None
log(self.serveur, 'Erreur dans on_pubmsg/"cmd in ["reconnect"]\n' + str(exc))
elif cmd == u"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")))
- log(self.serveur, "priv", auteur, " ".join(message) + "[successful]")
+ success, solde, pseudo = nk.get_solde(self.nk, self.identities[auteur]["idbde"], serv, auteur)
+ if success:
+ serv.privmsg(auteur, "%s (%s)" % (float(solde)/100, pseudo.encode("utf8")))
+ log(self.serveur, "priv", auteur, " ".join(message) + "[successful]" if success else "[failed]")
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")))
elif cmd == u"ops":
if auteur in self.overops:
serv.privmsg(auteur, " ".join(self.ops))
if auteur in self.ops:
try:
self.nk = self.new_connection_NK(serv, config.note_pseudo,
- config.note_password, "special")[1]
+ config.note_password, "special")[2]
except Exception as exc:
self.nk = None
log(self.serveur, 'Erreur dans on_pubmsg/"cmd in ["reconnect"]\n' + str(exc))
elif cmd in [u"solde", u"!solde"]:
if self.identities.has_key(auteur):
- pseudo = self.identities[auteur]
- try:
- self.nk.write(json.dumps(["search", ["x", ["pseudo"], pseudo]]))
- ret = json.loads(self.nk.read())
- solde = ret["msg"][0]["solde"]
- pseudo = ret["msg"][0]["pseudo"]
- except Exception as exc:
- serv.privmsg(canal, "%s: failed"%(auteur))
- log(self.serveur, canal, auteur, message + "[failed]")
- else:
+ idbde = self.identities[auteur]["idbde"]
+ success, solde, pseudo = nk.get_solde(self.nk, self.identities[auteur]["idbde"], serv, canal)
+ if success:
serv.privmsg(canal, "%s: %s (%s)" % (auteur, float(solde)/100, pseudo.encode("utf8")))
- log(self.serveur, canal, auteur, message + "[successful]")
+ log(self.serveur, canal, auteur, message + "[successful]" if success else "[failed]")
else:
serv.privmsg(canal, "%s: Je ne connais pas votre pseudo note." % (auteur))
log(self.serveur, canal, auteur, message + "[unknown]")