It's exactly what Wims said. var %dest $iif($prop == chan,#,$nick) means exactly:
if ($prop == chan) { var %dest # }
else { var %dest $nick }
;Further explained: $prop is the value you enter ($silence().PROP) If the prop is chan (if the CONDITION is true), use the true value "#", if the prop isn't chan, use the false value "$nick".
As to why $iif is used. It makes it simnpler and nicer to look at, and faster to type.
I do not understand the use of own identifiers, please bear with me.
In this code:
on *:text:*:#: { if (($strip($1) == .silence) && ($2)) silence $2 }
on *:text:*:?: { if (($strip($1) == .silence) && ($left($3,1) == $chr(35))) silence $2 $3 }
$1 = .silence
$2 = nick
$3 = chanell
But in the alias change the value of $ 1?
Another thing:
var %chan $iif($2, $2, #) means:
If ($2) { var %chan = $2 }
else { var %chan = # }
But, $2 always will be (is the nick ¿not?)
Do not understand how ​​change values $ 1, $ 2, $ 3 Event On Text - alias.
Thanks and sorry for so many questions.