X-Git-Url: http://gitweb.pimeys.fr/?a=blobdiff_plain;f=deconnaisseur.py;h=94e60096b5f22af08cbc313949de2c8e849b5dab;hb=b57e4a66112a771c32b2a1157e6afc8c230eb24d;hp=5ebbbf8ed9dfc51f4e32af0b5d59539e1f6e8c7a;hpb=5237fa0fa9d389a07629eeb9c651e88796aa9713;p=bots%2Fdeconnaisseur.git diff --git a/deconnaisseur.py b/deconnaisseur.py index 5ebbbf8..94e6009 100755 --- a/deconnaisseur.py +++ b/deconnaisseur.py @@ -27,7 +27,7 @@ def get_config_source_file(serveur): return config_source_file_template%(serveurs[serveur]) ttrig=120 #time trigger (normalement 120, mais diminué pour les tests) Ttrig=600 #between two enigms -config_time_incompressible=60 #on peut pas retrigger en dessous de ce temps (60) +config_time_incompressible=15 #on peut pas retrigger en dessous de ce temps (60) config_time_incompressible_clue=60 #on peut pas forcer la demande d'indice en dessous config_score_file="scores.pickle" @@ -80,6 +80,7 @@ class Deconnaisseur(ircbot.SingleServerIRCBot): self.stay_channels=config_stay_channels self.play_channels=config_play_channels self.play_status={i:[0] for i in self.play_channels} + self.quiet_channels={} def give_me_my_pseudo(self,serv): serv.privmsg("NickServ","RECOVER %s %s"%(config_pseudo,config_password)) @@ -189,7 +190,9 @@ class Deconnaisseur(ircbot.SingleServerIRCBot): JOIN Faire rejoindre un channel (sans paramètres, donne la liste des chans actuels) LEAVE Faire quitter un channel PLAY Passe un channel en mode "jouer" - NOPLAY Passe un channel en mode "ne pas jouer" """ + NOPLAY Passe un channel en mode "ne pas jouer" + QUIET Se taire sur un channel + NOQUIET Opposé de QUIET""" helpmsg_overops=""" SCORES {DEL|ADD|SUB} Tu veux un dessin ? SAY Fais envoyer un message sur un chan ou à une personne @@ -285,6 +288,32 @@ class Deconnaisseur(ircbot.SingleServerIRCBot): log("priv",auteur," ".join(message)+"[failed]") else: notunderstood=True + elif cmd=="quiet": + if auteur in self.ops: + if len(message)>1: + if message[1] in self.quiet_channels: + serv.privmsg(auteur,"Je me la ferme déjà sur %s"%(message[1])) + log(self.serveur,"priv",auteur," ".join(message)+"[failed]") + else: + self.quiet_channels.append(message[1]) + serv.privmsg(auteur,"Quiet channels : "+" ".join(self.quiet_channels)) + log(self.serveur,"priv",auteur," ".join(message)+"[successful]") + else: + serv.privmsg(auteur,"Quiet channels : "+" ".join(self.quiet_channels)) + else: + notunderstood=True + elif cmd=="noquiet": + if auteur in self.ops: + if len(message)>1: + if message[1] in self.quiet_channels: + self.quiet_channels.remove(message[1]) + serv.privmsg(auteur,"Quiet channels : "+" ".join(self.quiet_channels)) + log(self.serveur,"priv",auteur," ".join(message)+"[successful]") + else: + serv.privmsg(auteur,"Je ne me la ferme pas sur %s."%(message[1])) + log(self.serveur,"priv",auteur," ".join(message)+"[failed]") + else: + notunderstood=True elif cmd in ["states","status"]: if auteur in self.overops: for k in self.play_status.keys(): @@ -404,8 +433,8 @@ class Deconnaisseur(ircbot.SingleServerIRCBot): else: serv.privmsg(canal,"%s: crève !"%(auteur)) log(canal,auteur,message+"[failed]") - if cmd in ["meur", "meurt","meurre","meurres"]: - serv.privmsg(canal,'%s: Mourir, impératif, 2ème personne du pluriel : "meurs" (de rien)'%(auteur)) + if cmd in ["meur", "meurt","meurre","meurres"] and not canal in self.quiet_channels: + serv.privmsg(canal,'%s: Mourir, impératif, 2ème personne du singulier : "meurs" (de rien)'%(auteur)) if cmd in ["part","leave","dégage"]: if auteur in self.ops and (not (canal in self.stay_channels) or auteur in self.overops): @@ -422,9 +451,9 @@ class Deconnaisseur(ircbot.SingleServerIRCBot): serv.nick(become) log(canal,auteur,message+"[successful]") - if cmd in ["coucou"]: + if cmd in ["coucou"] and not canal in self.quiet_channels: serv.privmsg(canal,"%s: coucou"%(auteur)) - if cmd in ["ping"]: + if cmd in ["ping"] and not canal in self.quiet_channels: serv.privmsg(canal,"%s: pong"%(auteur)) if cmd in ["déconnaissance","deconnaissance","énigme","enigme","encore"]: if canal in self.play_channels: