Changeset 27232 in spip-zone for _acotes_


Ignore:
Timestamp:
Mar 11, 2009, 8:33:54 PM (10 years ago)
Author:
denisb@…
Message:

nouvelle regexp sur $text.
retourne 12345 depuis [123... (commit) ou #123... (ticket).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _acotes_/irc/Edgard.pl

    r27211 r27232  
    5151sub on_connect
    5252{
    53     my ($conn, $event) = @_;
    54    
    55     $conn->join($channel);
    56     $conn->privmsg($channel, 'Salut ... ah  une minute sans IRC, que du bohneur');
    57     print "<$nick>\t1 minute sans IRC, que du bonheur !\n";
    58    
    59     $conn->{'connected'} = 1;
     53        my ($conn, $event) = @_;
     54       
     55        $conn->join($channel);
     56        $conn->privmsg($channel, 'Salut ... ah  une minute sans IRC, que du bonheur');
     57        print "<$nick>\t1 minute sans IRC, que du bonheur !\n";
     58       
     59        $conn->{'connected'} = 1;
    6060} # Fin on_connect
    6161
     
    6363sub on_public
    6464{
    65     my ($conn, $event) = @_;
    66     my $text = $event->{'args'}[0];
    67     $conn->print("<" . $event->{'nick'} . ">\t| $text");
     65        my ($conn, $event) = @_;
     66        my $text = $event->{'args'}[0];
     67        $conn->print("<" . $event->{'nick'} . ">\t| $text");
    6868
    69                 #pour l'instant on lit le fichier à chaque message ... c'est LOURD mais bon
    70                 # todo : relire le fichier seulement toutes les 5 minutes par exemple 
    71                  my %hash;
    72                  open (FILE,"<$FICHIER_WIKI");
    73                  
    74                  while (<FILE>)
    75                  {     # chaque ligne est successivement affectée à $_
    76                         my $ligne="$_";
    77                         chomp $ligne;
    78                         (my $cle1, my $cle2)=split(/;/,$ligne);
    79                         if ($cle1)
     69                # pour l'instant on lit le fichier à chaque message ... c'est LOURD mais bon
     70                # todo : relire le fichier seulement toutes les 5 minutes par exemple
     71                my %hash;
     72                open (FILE,"<$FICHIER_WIKI");
     73               
     74                while (<FILE>)
     75                {    # chaque ligne est successivement affectée à $_
     76                        my $ligne="$_";
     77                        chomp $ligne;
     78                        (my $cle1, my $cle2)=split(/;/,$ligne);
     79                        if ($cle1)
    8080                        {
    81                                 $hash{"$cle1"}=$cle2;
    82                                 #print __LINE__."bingo $cle1    $cle2 \n";
    83                         }
    84                  }
    85                  close (FILE);
    86                    
    87                 foreach my $key (keys(%hash)) 
     81                                $hash{"$cle1"}=$cle2;
     82                                #print __LINE__."bingo $cle1    $cle2 \n";
     83                        }
     84                }
     85                close (FILE);
     86               
     87                foreach my $key (keys(%hash))
    8888                {
    8989                        my $lckey=lc($key);
    9090                        $text=lc($text);
    9191                        if ($text =~ /$lckey/)
    92                         {       
    93                                 if ($text =~ /^@([\d]*)/)
    94                                 {
    95                                         $conn->privmsg($channel, "hop $hash{$key}".$1); # svn
    96                                 }
    97                                 else
    98                                 {
    99                                         $conn->privmsg($channel, "$hash{$key}"); # Salutation sur le channel
    100                                 }
    101                         }
    102                 } 
    103 } # Fin on_public 
     92                        {
     93                                if ($text =~ /^[\[#](\d+)]*\b/)
     94                                {
     95                                        $conn->privmsg($channel, "hop $hash{$key}".$1); # svn
     96                                }
     97                                else
     98                                {
     99                                        $conn->privmsg($channel, "$hash{$key}"); # Salutation sur le channel
     100                                }
     101                        }
     102                }
     103} # Fin on_public
Note: See TracChangeset for help on using the changeset viewer.