EDIT: Re-reading your question, you are still asking it to greet twice. You want to complete the random greet, but also use timer in the greet. So, either way, it looks as if you want to greet twice, anyways.
Well first off, you have nothing to compare it too, so even if one of the channels or nicks were bad...it would still trigger. To answer you question, you have a /msg set by the random picking, then you created a timer to message out $greet. If you only want one greeting, you may want to consider getting rid of the timer
I think I understnad now...you want to add an extra check to see if the message has been set..if so, then don't send the message...so your best bet is to do something like this
/set -u4 %msgCheck yes
You can put that about the timer. and then change your greet alias to this
alias -l greet msg $chan Weclome to the stream $nick $+ !
And then change your timer to just perfrom the greet alias instead of using it as an identifier.
Finally, change that last line to this
if (%msgCheck) .timer $+ $nick 1 3 greet
Again, this is just a rough start of what I think you want to do.
Thank you for your response, I don't want it to greet 2 times, sorry for not writing very clear about what I was looking for. I have edited my post, hopefully now its a bit clearer. Thank you!! :D