There's probably an easier way to do this, but this works.

Code:
on *:text:!listjoin:#: { 
  if ($read(list.txt,nw,$nick)) { msg $chan $nick is already in the list. | return }
  else write list.txt $nick 
  msg $chan Added $nick to the list
}

on *:text:!del *:#: { 
  if ($nick isop #) {
    if (!$read(list.txt,nw,$2)) { msg $chan $2 is not in the list. | return }
    elseif ($read(list.txt,nw,$2)) { msg $chan deleted $2 from the list. 
    write -dl $+ $readn list.txt }
  }
}

on *:text:!list:#: {
  if ($nick isop #) { 
    var %t1 $read(list.txt,1) 
    var %t2 $read(list.txt,2)
    var %t3 $read(list.txt,3) 
    var %t4 $read(list.txt,4) 
    var %t5 $read(list.txt,5) 
  msg $chan %t1 %t2 %t3 %t4 %t5 }
}

on *:text:!listreset:#: {
  if ($nick isop #) { write -c list.txt 
  msg $chan list reset. }
}


This will display the first 5 who joined. If you want the 5 latest, replace
Code:
 else write list.txt $nick 
with
Code:
 else write -il1 list.txt $nick 



Nillens @ irc.twitch.tv
Nillen @ irc.rizon.net