Effectivement, tu as un souci de conception: tu remplis $verif avec les 20 dernières lignes de ton fichiers, mais ensuite tu boucles sur ton fichier, donc tu vas avoir toutes les lignes qui matchent le contenu des 20 dernières lignes (???)...
Voici quelque chose qui me semble plus cohérent:
Voici quelque chose qui me semble plus cohérent:
tcl
bind pub - !connect connects
proc connects { nick host handle channel arg } {
global connects vhostnivconnect salonconnect connects
foreach salonst $salonconnect {
if {[string equal -nocase $salonst $channel]} {
foreach vhost $vhostnivconnect {
if [string match -nocase $vhost $host] {
if {$arg == ""} {
putquick "NOTICE $nick :\00312- \0031Syntax \0036!connect pseudo/IP \00312-"
return 0
}
putquick "NOTICE $nick :\0033..:Liste des connexions:.."
catch {open "connect.txt" "r"} connexion
set res {}
while {![eof $connexion]} {
gets $connexion verif
if {$verif ne "" && [string match -nocase *$arg* $verif]} {
lappend res $verif
}
}
catch {close $connexion}
if { [llength $res] == 0 } {
putquick "NOTICE $nick :\0034Aucune connexion dans la base de données !"
return 0
} elseif {[llength $res] >=20} {
set res [lrange $res end-20 end]
}
set num 0
foreach line $res {
incr num
putquick "NOTICE $nick :\0034 $num -->\0033$line"
}
putquick "NOTICE $nick :\0033Fin de la Liste (\0034 $num \0033connexion(s) enregistré(s))"
}
}
}
}
}

