begin process at 2012 02 10 16:47:31
  Trouver un code source :
 
dans
 
Accueil > Forum > 

IRC

 > 

Divers

 > 

Débutant(e)

 > 

Un Bot IRC en PERL pour Orange/Voilà


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Un Bot IRC en PERL pour Orange/Voilà

samedi 13 septembre 2008 à 22:17:30 | Un Bot IRC en PERL pour Orange/Voilà

tcyrill2

Bonjour tout le monde,

   Bon, je sens que je vais passé pour un noob .. et vous n'auriez pas tout à fait tord :x

   Ceci étant, je vais être assez direct :x
   Je souhaite développer un Bot IRC en PERL pour se connecter sur le nouveau t'chat Orange/Voilà.
    
   Pourquoi le PERL me diriez-vous !? euh, bah c'est un langage que je connais pas trop mal ... enfin les bases quoi, mais pas l'utilisation de la librairie Net::IRC, qui est une librairie PERL reconnue mais dont j'ignore tout :x
   Donc j'ai commencé par aller voir ce tuto : http://www.squalenet.net/fr/pc/articles/ecrire-un-bot-irc-en-perl-part1.php5 mais il ne traite pas de la connexion sur le serveur Orange/Voila :x


Voila, si quelqu'un a une solution, je suis tout ouïe
Par avance, merci beaucoup...

   
dimanche 14 septembre 2008 à 16:35:04 | Re : Un Bot IRC en PERL pour Orange/Voilà

PaDa

Membre Club
Réponse acceptée !
Pour la connexion sur Orange/Voila, le problème qui va se poser c'est l'obtention d'une clé : soit le pseudo de ton bot est enregistré, et cette clé devrait être fixe (si ca n'a pas changé, je ne vais plus là bas), soit ce n'est pas le cas, et là je botte en touche (des générateurs existent, mais ils violent les CGU de ce serveur donc j'éviterai d'en parler). Si ton bot est enregistré, donc, il faut regarder du côté de Net::IRC comment envoyer un "PASS" au serveur à la connexion. D'après la doc, un simple "password" => "ta_clé" dans ton "newconn" devrait suffire, à tester...

J'avais fait un bot il y a quelques temps, très basique, avec Net::IRC, mais de mémoire j'avais laché ça au profit de POE::Component::IRC (trouvable facilement sur le CPAN), qui est tout objet et plutôt plus abouti. Je me souviens avoir eu des difficultés à créer une PL avec les deux, mais je suis assez mauvais en Perl j'avoue... Il y a un cookbook minimaliste ici : http://poe.perl.org/?POE_Cookbook/IRC_Bots si ça t'intéresse, ça te permettra d'appréhender la chose. De mémoire encore, il y avait un petit bug dans le .pm fourni, un mauvais handle des kicks qui se corrige très facilement pour peu que tu aies fais une fois du Perl dans ta vie.

--
Pada
jeudi 9 octobre 2008 à 00:57:45 | Re : Un Bot IRC en PERL pour Orange/Voilà

tcyrill2

Ree ^^

   Bon, je viens aux nouvelles .. avec un bêbête qui commence a tourner gentillement ^^ même sur Voila/Orange ^^ j'ai un pseudo réservé ^^
Par contre j'utilise pas la librairie Net::IRC ni POE::Component::IRC (je connais pas cette dernière d'ailleurs :x), j'ouvre direct une socket avec la librairie 'socket' puis un PING dans un while pour garder la connexion
pour le moment, il traite le voice auto au JOIN avec NOTICE d'accueil.. et euh une commande relative à une webradio :x

   Et donc, nouveau problème .. comment peut-on faire pour écrire avec un code couleur ? j'ai commencé a cherché du côté de l'ASCII, mais sans résultats :x j'comprend pas le ':' dans le ':09,12blablabla' que je vois sur les logs :x

Si quelqu'un a un idée ...   ça serait cool 
Par avaannce mercii 
jeudi 9 octobre 2008 à 18:34:13 | Re : Un Bot IRC en PERL pour Orange/Voilà

PaDa

Membre Club
Réponse acceptée !
Dans un PRIVMSG ou une NOTICE, tu dois mettre un ":" pour préciser que tu vas commencer une phrase et que l'espace n'est plus le séparateur des arguments (sinon seul ton premier mot arrive). Je suppose que c'est ce ":" que tu vois arriver dans tes logs.

Pour écrire en couleur, il faut utiliser une syntaxe spécifique à l'IRC (je ne l'ai jamais vu ailleurs, même si on parle "d'ANSI codes").
En numéro ASCII :
- le charactère "2" ca active ou désactive le gras
- le 31 idem pour le souligné
- le 15 remet tout à zéro (si tu étais en gras tu repasses en normal, idem pour les underline, idem pour les couleurs)
- le 3 suivi d'un nombre entre 0 et 15 (de tête) + éventuellement une virgule et une couleur de fond (entre 0 et 15 toujours) permet d'écrire en couleur
- le 22 permet d'inverser noir et blanc (très peu utilisé)

Pour faire ça en Perl, tu as une fonction "chr(<numéro>)" il me semble, et tu as peut-être une manière de les rentrer dans les chaines entre double quotes, avec un truc genre \x<numéro> mais je ne suis plus très sûr, je confonds peut-être.

Bonne continuation !
--
Pada
vendredi 10 octobre 2008 à 14:02:05 | Re : Un Bot IRC en PERL pour Orange/Voilà

tcyrill2

Okayy Pada, Merciii beaucoup, ça marche impeccable ;)
Pada +10pts :D ..... ou Moi -5pts :x à voir..
Merci encore, je reviendrai :p
dimanche 12 octobre 2008 à 13:56:32 | Re : Un Bot IRC en PERL pour Orange/Voilà

tcyrill2

Toc, Toc,
   PaDa, encore là ? ^^

   Bon, c'est tout autre chose aujourd'hui, mais ça va commencer a être assez spécifique :x
   J'aimerais récupérer des données XML disponibles sur page CGI 
   je m'explique..
   J'ai un service 'shoutcast' qui tourne sur le serveur, qui met donc des données en ligne sur une page CGI/XML  (ex : http://nom_de_domaine:port/admin.cgi?mode=viewxml ) qui me retourne un truc sous cette forme :
-------------------------------------------------------------------------------------------------------------------
Ce fichier XML ne semble pas avoir d'information de style associé avec lui. L'arbre du document est montré ci-dessous.     
?
<SHOUTCASTSERVER>
<CURRENTLISTENERS>...</CURRENTLISTENERS>
<PEAKLISTENERS>...</PEAKLISTENERS>
<MAXLISTENERS>...</MAXLISTENERS>
<REPORTEDLISTENERS>...</REPORTEDLISTENERS>
<AVERAGETIME>...</AVERAGETIME>
<SERVERGENRE>..........</SERVERGENRE>
<SERVERURL>...........................</SERVERURL>
<SERVERTITLE>.......</SERVERTITLE>
<SONGTITLE>............................................................</SONGTITLE>
-------------------------------------------------------------------------------------------------------------------
donc, j'ouvre une socket en local sur le port du shoutcast, et donc je cherche a récupérer les variables dans un tableau '@var' dans ma socket principale 
et euh, c'est tendu, i'm a noob
une idée ?

dimanche 12 octobre 2008 à 14:07:41 | Re : Un Bot IRC en PERL pour Orange/Voilà

PaDa

Membre Club
Réponse acceptée !
Le problème c'est la récupération de la page ou le parsing de l'arbre XML ?

Si le problème est le parsing, je n'en ai jamais fait avec Perl, mais il doit y avoir des bibliothèques pour ça  : j'ai trouvé ça http://maspalio.free.fr/JP2005.pdf ça a l'air assez complet et intéressant. Et au pire, tu peux te faire ton parser toi-même, s'il n'y a pas de sauts de ligne et un node par ligne, ça doit être assez simple ;-)

Bon courage
--
Pada
dimanche 19 octobre 2008 à 11:39:13 | Re : Un Bot IRC en PERL pour Orange/Voilà

tcyrill2

Ree,

   Bon, j'ai trouvé une solution de contournement ^^ j'utilise un p'ti outil en PHP qui me file toutes les stats du shoutcast sur une page PHP, et donc avec 'WWW::Mechanize' j'arrive a parser ma page et a recupérer mes variable

   Par contre, j'ai un autre problème :x quand je fais joindre mon bot sur plusieurs chan, il lague a mort :x

   Donc, je pensais utilisé les "thread", du genre ouvrir ma socket sur le server irc dans le programme principal puis ouvrir une "thread" par salon !?!? j'ai commencé a me documenter ici mais je comprends pas tout :x
  
   En fait je cherche a ouvrir plusieurs thread simultanément et que chaque thread renvoie ses valeurs au prog principal pour traitement.

   Le problème, c'est de ce que j'ai compris de la doc que j'ai lu, en lançant une thread en mode 'detach', on ne peut pas en récupérer les valeurs de retour dans le programme principal :x

   Une idée ?? :x
   Merciii d'avance ^^


Cette discussion est classée dans : voil, bot, irc, orange, perl


Répondre à ce message

Sujets en rapport avec ce message

Serveur IRC [ par Delirium ] Hello :)J'ai crée un nouveau petit reseau IRC dont le but est^la convivialité !!pour le moment il n'est pas encore "super" fréquanté mais avec des gen Bot irc [ par Lonsdale^ ] Salut as tous,et bien voila j'ai vraiment tres tres envie de commencer as faire mes Bots irc qui serrais 24h/24 7j/7 mais le prob c'est que je ne suis probléme irc :) aidez moi [ par Mordikuss ] oila je suis en train de me faire un bot sur irc et je l'ai pas terminé , sur se bot il y a une fonction quizz et une fonction bot qui modére le salon Ap bot irc [ par lord-kpo ] Salut je suis en BTS en alternance en informatique de gestion.Et j'ai eu la merveilleuse idee d'avoir comme projet de faire un serveur irc sous unix a Création d'un bot IRC [ par Sibelle07 ] Salut je veux créer un bot irc , comment doi-je faire ??? j'ai IRC je rentre dans la console de script , mais pour la suite je sais pas comment faire Un bot irc qui liste un dossier ftp +avancé [ par blackj ] Bonjour a tous ;)En fait j'aimerai avoir un bot qui me dit en direct par exemple si quelqu'un crée un dossier sur un ftp , il me di :Nouveau dossier : Script IRC pour lineup [ par busta53007 ] Voilà,Je ne m'y connais absolument pas en scripting IRC mais j'aurai besoin d'un script qui me semble assez simple et il me le faudrait rapidement. Do Probleme irc : bnc & bot ? help plz !!! [ par wolfsters ] Bonjour, je désire mettre en place un sorte d'admin qui puisse kick (pour pub), autovoice .... J'ai donc trouvé des scripts et je les aient placés dan Aide pour un bot irc [ par Ziploc ] J'ai un problème , j'aimerais que mon bot réagisse sur un message en couleur mais j'ensuis incapable , j'ai sa ~~>On *:text:*test*:#:{ /msg $chan salu script irc debutant besoin d'aide [ par NKWolf ] bonjour tout le mondevoilà j'utilise le script matrix3 pour aller sur ircj'aimerai faire un auto-réponseexemple :lui dit : wolf t là ?moi dit : oui da


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,226 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales