X-Git-Url: http://gitweb.pimeys.fr/?p=bots%2Fbbc.git;a=blobdiff_plain;f=bbc.py;h=c69123c94033758e746f904a43bfdf9c4d1c5d73;hp=79d099c9c56bb495005da1fa77cc8f35de5f870c;hb=HEAD;hpb=c890c4dd54382450abf0b17bf9333b308cecf574 diff --git a/bbc.py b/bbc.py index 79d099c..c69123c 100755 --- a/bbc.py +++ b/bbc.py @@ -42,7 +42,7 @@ def bot_unicode(chain): except UnicodeDecodeError as exc: raise UnicodeBotError -class Skeleton(ircbot.SingleServerIRCBot): +class Bbc(ircbot.SingleServerIRCBot): def __init__(self, serveur, debug=False): temporary_pseudo = config.irc_pseudo + str(random.randrange(10000, 100000)) ircbot.SingleServerIRCBot.__init__(self, [(serveur, 6667)], @@ -95,36 +95,10 @@ class Skeleton(ircbot.SingleServerIRCBot): cmd = message[0].lower() notunderstood = False if cmd == "help": - helpdico = {"help" : ["""HELP - Affiche de l'aide sur la commande""", None, None], - "join" : [None, """JOIN - Me fait rejoindre le channel""", None], - "leave" : [None, """LEAVE - Me fait quitter le channel (sauf s'il est dans ma stay_list).""", None], - "quiet" : [None, """QUIET - Me rend silencieux sur le channel.""", None], - "noquiet" : [None, """NOQUIET - Me rend la parole sur le channel.""", None], - "say" : [None, None, """SAY - Me fait parler sur le channel."""], - "do" : [None, None, """DO - Me fait faitre une action (/me) sur le channel."""], - "stay" : [None, None, """STAY - Ajoute le channel à ma stay_list."""], - "nostay" : [None, None, """NOSTAY - Retire le channel de ma stay_list."""], - "ops" : [None, None, """OPS - Affiche la liste des ops."""], - "overops" : [None, None, """OVEROPS - Affiche la liste des overops."""], - "kick" : [None, None, """KICK [] - Kicke du channel (Il faut bien entendu que j'y sois op)."""], - "die" : [None, None, """DIE - Me déconnecte du serveur IRC."""] - } + helpdico = config.helpdico helpmsg_default = "Liste des commandes disponibles :\nHELP" helpmsg_ops = " JOIN LEAVE QUIET NOQUIET LOST RECONNECT" - helpmsg_overops = " SAY DO STAY NOSTAY OPS OVEROPS KICK DIE" + helpmsg_overops = " SAY DO STAY NOSTAY OPS OVEROPS KICK DIE OP DEOP" op, overop = auteur in self.ops, auteur in self.overops if len(message) == 1: helpmsg = helpmsg_default @@ -268,6 +242,26 @@ class Skeleton(ircbot.SingleServerIRCBot): serv.privmsg(auteur, " ".join(self.overops)) else: notunderstood = True + elif cmd == "op": + if auteur in self.overops: + if len(message) > 2: + serv.mode(message[1], "+o %s" % message[2]) + elif len(message) > 1: + serv.mode(message[1], "+o %s" % auteur) + else: + serv.privmsg(auteur, config.helpdico["op"][2]) + else: + notunderstood = True + elif cmd == "deop": + if auteur in self.overops: + if len(message) > 2: + serv.mode(message[1], "-o %s" % message[2]) + elif len(message) > 1: + serv.mode(message[1], "-o %s" % auteur) + else: + serv.privmsg(auteur, config.helpdico["deop"][2]) + else: + notunderstood = True else: notunderstood = True if notunderstood: @@ -383,5 +377,5 @@ if __name__ == "__main__": except KeyError: print "Server Unknown : %s" % (serveur) exit(404) - bot = Skeleton(serveur, debug) + bot = Bbc(serveur, debug) bot.start()