]> 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 6567a3c43fdeb4230969b2b6b0312a27b291f291..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,8 +275,9 @@ 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 note.")
             elif len(message) >= 3:
@@ -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: