$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.