Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import irclib
- import ircbot
- class BotModeration(ircbot.SingleServerIRCBot):
- def __init__(self):
- """
- Constructeur qui pourrait prendre des paramètres dans un "vrai" programme.
- """
- ircbot.SingleServerIRCBot.__init__(self, [("irc.epiknet.org", 6667)],"C-3PO", "Bot de modération réalisé en Python avec ircbot")
- self.insultes = ["con", "pute"] # Liste à agrandir pour un "vrai" programme.
- self.appels = ["Bonjour C-3PO", "Bonjour C3"]
- self.appelUsers = ["C-3PO", "C3" ]
- def on_welcome(self, serv, ev):
- """
- Méthode appelée une fois connecté et identifié.
- Notez qu'on ne peut rejoindre les canaux auparavant.
- """
- serv.join("#Seekandfail")
- def on_pubmsg(self, serv, ev):
- """
- Méthode appelée à la réception d'un message, qui exclut son expéditeur s'il
- écrit une insulte.
- """
- # Il n'est pas indispensable de passer par des variables
- # Ici elles permettent de clarifier le tout.
- auteur = irclib.nm_to_n(ev.source())
- canal = ev.target()
- message = ev.arguments()[0].lower() # Les insultes sont écrites en minuscules.
- for insulte in self.insultes:
- if insulte in message:
- serv.kick(canal, auteur, "Death Wink !")
- break
- def on_pubmsg(self, serv, ev):
- canal = ev.target()
- masque_auteur = ev.source()
- message = ev.arguments()
- for appel in self.appels:
- if appel in message:
- serv.privmsg( canal, " Bonjour je suis C3P0, Droïde de protocole utilitaire a votre service Maître ")
- break
- def on_pubmsg(self, serv, ev):
- canal = ev.target()
- masque_auteur = ev.source()
- message = ev.arguments()
- for appelUser in self.appelUsers:
- if appelUser in message:
- if irclib.mask_matches(masque_auteur, "*!*@AC73187C.26102C15.8D3D1B54.EpiK"): #bourgui
- serv.privmsg( canal, " Une bière ? ")
- if irclib.mask_matches(masque_auteur, "*!*@B4B722C5.76960C51.1398D68C.EpiK" or "*!*@EpiK-8A50B1B.rev.gaoland.net"): #Puce
- serv.privmsg( canal, " Pute ! ")
- if irclib.mask_matches(masque_auteur, "*!*@EpiK-8A50B1B.rev.gaoland.net"): #Puce
- serv.privmsg( canal, " Pute ! ")
- if irclib.mask_matches(masque_auteur, "*!*@EpiK-17300EFE.w86-198.abo.wanadoo.fr"): #Justine
- serv.privmsg( canal, "Votre beaute en fait fondre mes circuits ! ")
- if irclib.mask_matches(masque_auteur, "*!*@EpiK-38D5278E.rev.gaoland.net"): #Sunime
- serv.action( canal, "fait un calin a Sunime ")
- if irclib.mask_matches(masque_auteur, "*!*@EpiK-8684EB48.rev.gaoland.net"): #Sunime
- serv.action( canal, "fait un calin a Sunime ")
- if irclib.mask_matches(masque_auteur, "*!*@EpiK-5986D436.w92-144.abo.wanadoo.fr"): #Lucette
- serv.privmsg( canal, "t'es trop Sexe ! ")
- if irclib.mask_matches(masque_auteur, "*!*@E0C4B212.8D72F5B8.1D1F90ED.EpiK"): #Lucette
- serv.privmsg( canal, "t'es trop Sexe ! ")
- if irclib.mask_matches(masque_auteur, "*!*@C9D16F2E.E44846F1.1D1F90ED.EpiK"): #Moi
- serv.privmsg( canal, "Le Maître est le meilleur des maîtres ! ")
- if irclib.mask_matches(masque_auteur, "*!*@EpiK-69C55D4F.ppp.720.fr" ): #Moi
- serv.privmsg( canal, "Le Maître est le meilleur des maîtres ! ")
- if irclib.mask_matches(masque_auteur, "*!*@8A145977.9410DB28.E9A66A7F.EpiK"): #Myrdin
- serv.privmsg( canal, "Wow and Broes before Hoes.")
- if irclib.mask_matches(masque_auteur, "*!*@EpiK-8570F734.adsl.proxad.net" ): #Romus
- serv.privmsg( canal, "Kaboom ! ")
- if irclib.mask_matches(masque_auteur, "~Romus@*!*" ): #Romus
- serv.privmsg( canal, "Kaboom ! ")
- break
- class Bot(ircbot.SingleServerIRCBot):
- def on_pubmsg(self, serv, ev):
- masque_auteur = ev.source()
- message = ev.arguments()
- if message == "!quit" and irclib.mask_matches(masque_auteur, "*!*@EpiK-69C55D4F.ppp.720.fr"):
- self.die()
- if __name__ == "__main__":
- BotModeration().start()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement