Sneaky viewers. :P

Tested and working. I put the spamcheck in an alias and made the alias run whenever someone in chat posts a message or does a /me (action).

Code:
on *:text:!timeout*:#: {
  if ($nick isop $chan) {
    if ($2 == line) {
      if ($3 isnum) {
        %spamline = $abs($int($3))
        msg # Spamline is now $abs($int($3)) $+ . Messaging $abs($int($3)) times in a row will timeout you!
      }
      else { msg # $3 is not a number! | return }
    }
    elseif ($2 == time) {
      if ($3 isnum) {
        %spamtime = $abs($int($3))
        msg # Timeout time is now $abs($int($3)) $+ !
      }
      else { msg # $3 is not a number! | return }
    }
    elseif ($2 == message) {
      %spammessage = $3-
      msg # Timeout message is now : $3-
    }
    else { msg # insufficient parameters. !timeout <line,time,message> <parameter> }
  }
  else {
    msg # You dont have permission to do that!
  }
}

on *:text:*:#: spamcheck $chan
on *:action:*:#: spamcheck $chan

alias spamcheck {
  if ($nick isop $1) {
    unset %spamnick
    unset %spamlines
  }
  elseif ($nick == %spamnick) {
    inc %spamlines
    if (%spamlines == %spamline) {
      msg $1 .timeout $nick %spamtime %spammessage
      msg $1 $nick you're spamming too fast. slow down!
      %spamlines = 1
    }
  }
  else {
    %spamnick = $nick
    %spamlines = 1
  }
}