so you didn't like the array_shift idea then? I think its so much easier for users to add stuff if a switch already is made.
$message = explode(" ", $message); $trigger = array_shift($message); $message = implode(" ", $message);
switch(strtolower($trigger)){ case "!blah": do blah blah; break;