My personal advice, though, is while you can definitely try to support a more 'natural' type of language, you do want to define fixed formats for commands in your documentation/help so as not to confuse users or encourage them to keep trying all sorts of variations to figure out what magic combo makes your bot work.
Being on Python, you have the great advantage of having access to NLTK :-) http://www.nltk.org/ - it's pretty intense and offers a lot, but also includes some example bots: http://www.nltk.org/api/nltk.chat.html
My personal advice, though, is while you can definitely try to support a more 'natural' type of language, you do want to define fixed formats for commands in your documentation/help so as not to confuse users or encourage them to keep trying all sorts of variations to figure out what magic combo makes your bot work.