Code:
alias capitalise {
  var %text = $regsubex($regsubex($1,/(?<=^|[.!?] )(.)|(?<=^| )(i(?= |'|$))/g,$upper(\t)),/\bmirc\b/gi,mIRC)
  return %text $+ $iif($right(%text,1) !isin .!? && $gettok(%text,-1,32) isalnum,.)
}
alias cinput {
  if ($1 == on) .enable #input
  else .disable #input
}

#input off

on *:input:*:{
  if (!$istok(/ $readini($mircini,text,commandchar),$left($1,1),32)) && (!$ctrlenter) && (!$inpaste) {
    say $capitalise($1-)
    haltdef
  }
}

#input end


$capitalise(<string>) to return a capitalised string.

/cinput <on/off> to turn automatic text capitalisation on/off.