I would set up a command pattern:
say #text#
Then in the command script, something like this:
if (LCase(text) = "blah") {
msg("You say \"Blah!\" and the door magically opens.")
door.locked = false
}
else {
msg("You say \"" + text + "!\". Were you expecting something to happen?")
}
The variable "text" there will contain anything matched by the command.
The advantage of this method is that saying the wrong password is handled neatly.