From October 1, Direct Message commands now always fail on the statuses/update endpoint, and the Tweet will not be posted unless you also add enable_dm_commands=false parameter - in which case the status will be posted as a Tweet, not as a Direct Message. This is part of the transitional period removing the Direct Message commands from the status API. The next stage will be to remove the override-to-Tweet parameter, in November.