First of all:
if "parent_author" not in op.keys():
continue
op.keys() is a list, and here you're checking if this key exists in the list, to determine if op is a comment or a post, but,the "parent_author" key will always be in the list, so you should check:
if op.get("parent_author") == "":
continue
Then, I would change the order of the checks: first, check if it's a comment, then if it's an authorized caller account, and finally if a command exists in the body.
RE: [ENG/ITA] Python and Hive: My First Attempt with a Bot