This document compares three languages that can be used to write chatbots: AIML, RiveScript, and ChatScript. It outlines some flaws with AIML, including that it requires many redundant categories and does not support things like synonyms or wildcards. RiveScript addresses many of AIML's limitations and also supports features like weighted responses. ChatScript is more powerful than RiveScript but also more complex, acting as its own standalone chatbot engine with a unique scripting language. For a smaller chatbot without needing advanced NLP, AIML or RiveScript may be easier to deploy than ChatScript.