]> gitweb.pimeys.fr Git - bots/basile.git/commitdiff
Amélioration de l'erreur de Crash. (Ça fait quand même pas ce que je veux)
authorVincent Le Gallic <legallic@crans.org>
Mon, 26 Nov 2012 19:59:56 +0000 (20:59 +0100)
committerVincent Le Gallic <legallic@crans.org>
Mon, 26 Nov 2012 19:59:56 +0000 (20:59 +0100)
basile.py

index 610a34609e65d374d875e1a315a1ef8a97965e4b..58d8250dc69674626b5407cf4c0c45bf5fe0def4 100755 (executable)
--- a/basile.py
+++ b/basile.py
@@ -169,7 +169,8 @@ class UnicodeBotError(Exception):
 
 class CrashError(Exception):
     """Pour pouvoir faire crasher Basile, parce que ça a l'air drôle"""
-    pass
+    def __init__(self, msg=u""):
+        Exception.__init__(self, msg)
 
 def bot_unicode(chain):
     try:
@@ -447,7 +448,7 @@ class Basile(ircbot.SingleServerIRCBot):
         elif cmd=="crash":
             if auteur in self.overops:
                 log(self.serveur,"priv",auteur," ".join(message)+"[successful]")
-                self.crash()
+                self.crash("priv", auteur)
             else:
                 notunderstood=True
         elif cmd=="reload":
@@ -605,7 +606,7 @@ class Basile(ircbot.SingleServerIRCBot):
                     self.reload(canal)
             elif cmd == "crash":
                 if auteur in self.overops:
-                    self.crash()
+                    self.crash(auteur, message)
             elif cmd in ["part","leave","dégage","va-t-en","tut'tiresailleurs,c'estmesgalets"]:
                 if auteur in self.ops and (not (canal in self.stay_channels)
                                            or auteur in self.overops):
@@ -862,8 +863,9 @@ class Basile(ircbot.SingleServerIRCBot):
         else:
             self.serv.privmsg(auteur,"Config reloaded")
     
-    def crash(self):
-        raise CrashError
+    def crash(self, chan="nowhere", who="nobody"):
+        where = u"en privé" if chan == "priv" else u"sur le chan %s" % chan
+        raise CrashError(u"Crash demandé par %s %s" % (who, where))
     
     def start_as_daemon(self, outfile):
         sys.stderr = Logger(outfile)