]> gitweb.pimeys.fr Git - bots/basile.git/commitdiff
RECONNECt marche maintenant aussi en privmsg
authorVincent Le Gallic <legallic@crans.org>
Sun, 10 Jun 2012 23:44:04 +0000 (01:44 +0200)
committerVincent Le Gallic <legallic@crans.org>
Sun, 10 Jun 2012 23:44:04 +0000 (01:44 +0200)
basile.py

index 1481d84ba8cda221308cc8ff50e0a568a532b1ae..de3eee9f617570f8432b73c8ea9821054ad8fd51 100755 (executable)
--- a/basile.py
+++ b/basile.py
@@ -436,6 +436,8 @@ class Basile(ircbot.SingleServerIRCBot):
  Me rend la parole sur le channel.""",None],
  "lost": [None,"""LOST <channel>
  Me fait perdre sur le channel.""",None],
+ "reconnect": [None,"""RECONNECT
+ Établit à nouveau la connexion avec le serveur NK2015""",None],
  "say": [None,None,"""SAY <channel> <message>
  Me fait parler sur le channel."""],
  "do": [None,None,"""DO <channel> <action>
@@ -454,7 +456,7 @@ class Basile(ircbot.SingleServerIRCBot):
  Me déconnecte du serveur IRC."""]
  }
             helpmsg_default="Liste des commandes disponibles :\nHELP IDENTIFY DROP SOLDE"
-            helpmsg_ops=" JOIN LEAVE QUIET NOQUIET LOST"
+            helpmsg_ops=" JOIN LEAVE QUIET NOQUIET LOST RECONNECT"
             helpmsg_overops=" SAY DO STAY NOSTAY OPS OVEROPS KICK DIE"
             op,overop=auteur in self.ops, auteur in self.overops
             if len(message)==1:
@@ -492,7 +494,7 @@ class Basile(ircbot.SingleServerIRCBot):
                     log(self.serveur,"priv",auteur," ".join(message)+"[successful]")
                     serv.privmsg(auteur,"Identité enregistrée.")
                     self.identities[auteur]=username
-                    pickle.dump(self.identities,open("identities.pickle","w"))
+                    pickle.dump(Xself.identities,open("identities.pickle","w"))
                 else:
                     log(self.serveur,"priv",auteur," ".join(message)+"[failed]")
                     serv.privmsg(auteur,"Mot de passe invalide. (ou serveur down)")
@@ -576,6 +578,24 @@ class Basile(ircbot.SingleServerIRCBot):
                 self.mourir()
             else:
                 notunderstood=True
+        elif cmd=="reconnect":
+            if auteur in self.ops:
+                try:
+                    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))
+                if self.nk!=None:
+                    serv.privmsg(auteur,"%s: done"%(auteur))
+                    log(self.serveur,"priv",auteur," ".join(message)+"[successful]")
+                else:
+                    serv.privmsg(auteur,"%s: failed"%(auteur))
+                    log(self.serveur,"priv",auteur," ".join(message)+"[failed]")
+                    for report in self.report_bugs_to:
+                        serv.privmsg(report,"Connection to NK2015 failed, invalid password ? Server dead ?")
+            else:
+                notunderstood=True
         elif cmd=="quiet":
             if auteur in self.ops:
                 if len(message)>1:
@@ -729,9 +749,9 @@ class Basile(ircbot.SingleServerIRCBot):
                         serv.privmsg(canal,"%s: failed"%(auteur))
                         log(self.serveur,canal,auteur,message+"[failed]")
                         for report in self.report_bugs_to:
-                            serv.privmsg(report,"Connection to NK2015 failed, invalid password ?")
+                            serv.privmsg(report,"Connection to NK2015 failed, invalid password ? Server dead ?")
                 else:
-                    serv.privmsg(canal,"%s: crève !"%(auteur))
+                    serv.privmsg(canal,"%s: Encore eût-il fallu que je sois programmé pour vous obéir !"%(auteur))
                     log(self.serveur,canal,auteur,message+"[failed]")
 
             elif cmd in ["deviens","pseudo"]: