You were close-ish.
#1. Events cannot be nested in other events, they are all put at the top-level of your script. Your second event should be on its own line at the top-level (not inside any braces)
#2. There is no "LISTRCVD" event. You might want to be catching the CTCPREPLY event with LISTRCVD as a parameter.
Based on those notes, this is what you'd get:
on *:JOIN:#request_tester:/ctcp $nick list
on *:CTCPREPLY:LISTRCVD:/mode #request_tester +vvv $nick
Again this is assuming LISTRCVD is a ctcpreply and not a notice/msg. I don't know the details of the remote script.
Note also that this will cause someone to get voiced any time they ctcpreply a LISTRCVD to you-- even if initialized a LIST command manually without an ON JOIN event. Typically we add guards to check if the nick being voiced is the one from our last JOIN event(s), but this will make your script significantly more complex, and I am leaving it out so you can understand the basics.