Advertisement
Guest User

Untitled

a guest
Jul 27th, 2010
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 11.75 KB | None | 0 0
  1. # -*- coding: utf8 -*-
  2. import irclib
  3. import ircbot
  4. import sys
  5. import time
  6. import random
  7.  
  8. #Déclaration des variables "globales":
  9. maitres = ["*!*@155.158.200-77.rev.gaoland.net", "*!*@93.5.38.26", "*!*@cxr69-5-82-227-133-64.fbx.proxad.net", "*!*@AAubervilliers-198-1-36-73.w92-159.abo.wanadoo.fr", "*!*@88.219.227.143"]
  10. textes = ["Il fayt tro chod pour travaillay :3", "*OH UN PAPYON*", "MrPonay ai dan la place ouay ouay!", "Pour tous ceu qui utylysent leur pyaids :3", "Vrayment supayr!", "daysolé pour lay fautes :(", "waysh waysh gro!", "ce sera notre pety secray :3", "yts oveur naïne tawseunnnnnde!!!", "hawe canne chy slap :'(", "dontte téyze mee brow!!! :[", "complaytemen salade :3", "grattay ici", "on ay ce kon mange" "Q et mon amy \o/"]
  11. auto = 1
  12.  
  13.  
  14. class Ponay(ircbot.SingleServerIRCBot):
  15.    
  16.     def __init__(self):
  17.         print "__Init__"
  18.         ircbot.SingleServerIRCBot.__init__(self, [("irc.quakenet.org", 6667)],"MrPonay", "Vrayment Supayr!")
  19.  
  20.  
  21.     def on_welcome(self, serv, ev):
  22.         print "on_welcome"
  23.         serv.join("#raidzombie")
  24.         serv.privmsg("#raidzombie", "kikoo lay amyyyyyyyyyyy \o/")
  25.  
  26.     def on_join(self, serv, ev):
  27.         auteur = irclib.nm_to_n(ev.source())
  28.         masque_auteur = ev.source()
  29.         canal = ev.target()
  30.  
  31.     def on_pubmsg(self, serv, ev):
  32.         auteur = irclib.nm_to_n(ev.source())
  33.         masque_auteur = ev.source()
  34.         canal = ev.target()
  35.         message = ev.arguments()[0]
  36.         message_lower = ev.arguments()[0].lower()
  37.  
  38.         #En premier, on fait l'envoi du message auto
  39.         if auto == 1:
  40.             rand = random.randint(0, 7)
  41.             if rand == 1:
  42.                 print "%s @ %s: Send" % (auteur, canal)
  43.                 serv.execute_delayed(random.randint(1, 60), serv.privmsg, (canal, textes[random.randint(0, 6)]))
  44.  
  45.         #Ensuite, on vérifie que le message est une commande, et on agit en conséquence
  46.         if "!carte" in message_lower:
  47.             print "%s: Carte" % (auteur)
  48.             cartes = ["As de trèfle ♣", "2 de trèfle ♣", "3 de trèfle ♣", "4 de trèfle ♣", "5 de trèfle ♣", "6 de trèfle ♣", "7 de trèfle ♣", "8 de trèfle ♣", "9 de trèfle ♣", "10 de trèfle ♣", "Valet de trèfle ♣", "Reine de trèfle ♣", "Roi de trèfle ♣", "As de carreau ♦", "2 de carreau ♦", "3 de carreau ♦", "4 de carreau ♦", "5 de carreau ♦", "6 de carreau ♦", "7 de carreau ♦", "8 de carreau ♦", "9 de carreau ♦", "10 de carreau ♦", "Valet de carreau ♦", "Reine de carreau ♦", "Roi de carreau ♦", "As de cœur ♥", "2 de cœur ♥", "3 de cœur ♥", "4 de cœur ♥", "5 de cœur ♥", "6 de cœur ♥", "7 de cœur ♥", "8 de cœur ♥", "9 de cœur ♥", "10 de cœur ♥", "Valet de cœur ♥", "Reine de cœur ♥", "Roi de cœur ♥", "As de pique ♠", "2 de pique ♠", "3 de pique ♠", "4 de pique ♠", "5 de pique ♠", "6 de pique ♠", "7 de pique ♠", "8 de pique ♠", "9 de pique ♠", "10 de pique ♠", "Valet de pique ♠", "Reine de pique ♠", "Roi de pique ♠", "Joker: Il fayt tro chod pour travaillay :3", "Joker: Pour tous ceu qui utylysent leur pyaids :3"]
  49.             carte = cartes[random.randint(0, 53)]
  50.             message = "%s @ %s: %s" % (auteur, canal, carte)
  51.             serv.privmsg(canal, message)
  52.         if "!shifumi" in message_lower:
  53.             print "%s: Shifumi" % (auteur)
  54.             lancers = ["Pierre", "Feuille", "Ciseaux"]
  55.             lancer = lancers[random.randint(0, 2)]
  56.             message = "%s @ %s: %s" % (auteur, canal, lancer)
  57.             #shifumiListe.append(lancer)
  58.             serv.privmsg(canal, message)
  59.         if "!pf" in message_lower:
  60.             print "%s @ %s: Pile ou Face" % (auteur, canal)
  61.             lancers = ["Pile", "Face"]
  62.             lancer = lancers[random.randint(0, 1)]
  63.             message = "%s: %s" % (auteur, lancer)
  64.             #pfListe.append(lancer)
  65.             serv.privmsg(canal, message)
  66.         if "!d" in message_lower:
  67.             message_split = message.split('d')
  68.             try:
  69.                 message_split[1]
  70.             except NameError:
  71.                 message_split[1] = None
  72.             else:
  73.                 try:
  74.                     int(message_split[1])
  75.                 except:
  76.                     message_split[1] = None
  77.                 else:
  78.                     if int(message_split[1]) > 0 and int(message_split[1]) < 1000000000:
  79.                         des = int(message_split[1])
  80.                         lancer = random.randint(0, des)
  81.                         message = "%s: %s" % (auteur, lancer)
  82.                         serv.privmsg(canal, message)
  83.                 #if "!stat" in message_lower:
  84.                     #message = "Pile: %s . Face: %s | Pierre: %s . Feuille: %s . Ciseaux: %s" % (pfListe.count("Pile"), pfListe.count("Face"), shifumiListe.count("Pierre"), shifumiListe.count("Feuille"), shifumiListe.count("Ciseaux"))
  85.         if "!shuffle" in message_lower:
  86.             message_split = message.split(' ')
  87.             if len(message_split) == 2:
  88.                 print "%s @ %s: Shuffle %s" % (auteur, canal, message_split[1])
  89.                 t_list = list(message_split[1])
  90.                 random.shuffle(t_list)
  91.                 t_list = "".join(t_list)
  92.                 message = "%s: %s" % (auteur, t_list)
  93.                 serv.privmsg(canal, message)
  94.             else:
  95.                 print "%s @ %s:: Il manque des arguments" % (auteur, canal)
  96.                 serv.privmsg(auteur, "Ayrreur dans lay argu...*OH UN PAPYON*")
  97.        
  98.         if "!help" in message_lower:
  99.             serv.privmsg(auteur, "Les commande possibles sont:")
  100.             serv.privmsg(auteur, "!carte: choisie une carte dans un paquet de 54 cartes")
  101.             serv.privmsg(auteur, "!shifumi: tire un pierre-papier-ciseaux")
  102.             serv.privmsg(auteur, "rappel des règles: pierre bat ciseaux bat papier bat pierre")
  103.             serv.privmsg(auteur, "!pf: tire une pièce, pile ou face")
  104.             serv.privmsg(auteur, "!dX: tire un dés X, X est un nombre entier entre 0 et 1000000000")
  105.             serv.privmsg(auteur, "!shuffle chaine: mélange les lettres de la chaine")
  106.             serv.privmsg(auteur, " ")
  107.             serv.privmsg(auteur, "MrPonay [version 1.3] , codé en Python par TimBuk")
  108.         if "ponay" in message_lower:
  109.             print "%s @ %s: Ponay" % (auteur, canal)
  110.             if auto == 1 or auto == 2:
  111.                 serv.privmsg(canal, "Cay mwa \o/")
  112.                 serv.privmsg(canal, auto)
  113.  
  114.  
  115.     def on_privmsg(self, serv, ev):
  116.         masque_auteur = ev.source()
  117.         auteur = irclib.nm_to_n(ev.source())
  118.         canal = ev.target()
  119.         message = ev.arguments()[0]
  120.         message_lower = ev.arguments()[0].lower()
  121.  
  122.         for masque_maitre in maitres:
  123.             if irclib.mask_matches(masque_auteur, masque_maitre):
  124.                 if "!auto" in message_lower:
  125.                     message_split = message.split(' ')
  126.                     if len(message_split) == 2:
  127.                         print "%s: Auto %s" % (auteur, message_split[1])
  128.                         if message_split[1] == 'on':
  129.                             auto = 1
  130.                             serv.privmsg(auteur, "eauto onne")
  131.                             serv.privmsg(auteur, auto)
  132.                         elif message_split[1] == 'off':
  133.                             auto = 0
  134.                             serv.privmsg(auteur, "eauto ophe")
  135.                             serv.privmsg(auteur, auto)                            
  136.                         elif message_split[1] == 'half':
  137.                             auto = 2
  138.                             serv.privmsg(auteur, "eauto alphe")
  139.                             serv.privmsg(auteur, auto)                            
  140.                         else:
  141.                             serv.privmsg(auteur, "Tay tro nul :[")
  142.                     else:
  143.                         print "%s: Il manque des arguments" % (auteur)
  144.                         serv.privmsg(auteur, "Ayrreur dans lay argu...*OH UN PAPYON*")
  145.                 if "!add" in message_lower:
  146.                     message_split = message.split(' ')
  147.                     if len(message_split) == 2:
  148.                         print "%s: Ajout d'un maitre: %s" % (auteur, message_split[1])
  149.                         maitres.append(message_split[1])
  150.                         serv.privmsg(auteur, "Maiytre ajoutay")
  151.                     else:
  152.                         print "%s: Il manque des arguments" % (auteur)
  153.                         serv.privmsg(auteur, "Ayrreur dans lay argu...*OH UN PAPYON*")
  154.                 if "!del" in message_lower:
  155.                     message_split = message.split(' ')
  156.                     if len(message_split) == 2:
  157.                         print "%s: Suppr. d'un maitre: %s" % (auteur, message_split[1])
  158.                         try:
  159.                             maitres.remove(message_split[1])
  160.                             serv.privmsg(auteur, "Maitre supprimay")
  161.                         except Exception:
  162.                             serv.privmsg(auteur, "Impossyble de supprymay le maitre :(")
  163.                     else:
  164.                         print "%s: Il manque des arguments" % (auteur)
  165.                         serv.privmsg(auteur, "Ayrreur dans lay argu...*OH UN PAPYON*")
  166.                 if "!quit" in message_lower:
  167.                     print "%s: Extinction" % (auteur)
  168.                     self.die()
  169.                 if "!send" in message:
  170.                     message_split = message.split(' ')
  171.                     if len(message_split) == 2:
  172.                         print "%s: Admin Send %s" % (auteur, message_split[1])
  173.                         texte = textes[random.randint(0, 6)]
  174.                         serv.privmsg(message_split[1], texte)
  175.                         print texte
  176.                     else:
  177.                         print "%s: Il manque des arguments" % (auteur)
  178.                         serv.privmsg(auteur, "Ayrreur dans lay argu...*OH UN PAPYON*")
  179.                 if "!join" in message:
  180.                     message_split = message.split(' ')
  181.                     if len(message_split) == 2:
  182.                         print "%s: Join %s" % (auteur, message_split[1])
  183.                         serv.join(message_split[1])
  184.                         serv.privmsg(message_split[1], "kikoo^^ vou allay by1n :3 ?")
  185.                         serv.privmsg(auteur, "Jay rejwagnay \o/")
  186.                     else:
  187.                         print "%s: Il manque des arguments" % (auteur)
  188.                         serv.privmsg(auteur, "Ayrreur dans lay argu...*OH UN PAPYON*")
  189.                 if "!nick" in message:
  190.                     message_split = message.split(' ')
  191.                     if len(message_split) == 2:
  192.                         print "%s: Nick %s" % (auteur, message_split[1])
  193.                         serv.nick(message_split[1])
  194.                     else:
  195.                         print "%s: Il manque des arguments" % (auteur)
  196.                         serv.privmsg(auteur, "Ayrreur dans lay argu...*OH UN PAPYON*")
  197.                 if "!part" in message:
  198.                     message_split = message.split(' ')
  199.                     if len(message_split) == 2:
  200.                         try:
  201.                             print "%s: Part %s" % (auteur, message_split[1])
  202.                             serv.part(message_split[1])
  203.                             serv.privmsg(auteur, "Jay kittay \o/")
  204.                         except Exception:
  205.                             print "%s: Part: erreur" % (auteur)
  206.                             serv.privmsg(auteur, "Impossyble de quittay :(")
  207.                     else:
  208.                         print "%s: Il manque des arguments" % (auteur)
  209.                         serv.privmsg(auteur, "Ayrreur dans lay argu...*OH UN PAPYON*")
  210.                        
  211. if __name__ == "__main__":
  212.     Ponay().start()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement