Actually, your format is valid. And, yes, that picks a random line. If you wanted a specific line, you could include that. If the lines were specific to the nicks, you could also use $readini and then get the line for that specific nick.
Of course, nicer method is using hash tables to store the information. Here's a quick example:
on *:start: {
NickRespTable
}
alias NickRespTable {
hmake NickResp 100
if ($exists($scriptdir\NickResp.txt)) { hload NickResp $scriptdir\NickResp.hsh }
}
on *:join:#: {
if (!$hget(NickResp)) { NickRespTable }
if ($hget(NickResp,$nick)) { msg $chan $v1 }
}
alias AddNewNickResp {
if (!$hget(NickResp)) { NickRespTable }
hadd NickResp $$?="Enter a nickname" $$?="Enter the message"
hsave NickResp $scriptdir\NickResp.hsh
}
alias RemNickResp {
if (!$hget(NickResp)) { NickRespTable }
var %nick = $iif($1,$1,$$?="Enter Nick")
if ($hget(NickResp,%nick)) { hdel NickResp %nick }
hsave NickResp $scriptdir\NickResp.hsh
}
menu channel,status {
Nick Responder
.Add Nick:AddNewNickResp
.Remove Nick:RemNickResp
}
menu nicklist,query {
Nick Responder
.Add $1:AddNewNickResp $1
.Remove $1:RemNickResp $1
}
You can add and remove nicks/messages by right clicking in the channel, status, or query window, or in the nick list.