]> gitweb.pimeys.fr Git - bots/basile.git/blobdiff - basile.py
On enregistre des infos quand on demande un whois (qui l'a demandé, pourquoi…)
[bots/basile.git] / basile.py
index 0c6fdc75af2568bd54991d71d1df4c909d1344d3..9b53b1ad88e13b594f679e6af75a527fdee53547 100755 (executable)
--- a/basile.py
+++ b/basile.py
@@ -211,6 +211,11 @@ class Basile(ircbot.SingleServerIRCBot):
             self.serv.privmsg(place, message)
         log(self.serveur, place, auteur, something + "%r" % params + ("[successful]" if success else "[failed]"))
     
+    def whois(self, pseudo, askedwhy, askedby):
+        """Demande un whois sur ``pseudo``. La réponse sera handled par une autre fonction."""
+        self.users.pending_whois[pseudo] = ["pending", askedwhy, askedby]
+        self.serv.whois([pseudo])
+    
     ### Surcharge des events du Bot
     def on_welcome(self, serv, ev):
         """À l'arrivée sur le serveur."""
@@ -270,10 +275,11 @@ 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 pseudo note.")
+                    serv.privmsg(auteur, "Je ne connais pas votre note.")
             elif len(message) >= 3:
                 username, password = message[1], " ".join(message[2:])
                 success, info, _ = self.new_connection_NK(serv, username, password)
@@ -299,7 +305,7 @@ class Basile(ircbot.SingleServerIRCBot):
                         log(self.serveur, "priv", auteur, " ".join(message) + "[failed]")
                         serv.privmsg(auteur, "Mot de passe invalide. (ou serveur down)")
                 else:
-                    serv.privmsg(auteur, "Je ne connais pas ton pseudo note.")
+                    serv.privmsg(auteur, "Je ne connais pas votre note.")
             else:
                 serv.privmsg(auteur, "Syntaxe : DROP <password>")
         elif cmd == u"join":
@@ -457,7 +463,7 @@ class Basile(ircbot.SingleServerIRCBot):
                         serv.privmsg(auteur, "%.2f (%s)" % (solde/100.0, 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.")
+                    serv.privmsg(canal, "Je ne connais pas votre note.")
         elif cmd == u"ops":
             if auteur in self.overops:
                 serv.privmsg(auteur, " ".join(self.ops))
@@ -468,6 +474,11 @@ class Basile(ircbot.SingleServerIRCBot):
                 serv.privmsg(auteur, " ".join(self.overops))
             else:
                 notunderstood = True
+        elif cmd == u"whois":
+            if auteur in self.ops and len(message) > 1:
+                self.whois(message[1], askedwhy="cmd WHOIS", askedby=auteur)
+            else:
+                notunderstood = True
         else:
             notunderstood = True
         if notunderstood: