def login_NK(username,password,typ="bdd"):
sock=connect_NK()
+ if typ=="special": # ça c'est pour Basile lui-même
+ masque='["note"]'
+ elif typ=="bdd":
+ masque='[["all"],["all"],false]'
try:
# Basile a un compte special user
- commande='login [%s,%s,"%s",[["note"],[],false]]'%(json.dumps(username),json.dumps(password),typ)
+ commande='login [%s,%s,"%s",%s]'%(json.dumps(username),json.dumps(password),typ,masque)
sock.write(commande)
out=sock.read()
except Exception as exc:
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
- LOST Perdre sur un chan"""
+ LOST Perdre sur un chan
+ SOLDE <pseudo> Donner le solde de quelqu'un"""
helpmsg_overops="""
SAY Fais envoyer un message sur un chan ou à une personne
STAY Ignorera les prochains LEAVE pour un chan
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:
try:
test=bot_unicode(message)
except UnicodeBotError:
- serv.privmsg(canal,
- "%s: Euh, tu fais de la merde avec ton encodage là, j'ai failli crasher…"%(auteur))
- return
+ if not canal in self.quiet_channels:
+ serv.privmsg(canal,
+ "%s: Euh, tu fais de la merde avec ton encodage là, j'ai failli crasher…"%(auteur))
+ return
pour_moi,message=self.pourmoi(serv,message)
if pour_moi and message.split()!=[]:
cmd=message.split()[0].lower()