]> gitweb.pimeys.fr Git - bots/basile.git/blobdiff - basile.py
Mise à jour de la méthode de login à NK2015
[bots/basile.git] / basile.py
index 6e3991421b13aca7f17392cf12612ed9f86a296f..e4426ae1d7ac095cf8873ea6259e6207d18c2984 100755 (executable)
--- a/basile.py
+++ b/basile.py
@@ -180,7 +180,7 @@ def login_NK(username,password,typ="bdd"):
     sock=connect_NK()
     try:
         # Basile a un compte special user
-        commande='login [%s,%s,"%s"]'%(json.dumps(username),json.dumps(password),typ)
+        commande='login [%s,%s,"%s",[["note"],[],false]]'%(json.dumps(username),json.dumps(password),typ)
         sock.write(commande)
         out=sock.read()
     except Exception as exc:
@@ -332,9 +332,10 @@ class Basile(ircbot.SingleServerIRCBot):
                        u"ouvert(|e|s|es)":u"ouverte",
                        u"open":u"open",
                        u"plein(|s|es)":u"pleine",
-                       u"bien plein(|e|s|es)":u"bien pleine"}
+                       u"bien plein(|e|s|es)":u"bien pleine",
+                       u"innocent(|e|s|es)":u"innocente"}
             adj_reg=u"(?P<adjectif>"+u"|".join(adjectifs.keys())+u")"
-            reg=u".*(^| )"+debuts+u" "+adj_reg+u"($|,|;|\.| ).*"
+            reg=u".*(^| |')"+debuts+u" "+adj_reg+u"($|,|;|\.| ).*"
             matched=re.match(reg,message)
             if matched:
                 # il faut repasser l'adjectif au féminin singulier
@@ -378,7 +379,7 @@ class Basile(ircbot.SingleServerIRCBot):
         """renvoie (False,lemessage) ou (True, le message amputé de "pseudo: ")"""
         pseudo=serv.get_nickname()
         size=len(pseudo)
-        if message[:size]==pseudo and message[size]==":":
+        if message[:size]==pseudo and len(message)>size and message[size]==":":
             return (True,message[size+1:].lstrip(" "))
         else:
             return (False,message)
@@ -429,9 +430,9 @@ class Basile(ircbot.SingleServerIRCBot):
  IDENTIFY   Me permet de savoir qui tu es sur la note kfet.
  DROP       Me fait oublier ton identité."""
             helpmsg_ops="""
- JOIN       Faire rejoindre un channel
- LEAVE      Faire quitter un channel
- QUIET      Se taire sur un chanel
+ 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"""
             helpmsg_overops="""
@@ -631,7 +632,8 @@ class Basile(ircbot.SingleServerIRCBot):
             elif cmd in ["reconnect"]:
                 if auteur in self.ops:
                     try:
-                        self.nk=self.new_connection_NK(serv,config_note_pseudo,config_note_password)[1]
+                        self.nk=self.new_connection_NK(serv,config_note_pseudo,
+                                              config_note_password,"special")[1]
                     except Exception as exc:
                         self.nk=None
                         log(self.serveur,"""Erreur dans on_pubmsg/"cmd in ["reconnect"]\n"""+str(exc))
@@ -675,9 +677,10 @@ class Basile(ircbot.SingleServerIRCBot):
                 else:
                     serv.privmsg(canal,"%s: Je ne connais pas ton pseudo note."%(auteur))
                     log(self.serveur,canal,auteur,message+"[unknown]")
-            elif message in ["pain au chocolat","chocolatine"] and not canal in self.quiet_channels:
+            elif (re.match("!?(pain au chocolat|chocolatine)",message.lower())
+                 and not canal in self.quiet_channels):
                 serv.action(canal,"sert un pain au chocolat à %s"%(auteur))
-            elif re.match("manzana",message.lower()) and not canal in self.quiet_channels:
+            elif re.match("!?manzana",message.lower()) and not canal in self.quiet_channels:
                 if auteur=="[20-100]":
                     serv.action(canal,"sert une bouteille de manzana à %s"%(auteur))
                 else: