I think I really understand the IF and IFELSE stuff a lot better now. Thanks a bunch, Riamus! The only thing I can think of now:

Code:
;Join
on syscon:text:!join*:?:{
  if ($2 == $null) { notice $nick Specify channel. }
  elseif ($2 ischan) { notice $nick I'm already on $2 $+ . }
  elseif ($3 != $null) {
    join $2 $3
    notice $nick Join attempt on $2 with key $3 complete.
    write C:\IcyBot2\Scripts\op_log.txt On $date(dddd $+ $chr(44) mmmm d $+ $chr(44) yyyy) at $time(h:nn:ss TT) $nick used $1 $2 with key $3 via msg
  }
  elseif ($2 != $null) {
    join $2
    notice $nick Join attempt on $2 complete.
    write C:\IcyBot2\Scripts\op_log.txt On $date(dddd $+ $chr(44) mmmm d $+ $chr(44) yyyy) at $time(h:nn:ss TT) $nick used $1 $2 via msg
  }
  else { notice $nick Error. }
}