Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.64 KB | None | 0 0
  1. import irclib
  2. import ircbot
  3.  
  4. class BotModeration(ircbot.SingleServerIRCBot):
  5.     def __init__(self):
  6.         """
  7.        Constructeur qui pourrait prendre des paramètres dans un "vrai" programme.
  8.        """
  9.         ircbot.SingleServerIRCBot.__init__(self, [("irc.epiknet.org", 6667)],"C-3PO", "Bot de modération réalisé en Python avec ircbot")
  10.  
  11.         self.insultes = ["con", "pute"] # Liste à agrandir pour un "vrai" programme.
  12.  
  13.         self.appels = ["Bonjour C-3PO", "Bonjour C3"]
  14.  
  15.         self.appelUsers = ["C-3PO", "C3" ]
  16.  
  17.     def on_welcome(self, serv, ev):
  18.         """
  19.        Méthode appelée une fois connecté et identifié.
  20.        Notez qu'on ne peut rejoindre les canaux auparavant.
  21.        """
  22.         serv.join("#Seekandfail")
  23.                        
  24.  
  25.  
  26.     def on_pubmsg(self, serv, ev):
  27.         """
  28.        Méthode appelée à la réception d'un message, qui exclut son expéditeur s'il
  29.        écrit une insulte.
  30.        """
  31.         # Il n'est pas indispensable de passer par des variables
  32.         # Ici elles permettent de clarifier le tout.
  33.         auteur = irclib.nm_to_n(ev.source())
  34.         canal = ev.target()
  35.         message = ev.arguments()[0].lower() # Les insultes sont écrites en minuscules.
  36.  
  37.         for insulte in self.insultes:
  38.             if insulte in message:
  39.                 serv.kick(canal, auteur, "Death Wink !")
  40.                 break    
  41.  
  42.  
  43.  
  44.     def on_pubmsg(self, serv, ev):
  45.         canal = ev.target()
  46.         masque_auteur = ev.source()
  47.         message = ev.arguments()
  48.  
  49.         for appel in self.appels:
  50.              if appel in message:
  51.                  serv.privmsg( canal, " Bonjour je suis C3P0, Droïde de protocole utilitaire a votre service Maître ")
  52.                  break
  53.  
  54.  
  55.  
  56.  
  57.     def on_pubmsg(self, serv, ev):
  58.         canal = ev.target()
  59.         masque_auteur = ev.source()
  60.         message = ev.arguments()
  61.  
  62.         for appelUser in self.appelUsers:
  63.              if appelUser in message:
  64.                 if irclib.mask_matches(masque_auteur, "*!*@AC73187C.26102C15.8D3D1B54.EpiK"): #bourgui
  65.                         serv.privmsg( canal, " Une bière ? ")
  66.                
  67.                 if irclib.mask_matches(masque_auteur, "*!*@B4B722C5.76960C51.1398D68C.EpiK" or "*!*@EpiK-8A50B1B.rev.gaoland.net"): #Puce
  68.                         serv.privmsg( canal, " Pute ! ")
  69.  
  70.                 if irclib.mask_matches(masque_auteur, "*!*@EpiK-8A50B1B.rev.gaoland.net"): #Puce
  71.                         serv.privmsg( canal, " Pute ! ")
  72.  
  73.                 if irclib.mask_matches(masque_auteur, "*!*@EpiK-17300EFE.w86-198.abo.wanadoo.fr"): #Justine
  74.                         serv.privmsg( canal, "Votre beaute en fait fondre mes circuits ! ")
  75.  
  76.                 if irclib.mask_matches(masque_auteur, "*!*@EpiK-38D5278E.rev.gaoland.net"): #Sunime
  77.                         serv.action( canal, "fait un calin a Sunime ")
  78.  
  79.                 if irclib.mask_matches(masque_auteur, "*!*@EpiK-8684EB48.rev.gaoland.net"): #Sunime
  80.                         serv.action( canal, "fait un calin a Sunime ")
  81.                        
  82.                 if irclib.mask_matches(masque_auteur, "*!*@EpiK-5986D436.w92-144.abo.wanadoo.fr"): #Lucette
  83.                         serv.privmsg( canal, "t'es trop Sexe ! ")
  84.  
  85.                 if irclib.mask_matches(masque_auteur, "*!*@E0C4B212.8D72F5B8.1D1F90ED.EpiK"): #Lucette
  86.                         serv.privmsg( canal, "t'es trop Sexe ! ")
  87.                        
  88.                 if irclib.mask_matches(masque_auteur, "*!*@C9D16F2E.E44846F1.1D1F90ED.EpiK"): #Moi
  89.                         serv.privmsg( canal, "Le Maître est le meilleur des maîtres ! ")
  90.  
  91.                 if irclib.mask_matches(masque_auteur, "*!*@EpiK-69C55D4F.ppp.720.fr"  ): #Moi
  92.                         serv.privmsg( canal, "Le Maître est le meilleur des maîtres ! ")
  93.  
  94.                 if irclib.mask_matches(masque_auteur, "*!*@8A145977.9410DB28.E9A66A7F.EpiK"): #Myrdin
  95.                         serv.privmsg( canal, "Wow and Broes before Hoes.")
  96.  
  97.                 if irclib.mask_matches(masque_auteur, "*!*@EpiK-8570F734.adsl.proxad.net"  ): #Romus
  98.                         serv.privmsg( canal, "Kaboom ! ")
  99.  
  100.                 if irclib.mask_matches(masque_auteur, "~Romus@*!*"  ): #Romus
  101.                         serv.privmsg( canal, "Kaboom ! ")
  102.                         break
  103.  
  104.  
  105. class Bot(ircbot.SingleServerIRCBot):
  106.     def on_pubmsg(self, serv, ev):
  107.         masque_auteur = ev.source()
  108.         message = ev.arguments()
  109.         if message == "!quit" and irclib.mask_matches(masque_auteur, "*!*@EpiK-69C55D4F.ppp.720.fr"):
  110.             self.die()
  111.  
  112.  
  113.  
  114.  
  115. if __name__ == "__main__":
  116.     BotModeration().start()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement