Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1222 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  [PERL] Bot Msn

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PERL] Bot Msn

n°241490
djfm
Posté le 07-11-2002 à 21:08:36  profilanswer
 

Voila , g telecharge un bot pour msn ecrit en perl.
Il ne dispose que dassez peu de fonctions et j'essaie d'en rajouter.
Je voulais creer une command pour lui apprendre des mots , genre .learn salut salut ca va , si on dit salut ca repond salut ca va... bref le source se decompose en divers parties dt la plus interessante est le sub sessage qui gere les message que le bot recoit.
Le message est recu et stoqué dans une variable $msg.
 
il y a divers tests sur ce messages puis c la que vient ma fonction:
 
else {
 
    @reps=<REP>;
           @trig=<TRIG>;
 
           for($i=0 ; $i<=@reps ; ++$i){
            if ($msg eq $trig[$i]){
                $reply=$reps[$i];
                }
           }            
 
 }
 
mes fichiers sont declarés ainsi :
 
open(TRIG,"trigger.txt" );
open(REP,"rep.txt" );
 
theoriquement le programme regarde le fichier trigger.txt des questins et renvoie la reponse du fichier rep.txt via la variable $reply
 
le pb est que ca revoie strictement nimporte koi...
D'ou puisse venir?

mood
Publicité
Posté le 07-11-2002 à 21:08:36  profilanswer
 

n°241635
pospos
Posté le 08-11-2002 à 08:57:43  profilanswer
 

tu veux faire un truc genre elisa?

n°241646
stef_dober​mann
Personne n'est parfait ...
Posté le 08-11-2002 à 09:24:17  profilanswer
 

Mais pourquoi utiliser 2  fichiers quand 1 seul peut suffir


---------------
Tout à commencé par un rêve...
n°241663
stef_dober​mann
Personne n'est parfait ...
Posté le 08-11-2002 à 10:33:42  profilanswer
 

plus sérieux,
 
on dirait que tes fichiers ne sont pas parcouru  :??:  
 
pour parcourir un fichier je fait un truc style
 

Code :
  1. @rep = '';
  2. while (<REP> ) {
  3.    push @rep,$_;
  4. }


 
mais bon c pas trop conseiller de mettre un fichier dans une variable ( ca boufe de la memoire pour presque rien )
exemple du fichier rep.txt
bonjour = je v bien
salut ca va = oui et toi ?
 

Code :
  1. while ($rep = <REP> ) {
  2.   #pour chaque ligne
  3.   ($txt,$reponse) = split(/\s*=\s*/,$rep);
  4.   if ($txt =~ m/$msg/sgi ){
  5.      $reply=$reponse;
  6.      #je quit ma boucle
  7.      # donc si c la 4 ème ligne sur 500
  8.      # je ne v pasjusqu'a la fin (optimisation de code  :D )
  9.      last; #ou next; a voir :sweat:
  10.   }
  11. }


Message édité par stef_dobermann le 08-11-2002 à 10:38:50

---------------
Tout à commencé par un rêve...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  [PERL] Bot Msn

 

Sujets relatifs
[Perl, C, C++, JAVA, etc.] besoin de conseil sur prog à faire[Perl/tk] tracer des pointillés ?
[PERL] ActivePerl vs. Siemens[Perl] reproduire une arborescence !!
Lancer une impression en perl/TK[PERL] Problème d'allocation de la mémoire
[Perl][win32] connaître le browser internet par défautPerl en php ?
lire et mettre un octet dans un tableau sous PERL 
Plus de sujets relatifs à : [PERL] Bot Msn


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR