X-Git-Url: http://gitweb.pimeys.fr/?a=blobdiff_plain;f=hung.py;h=99aa68a5752ebcf8eaee88c98a44b22e0064f227;hb=d478e6b54f194ad88a1564ee79802dec53bd64c8;hp=b849f7f9ada7a7c69247d42a72cbd9a1036be303;hpb=1972f14cc5dcff5ef54a4d57a1232ca57aaf4ded;p=bots%2Fhung.git diff --git a/hung.py b/hung.py index b849f7f..99aa68a 100755 --- a/hung.py +++ b/hung.py @@ -29,7 +29,7 @@ config_play_channels=["#flood"] config_quiet_channels=[] config_logfile_template="hung.%s.log" def get_config_logfile(serveur): - serveurs={"acoeur.crans.org":"acoeur","irc.crans.org":"crans"} + serveurs={"acoeur.crans.org":"acoeur","irc.crans.org":"crans","localhost":"localhost"} return config_logfile_template%(serveurs[serveur]) config_overops=["[20-100]","[20-100]_","Petite-Peste","PEB"] config_ops=[] @@ -60,6 +60,7 @@ u"B _ E, C R U E L _ O R L D!", u"B Y E, C R U E L _ O R L D!", u"B Y E, C R U E L W O R L D!", ] +config_leave_messages=["On finira la partie plus tard :p"] def log(serveur,channel,auteur=None,message=None): f=open(get_config_logfile(serveur),"a") @@ -126,6 +127,7 @@ class Hung(ircbot.SingleServerIRCBot): serv.nick(config_irc_pseudo) def on_welcome(self, serv, ev): + self.serv=serv # ça serv ira :) self.give_me_my_pseudo(serv) serv.privmsg("NickServ","IDENTIFY %s"%(config_irc_password)) log(self.serveur,"Connected") @@ -175,7 +177,7 @@ class Hung(ircbot.SingleServerIRCBot): if auteur in self.ops and len(message)>1: if message[1] in self.chanlist: if not (message[1] in self.stay_channels) or auteur in self.overops: - serv.part(message[1]) + self.quitter(message[1]," ".join(message[2:])) self.chanlist.remove(message[1]) log(self.serveur,"priv",auteur," ".join(message)+"[successful]") else: @@ -250,8 +252,7 @@ class Hung(ircbot.SingleServerIRCBot): elif cmd=="die": if auteur in self.overops: log(self.serveur,"priv",auteur," ".join(message)+"[successful]") - quit_message=random.choice(config_quit_messages) - self.die(message=config_quit_message) + self.mourir() else: notunderstood=True elif cmd=="quiet": @@ -340,14 +341,14 @@ class Hung(ircbot.SingleServerIRCBot): if cmd in ["meurs","die","crève"]: if auteur in self.overops: log(self.serveur,canal,auteur,message+"[successful]") - self.die() + self.mourir() else: serv.privmsg(canal,"%s: crève !"%(auteur)) log(self.serveur,canal,auteur,message+"[failed]") elif cmd in ["part","leave","dégage"]: if auteur in self.ops and (not (canal in self.stay_channels) or auteur in self.overops): - serv.part(canal,message="Éjecté par %s"%(auteur)) + self.quitter(canal) log(self.serveur,canal,auteur,message+"[successful]") if canal in self.chanlist: self.chanlist.remove(canal) @@ -428,7 +429,16 @@ class Hung(ircbot.SingleServerIRCBot): "%s : Euh, tu fais de la merde avec ton encodage là, j'ai failli crasher…"%(auteur)) return mypseudo=serv.get_nickname() - + + def quitter(self,chan,leave_message=None): + if leave_message==None: + leave_message=random.choice(config_leave_messages) + self.serv.part(chan,message=leave_message.encode("utf8")) + + def mourir(self): + quit_message=random.choice(config_quit_messages) + self.die(msg=quit_message) + def get_scores(self): f=open(config_scores_file) scores=pickle.load(f) @@ -479,7 +489,8 @@ if __name__=="__main__": else: debug=False serveurs={"a♡":"acoeur.crans.org","acoeur":"acoeur.crans.org","acoeur.crans.org":"acoeur.crans.org", - "irc":"irc.crans.org","crans":"irc.crans.org","irc.crans.org":"irc.crans.org"} + "irc":"irc.crans.org","crans":"irc.crans.org","irc.crans.org":"irc.crans.org", + "localhost":"localhost"} try: serveur=serveurs[serveur] except KeyError: