Tu as oublié d'appeler la variable en début de proc:
tcl
proc mygreet {nick uhost hand chan arg} {
global patch yourgreet
if {[file exist /$patch/$nick.txt]} {
set file6 [open /$patch/$nick.txt r]
gets $file6 text
close $file6
putserv "NOTICE $nick :$yourgreet \[$nick\] $text"
}
}