$1 is the CTCP event name in a CTCP event, not the first parameter. The first "parameter" of a CTCP event would actually be $2, not $1.
for example, in a CTCP PING:
//ctcp $me PING 1234567
$1 = PING
$2 = 1234567
If there is "no parameter", then $2 will be $null, as pointed out.