import nk
#: Module de réponse aux questions de base
import isit
+#: Module définissant les erreurs
+import errors
# la partie qui réfère au fichier lui-même est mieux ici
# sinon on réfère la config et pas le fichier lui-même
return True
-
-
-class UnicodeBotError(Exception):
- """Erreur levée si quelqu'un fait du caca avec son encodage."""
- pass
-
-class CrashError(Exception):
- """Pour pouvoir faire crasher Basile, parce que ça a l'air drôle."""
- def __init__(self, msg=""):
- Exception.__init__(self, msg)
-
def bot_unicode(chain):
"""Essaye de décoder ``chain`` en UTF-8.
- Lève une py:class:`UnicodeBotError` en cas d'échec."""
+ Lève une py:class:`errors.UnicodeBotError` en cas d'échec."""
try:
return chain.decode("utf8")
except UnicodeDecodeError as exc:
- raise UnicodeBotError
+ raise errors.UnicodeBotError
class Basile(ircbot.SingleServerIRCBot):
def crash(self, who="nobody", chan="nowhere"):
"""Fait crasher le bot."""
where = "en privé" if chan == "priv" else "sur le chan %s" % chan
- raise CrashError((u"Crash demandé par %s %s" % (who, where)).encode("utf-8"))
+ raise errors.CrashError((u"Crash demandé par %s %s" % (who, where)).encode("utf-8"))
ACTIONS = {
"reload" : execute_reload,
auteur = irclib.nm_to_n(ev.source())
try:
message = bot_unicode(message)
- except UnicodeBotError:
+ except errors.UnicodeBotError:
if config.utf8_trigger:
serv.privmsg(auteur, random.choice(config.utf8_fail_answers).encode("utf8"))
return
message = ev.arguments()[0]
try:
message = bot_unicode(message)
- except UnicodeBotError:
+ except errors.UnicodeBotError:
if config.utf8_trigger and not canal in self.quiet_channels:
serv.privmsg(canal, (u"%s: %s"% ( auteur, random.choice(config.utf8_fail_answers))).encode("utf8"))
return
channel = ev.target()
try:
action = bot_unicode(action)
- except UnicodeBotError:
+ except errors.UnicodeBotError:
if config.utf8_trigger and not channel in self.quiet_channels:
serv.privmsg(channel, (u"%s: %s"%(auteur,random.choice(config.utf8_fail_answers))).encode("utf8"))
return
--- /dev/null
+#!/usr/bin/python
+# -*- coding:utf8 -*-
+
+""" Erreurs utilisables dans le code du bot """
+
+class UnicodeBotError(Exception):
+ """Erreur levée si quelqu'un fait du caca avec son encodage."""
+ pass
+
+class CrashError(Exception):
+ """Pour pouvoir faire crasher Basile, parce que ça a l'air drôle."""
+ def __init__(self, msg=""):
+ Exception.__init__(self, msg)