Bot does not consider first keyword when evaluating reply.
How to reproduce:
Feed bot with ``Darwin appointments'' and you will get replies about Charles being greek philosopher, mathematician, italian artists and scientist, but never about appointments. Feed bot with ``appointments Darwin'' and your only reply will be ``If it wasn't for dissapointment, i wouldn't have any appointments.''.
Function evaluate_reply calls find_word to find if a specific word is in keywords dictionary. find_word returns 0 if word was not found, and index in word list if it was. First word in keywords dictionary has index 0 which is interpreted as word not found.
Replace two calls to find_word in evaluate_reply with word_exists.