From 04403df248d79bf93354d1d9a10a023dc175adde Mon Sep 17 00:00:00 2001 From: Deconnaisseur le bot IRC Date: Tue, 1 May 2012 19:19:09 +0200 Subject: [PATCH] =?utf8?q?deconnaisseur=20en=20d=C3=A9p=C3=B4t=20git,=20c'?= =?utf8?q?est=20quand=20m=C3=AAme=20mieux=20:)?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .gitignore | 31 + backup/deconnaissances.acoeur.txt | 139 ++++ backup/deconnaissances.crans.txt | 229 +++++++ backup/dummy/deconnaissances.acoeur.txt | 859 ++++++++++++++++++++++++ backup/dummy/deconnaissances.crans.txt | 859 ++++++++++++++++++++++++ backup/dummy/deconnaisseur.py | 393 +++++++++++ deconnaissances.acoeur.txt | 859 ++++++++++++++++++++++++ deconnaissances.crans.txt | 859 ++++++++++++++++++++++++ deconnaisseur.py | 393 +++++++++++ 9 files changed, 4621 insertions(+) create mode 100644 .gitignore create mode 100644 backup/deconnaissances.acoeur.txt create mode 100644 backup/deconnaissances.crans.txt create mode 100644 backup/dummy/deconnaissances.acoeur.txt create mode 100644 backup/dummy/deconnaissances.crans.txt create mode 100755 backup/dummy/deconnaisseur.py create mode 100644 deconnaissances.acoeur.txt create mode 100644 deconnaissances.crans.txt create mode 100755 deconnaisseur.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a57fd2e --- /dev/null +++ b/.gitignore @@ -0,0 +1,31 @@ +# Custom # +################### +*~ + +# Compiled source # +################### +*.pyc + +# Packages # +############ +# it's better to unpack these files and commit the raw source +# git has its own built in compression methods +*.7z +*.dmg +*.gz +*.iso +*.jar +*.rar +*.tar +*.zip + +# Logs # +###################### +*.log + +# OS generated files # +###################### +.DS_Store* +*ehthumbs.db +Icon? +*Thumbs.db diff --git a/backup/deconnaissances.acoeur.txt b/backup/deconnaissances.acoeur.txt new file mode 100644 index 0000000..71d97f9 --- /dev/null +++ b/backup/deconnaissances.acoeur.txt @@ -0,0 +1,139 @@ +% +Littérature : Marguerite plantigrade +Hadrien +Marguerite ours noir +Marguerite ours noir +5 +% +Écrivain: encouragement à un âne +Lettres de mon moulin +Allez(,| !|) fonce( !|) baudet +Allez fonce baudet +5 +% +Acteur : David pend +Elephant Man +David Lynche +David Lynche +5 +% +Chanteuse : Fruit exotique de Chantal +Enfants +Chantal goyave +Chantal goyave +6 +% +Musique: La missive à cathédrale +Beethoven +La lettre à église +La lettre à église +5 +% +Personnalité T.V. : Étienne remue +TF1 +Étienne Bougeotte +Étienne Bougeotte +5 +% +Jeu T.V. : Des additions et des kilos de liquide +Armand Jammot +Des chiffres et des litres +Des chiffres et des litres +5 +% +Personnage de film : caillou qui cogne le serpent de plume +c'est aussi le sixième film +Roc qui bat le boa +Roc qui bat le boa +5 +% +Politique : Fantômas la brosse à cheveux +FN +Jean Marais le peigne +Jean Marais le peigne +5 +% +Film : La cage aux petits flacons de verre +Edouard Molinaro +La cage aux fioles +La cage aux fioles +6 +% +Acteur : Sylvester skie entre les piquets +Rambo +Sylvester slalome +Sylvester slalome +6 +% +Architecture : Pas si moche, sculpture peinture et musique évacuent du bois par tous les orifices +Pour un peu plus que des évèques +Pas laid art chie et pisse copeaux +Pas laid art chie et pisse copeaux +6 +% +Actrice : Les 6 cochons de Simone +Le chat +Simone 6 gorets +Simone 6 gorets +6 +% +Expression : les flatulences de femme qui possède des chiens +on est dessous dans une situation difficile ou dangereuse +Les pets de dame aux clebs +Les pets de dame aux clebs +6 +% +Supers-héros : Déesse de la Lune époustouflante +Dr. Doom +Hécate Fantastique +Hécate Fantastique +6 +% +Chanteuse : La paysanne moche +Lauret Boutonnat +Vilaine fermière +Vilaine fermière +6 +% +Recette de cuisine : Désaccord entre palmipèdes + +conflit de canards +conflit de canards +6 +% +Chanteur : Le Michel qui a pris beaucoup de poissons +Laurette +Michel belle pêche +Michel belle pêche +6 +% +Géographie : Les îles du doigt infecté +Espagne +Les îles panaris +Les îles panaris +6 +% +People: Pauvre Hotel de Luxe + +Pas riche Hilton +Pas riche Hilton +6 +% +Film : fourmi se trompe +James Cameron +Termite a tort +Termite a tort +6 +% +Lieu : Le tunnel des voitures saisies +Lyon +Le tunnel de fourrière +Le tunnel de fourrière +6 +% +Gastronomie : Démange un dos asiatique +Avec des pommes de terre +Gratte un dos chinois +Gratte un dos chinois +6 +% \ No newline at end of file diff --git a/backup/deconnaissances.crans.txt b/backup/deconnaissances.crans.txt new file mode 100644 index 0000000..ffb856a --- /dev/null +++ b/backup/deconnaissances.crans.txt @@ -0,0 +1,229 @@ +% +Proverbe : J'étais amoureux d'un vieux gendarme en moto +Agissez au lieu de ne rien faire +Vieux motard que j'aimais +Vieux motard que j'aimais +0 +% +Jeu T.V. : Questions antipelliculaires +FR3 +Questions pour un shampooing +Questions pour un shampooing +0 +% +Chanson : Elle a l'essieu de velours +Luis Mariano +La bielle de Cadix +La bielle de Cadix +0 +% +Monument : Le tour de badge +Italie +La tour de pin's +La tour de pin's +0 +% +Fleur : La moitié d'Amadeus +Nice +(Le |)mi(-| )Mozart +Le mi-Mozart +0 +% +Chanteur : Jules qui nettoie le pare-brise +Espagnol +Julio essuie(-| )glace +Julio essuie-glace +0 +% +Fable : La plante grimpante et la fille à la scoliose +Rien ne sert de courir +Le lierre et la tordue +Le lierre et la tordue +0 +% +Acteur : Christophe vertébré +Le sicilien +Christophe lombaire +Christophe lombaire +0 +% +Scientifique : Un Victor au prénom de vive controverse +Pôle nord +Polémique Victor +Polémique Victor +0 +% +Chanson : C'est mieux que de prendre la Cicciolina +Ray Ventura +Ça vaut mieux que d'attraper la star latine +Ça vaut mieux que d'attraper la star latine +0 +% +Gastronomie : La noix d'alligator +Fruit exotique +La noix de croco +La noix de croco +0 +% +Chanson : Ne me fais pas boire +Jacques Brel +Ne me cuite pas +Ne me cuite pas +0 +% +Œuvre musicale : L'instrument de musique en travaux +Amadeus +La flûte en chantier +La flûte en chantier +0 +% +Événement historique : Les contribuables de la Marne +Bataille de 14 - 18 +Les taxés de la Marne +Les taxés de la Marne +1 +% +Personnalité T.V. : Arrête de remuer Étienne +TF1 +Étienne Bougeotte +Étienne Bougeotte +0 +% +Acteur : Sylvester skie entre les piquets +Rambo +Sylvester slalome +Sylvester slalome +0 +% +Lieu : Tunnel des voitures saisies +Lyon +Le tunnel de fourrière +Le tunnel de fourrière +0 +% +Film : La cage aux petits flacons de verre +Edouard Molinaro +La cage aux fioles +La cage aux fioles +0 +% +Jeu T.V. : Des additions et des kilos de liquide +Armand Jammot +Des chiffres et des litres +Des chiffres et des litres +0 +% +Chanteur : Le Michel qui a pris beaucoup de poissons +Laurette +Michel belle pêche +Michel belle pêche +0 +% +Actrice : Les 6 cochons de Simone +Le chat +Simone 6 gorets +Simone 6 gorets +0 +% +Chanteuse : Fruit exotique de Chantal +Enfants +Chantal goyave +Chantal goyave +0 +% +Politique : Fantômas la brosse à cheveux +FN +Jean Marais le peigne +Jean Marais le peigne +0 +% +Personnage de film : caillou qui cogne le serpent de plume +c'est aussi le sixième film +Roc qui bat le boa +Roc qui bat le boa +0 +% +Acteur : David pend +Elephant Man +David Lynche +David Lynche +0 +% +Film : fourmi se trompe +James Cameron +Termite a tort +Termite a tort +0 +% +Supers-héros : Déesse de la Lune époustouflante +Dr. Doom +Hécate Fantastique +Hécate Fantastique +0 +% +Littérature : Marguerite plantigrade +Hadrien +Marguerite ours noir +Marguerite ours noir +0 +% +People: Pauvre Hotel de Luxe + +Pas riche Hilton +Pas riche Hilton +0 +% +Architecture : Pas si moche, sculpture peinture et musique évacuent du bois par tous les orifices +Pour un peu plus que des évèques +Pas laid art chie et pisse copaux +Pas laid art chie et pisse copaux +0 +% +Expression : les flatulences de la femme qui possède des chiens +on est dessous dans une situation difficile ou dangereuse +Les pets de la dame aux clebs +Les pets de la dame aux clebs +0 +% +Écrivain: encouragement à un âne +Lettres de mon moulin +Allez(,| !|) fonce( !|) baudet +Allez fonce Baudet +0 +% +Musique: La missive à cathédrale +Beethoven +La lettre à église +La lettre à église +1 +% +Bande dessinée : Le sceptre de bus +Tintin +Le sceptre d'autocar +Le sceptre d'autocar +1 +% +Chanteuse : La paysanne moche +Lauret Boutonnat +Vilaine fermière +Vilaine fermière +1 +% +Gastronomie : Démange un dos asiatique +Avec des pommes de terre +Gratte un dos chinois +Gratte un dos chinois +1 +% +Épreuve sportive : Le rallye automobile préféré des Vikings +Thierry Sabine +Paris drakkar +Paris drakkar +1 +% +Recette de cuisine : Désaccord entre palmipèdes + +conflit de canards +conflit de canards +1 +% \ No newline at end of file diff --git a/backup/dummy/deconnaissances.acoeur.txt b/backup/dummy/deconnaissances.acoeur.txt new file mode 100644 index 0000000..4ea5a5d --- /dev/null +++ b/backup/dummy/deconnaissances.acoeur.txt @@ -0,0 +1,859 @@ +% +Homme célèbre : Ah ! Les confiseries et les quarante brigands +Sésame ouvre-toi +Ah( !|) Les bonbons et les quarante voleurs +Ah ! Les bonbons et les quarante voleurs +0 +% +Écrivain: encouragement à un âne +Lettres de mon moulin +Allez(,| !|) fonce( !|) baudet +Allez fonce baudet +0 +% +Chanteur : Bébert le crustacé +Pour le plaisir +Bébert le homard +Bébert le homard +0 +% +Chanson : Le chevreau c'est terminé +Hervé Vilard +Cabri c'est fini +Cabri c'est fini +0 +% +Personnage historique : Tisane des machines à moudre +Guillotiné avec Danton +Camomille des moulins +Camomille des moulins +0 +% +Ville : Case pour litières de blessés +Maroc +Case à brancards +Case à brancards +0 +% +Chanteuse : Chantal fruit exotique +Enfants +Chantal goyave +Chantal goyave +0 +% +Chanson : Le mort fait tous les plis au bridge +Francis Cabrel +Chelem à mourir +Chelem à mourir +0 +% +Acteur : Christophe le vertébré +Le sicilien +Christophe lombaire +Christophe lombaire +0 +% +Profession : Mâle de la poule décédé +Pompes funèbres +Coq mort +Coq mort +0 +% +Pays : Costume apéritif +San José +Costard Ricard +Costard Ricard +0 +% +Profession : Réparateur de toit à bicyclette +Petite reine +Couvreur cycliste +Couvreur cycliste +0 +% +Acteur : David pend +Elephant Man +David Lynche +David Lynche +0 +% +Jeu T.V. : Des additions et des kilos de liquide +Armand Jammot +Des chiffres et des litres +Des chiffres et des litres +0 +% +Série T.V. : Deux policiers américains qui ont faim +Floride +Deux flics à miam-miam +Deux flics à miam-miam +0 +% +Chanteur : Didier chanteur celte de Tripoli +Il faut laisser le temps au temps +Didier barde libyen +Didier barde libyen +0 +% +Présentatrice T.V. : Cajolée +Enfants +Dorlotée +Dorlotée +0 +% +Chanteuse : Le riz d'Edith +Marcel +Edith Pilaf +Edith Pilaf +0 +% +Chanteur : Le roi du rock américain se dépêche +Love me tender +Elvis pressé +Elvis pressé +0 +% +Écrivain : Ernest qui a quitté son pays +Nobel 1954 +Ernest émigré +Ernest émigré +0 +% +Homme politique : Fidèle à sa marque d'huile automobile +La Havane +Fidèle Castrol +Fidèle Castrol +0 +% +Chanteur : Chanteur du sud-ouest en Renault 4 +Sarbacane +Francis 4L +Francis 4L +0 +% +Homme politique : Georges proclame en sautant +Le Tigre +Georges clame en saut +Georges clame en saut +0 +% +Chanteur : Georges bière couleur de treillis +Barbe +Georges mousse kaki +Georges mousse kaki +0 +% +Gastronomie : Démange un dos asiatique +Avec des pommes de terre +Gratte un dos chinois +Gratte un dos chinois +0 +% +Acteur : Égale 4 +Cyrano de Bergerac +Gérard deux par deux +Gérard deux par deux +0 +% +Ville : Tragédie des rongeurs domestiques +Port hollandais +Hamster drame +Hamster drame +0 +% +Supers-héros : Déesse de la Lune époustouflante +Dr. Doom +Hécate Fantastique +Hécate Fantastique +0 +% +Villes japonaises : Mao-Tsé-Toung et sac de voyage pour la neige +Bombe atomique +Héros chinois et bagage à ski +Héros chinois et bagage à ski +0 +% +Pays : L'homme sera la femme +Tel Aviv +Il sera elle +Il sera elle +0 +% +Politique : Fantômas la brosse à cheveux +FN +Jean Marais le peigne +Jean Marais le peigne +0 +% +Cinéaste : Le gros aiguillon de Jean-Luc +La chinoise +Jean-Luc gros dard +Jean-Luc gros dard +0 +% +Actur : Jean-Paul, enlève la peau sur mes coups de soleil +Les magnifiques +Jean-Paul pèle mon dos +Jean-Paul pèle mon dos +0 +% +Présentateur T.V. : Les couches-culottes de Julien +FR3 +Julien Pampers +Julien Pampers +0 +% +Chanteur : Jules qui nettoie le pare-brise +Espagnol +Julio essuie(-| )glace(|s) +Julio essuie-glace +0 +% +Marque publicitaire : Seulement un chinois +Y'a pas d'heure pour en manger +Juste un bridé +Juste un bridé +0 +% +Pays : Pouvez-vous me dire où se trouve l'Arabie +Riyad +L'Arabie c'est où dîtes ? +L'Arabie c'est où dîtes ? +0 +% +Film : La première île d'exil de Napoléon ou le pays des banques +Claude Zidi +L'Elbe ou la Suisse +L'Elbe ou la Suisse +0 +% +Événement historique : Le couvent des porcs +Conflit USA - Cuba +L'abbaye des cochons +L'abbaye des cochons +0 +% +Monument : L'insecte de Westminster +Londres +L'abeille de Westminster +L'abeille de Westminster +0 +% +Chanson : Il est baissé devant le pianiste +Michel Berger +L'accroupi du pianiste +L'accroupi du pianiste +0 +% +Littérature : L'amant de les dix rouleaux de ruban adhésif +David Lawrence +L'amant de les dix chattertons +L'amant de les dix chattertons +0 +% +Œuvre musicale : Il apprend les sources +Paul Dukas +L'apprenti sourcier +L'apprenti sourcier +0 +% +Pays : Le petit de l'autruche grise +Habsbourg +L'autruchon gris +L'autruchon gris +0 +% +Chanson : Les chinois l'idolâtrent +Johnny Hallyday +L'idole des jaunes +L'idole des jaunes +0 +% +Médecine chirurgicale : L'opération des potes de Capone +Gorge +L'opération des amis d'Al +L'opération des amis d'Al +0 +% +Événement annuel : L'ouverture du bâton sur lequel montent des bergers landais +En septembre +L'ouverture de l'échasse +L'ouverture de l'échasse +0 +% +Géographie : L'articulation du bras au dos à l'opposé du sud +Arctique +L'épaule nord +L'épaule nord +0 +% +Événement historique : Bataille dans la piscine avec un ballon +Défaite de Napoléon Premier +La bataille de water(-| )polo +La bataille de water-polo +0 +% +Chanson : Elle a l'essieu de velours +Luis Mariano +La bielle de Cadix +La bielle de Cadix +0 +% +Film : La cage aux petits flacons de verre +Edouard Molinaro +La cage aux fioles +La cage aux fioles +0 +% +Astronomie : L'étoile filante des motos américaines +Comète +La comète des Harley(|s) +La comète des Harley +0 +% +Chanson : La danse des idiots +Coin coin +La danse des connards +La danse des connards +0 +% +Œuvre musicale : L\instrument de musique en travaux +Amadeus +La flûte en chantier +La flûte en chantier +0 +% +Géographie : La pomme de terre belge du sud +Le Cap +La frite du sud +La frite du sud +0 +% +Œuvre architecturale : Massacre place Tien-An-Men +Mur +La grande mitraille de Chine +La grande mitraille de Chine +0 +% +Musique: La missive à cathédrale +Beethoven +La lettre à église +La lettre à église +0 +% +Film : On verse de l'eau dans une bouteille à travers la mariée +Jeanne Moreau +La mariée est entonnoir +La mariée est entonnoir +0 +% +Gastronomie : La noix d'alligator +Fruit exotique +(La |)noix de croco +La noix de croco +0 +% +Chanson : La poupée qui petit drapeau +Michel Polnareff +La poupée qui fanion +La poupée qui fanion +0 +% +Lieu : La balade des morceaux de bœuf +Nice +La promenade des onglets +La promenade des onglets +0 +% +Monument : La tour de badge +Italie +La tour de pin's +La tour de pin's +0 +% +Sculpture : Sa locomotive a gagné +Louvre +La victoire de sa motrice +La victoire de sa motrice +0 +% +Profession : Boisson russe pour vous défendre +Justice +La vodka de la défense +La vodka de la défense +0 +% +Œuvre musicale : Belle bicyclette d'un compositeur classique +Maurice Ravel +Le beau vélo de Ravel +Le beau vélo de Ravel +0 +% +Sport : Une haie tous les centièmes de mètre +Guy Drut +Le centimètre haie(s|) +Le centimètre haies +0 +% +Scientifique : Il commande et va au lit de bonne heure +Bonnet rouge +Le commandant couche( |-)tôt +Le commandant couche tôt +0 +% +Événement sportif : Le four d'hypnose +Course cycliste +Le four de transe +Le four de transe +0 +% +Société secrète : Le clan des clowns +Cagoule +Le gugusse clan +Le gugusse clan +0 +% +Fable : La plante grimpante et la fille à la scoliose +Rien ne sert de courir +Le lierre et la tordue +Le lierre et la tordue +0 +% +Fleur : La moitié d'Amadeus +Nice +Le mi(-| )Mozart +Le mi-Mozart +0 +% +Lieu : Frontière d'enchanteur entre l'est et l'ouest +Porte de Brandenburg +Le mur de Merlin +Le mur de Merlin +0 +% +Lieu : Le mur de l'épicerie +Jérusalem +Le mur de l'alimentation +Le mur de l'alimentation +0 +% +Bande dessinée : Le sceptre de bus +Tintin +Le sceptre d'autocar +Le sceptre d'autocar +0 +% +Monument : La basilique au sucre +Montmartre +Le sucré cœur +Le sucré cœur +0 +% +Événement sportif : Le tour d'une écriture particulière +Cyclisme +Le tour d'italique +Le tour d'italique +0 +% +Lieu : Le tunnel des voitures saisies +Lyon +Le tunnel de fourrière +Le tunnel de fourrière +0 +% +Événement sportif : 24 arabes au pays des rillettes +Course automobile +Les (24|vingt-quatre) beurs du Mans +Les 24 beurs du Mans +0 +% +Animaux : Les briquets potables +Mammifères des fleuves +Les Zippos potables +Les Zippos potables +0 +% +Film : Les cafés à cochonnes de Cherbourg +Jacques Demy +Les bars à truies de Cherbourg +Les bars à truies de Cherbourg +0 +% +Spécialité : Instruments de musique de Cuba +Partent en fumé +Les cithares de la Havane +Les cithares de la Havane +0 +% +Chanson : Les gifles d'une région d'Irlande +Michel Sardou +Les claques du Connemara +Les claques du Connemara +0 +% +Chanson : Les potes ne sont pas à tribord +Georges Brassens +Les copains babord +Les copains babord +0 +% +Département : Les deux femelles du bouc +Niort +Les deux chèvres +Les deux chèvres +0 +% +Roman : Les dix arbres canadiens de Victor Hugo +Cosette +Les dix érables +Les dix érables +0 +% +Série T.V. : Fromages d'Alsace de l'ouest +Robert Conrad +Les munsters de l'ouest +Les munsters de l'ouest +0 +% +Expression : les flatulences de femme qui possède des chiens +on est dessous dans une situation difficile ou dangereuse +Les pets de dame aux cleb(|')s +Les pets de dame aux clebs +0 +% +Événement historique : Les contribuables de la Marne +Bataille de 14 - 18 +Les taxés de la Marne +Les taxés de la Marne +0 +% +Roman : Le trio anti-moustiques +Alexandre Dumas +Les trois moustiquaires +Les trois moustiquaires +0 +% +Géographie : Les îles du doigt infecté +Espagne +Les îles panaris +Les îles panaris +0 +% +Femme politique : Filet de canard en pile de chairs +Ministre anglais +Magret de tas de chairs +Magret de tas de chairs +0 +% +Écrivain : En voiture Marcel +Provence +Marcel bagnole +Marcel bagnole +0 +% +Littérature : Marguerite plantigrade +Hadrien +Marguerite ours noir +Marguerite ours noir +0 +% +Film : Rencontres sportive à l'abri du soleil +Michel Blanc +Match à l'ombre +Match à l'ombre +0 +% +Roman : Damné stylo +Baleine +Maudit Bic +Maudit Bic +0 +% +Chanteur : Le Michel qui a pris beaucoup de poissons +Laurette +Michel belle pêche +Michel belle pêche +0 +% +Acteur : Attention à l'épouse du fils, Michel +Le gendarme de Saint-Tropez +Michel gare à la bru +Michel gare à la bru +0 +% +Film : Membre amputé des eaux fraîches +Marcel Pagnol +Moignon des sources +Moignon des sources +0 +% +Ville : Grimper rapidement et en hauteur +Capitale d'Amérique du Sud +Monter vite et haut +Monter vite et haut +0 +% +Gastronomie : Wolfgang Amadeus est ici +Fromage +Mozart est là +Mozart est là +0 +% +Personnage historique : Empereur arbre fruitier +Corse +Napoléon pommier +Napoléon pommier +0 +% +Série T.V. : Commissaire d'agneau +Roger Hanin +Navarin +Navarin +0 +% +Roman : SS dans le RER +Raymond Queneau +Nazi dans le métro +Nazi dans le métro +0 +% +Chanson : Ne me fais pas boire +Jacques Brel +Ne me cuite pas +Ne me cuite pas +0 +% +Peintre : C'est Pablo de manger dans le plat des autres +Espagne +Pablo pique-assiette +Pablo pique-assiette +0 +% +Épreuve sportive : Le rallye automobile préféré des Vikings +Thierry Sabine +Paris drakkar +Paris drakkar +0 +% +Architecture : Pas si moche, sculpture peinture et musique évacuent du bois par tous les orifices +Pour un peu plus que des évèques +Pas laid art chie et pisse copeaux +Pas laid art chie et pisse copeaux +0 +% +People: Pauvre Hotel de Luxe + +Pas riche Hilton +Pas riche Hilton +0 +% +Chanteur : Patrick Belge +J'attends Lola +Patrick Bruxelles +Patrick Bruxelles +0 +% +Présentateur T.V. : Patrick n'a pas besoin de porte-jarretelles +C'est fou +Patrick ses bas s'tiennent +Patrick ses bas s'tiennent +0 +% +Poète : Paul tisane +Les sanglots longs +Paul verveine +Paul verveine +0 +% +Chanson : Outils de jardinage, outils de jardinage, outils de jardinage +Claude François +Pelles, pelles, pelles +Pelles, pelles, pelles +0 +% +Roman : Déclivité à outil de plâtrier +Rabelais +Pente à truelle +Pente à truelle +0 +% +Chanson : Arbre du bord des routes pour moi +Plastic Bertrand +Platane pour moi +Platane pour moi +0 +% +Gastronomie : Philosophe grec de fromages +Avant le dessert +Platon de fromages +Platon de fromages +0 +% +Scientifique : Un Victor au prénom de vive controverse +Pôle nord +Polémique Victor +Polémique Victor +0 +% +Événement historique : Papa travaille la terre +Victoire japonaise en 1941 +Père laboure +Père laboure +0 +% +Jeu T.V. : Questions antipelliculaires +FR3 +Questions pour un shampooing +Questions pour un shampooing +0 +% +Personnage de film : caillou qui cogne le serpent +c'est aussi le sixième film +Roc qui bat le boa +Roc qui bat le boa +0 +% +Pièce de la maison : Président irakien, chef-lieu du Maine-et-Loire +On y mange +Saddam Angers +Saddam Angers +0 +% +Acteur : Sylvester skie entre les piquets +Rambo +Silvester slalome +Silvester slalome +0 +% +Actrice : Les 6 cochons de Simone +Le chat +Simone (6|six) gorets +Simone 6 gorets +0 +% +Actrice : Bout de Sophie +La boum +Sophie morceau +Sophie morceau +0 +% +Commerce : Arrêt punition +Essence +Station sévice +Station sévice +0 +% +Acteur : Sylvester skie entre les piquets +Rambo +Sylvester slalome +Sylvester slalome +0 +% +Film : fourmi se trompe +James Cameron +Termite a tort +Termite a tort +0 +% +Ville : Le mâle de ta chèvre tousse +Mali +Ton bouc tousse +Ton bouc tousse +0 +% +Ville : Très coûteux nos accumulateurs d'énergie +Catastrophe nucléaire +Très chères nos piles +Très chères nos piles +0 +% +Corps d'armée : Tu te barres d'ici c'est ma plage +Militaires noirs +Tu t'tires ailleurs c'est mes galets +Tu t'tires ailleurs c'est mes galets +0 +% +Ustensile audio-visuel : Télé indien +Pour zapper +Télé commanche +Télé commanche +0 +% +Objet : deux petites dunes +Sur le nez +Une paire de dunettes +Une paire de dunettes +0 +% +Ville : Valide vos réserves +URSS +Valide vos stocks +Valide vos stocks +0 +% +Pays : Venez vous amuser ici +Caracas +Venez jouer là +Venez jouer là +0 +% +Personnage historique : Primate vert célère dans l'histoire +Alésia +Vert singe historique +Vert singe historique +0 +% +Proverbe : J'étais amoureux d'un vieux gendarme en moto +Agissez au lieu de ne rien faire +Vieux motard que j'aimais +Vieux motard que j'aimais +0 +% +Chanteuse : La paysanne moche +Lauret Boutonnat +Vilaine fermière +Vilaine fermière +0 +% +Marque publicitaire : Cassoulet pour crocodile +Conserves +William saurien +William saurien +0 +% +Film : Le super tube de Pierre Perret devient femme de l'empereur + +Zizi impératrice +Zizi impératrice +0 +% +Recette de cuisine : Désaccord entre palmipèdes + +conflit de canards +conflit de canards +0 +% +Chanson : C'est mieux que de prendre la Cicciolina +Ray Ventura +Ça vaut mieux que d'attraper la star latine +Ça vaut mieux que d'attraper la star latine +0 +% +Établissement scolaire : École des surveillants pieds nus +Ingénieurs +École des pions déchaussés +École des pions déchaussés +0 +% +Chanteuse : Fête des rois mages de principauté +Ouragan +Épiphanie de Monaco +Épiphanie de Monaco +0 +% +Personnalité T.V. : Étienne remue +TF1 +Étienne Bougeotte +Étienne Bougeotte +0 +% diff --git a/backup/dummy/deconnaissances.crans.txt b/backup/dummy/deconnaissances.crans.txt new file mode 100644 index 0000000..4ea5a5d --- /dev/null +++ b/backup/dummy/deconnaissances.crans.txt @@ -0,0 +1,859 @@ +% +Homme célèbre : Ah ! Les confiseries et les quarante brigands +Sésame ouvre-toi +Ah( !|) Les bonbons et les quarante voleurs +Ah ! Les bonbons et les quarante voleurs +0 +% +Écrivain: encouragement à un âne +Lettres de mon moulin +Allez(,| !|) fonce( !|) baudet +Allez fonce baudet +0 +% +Chanteur : Bébert le crustacé +Pour le plaisir +Bébert le homard +Bébert le homard +0 +% +Chanson : Le chevreau c'est terminé +Hervé Vilard +Cabri c'est fini +Cabri c'est fini +0 +% +Personnage historique : Tisane des machines à moudre +Guillotiné avec Danton +Camomille des moulins +Camomille des moulins +0 +% +Ville : Case pour litières de blessés +Maroc +Case à brancards +Case à brancards +0 +% +Chanteuse : Chantal fruit exotique +Enfants +Chantal goyave +Chantal goyave +0 +% +Chanson : Le mort fait tous les plis au bridge +Francis Cabrel +Chelem à mourir +Chelem à mourir +0 +% +Acteur : Christophe le vertébré +Le sicilien +Christophe lombaire +Christophe lombaire +0 +% +Profession : Mâle de la poule décédé +Pompes funèbres +Coq mort +Coq mort +0 +% +Pays : Costume apéritif +San José +Costard Ricard +Costard Ricard +0 +% +Profession : Réparateur de toit à bicyclette +Petite reine +Couvreur cycliste +Couvreur cycliste +0 +% +Acteur : David pend +Elephant Man +David Lynche +David Lynche +0 +% +Jeu T.V. : Des additions et des kilos de liquide +Armand Jammot +Des chiffres et des litres +Des chiffres et des litres +0 +% +Série T.V. : Deux policiers américains qui ont faim +Floride +Deux flics à miam-miam +Deux flics à miam-miam +0 +% +Chanteur : Didier chanteur celte de Tripoli +Il faut laisser le temps au temps +Didier barde libyen +Didier barde libyen +0 +% +Présentatrice T.V. : Cajolée +Enfants +Dorlotée +Dorlotée +0 +% +Chanteuse : Le riz d'Edith +Marcel +Edith Pilaf +Edith Pilaf +0 +% +Chanteur : Le roi du rock américain se dépêche +Love me tender +Elvis pressé +Elvis pressé +0 +% +Écrivain : Ernest qui a quitté son pays +Nobel 1954 +Ernest émigré +Ernest émigré +0 +% +Homme politique : Fidèle à sa marque d'huile automobile +La Havane +Fidèle Castrol +Fidèle Castrol +0 +% +Chanteur : Chanteur du sud-ouest en Renault 4 +Sarbacane +Francis 4L +Francis 4L +0 +% +Homme politique : Georges proclame en sautant +Le Tigre +Georges clame en saut +Georges clame en saut +0 +% +Chanteur : Georges bière couleur de treillis +Barbe +Georges mousse kaki +Georges mousse kaki +0 +% +Gastronomie : Démange un dos asiatique +Avec des pommes de terre +Gratte un dos chinois +Gratte un dos chinois +0 +% +Acteur : Égale 4 +Cyrano de Bergerac +Gérard deux par deux +Gérard deux par deux +0 +% +Ville : Tragédie des rongeurs domestiques +Port hollandais +Hamster drame +Hamster drame +0 +% +Supers-héros : Déesse de la Lune époustouflante +Dr. Doom +Hécate Fantastique +Hécate Fantastique +0 +% +Villes japonaises : Mao-Tsé-Toung et sac de voyage pour la neige +Bombe atomique +Héros chinois et bagage à ski +Héros chinois et bagage à ski +0 +% +Pays : L'homme sera la femme +Tel Aviv +Il sera elle +Il sera elle +0 +% +Politique : Fantômas la brosse à cheveux +FN +Jean Marais le peigne +Jean Marais le peigne +0 +% +Cinéaste : Le gros aiguillon de Jean-Luc +La chinoise +Jean-Luc gros dard +Jean-Luc gros dard +0 +% +Actur : Jean-Paul, enlève la peau sur mes coups de soleil +Les magnifiques +Jean-Paul pèle mon dos +Jean-Paul pèle mon dos +0 +% +Présentateur T.V. : Les couches-culottes de Julien +FR3 +Julien Pampers +Julien Pampers +0 +% +Chanteur : Jules qui nettoie le pare-brise +Espagnol +Julio essuie(-| )glace(|s) +Julio essuie-glace +0 +% +Marque publicitaire : Seulement un chinois +Y'a pas d'heure pour en manger +Juste un bridé +Juste un bridé +0 +% +Pays : Pouvez-vous me dire où se trouve l'Arabie +Riyad +L'Arabie c'est où dîtes ? +L'Arabie c'est où dîtes ? +0 +% +Film : La première île d'exil de Napoléon ou le pays des banques +Claude Zidi +L'Elbe ou la Suisse +L'Elbe ou la Suisse +0 +% +Événement historique : Le couvent des porcs +Conflit USA - Cuba +L'abbaye des cochons +L'abbaye des cochons +0 +% +Monument : L'insecte de Westminster +Londres +L'abeille de Westminster +L'abeille de Westminster +0 +% +Chanson : Il est baissé devant le pianiste +Michel Berger +L'accroupi du pianiste +L'accroupi du pianiste +0 +% +Littérature : L'amant de les dix rouleaux de ruban adhésif +David Lawrence +L'amant de les dix chattertons +L'amant de les dix chattertons +0 +% +Œuvre musicale : Il apprend les sources +Paul Dukas +L'apprenti sourcier +L'apprenti sourcier +0 +% +Pays : Le petit de l'autruche grise +Habsbourg +L'autruchon gris +L'autruchon gris +0 +% +Chanson : Les chinois l'idolâtrent +Johnny Hallyday +L'idole des jaunes +L'idole des jaunes +0 +% +Médecine chirurgicale : L'opération des potes de Capone +Gorge +L'opération des amis d'Al +L'opération des amis d'Al +0 +% +Événement annuel : L'ouverture du bâton sur lequel montent des bergers landais +En septembre +L'ouverture de l'échasse +L'ouverture de l'échasse +0 +% +Géographie : L'articulation du bras au dos à l'opposé du sud +Arctique +L'épaule nord +L'épaule nord +0 +% +Événement historique : Bataille dans la piscine avec un ballon +Défaite de Napoléon Premier +La bataille de water(-| )polo +La bataille de water-polo +0 +% +Chanson : Elle a l'essieu de velours +Luis Mariano +La bielle de Cadix +La bielle de Cadix +0 +% +Film : La cage aux petits flacons de verre +Edouard Molinaro +La cage aux fioles +La cage aux fioles +0 +% +Astronomie : L'étoile filante des motos américaines +Comète +La comète des Harley(|s) +La comète des Harley +0 +% +Chanson : La danse des idiots +Coin coin +La danse des connards +La danse des connards +0 +% +Œuvre musicale : L\instrument de musique en travaux +Amadeus +La flûte en chantier +La flûte en chantier +0 +% +Géographie : La pomme de terre belge du sud +Le Cap +La frite du sud +La frite du sud +0 +% +Œuvre architecturale : Massacre place Tien-An-Men +Mur +La grande mitraille de Chine +La grande mitraille de Chine +0 +% +Musique: La missive à cathédrale +Beethoven +La lettre à église +La lettre à église +0 +% +Film : On verse de l'eau dans une bouteille à travers la mariée +Jeanne Moreau +La mariée est entonnoir +La mariée est entonnoir +0 +% +Gastronomie : La noix d'alligator +Fruit exotique +(La |)noix de croco +La noix de croco +0 +% +Chanson : La poupée qui petit drapeau +Michel Polnareff +La poupée qui fanion +La poupée qui fanion +0 +% +Lieu : La balade des morceaux de bœuf +Nice +La promenade des onglets +La promenade des onglets +0 +% +Monument : La tour de badge +Italie +La tour de pin's +La tour de pin's +0 +% +Sculpture : Sa locomotive a gagné +Louvre +La victoire de sa motrice +La victoire de sa motrice +0 +% +Profession : Boisson russe pour vous défendre +Justice +La vodka de la défense +La vodka de la défense +0 +% +Œuvre musicale : Belle bicyclette d'un compositeur classique +Maurice Ravel +Le beau vélo de Ravel +Le beau vélo de Ravel +0 +% +Sport : Une haie tous les centièmes de mètre +Guy Drut +Le centimètre haie(s|) +Le centimètre haies +0 +% +Scientifique : Il commande et va au lit de bonne heure +Bonnet rouge +Le commandant couche( |-)tôt +Le commandant couche tôt +0 +% +Événement sportif : Le four d'hypnose +Course cycliste +Le four de transe +Le four de transe +0 +% +Société secrète : Le clan des clowns +Cagoule +Le gugusse clan +Le gugusse clan +0 +% +Fable : La plante grimpante et la fille à la scoliose +Rien ne sert de courir +Le lierre et la tordue +Le lierre et la tordue +0 +% +Fleur : La moitié d'Amadeus +Nice +Le mi(-| )Mozart +Le mi-Mozart +0 +% +Lieu : Frontière d'enchanteur entre l'est et l'ouest +Porte de Brandenburg +Le mur de Merlin +Le mur de Merlin +0 +% +Lieu : Le mur de l'épicerie +Jérusalem +Le mur de l'alimentation +Le mur de l'alimentation +0 +% +Bande dessinée : Le sceptre de bus +Tintin +Le sceptre d'autocar +Le sceptre d'autocar +0 +% +Monument : La basilique au sucre +Montmartre +Le sucré cœur +Le sucré cœur +0 +% +Événement sportif : Le tour d'une écriture particulière +Cyclisme +Le tour d'italique +Le tour d'italique +0 +% +Lieu : Le tunnel des voitures saisies +Lyon +Le tunnel de fourrière +Le tunnel de fourrière +0 +% +Événement sportif : 24 arabes au pays des rillettes +Course automobile +Les (24|vingt-quatre) beurs du Mans +Les 24 beurs du Mans +0 +% +Animaux : Les briquets potables +Mammifères des fleuves +Les Zippos potables +Les Zippos potables +0 +% +Film : Les cafés à cochonnes de Cherbourg +Jacques Demy +Les bars à truies de Cherbourg +Les bars à truies de Cherbourg +0 +% +Spécialité : Instruments de musique de Cuba +Partent en fumé +Les cithares de la Havane +Les cithares de la Havane +0 +% +Chanson : Les gifles d'une région d'Irlande +Michel Sardou +Les claques du Connemara +Les claques du Connemara +0 +% +Chanson : Les potes ne sont pas à tribord +Georges Brassens +Les copains babord +Les copains babord +0 +% +Département : Les deux femelles du bouc +Niort +Les deux chèvres +Les deux chèvres +0 +% +Roman : Les dix arbres canadiens de Victor Hugo +Cosette +Les dix érables +Les dix érables +0 +% +Série T.V. : Fromages d'Alsace de l'ouest +Robert Conrad +Les munsters de l'ouest +Les munsters de l'ouest +0 +% +Expression : les flatulences de femme qui possède des chiens +on est dessous dans une situation difficile ou dangereuse +Les pets de dame aux cleb(|')s +Les pets de dame aux clebs +0 +% +Événement historique : Les contribuables de la Marne +Bataille de 14 - 18 +Les taxés de la Marne +Les taxés de la Marne +0 +% +Roman : Le trio anti-moustiques +Alexandre Dumas +Les trois moustiquaires +Les trois moustiquaires +0 +% +Géographie : Les îles du doigt infecté +Espagne +Les îles panaris +Les îles panaris +0 +% +Femme politique : Filet de canard en pile de chairs +Ministre anglais +Magret de tas de chairs +Magret de tas de chairs +0 +% +Écrivain : En voiture Marcel +Provence +Marcel bagnole +Marcel bagnole +0 +% +Littérature : Marguerite plantigrade +Hadrien +Marguerite ours noir +Marguerite ours noir +0 +% +Film : Rencontres sportive à l'abri du soleil +Michel Blanc +Match à l'ombre +Match à l'ombre +0 +% +Roman : Damné stylo +Baleine +Maudit Bic +Maudit Bic +0 +% +Chanteur : Le Michel qui a pris beaucoup de poissons +Laurette +Michel belle pêche +Michel belle pêche +0 +% +Acteur : Attention à l'épouse du fils, Michel +Le gendarme de Saint-Tropez +Michel gare à la bru +Michel gare à la bru +0 +% +Film : Membre amputé des eaux fraîches +Marcel Pagnol +Moignon des sources +Moignon des sources +0 +% +Ville : Grimper rapidement et en hauteur +Capitale d'Amérique du Sud +Monter vite et haut +Monter vite et haut +0 +% +Gastronomie : Wolfgang Amadeus est ici +Fromage +Mozart est là +Mozart est là +0 +% +Personnage historique : Empereur arbre fruitier +Corse +Napoléon pommier +Napoléon pommier +0 +% +Série T.V. : Commissaire d'agneau +Roger Hanin +Navarin +Navarin +0 +% +Roman : SS dans le RER +Raymond Queneau +Nazi dans le métro +Nazi dans le métro +0 +% +Chanson : Ne me fais pas boire +Jacques Brel +Ne me cuite pas +Ne me cuite pas +0 +% +Peintre : C'est Pablo de manger dans le plat des autres +Espagne +Pablo pique-assiette +Pablo pique-assiette +0 +% +Épreuve sportive : Le rallye automobile préféré des Vikings +Thierry Sabine +Paris drakkar +Paris drakkar +0 +% +Architecture : Pas si moche, sculpture peinture et musique évacuent du bois par tous les orifices +Pour un peu plus que des évèques +Pas laid art chie et pisse copeaux +Pas laid art chie et pisse copeaux +0 +% +People: Pauvre Hotel de Luxe + +Pas riche Hilton +Pas riche Hilton +0 +% +Chanteur : Patrick Belge +J'attends Lola +Patrick Bruxelles +Patrick Bruxelles +0 +% +Présentateur T.V. : Patrick n'a pas besoin de porte-jarretelles +C'est fou +Patrick ses bas s'tiennent +Patrick ses bas s'tiennent +0 +% +Poète : Paul tisane +Les sanglots longs +Paul verveine +Paul verveine +0 +% +Chanson : Outils de jardinage, outils de jardinage, outils de jardinage +Claude François +Pelles, pelles, pelles +Pelles, pelles, pelles +0 +% +Roman : Déclivité à outil de plâtrier +Rabelais +Pente à truelle +Pente à truelle +0 +% +Chanson : Arbre du bord des routes pour moi +Plastic Bertrand +Platane pour moi +Platane pour moi +0 +% +Gastronomie : Philosophe grec de fromages +Avant le dessert +Platon de fromages +Platon de fromages +0 +% +Scientifique : Un Victor au prénom de vive controverse +Pôle nord +Polémique Victor +Polémique Victor +0 +% +Événement historique : Papa travaille la terre +Victoire japonaise en 1941 +Père laboure +Père laboure +0 +% +Jeu T.V. : Questions antipelliculaires +FR3 +Questions pour un shampooing +Questions pour un shampooing +0 +% +Personnage de film : caillou qui cogne le serpent +c'est aussi le sixième film +Roc qui bat le boa +Roc qui bat le boa +0 +% +Pièce de la maison : Président irakien, chef-lieu du Maine-et-Loire +On y mange +Saddam Angers +Saddam Angers +0 +% +Acteur : Sylvester skie entre les piquets +Rambo +Silvester slalome +Silvester slalome +0 +% +Actrice : Les 6 cochons de Simone +Le chat +Simone (6|six) gorets +Simone 6 gorets +0 +% +Actrice : Bout de Sophie +La boum +Sophie morceau +Sophie morceau +0 +% +Commerce : Arrêt punition +Essence +Station sévice +Station sévice +0 +% +Acteur : Sylvester skie entre les piquets +Rambo +Sylvester slalome +Sylvester slalome +0 +% +Film : fourmi se trompe +James Cameron +Termite a tort +Termite a tort +0 +% +Ville : Le mâle de ta chèvre tousse +Mali +Ton bouc tousse +Ton bouc tousse +0 +% +Ville : Très coûteux nos accumulateurs d'énergie +Catastrophe nucléaire +Très chères nos piles +Très chères nos piles +0 +% +Corps d'armée : Tu te barres d'ici c'est ma plage +Militaires noirs +Tu t'tires ailleurs c'est mes galets +Tu t'tires ailleurs c'est mes galets +0 +% +Ustensile audio-visuel : Télé indien +Pour zapper +Télé commanche +Télé commanche +0 +% +Objet : deux petites dunes +Sur le nez +Une paire de dunettes +Une paire de dunettes +0 +% +Ville : Valide vos réserves +URSS +Valide vos stocks +Valide vos stocks +0 +% +Pays : Venez vous amuser ici +Caracas +Venez jouer là +Venez jouer là +0 +% +Personnage historique : Primate vert célère dans l'histoire +Alésia +Vert singe historique +Vert singe historique +0 +% +Proverbe : J'étais amoureux d'un vieux gendarme en moto +Agissez au lieu de ne rien faire +Vieux motard que j'aimais +Vieux motard que j'aimais +0 +% +Chanteuse : La paysanne moche +Lauret Boutonnat +Vilaine fermière +Vilaine fermière +0 +% +Marque publicitaire : Cassoulet pour crocodile +Conserves +William saurien +William saurien +0 +% +Film : Le super tube de Pierre Perret devient femme de l'empereur + +Zizi impératrice +Zizi impératrice +0 +% +Recette de cuisine : Désaccord entre palmipèdes + +conflit de canards +conflit de canards +0 +% +Chanson : C'est mieux que de prendre la Cicciolina +Ray Ventura +Ça vaut mieux que d'attraper la star latine +Ça vaut mieux que d'attraper la star latine +0 +% +Établissement scolaire : École des surveillants pieds nus +Ingénieurs +École des pions déchaussés +École des pions déchaussés +0 +% +Chanteuse : Fête des rois mages de principauté +Ouragan +Épiphanie de Monaco +Épiphanie de Monaco +0 +% +Personnalité T.V. : Étienne remue +TF1 +Étienne Bougeotte +Étienne Bougeotte +0 +% diff --git a/backup/dummy/deconnaisseur.py b/backup/dummy/deconnaisseur.py new file mode 100755 index 0000000..e0a5093 --- /dev/null +++ b/backup/dummy/deconnaisseur.py @@ -0,0 +1,393 @@ +#!/usr/bin/python +# -*- coding:utf8 -*- + +# Codé par 20-100 le 23/04/12 + +# Un bot IRC qui sort des déconnaissances + +import irclib +import ircbot +import threading +import random +import time +import pickle +import re + +config_password="PatrickSébastien" +config_pseudo="deconnaisseur" +config_chanlist=["#bot","#flood"] +config_play_channels=["#flood"] +config_stay_channels=["#flood","#bot"] +config_overops=["[20-100]","[20-100]_","PEB"] +config_ops=["Nit","Eguel","Harry"] + +config_source_file_template="deconnaissances.%s.txt" #il faut rajouter le nom du serveur +def get_config_source_file(serveur): + serveurs={"acoeur.crans.org":"acoeur","irc.crans.org":"crans"} + 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_clue=60 #on peut pas forcer la demande d'indice en dessous + + +class UnicodeBotError(Exception): + pass +def bot_unicode(chain): + try: + unicode(chain,"utf8") + except UnicodeDecodeError: + raise UnicodeBotError + +def log(channel,auteur=None,message=None): + #f=open(config_logfile,"a") + #if auteur==message==None: + # chain=channel + #else: + # chain="%s [%s:%s] %s"%(time.strftime("%T"),channel,auteur,message) + #f.write(chain+"\n") + #print chain + #f.close() + a=0 # does nothing + + +def tolere(regexp): + """Renvoie une regexp plus tolérante""" + reg=unicode(regexp,"utf8").lower() + reg=reg.replace(u"á",u"(á|a)").replace(u"à",u"(à|a)").replace(u"â",u"(â|a)").replace(u"ä",u"(ä|a)") + reg=reg.replace(u"é",u"(é|e)").replace(u"è",u"(è|e)").replace(u"ê",u"(ê|e)").replace(u"ë",u"(ë|e)") + reg=reg.replace(u"í",u"(í|i)").replace(u"ì",u"(ì|i)").replace(u"î",u"(î|i)").replace(u"ï",u"(ï|i)") + reg=reg.replace(u"ó",u"(ó|o)").replace(u"ò",u"(ò|o)").replace(u"ê",u"(ô|o)").replace(u"ö",u"(ö|o)") + reg=reg.replace(u"ú",u"(ú|u)").replace(u"ù",u"(ù|u)").replace(u"ê",u"(û|u)").replace(u"ü",u"(ü|u)") + reg=reg.replace(u"ý",u"(ý|y)").replace(u"ỳ",u"(ỳ|y)").replace(u"ê",u"(ŷ|y)").replace(u"ÿ",u"(ÿ|y)") + reg=reg.replace(u"œ",u"(œ|oe)").replace(u"æ",u"(æ|ae)") + return reg + +class RefuseError(Exception): + pass + +class Deconnaisseur(ircbot.SingleServerIRCBot): + def __init__(self,serveur,debug=False): + temporary_pseudo=config_pseudo+str(random.randrange(10000,100000)) + ircbot.SingleServerIRCBot.__init__(self, [(serveur, 6667)], + temporary_pseudo,"Un bot irc.[flagellez 20-100, il le mérite]", 10) + self.debug=debug + self.serveur=serveur + self.overops=config_overops + self.ops=self.overops+config_ops + self.chanlist=config_chanlist + self.stay_channels=config_stay_channels + self.play_channels=config_play_channels + self.play_status={i:[0] for i in self.play_channels} + + def give_me_my_pseudo(self,serv): + serv.privmsg("NickServ","RECOVER %s %s"%(config_pseudo,config_password)) + serv.privmsg("NickServ","RELEASE %s %s"%(config_pseudo,config_password)) + time.sleep(0.3) + serv.nick(config_pseudo) + + def on_welcome(self, serv, ev): + self.give_me_my_pseudo(serv) + serv.privmsg("NickServ","identify %s"%(config_password)) + log("Connected") + if self.debug: + self.chanlist=["#bot"] + self.play_channels=["#bot"] + for c in self.chanlist: + log("JOIN %s"%(c)) + serv.join(c) + for c in self.play_channels: + token=time.time()-3600 + self.play_status[c]=[0,token] + serv.execute_delayed(random.randrange(ttrig),self.start_enigme,(serv,c,token)) + + def start_enigme(self,serv,channel,token=None): + if self.play_status[channel][0]==0 and channel in self.play_channels: + ok="skip" + if token==self.play_status[channel][-1]: + ok="do_it" + if token==None: + if time.time() > self.play_status[channel][-1]+config_time_incompressible: + ok="do_it" + else: + ok="refuse" + if ok=="do_it": + enigme,indice,answer_reg,answer=self.get_enigme() + print "%s; %s; %s; %s"%(enigme, indice, answer_reg, answer) + serv.privmsg(channel,enigme) + token=time.time() + self.play_status[channel]=[1,enigme,indice,answer_reg,answer,token] + serv.execute_delayed(random.randrange(ttrig*3,ttrig*5),self.give_indice,(serv,channel,token)) + elif ok=="refuse": + raise RefuseError + def give_indice(self,serv,channel,token): + if self.play_status[channel][0]==1: + if token==None: + # c'est donc que l'indice a été demandé + if self.play_status[channe][-1]+config_time_incompressible_clue1: + if message[1] in self.chanlist: + serv.privmsg(auteur,"Je suis déjà sur %s"%(message[1])) + else: + serv.join(message[1]) + self.chanlist.append(message[1]) + serv.privmsg(auteur,"Channels : "+" ".join(self.chanlist)) + log("priv",auteur," ".join(message)) + else: + serv.privmsg(auteur,"Channels : "+" ".join(self.chanlist)) + else: + notunderstood=True + elif cmd=="leave": + 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.chanlist.remove(message[1]) + log("priv",auteur," ".join(message)+"[successful]") + else: + serv.privmsg(auteur,"Non, je reste !") + log("priv",auteur," ".join(message)+"[failed]") + else: + serv.privmsg(auteur,"Je ne suis pas sur %s"%(message[1])) + else: + notunderstood=True + elif cmd=="stay": + if auteur in self.overops: + if len(message)>1: + if message[1] in self.stay_channels: + serv.privmsg(auteur,"Je stay déjà sur %s."%(message[1])) + log("priv",auteur," ".join(message)+"[failed]") + else: + self.stay_channels.append(message[1]) + serv.privmsg(auteur,"Stay channels : "+" ".join(self.stay_channels)) + log("priv",auteur," ".join(message)+"[successful]") + else: + serv.privmsg(auteur,"Stay channels : "+" ".join(self.stay_channels)) + else: + notunderstood=True + elif cmd=="nostay": + if auteur in self.overops: + if len(message)>1: + if message[1] in self.stay_channels: + self.stay_channels.remove(message[1]) + serv.privmsg(auteur,"Stay channels : "+" ".join(self.stay_channels)) + log("priv",auteur," ".join(message)+"[successful]") + else: + serv.privmsg(auteur,"Je ne stay pas sur %s."%(message[1])) + log("priv",auteur," ".join(message)+"[failed]") + else: + notunderstood=True + elif cmd=="play": + if auteur in self.ops: + if len(message)>1: + if message[1] in self.play_channels: + serv.privmsg(auteur,"Je play déjà sur %s."%(message[1])) + log("priv",auteur," ".join(message)+"[failed]") + else: + self.play_channels.append(message[1]) + self.play_status[message[1]]=[0,time.time()-3600] + serv.privmsg(auteur,"Play channels : "+" ".join(self.play_channels)) + log("priv",auteur," ".join(message)+"[successful]") + else: + serv.privmsg(auteur,"Play channels : "+" ".join(self.play_channels)) + else: + notunderstood=True + elif cmd=="noplay": + if auteur in self.ops: + if len(message)>1: + if message[1] in self.play_channels: + self.play_channels.remove(message[1]) + serv.privmsg(auteur,"Play channels : "+" ".join(self.play_channels)) + log("priv",auteur," ".join(message)+"[successful]") + else: + serv.privmsg(auteur,"Je ne play pas sur %s."%(message[1])) + log("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(): + serv.privmsg(auteur,"%s : %s"%(k,"; ".join([str(i) for i in self.play_status[k]]))) + elif cmd=="say": + if auteur in self.overops and len(message)>2: + serv.privmsg(message[1]," ".join(message[2:])) + log("priv",auteur," ".join(message)) + elif len(message)<=2: + serv.privmsg(auteur,"Syntaxe : SAY ") + else: + notunderstood=True + elif cmd=="die": + if auteur in self.overops: + self.die() + else: + notunderstood=True + if notunderstood: + serv.privmsg(auteur,"Je n'ai pas compris. Essaye HELP…") + + def on_pubmsg(self, serv, ev): + auteur = irclib.nm_to_n(ev.source()) + canal = ev.target() + message = ev.arguments()[0] + try: + test=bot_unicode(message) + except UnicodeBotError: + serv.privmsg(canal, + "%s: Euh, tu fais de la merde avec ton encodage là, j'ai failli crasher…"%(auteur)) + return + tryother=False + pour_moi,message=self.pourmoi(serv,message) + if pour_moi and message.split()!=[]: + cmd=message.split()[0].lower() + try: + args=" ".join(message.split()[1:]) + except: + args="" + if cmd in ["meurs","die","crève"]: + if auteur in self.overops: + self.die() + log(canal,auteur,message+"[successful]") + 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 ["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)) + log(canal,auteur,message+"[successful]") + else: + serv.privmsg(canal,"%s: Non, je reste !"%(auteur)) + log(canal,auteur,message+"[failed]") + + if cmd in ["deviens","pseudo"]: + if auteur in self.ops: + become=args + serv.nick(become) + log(canal,auteur,message+"[successful]") + + if cmd in ["coucou"]: + serv.privmsg(canal,"%s: coucou"%(auteur)) + if cmd in ["ping"]: + serv.privmsg(canal,"%s: pong"%(auteur)) + if cmd in ["déconnaissance","deconnaissance","énigme","enigme","encore"]: + if canal in self.play_channels: + if self.play_status.get(canal,[-1])[0]==0: + try: + self.start_enigme(serv,canal) + except RefuseError: + serv.privmsg(canal,"%s: Je peux souffler une minute ?"%(auteur)) + else: + serv.privmsg(canal,"%s: Rappel : %s"%(auteur,self.play_status[canal][1])) + else: + serv.privmsg(canal,"%s: pas ici…"%(auteur)) + else: + tryother=True + else: + tryother=True + if tryother: + if self.play_status.get(canal,[-1])[0] in [1,2]: + answer=self.play_status[canal][3] + if re.match(tolere(answer),unicode(message,"utf8").lower()): + serv.privmsg(canal,"%s: bravo ! (C'était %s)"%(auteur,answer)) + token=time.time() + self.play_status[canal]=[0,token] + serv.execute_delayed(random.randrange(Ttrig*5,Ttrig*10),self.start_enigme,(serv,canal,token)) + + +if __name__=="__main__": + import sys + if len(sys.argv)==1: + print "Usage : deconnaisseur.py [--debug]" + exit(1) + serveur=sys.argv[1] + if "debug" in sys.argv or "--debug" in sys.argv: + debug=True + 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"} + try: + serveur=serveurs[serveur] + except KeyError: + print "Server Unknown : %s"%(serveur) + exit(404) + deco=Deconnaisseur(serveur,debug) + deco.start() diff --git a/deconnaissances.acoeur.txt b/deconnaissances.acoeur.txt new file mode 100644 index 0000000..4ea5a5d --- /dev/null +++ b/deconnaissances.acoeur.txt @@ -0,0 +1,859 @@ +% +Homme célèbre : Ah ! Les confiseries et les quarante brigands +Sésame ouvre-toi +Ah( !|) Les bonbons et les quarante voleurs +Ah ! Les bonbons et les quarante voleurs +0 +% +Écrivain: encouragement à un âne +Lettres de mon moulin +Allez(,| !|) fonce( !|) baudet +Allez fonce baudet +0 +% +Chanteur : Bébert le crustacé +Pour le plaisir +Bébert le homard +Bébert le homard +0 +% +Chanson : Le chevreau c'est terminé +Hervé Vilard +Cabri c'est fini +Cabri c'est fini +0 +% +Personnage historique : Tisane des machines à moudre +Guillotiné avec Danton +Camomille des moulins +Camomille des moulins +0 +% +Ville : Case pour litières de blessés +Maroc +Case à brancards +Case à brancards +0 +% +Chanteuse : Chantal fruit exotique +Enfants +Chantal goyave +Chantal goyave +0 +% +Chanson : Le mort fait tous les plis au bridge +Francis Cabrel +Chelem à mourir +Chelem à mourir +0 +% +Acteur : Christophe le vertébré +Le sicilien +Christophe lombaire +Christophe lombaire +0 +% +Profession : Mâle de la poule décédé +Pompes funèbres +Coq mort +Coq mort +0 +% +Pays : Costume apéritif +San José +Costard Ricard +Costard Ricard +0 +% +Profession : Réparateur de toit à bicyclette +Petite reine +Couvreur cycliste +Couvreur cycliste +0 +% +Acteur : David pend +Elephant Man +David Lynche +David Lynche +0 +% +Jeu T.V. : Des additions et des kilos de liquide +Armand Jammot +Des chiffres et des litres +Des chiffres et des litres +0 +% +Série T.V. : Deux policiers américains qui ont faim +Floride +Deux flics à miam-miam +Deux flics à miam-miam +0 +% +Chanteur : Didier chanteur celte de Tripoli +Il faut laisser le temps au temps +Didier barde libyen +Didier barde libyen +0 +% +Présentatrice T.V. : Cajolée +Enfants +Dorlotée +Dorlotée +0 +% +Chanteuse : Le riz d'Edith +Marcel +Edith Pilaf +Edith Pilaf +0 +% +Chanteur : Le roi du rock américain se dépêche +Love me tender +Elvis pressé +Elvis pressé +0 +% +Écrivain : Ernest qui a quitté son pays +Nobel 1954 +Ernest émigré +Ernest émigré +0 +% +Homme politique : Fidèle à sa marque d'huile automobile +La Havane +Fidèle Castrol +Fidèle Castrol +0 +% +Chanteur : Chanteur du sud-ouest en Renault 4 +Sarbacane +Francis 4L +Francis 4L +0 +% +Homme politique : Georges proclame en sautant +Le Tigre +Georges clame en saut +Georges clame en saut +0 +% +Chanteur : Georges bière couleur de treillis +Barbe +Georges mousse kaki +Georges mousse kaki +0 +% +Gastronomie : Démange un dos asiatique +Avec des pommes de terre +Gratte un dos chinois +Gratte un dos chinois +0 +% +Acteur : Égale 4 +Cyrano de Bergerac +Gérard deux par deux +Gérard deux par deux +0 +% +Ville : Tragédie des rongeurs domestiques +Port hollandais +Hamster drame +Hamster drame +0 +% +Supers-héros : Déesse de la Lune époustouflante +Dr. Doom +Hécate Fantastique +Hécate Fantastique +0 +% +Villes japonaises : Mao-Tsé-Toung et sac de voyage pour la neige +Bombe atomique +Héros chinois et bagage à ski +Héros chinois et bagage à ski +0 +% +Pays : L'homme sera la femme +Tel Aviv +Il sera elle +Il sera elle +0 +% +Politique : Fantômas la brosse à cheveux +FN +Jean Marais le peigne +Jean Marais le peigne +0 +% +Cinéaste : Le gros aiguillon de Jean-Luc +La chinoise +Jean-Luc gros dard +Jean-Luc gros dard +0 +% +Actur : Jean-Paul, enlève la peau sur mes coups de soleil +Les magnifiques +Jean-Paul pèle mon dos +Jean-Paul pèle mon dos +0 +% +Présentateur T.V. : Les couches-culottes de Julien +FR3 +Julien Pampers +Julien Pampers +0 +% +Chanteur : Jules qui nettoie le pare-brise +Espagnol +Julio essuie(-| )glace(|s) +Julio essuie-glace +0 +% +Marque publicitaire : Seulement un chinois +Y'a pas d'heure pour en manger +Juste un bridé +Juste un bridé +0 +% +Pays : Pouvez-vous me dire où se trouve l'Arabie +Riyad +L'Arabie c'est où dîtes ? +L'Arabie c'est où dîtes ? +0 +% +Film : La première île d'exil de Napoléon ou le pays des banques +Claude Zidi +L'Elbe ou la Suisse +L'Elbe ou la Suisse +0 +% +Événement historique : Le couvent des porcs +Conflit USA - Cuba +L'abbaye des cochons +L'abbaye des cochons +0 +% +Monument : L'insecte de Westminster +Londres +L'abeille de Westminster +L'abeille de Westminster +0 +% +Chanson : Il est baissé devant le pianiste +Michel Berger +L'accroupi du pianiste +L'accroupi du pianiste +0 +% +Littérature : L'amant de les dix rouleaux de ruban adhésif +David Lawrence +L'amant de les dix chattertons +L'amant de les dix chattertons +0 +% +Œuvre musicale : Il apprend les sources +Paul Dukas +L'apprenti sourcier +L'apprenti sourcier +0 +% +Pays : Le petit de l'autruche grise +Habsbourg +L'autruchon gris +L'autruchon gris +0 +% +Chanson : Les chinois l'idolâtrent +Johnny Hallyday +L'idole des jaunes +L'idole des jaunes +0 +% +Médecine chirurgicale : L'opération des potes de Capone +Gorge +L'opération des amis d'Al +L'opération des amis d'Al +0 +% +Événement annuel : L'ouverture du bâton sur lequel montent des bergers landais +En septembre +L'ouverture de l'échasse +L'ouverture de l'échasse +0 +% +Géographie : L'articulation du bras au dos à l'opposé du sud +Arctique +L'épaule nord +L'épaule nord +0 +% +Événement historique : Bataille dans la piscine avec un ballon +Défaite de Napoléon Premier +La bataille de water(-| )polo +La bataille de water-polo +0 +% +Chanson : Elle a l'essieu de velours +Luis Mariano +La bielle de Cadix +La bielle de Cadix +0 +% +Film : La cage aux petits flacons de verre +Edouard Molinaro +La cage aux fioles +La cage aux fioles +0 +% +Astronomie : L'étoile filante des motos américaines +Comète +La comète des Harley(|s) +La comète des Harley +0 +% +Chanson : La danse des idiots +Coin coin +La danse des connards +La danse des connards +0 +% +Œuvre musicale : L\instrument de musique en travaux +Amadeus +La flûte en chantier +La flûte en chantier +0 +% +Géographie : La pomme de terre belge du sud +Le Cap +La frite du sud +La frite du sud +0 +% +Œuvre architecturale : Massacre place Tien-An-Men +Mur +La grande mitraille de Chine +La grande mitraille de Chine +0 +% +Musique: La missive à cathédrale +Beethoven +La lettre à église +La lettre à église +0 +% +Film : On verse de l'eau dans une bouteille à travers la mariée +Jeanne Moreau +La mariée est entonnoir +La mariée est entonnoir +0 +% +Gastronomie : La noix d'alligator +Fruit exotique +(La |)noix de croco +La noix de croco +0 +% +Chanson : La poupée qui petit drapeau +Michel Polnareff +La poupée qui fanion +La poupée qui fanion +0 +% +Lieu : La balade des morceaux de bœuf +Nice +La promenade des onglets +La promenade des onglets +0 +% +Monument : La tour de badge +Italie +La tour de pin's +La tour de pin's +0 +% +Sculpture : Sa locomotive a gagné +Louvre +La victoire de sa motrice +La victoire de sa motrice +0 +% +Profession : Boisson russe pour vous défendre +Justice +La vodka de la défense +La vodka de la défense +0 +% +Œuvre musicale : Belle bicyclette d'un compositeur classique +Maurice Ravel +Le beau vélo de Ravel +Le beau vélo de Ravel +0 +% +Sport : Une haie tous les centièmes de mètre +Guy Drut +Le centimètre haie(s|) +Le centimètre haies +0 +% +Scientifique : Il commande et va au lit de bonne heure +Bonnet rouge +Le commandant couche( |-)tôt +Le commandant couche tôt +0 +% +Événement sportif : Le four d'hypnose +Course cycliste +Le four de transe +Le four de transe +0 +% +Société secrète : Le clan des clowns +Cagoule +Le gugusse clan +Le gugusse clan +0 +% +Fable : La plante grimpante et la fille à la scoliose +Rien ne sert de courir +Le lierre et la tordue +Le lierre et la tordue +0 +% +Fleur : La moitié d'Amadeus +Nice +Le mi(-| )Mozart +Le mi-Mozart +0 +% +Lieu : Frontière d'enchanteur entre l'est et l'ouest +Porte de Brandenburg +Le mur de Merlin +Le mur de Merlin +0 +% +Lieu : Le mur de l'épicerie +Jérusalem +Le mur de l'alimentation +Le mur de l'alimentation +0 +% +Bande dessinée : Le sceptre de bus +Tintin +Le sceptre d'autocar +Le sceptre d'autocar +0 +% +Monument : La basilique au sucre +Montmartre +Le sucré cœur +Le sucré cœur +0 +% +Événement sportif : Le tour d'une écriture particulière +Cyclisme +Le tour d'italique +Le tour d'italique +0 +% +Lieu : Le tunnel des voitures saisies +Lyon +Le tunnel de fourrière +Le tunnel de fourrière +0 +% +Événement sportif : 24 arabes au pays des rillettes +Course automobile +Les (24|vingt-quatre) beurs du Mans +Les 24 beurs du Mans +0 +% +Animaux : Les briquets potables +Mammifères des fleuves +Les Zippos potables +Les Zippos potables +0 +% +Film : Les cafés à cochonnes de Cherbourg +Jacques Demy +Les bars à truies de Cherbourg +Les bars à truies de Cherbourg +0 +% +Spécialité : Instruments de musique de Cuba +Partent en fumé +Les cithares de la Havane +Les cithares de la Havane +0 +% +Chanson : Les gifles d'une région d'Irlande +Michel Sardou +Les claques du Connemara +Les claques du Connemara +0 +% +Chanson : Les potes ne sont pas à tribord +Georges Brassens +Les copains babord +Les copains babord +0 +% +Département : Les deux femelles du bouc +Niort +Les deux chèvres +Les deux chèvres +0 +% +Roman : Les dix arbres canadiens de Victor Hugo +Cosette +Les dix érables +Les dix érables +0 +% +Série T.V. : Fromages d'Alsace de l'ouest +Robert Conrad +Les munsters de l'ouest +Les munsters de l'ouest +0 +% +Expression : les flatulences de femme qui possède des chiens +on est dessous dans une situation difficile ou dangereuse +Les pets de dame aux cleb(|')s +Les pets de dame aux clebs +0 +% +Événement historique : Les contribuables de la Marne +Bataille de 14 - 18 +Les taxés de la Marne +Les taxés de la Marne +0 +% +Roman : Le trio anti-moustiques +Alexandre Dumas +Les trois moustiquaires +Les trois moustiquaires +0 +% +Géographie : Les îles du doigt infecté +Espagne +Les îles panaris +Les îles panaris +0 +% +Femme politique : Filet de canard en pile de chairs +Ministre anglais +Magret de tas de chairs +Magret de tas de chairs +0 +% +Écrivain : En voiture Marcel +Provence +Marcel bagnole +Marcel bagnole +0 +% +Littérature : Marguerite plantigrade +Hadrien +Marguerite ours noir +Marguerite ours noir +0 +% +Film : Rencontres sportive à l'abri du soleil +Michel Blanc +Match à l'ombre +Match à l'ombre +0 +% +Roman : Damné stylo +Baleine +Maudit Bic +Maudit Bic +0 +% +Chanteur : Le Michel qui a pris beaucoup de poissons +Laurette +Michel belle pêche +Michel belle pêche +0 +% +Acteur : Attention à l'épouse du fils, Michel +Le gendarme de Saint-Tropez +Michel gare à la bru +Michel gare à la bru +0 +% +Film : Membre amputé des eaux fraîches +Marcel Pagnol +Moignon des sources +Moignon des sources +0 +% +Ville : Grimper rapidement et en hauteur +Capitale d'Amérique du Sud +Monter vite et haut +Monter vite et haut +0 +% +Gastronomie : Wolfgang Amadeus est ici +Fromage +Mozart est là +Mozart est là +0 +% +Personnage historique : Empereur arbre fruitier +Corse +Napoléon pommier +Napoléon pommier +0 +% +Série T.V. : Commissaire d'agneau +Roger Hanin +Navarin +Navarin +0 +% +Roman : SS dans le RER +Raymond Queneau +Nazi dans le métro +Nazi dans le métro +0 +% +Chanson : Ne me fais pas boire +Jacques Brel +Ne me cuite pas +Ne me cuite pas +0 +% +Peintre : C'est Pablo de manger dans le plat des autres +Espagne +Pablo pique-assiette +Pablo pique-assiette +0 +% +Épreuve sportive : Le rallye automobile préféré des Vikings +Thierry Sabine +Paris drakkar +Paris drakkar +0 +% +Architecture : Pas si moche, sculpture peinture et musique évacuent du bois par tous les orifices +Pour un peu plus que des évèques +Pas laid art chie et pisse copeaux +Pas laid art chie et pisse copeaux +0 +% +People: Pauvre Hotel de Luxe + +Pas riche Hilton +Pas riche Hilton +0 +% +Chanteur : Patrick Belge +J'attends Lola +Patrick Bruxelles +Patrick Bruxelles +0 +% +Présentateur T.V. : Patrick n'a pas besoin de porte-jarretelles +C'est fou +Patrick ses bas s'tiennent +Patrick ses bas s'tiennent +0 +% +Poète : Paul tisane +Les sanglots longs +Paul verveine +Paul verveine +0 +% +Chanson : Outils de jardinage, outils de jardinage, outils de jardinage +Claude François +Pelles, pelles, pelles +Pelles, pelles, pelles +0 +% +Roman : Déclivité à outil de plâtrier +Rabelais +Pente à truelle +Pente à truelle +0 +% +Chanson : Arbre du bord des routes pour moi +Plastic Bertrand +Platane pour moi +Platane pour moi +0 +% +Gastronomie : Philosophe grec de fromages +Avant le dessert +Platon de fromages +Platon de fromages +0 +% +Scientifique : Un Victor au prénom de vive controverse +Pôle nord +Polémique Victor +Polémique Victor +0 +% +Événement historique : Papa travaille la terre +Victoire japonaise en 1941 +Père laboure +Père laboure +0 +% +Jeu T.V. : Questions antipelliculaires +FR3 +Questions pour un shampooing +Questions pour un shampooing +0 +% +Personnage de film : caillou qui cogne le serpent +c'est aussi le sixième film +Roc qui bat le boa +Roc qui bat le boa +0 +% +Pièce de la maison : Président irakien, chef-lieu du Maine-et-Loire +On y mange +Saddam Angers +Saddam Angers +0 +% +Acteur : Sylvester skie entre les piquets +Rambo +Silvester slalome +Silvester slalome +0 +% +Actrice : Les 6 cochons de Simone +Le chat +Simone (6|six) gorets +Simone 6 gorets +0 +% +Actrice : Bout de Sophie +La boum +Sophie morceau +Sophie morceau +0 +% +Commerce : Arrêt punition +Essence +Station sévice +Station sévice +0 +% +Acteur : Sylvester skie entre les piquets +Rambo +Sylvester slalome +Sylvester slalome +0 +% +Film : fourmi se trompe +James Cameron +Termite a tort +Termite a tort +0 +% +Ville : Le mâle de ta chèvre tousse +Mali +Ton bouc tousse +Ton bouc tousse +0 +% +Ville : Très coûteux nos accumulateurs d'énergie +Catastrophe nucléaire +Très chères nos piles +Très chères nos piles +0 +% +Corps d'armée : Tu te barres d'ici c'est ma plage +Militaires noirs +Tu t'tires ailleurs c'est mes galets +Tu t'tires ailleurs c'est mes galets +0 +% +Ustensile audio-visuel : Télé indien +Pour zapper +Télé commanche +Télé commanche +0 +% +Objet : deux petites dunes +Sur le nez +Une paire de dunettes +Une paire de dunettes +0 +% +Ville : Valide vos réserves +URSS +Valide vos stocks +Valide vos stocks +0 +% +Pays : Venez vous amuser ici +Caracas +Venez jouer là +Venez jouer là +0 +% +Personnage historique : Primate vert célère dans l'histoire +Alésia +Vert singe historique +Vert singe historique +0 +% +Proverbe : J'étais amoureux d'un vieux gendarme en moto +Agissez au lieu de ne rien faire +Vieux motard que j'aimais +Vieux motard que j'aimais +0 +% +Chanteuse : La paysanne moche +Lauret Boutonnat +Vilaine fermière +Vilaine fermière +0 +% +Marque publicitaire : Cassoulet pour crocodile +Conserves +William saurien +William saurien +0 +% +Film : Le super tube de Pierre Perret devient femme de l'empereur + +Zizi impératrice +Zizi impératrice +0 +% +Recette de cuisine : Désaccord entre palmipèdes + +conflit de canards +conflit de canards +0 +% +Chanson : C'est mieux que de prendre la Cicciolina +Ray Ventura +Ça vaut mieux que d'attraper la star latine +Ça vaut mieux que d'attraper la star latine +0 +% +Établissement scolaire : École des surveillants pieds nus +Ingénieurs +École des pions déchaussés +École des pions déchaussés +0 +% +Chanteuse : Fête des rois mages de principauté +Ouragan +Épiphanie de Monaco +Épiphanie de Monaco +0 +% +Personnalité T.V. : Étienne remue +TF1 +Étienne Bougeotte +Étienne Bougeotte +0 +% diff --git a/deconnaissances.crans.txt b/deconnaissances.crans.txt new file mode 100644 index 0000000..4ea5a5d --- /dev/null +++ b/deconnaissances.crans.txt @@ -0,0 +1,859 @@ +% +Homme célèbre : Ah ! Les confiseries et les quarante brigands +Sésame ouvre-toi +Ah( !|) Les bonbons et les quarante voleurs +Ah ! Les bonbons et les quarante voleurs +0 +% +Écrivain: encouragement à un âne +Lettres de mon moulin +Allez(,| !|) fonce( !|) baudet +Allez fonce baudet +0 +% +Chanteur : Bébert le crustacé +Pour le plaisir +Bébert le homard +Bébert le homard +0 +% +Chanson : Le chevreau c'est terminé +Hervé Vilard +Cabri c'est fini +Cabri c'est fini +0 +% +Personnage historique : Tisane des machines à moudre +Guillotiné avec Danton +Camomille des moulins +Camomille des moulins +0 +% +Ville : Case pour litières de blessés +Maroc +Case à brancards +Case à brancards +0 +% +Chanteuse : Chantal fruit exotique +Enfants +Chantal goyave +Chantal goyave +0 +% +Chanson : Le mort fait tous les plis au bridge +Francis Cabrel +Chelem à mourir +Chelem à mourir +0 +% +Acteur : Christophe le vertébré +Le sicilien +Christophe lombaire +Christophe lombaire +0 +% +Profession : Mâle de la poule décédé +Pompes funèbres +Coq mort +Coq mort +0 +% +Pays : Costume apéritif +San José +Costard Ricard +Costard Ricard +0 +% +Profession : Réparateur de toit à bicyclette +Petite reine +Couvreur cycliste +Couvreur cycliste +0 +% +Acteur : David pend +Elephant Man +David Lynche +David Lynche +0 +% +Jeu T.V. : Des additions et des kilos de liquide +Armand Jammot +Des chiffres et des litres +Des chiffres et des litres +0 +% +Série T.V. : Deux policiers américains qui ont faim +Floride +Deux flics à miam-miam +Deux flics à miam-miam +0 +% +Chanteur : Didier chanteur celte de Tripoli +Il faut laisser le temps au temps +Didier barde libyen +Didier barde libyen +0 +% +Présentatrice T.V. : Cajolée +Enfants +Dorlotée +Dorlotée +0 +% +Chanteuse : Le riz d'Edith +Marcel +Edith Pilaf +Edith Pilaf +0 +% +Chanteur : Le roi du rock américain se dépêche +Love me tender +Elvis pressé +Elvis pressé +0 +% +Écrivain : Ernest qui a quitté son pays +Nobel 1954 +Ernest émigré +Ernest émigré +0 +% +Homme politique : Fidèle à sa marque d'huile automobile +La Havane +Fidèle Castrol +Fidèle Castrol +0 +% +Chanteur : Chanteur du sud-ouest en Renault 4 +Sarbacane +Francis 4L +Francis 4L +0 +% +Homme politique : Georges proclame en sautant +Le Tigre +Georges clame en saut +Georges clame en saut +0 +% +Chanteur : Georges bière couleur de treillis +Barbe +Georges mousse kaki +Georges mousse kaki +0 +% +Gastronomie : Démange un dos asiatique +Avec des pommes de terre +Gratte un dos chinois +Gratte un dos chinois +0 +% +Acteur : Égale 4 +Cyrano de Bergerac +Gérard deux par deux +Gérard deux par deux +0 +% +Ville : Tragédie des rongeurs domestiques +Port hollandais +Hamster drame +Hamster drame +0 +% +Supers-héros : Déesse de la Lune époustouflante +Dr. Doom +Hécate Fantastique +Hécate Fantastique +0 +% +Villes japonaises : Mao-Tsé-Toung et sac de voyage pour la neige +Bombe atomique +Héros chinois et bagage à ski +Héros chinois et bagage à ski +0 +% +Pays : L'homme sera la femme +Tel Aviv +Il sera elle +Il sera elle +0 +% +Politique : Fantômas la brosse à cheveux +FN +Jean Marais le peigne +Jean Marais le peigne +0 +% +Cinéaste : Le gros aiguillon de Jean-Luc +La chinoise +Jean-Luc gros dard +Jean-Luc gros dard +0 +% +Actur : Jean-Paul, enlève la peau sur mes coups de soleil +Les magnifiques +Jean-Paul pèle mon dos +Jean-Paul pèle mon dos +0 +% +Présentateur T.V. : Les couches-culottes de Julien +FR3 +Julien Pampers +Julien Pampers +0 +% +Chanteur : Jules qui nettoie le pare-brise +Espagnol +Julio essuie(-| )glace(|s) +Julio essuie-glace +0 +% +Marque publicitaire : Seulement un chinois +Y'a pas d'heure pour en manger +Juste un bridé +Juste un bridé +0 +% +Pays : Pouvez-vous me dire où se trouve l'Arabie +Riyad +L'Arabie c'est où dîtes ? +L'Arabie c'est où dîtes ? +0 +% +Film : La première île d'exil de Napoléon ou le pays des banques +Claude Zidi +L'Elbe ou la Suisse +L'Elbe ou la Suisse +0 +% +Événement historique : Le couvent des porcs +Conflit USA - Cuba +L'abbaye des cochons +L'abbaye des cochons +0 +% +Monument : L'insecte de Westminster +Londres +L'abeille de Westminster +L'abeille de Westminster +0 +% +Chanson : Il est baissé devant le pianiste +Michel Berger +L'accroupi du pianiste +L'accroupi du pianiste +0 +% +Littérature : L'amant de les dix rouleaux de ruban adhésif +David Lawrence +L'amant de les dix chattertons +L'amant de les dix chattertons +0 +% +Œuvre musicale : Il apprend les sources +Paul Dukas +L'apprenti sourcier +L'apprenti sourcier +0 +% +Pays : Le petit de l'autruche grise +Habsbourg +L'autruchon gris +L'autruchon gris +0 +% +Chanson : Les chinois l'idolâtrent +Johnny Hallyday +L'idole des jaunes +L'idole des jaunes +0 +% +Médecine chirurgicale : L'opération des potes de Capone +Gorge +L'opération des amis d'Al +L'opération des amis d'Al +0 +% +Événement annuel : L'ouverture du bâton sur lequel montent des bergers landais +En septembre +L'ouverture de l'échasse +L'ouverture de l'échasse +0 +% +Géographie : L'articulation du bras au dos à l'opposé du sud +Arctique +L'épaule nord +L'épaule nord +0 +% +Événement historique : Bataille dans la piscine avec un ballon +Défaite de Napoléon Premier +La bataille de water(-| )polo +La bataille de water-polo +0 +% +Chanson : Elle a l'essieu de velours +Luis Mariano +La bielle de Cadix +La bielle de Cadix +0 +% +Film : La cage aux petits flacons de verre +Edouard Molinaro +La cage aux fioles +La cage aux fioles +0 +% +Astronomie : L'étoile filante des motos américaines +Comète +La comète des Harley(|s) +La comète des Harley +0 +% +Chanson : La danse des idiots +Coin coin +La danse des connards +La danse des connards +0 +% +Œuvre musicale : L\instrument de musique en travaux +Amadeus +La flûte en chantier +La flûte en chantier +0 +% +Géographie : La pomme de terre belge du sud +Le Cap +La frite du sud +La frite du sud +0 +% +Œuvre architecturale : Massacre place Tien-An-Men +Mur +La grande mitraille de Chine +La grande mitraille de Chine +0 +% +Musique: La missive à cathédrale +Beethoven +La lettre à église +La lettre à église +0 +% +Film : On verse de l'eau dans une bouteille à travers la mariée +Jeanne Moreau +La mariée est entonnoir +La mariée est entonnoir +0 +% +Gastronomie : La noix d'alligator +Fruit exotique +(La |)noix de croco +La noix de croco +0 +% +Chanson : La poupée qui petit drapeau +Michel Polnareff +La poupée qui fanion +La poupée qui fanion +0 +% +Lieu : La balade des morceaux de bœuf +Nice +La promenade des onglets +La promenade des onglets +0 +% +Monument : La tour de badge +Italie +La tour de pin's +La tour de pin's +0 +% +Sculpture : Sa locomotive a gagné +Louvre +La victoire de sa motrice +La victoire de sa motrice +0 +% +Profession : Boisson russe pour vous défendre +Justice +La vodka de la défense +La vodka de la défense +0 +% +Œuvre musicale : Belle bicyclette d'un compositeur classique +Maurice Ravel +Le beau vélo de Ravel +Le beau vélo de Ravel +0 +% +Sport : Une haie tous les centièmes de mètre +Guy Drut +Le centimètre haie(s|) +Le centimètre haies +0 +% +Scientifique : Il commande et va au lit de bonne heure +Bonnet rouge +Le commandant couche( |-)tôt +Le commandant couche tôt +0 +% +Événement sportif : Le four d'hypnose +Course cycliste +Le four de transe +Le four de transe +0 +% +Société secrète : Le clan des clowns +Cagoule +Le gugusse clan +Le gugusse clan +0 +% +Fable : La plante grimpante et la fille à la scoliose +Rien ne sert de courir +Le lierre et la tordue +Le lierre et la tordue +0 +% +Fleur : La moitié d'Amadeus +Nice +Le mi(-| )Mozart +Le mi-Mozart +0 +% +Lieu : Frontière d'enchanteur entre l'est et l'ouest +Porte de Brandenburg +Le mur de Merlin +Le mur de Merlin +0 +% +Lieu : Le mur de l'épicerie +Jérusalem +Le mur de l'alimentation +Le mur de l'alimentation +0 +% +Bande dessinée : Le sceptre de bus +Tintin +Le sceptre d'autocar +Le sceptre d'autocar +0 +% +Monument : La basilique au sucre +Montmartre +Le sucré cœur +Le sucré cœur +0 +% +Événement sportif : Le tour d'une écriture particulière +Cyclisme +Le tour d'italique +Le tour d'italique +0 +% +Lieu : Le tunnel des voitures saisies +Lyon +Le tunnel de fourrière +Le tunnel de fourrière +0 +% +Événement sportif : 24 arabes au pays des rillettes +Course automobile +Les (24|vingt-quatre) beurs du Mans +Les 24 beurs du Mans +0 +% +Animaux : Les briquets potables +Mammifères des fleuves +Les Zippos potables +Les Zippos potables +0 +% +Film : Les cafés à cochonnes de Cherbourg +Jacques Demy +Les bars à truies de Cherbourg +Les bars à truies de Cherbourg +0 +% +Spécialité : Instruments de musique de Cuba +Partent en fumé +Les cithares de la Havane +Les cithares de la Havane +0 +% +Chanson : Les gifles d'une région d'Irlande +Michel Sardou +Les claques du Connemara +Les claques du Connemara +0 +% +Chanson : Les potes ne sont pas à tribord +Georges Brassens +Les copains babord +Les copains babord +0 +% +Département : Les deux femelles du bouc +Niort +Les deux chèvres +Les deux chèvres +0 +% +Roman : Les dix arbres canadiens de Victor Hugo +Cosette +Les dix érables +Les dix érables +0 +% +Série T.V. : Fromages d'Alsace de l'ouest +Robert Conrad +Les munsters de l'ouest +Les munsters de l'ouest +0 +% +Expression : les flatulences de femme qui possède des chiens +on est dessous dans une situation difficile ou dangereuse +Les pets de dame aux cleb(|')s +Les pets de dame aux clebs +0 +% +Événement historique : Les contribuables de la Marne +Bataille de 14 - 18 +Les taxés de la Marne +Les taxés de la Marne +0 +% +Roman : Le trio anti-moustiques +Alexandre Dumas +Les trois moustiquaires +Les trois moustiquaires +0 +% +Géographie : Les îles du doigt infecté +Espagne +Les îles panaris +Les îles panaris +0 +% +Femme politique : Filet de canard en pile de chairs +Ministre anglais +Magret de tas de chairs +Magret de tas de chairs +0 +% +Écrivain : En voiture Marcel +Provence +Marcel bagnole +Marcel bagnole +0 +% +Littérature : Marguerite plantigrade +Hadrien +Marguerite ours noir +Marguerite ours noir +0 +% +Film : Rencontres sportive à l'abri du soleil +Michel Blanc +Match à l'ombre +Match à l'ombre +0 +% +Roman : Damné stylo +Baleine +Maudit Bic +Maudit Bic +0 +% +Chanteur : Le Michel qui a pris beaucoup de poissons +Laurette +Michel belle pêche +Michel belle pêche +0 +% +Acteur : Attention à l'épouse du fils, Michel +Le gendarme de Saint-Tropez +Michel gare à la bru +Michel gare à la bru +0 +% +Film : Membre amputé des eaux fraîches +Marcel Pagnol +Moignon des sources +Moignon des sources +0 +% +Ville : Grimper rapidement et en hauteur +Capitale d'Amérique du Sud +Monter vite et haut +Monter vite et haut +0 +% +Gastronomie : Wolfgang Amadeus est ici +Fromage +Mozart est là +Mozart est là +0 +% +Personnage historique : Empereur arbre fruitier +Corse +Napoléon pommier +Napoléon pommier +0 +% +Série T.V. : Commissaire d'agneau +Roger Hanin +Navarin +Navarin +0 +% +Roman : SS dans le RER +Raymond Queneau +Nazi dans le métro +Nazi dans le métro +0 +% +Chanson : Ne me fais pas boire +Jacques Brel +Ne me cuite pas +Ne me cuite pas +0 +% +Peintre : C'est Pablo de manger dans le plat des autres +Espagne +Pablo pique-assiette +Pablo pique-assiette +0 +% +Épreuve sportive : Le rallye automobile préféré des Vikings +Thierry Sabine +Paris drakkar +Paris drakkar +0 +% +Architecture : Pas si moche, sculpture peinture et musique évacuent du bois par tous les orifices +Pour un peu plus que des évèques +Pas laid art chie et pisse copeaux +Pas laid art chie et pisse copeaux +0 +% +People: Pauvre Hotel de Luxe + +Pas riche Hilton +Pas riche Hilton +0 +% +Chanteur : Patrick Belge +J'attends Lola +Patrick Bruxelles +Patrick Bruxelles +0 +% +Présentateur T.V. : Patrick n'a pas besoin de porte-jarretelles +C'est fou +Patrick ses bas s'tiennent +Patrick ses bas s'tiennent +0 +% +Poète : Paul tisane +Les sanglots longs +Paul verveine +Paul verveine +0 +% +Chanson : Outils de jardinage, outils de jardinage, outils de jardinage +Claude François +Pelles, pelles, pelles +Pelles, pelles, pelles +0 +% +Roman : Déclivité à outil de plâtrier +Rabelais +Pente à truelle +Pente à truelle +0 +% +Chanson : Arbre du bord des routes pour moi +Plastic Bertrand +Platane pour moi +Platane pour moi +0 +% +Gastronomie : Philosophe grec de fromages +Avant le dessert +Platon de fromages +Platon de fromages +0 +% +Scientifique : Un Victor au prénom de vive controverse +Pôle nord +Polémique Victor +Polémique Victor +0 +% +Événement historique : Papa travaille la terre +Victoire japonaise en 1941 +Père laboure +Père laboure +0 +% +Jeu T.V. : Questions antipelliculaires +FR3 +Questions pour un shampooing +Questions pour un shampooing +0 +% +Personnage de film : caillou qui cogne le serpent +c'est aussi le sixième film +Roc qui bat le boa +Roc qui bat le boa +0 +% +Pièce de la maison : Président irakien, chef-lieu du Maine-et-Loire +On y mange +Saddam Angers +Saddam Angers +0 +% +Acteur : Sylvester skie entre les piquets +Rambo +Silvester slalome +Silvester slalome +0 +% +Actrice : Les 6 cochons de Simone +Le chat +Simone (6|six) gorets +Simone 6 gorets +0 +% +Actrice : Bout de Sophie +La boum +Sophie morceau +Sophie morceau +0 +% +Commerce : Arrêt punition +Essence +Station sévice +Station sévice +0 +% +Acteur : Sylvester skie entre les piquets +Rambo +Sylvester slalome +Sylvester slalome +0 +% +Film : fourmi se trompe +James Cameron +Termite a tort +Termite a tort +0 +% +Ville : Le mâle de ta chèvre tousse +Mali +Ton bouc tousse +Ton bouc tousse +0 +% +Ville : Très coûteux nos accumulateurs d'énergie +Catastrophe nucléaire +Très chères nos piles +Très chères nos piles +0 +% +Corps d'armée : Tu te barres d'ici c'est ma plage +Militaires noirs +Tu t'tires ailleurs c'est mes galets +Tu t'tires ailleurs c'est mes galets +0 +% +Ustensile audio-visuel : Télé indien +Pour zapper +Télé commanche +Télé commanche +0 +% +Objet : deux petites dunes +Sur le nez +Une paire de dunettes +Une paire de dunettes +0 +% +Ville : Valide vos réserves +URSS +Valide vos stocks +Valide vos stocks +0 +% +Pays : Venez vous amuser ici +Caracas +Venez jouer là +Venez jouer là +0 +% +Personnage historique : Primate vert célère dans l'histoire +Alésia +Vert singe historique +Vert singe historique +0 +% +Proverbe : J'étais amoureux d'un vieux gendarme en moto +Agissez au lieu de ne rien faire +Vieux motard que j'aimais +Vieux motard que j'aimais +0 +% +Chanteuse : La paysanne moche +Lauret Boutonnat +Vilaine fermière +Vilaine fermière +0 +% +Marque publicitaire : Cassoulet pour crocodile +Conserves +William saurien +William saurien +0 +% +Film : Le super tube de Pierre Perret devient femme de l'empereur + +Zizi impératrice +Zizi impératrice +0 +% +Recette de cuisine : Désaccord entre palmipèdes + +conflit de canards +conflit de canards +0 +% +Chanson : C'est mieux que de prendre la Cicciolina +Ray Ventura +Ça vaut mieux que d'attraper la star latine +Ça vaut mieux que d'attraper la star latine +0 +% +Établissement scolaire : École des surveillants pieds nus +Ingénieurs +École des pions déchaussés +École des pions déchaussés +0 +% +Chanteuse : Fête des rois mages de principauté +Ouragan +Épiphanie de Monaco +Épiphanie de Monaco +0 +% +Personnalité T.V. : Étienne remue +TF1 +Étienne Bougeotte +Étienne Bougeotte +0 +% diff --git a/deconnaisseur.py b/deconnaisseur.py new file mode 100755 index 0000000..e0a5093 --- /dev/null +++ b/deconnaisseur.py @@ -0,0 +1,393 @@ +#!/usr/bin/python +# -*- coding:utf8 -*- + +# Codé par 20-100 le 23/04/12 + +# Un bot IRC qui sort des déconnaissances + +import irclib +import ircbot +import threading +import random +import time +import pickle +import re + +config_password="PatrickSébastien" +config_pseudo="deconnaisseur" +config_chanlist=["#bot","#flood"] +config_play_channels=["#flood"] +config_stay_channels=["#flood","#bot"] +config_overops=["[20-100]","[20-100]_","PEB"] +config_ops=["Nit","Eguel","Harry"] + +config_source_file_template="deconnaissances.%s.txt" #il faut rajouter le nom du serveur +def get_config_source_file(serveur): + serveurs={"acoeur.crans.org":"acoeur","irc.crans.org":"crans"} + 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_clue=60 #on peut pas forcer la demande d'indice en dessous + + +class UnicodeBotError(Exception): + pass +def bot_unicode(chain): + try: + unicode(chain,"utf8") + except UnicodeDecodeError: + raise UnicodeBotError + +def log(channel,auteur=None,message=None): + #f=open(config_logfile,"a") + #if auteur==message==None: + # chain=channel + #else: + # chain="%s [%s:%s] %s"%(time.strftime("%T"),channel,auteur,message) + #f.write(chain+"\n") + #print chain + #f.close() + a=0 # does nothing + + +def tolere(regexp): + """Renvoie une regexp plus tolérante""" + reg=unicode(regexp,"utf8").lower() + reg=reg.replace(u"á",u"(á|a)").replace(u"à",u"(à|a)").replace(u"â",u"(â|a)").replace(u"ä",u"(ä|a)") + reg=reg.replace(u"é",u"(é|e)").replace(u"è",u"(è|e)").replace(u"ê",u"(ê|e)").replace(u"ë",u"(ë|e)") + reg=reg.replace(u"í",u"(í|i)").replace(u"ì",u"(ì|i)").replace(u"î",u"(î|i)").replace(u"ï",u"(ï|i)") + reg=reg.replace(u"ó",u"(ó|o)").replace(u"ò",u"(ò|o)").replace(u"ê",u"(ô|o)").replace(u"ö",u"(ö|o)") + reg=reg.replace(u"ú",u"(ú|u)").replace(u"ù",u"(ù|u)").replace(u"ê",u"(û|u)").replace(u"ü",u"(ü|u)") + reg=reg.replace(u"ý",u"(ý|y)").replace(u"ỳ",u"(ỳ|y)").replace(u"ê",u"(ŷ|y)").replace(u"ÿ",u"(ÿ|y)") + reg=reg.replace(u"œ",u"(œ|oe)").replace(u"æ",u"(æ|ae)") + return reg + +class RefuseError(Exception): + pass + +class Deconnaisseur(ircbot.SingleServerIRCBot): + def __init__(self,serveur,debug=False): + temporary_pseudo=config_pseudo+str(random.randrange(10000,100000)) + ircbot.SingleServerIRCBot.__init__(self, [(serveur, 6667)], + temporary_pseudo,"Un bot irc.[flagellez 20-100, il le mérite]", 10) + self.debug=debug + self.serveur=serveur + self.overops=config_overops + self.ops=self.overops+config_ops + self.chanlist=config_chanlist + self.stay_channels=config_stay_channels + self.play_channels=config_play_channels + self.play_status={i:[0] for i in self.play_channels} + + def give_me_my_pseudo(self,serv): + serv.privmsg("NickServ","RECOVER %s %s"%(config_pseudo,config_password)) + serv.privmsg("NickServ","RELEASE %s %s"%(config_pseudo,config_password)) + time.sleep(0.3) + serv.nick(config_pseudo) + + def on_welcome(self, serv, ev): + self.give_me_my_pseudo(serv) + serv.privmsg("NickServ","identify %s"%(config_password)) + log("Connected") + if self.debug: + self.chanlist=["#bot"] + self.play_channels=["#bot"] + for c in self.chanlist: + log("JOIN %s"%(c)) + serv.join(c) + for c in self.play_channels: + token=time.time()-3600 + self.play_status[c]=[0,token] + serv.execute_delayed(random.randrange(ttrig),self.start_enigme,(serv,c,token)) + + def start_enigme(self,serv,channel,token=None): + if self.play_status[channel][0]==0 and channel in self.play_channels: + ok="skip" + if token==self.play_status[channel][-1]: + ok="do_it" + if token==None: + if time.time() > self.play_status[channel][-1]+config_time_incompressible: + ok="do_it" + else: + ok="refuse" + if ok=="do_it": + enigme,indice,answer_reg,answer=self.get_enigme() + print "%s; %s; %s; %s"%(enigme, indice, answer_reg, answer) + serv.privmsg(channel,enigme) + token=time.time() + self.play_status[channel]=[1,enigme,indice,answer_reg,answer,token] + serv.execute_delayed(random.randrange(ttrig*3,ttrig*5),self.give_indice,(serv,channel,token)) + elif ok=="refuse": + raise RefuseError + def give_indice(self,serv,channel,token): + if self.play_status[channel][0]==1: + if token==None: + # c'est donc que l'indice a été demandé + if self.play_status[channe][-1]+config_time_incompressible_clue1: + if message[1] in self.chanlist: + serv.privmsg(auteur,"Je suis déjà sur %s"%(message[1])) + else: + serv.join(message[1]) + self.chanlist.append(message[1]) + serv.privmsg(auteur,"Channels : "+" ".join(self.chanlist)) + log("priv",auteur," ".join(message)) + else: + serv.privmsg(auteur,"Channels : "+" ".join(self.chanlist)) + else: + notunderstood=True + elif cmd=="leave": + 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.chanlist.remove(message[1]) + log("priv",auteur," ".join(message)+"[successful]") + else: + serv.privmsg(auteur,"Non, je reste !") + log("priv",auteur," ".join(message)+"[failed]") + else: + serv.privmsg(auteur,"Je ne suis pas sur %s"%(message[1])) + else: + notunderstood=True + elif cmd=="stay": + if auteur in self.overops: + if len(message)>1: + if message[1] in self.stay_channels: + serv.privmsg(auteur,"Je stay déjà sur %s."%(message[1])) + log("priv",auteur," ".join(message)+"[failed]") + else: + self.stay_channels.append(message[1]) + serv.privmsg(auteur,"Stay channels : "+" ".join(self.stay_channels)) + log("priv",auteur," ".join(message)+"[successful]") + else: + serv.privmsg(auteur,"Stay channels : "+" ".join(self.stay_channels)) + else: + notunderstood=True + elif cmd=="nostay": + if auteur in self.overops: + if len(message)>1: + if message[1] in self.stay_channels: + self.stay_channels.remove(message[1]) + serv.privmsg(auteur,"Stay channels : "+" ".join(self.stay_channels)) + log("priv",auteur," ".join(message)+"[successful]") + else: + serv.privmsg(auteur,"Je ne stay pas sur %s."%(message[1])) + log("priv",auteur," ".join(message)+"[failed]") + else: + notunderstood=True + elif cmd=="play": + if auteur in self.ops: + if len(message)>1: + if message[1] in self.play_channels: + serv.privmsg(auteur,"Je play déjà sur %s."%(message[1])) + log("priv",auteur," ".join(message)+"[failed]") + else: + self.play_channels.append(message[1]) + self.play_status[message[1]]=[0,time.time()-3600] + serv.privmsg(auteur,"Play channels : "+" ".join(self.play_channels)) + log("priv",auteur," ".join(message)+"[successful]") + else: + serv.privmsg(auteur,"Play channels : "+" ".join(self.play_channels)) + else: + notunderstood=True + elif cmd=="noplay": + if auteur in self.ops: + if len(message)>1: + if message[1] in self.play_channels: + self.play_channels.remove(message[1]) + serv.privmsg(auteur,"Play channels : "+" ".join(self.play_channels)) + log("priv",auteur," ".join(message)+"[successful]") + else: + serv.privmsg(auteur,"Je ne play pas sur %s."%(message[1])) + log("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(): + serv.privmsg(auteur,"%s : %s"%(k,"; ".join([str(i) for i in self.play_status[k]]))) + elif cmd=="say": + if auteur in self.overops and len(message)>2: + serv.privmsg(message[1]," ".join(message[2:])) + log("priv",auteur," ".join(message)) + elif len(message)<=2: + serv.privmsg(auteur,"Syntaxe : SAY ") + else: + notunderstood=True + elif cmd=="die": + if auteur in self.overops: + self.die() + else: + notunderstood=True + if notunderstood: + serv.privmsg(auteur,"Je n'ai pas compris. Essaye HELP…") + + def on_pubmsg(self, serv, ev): + auteur = irclib.nm_to_n(ev.source()) + canal = ev.target() + message = ev.arguments()[0] + try: + test=bot_unicode(message) + except UnicodeBotError: + serv.privmsg(canal, + "%s: Euh, tu fais de la merde avec ton encodage là, j'ai failli crasher…"%(auteur)) + return + tryother=False + pour_moi,message=self.pourmoi(serv,message) + if pour_moi and message.split()!=[]: + cmd=message.split()[0].lower() + try: + args=" ".join(message.split()[1:]) + except: + args="" + if cmd in ["meurs","die","crève"]: + if auteur in self.overops: + self.die() + log(canal,auteur,message+"[successful]") + 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 ["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)) + log(canal,auteur,message+"[successful]") + else: + serv.privmsg(canal,"%s: Non, je reste !"%(auteur)) + log(canal,auteur,message+"[failed]") + + if cmd in ["deviens","pseudo"]: + if auteur in self.ops: + become=args + serv.nick(become) + log(canal,auteur,message+"[successful]") + + if cmd in ["coucou"]: + serv.privmsg(canal,"%s: coucou"%(auteur)) + if cmd in ["ping"]: + serv.privmsg(canal,"%s: pong"%(auteur)) + if cmd in ["déconnaissance","deconnaissance","énigme","enigme","encore"]: + if canal in self.play_channels: + if self.play_status.get(canal,[-1])[0]==0: + try: + self.start_enigme(serv,canal) + except RefuseError: + serv.privmsg(canal,"%s: Je peux souffler une minute ?"%(auteur)) + else: + serv.privmsg(canal,"%s: Rappel : %s"%(auteur,self.play_status[canal][1])) + else: + serv.privmsg(canal,"%s: pas ici…"%(auteur)) + else: + tryother=True + else: + tryother=True + if tryother: + if self.play_status.get(canal,[-1])[0] in [1,2]: + answer=self.play_status[canal][3] + if re.match(tolere(answer),unicode(message,"utf8").lower()): + serv.privmsg(canal,"%s: bravo ! (C'était %s)"%(auteur,answer)) + token=time.time() + self.play_status[canal]=[0,token] + serv.execute_delayed(random.randrange(Ttrig*5,Ttrig*10),self.start_enigme,(serv,canal,token)) + + +if __name__=="__main__": + import sys + if len(sys.argv)==1: + print "Usage : deconnaisseur.py [--debug]" + exit(1) + serveur=sys.argv[1] + if "debug" in sys.argv or "--debug" in sys.argv: + debug=True + 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"} + try: + serveur=serveurs[serveur] + except KeyError: + print "Server Unknown : %s"%(serveur) + exit(404) + deco=Deconnaisseur(serveur,debug) + deco.start() -- 2.39.2