How are chatbots made?

A few things help me chat with you, I have:

  1. An engagements module to provide relevant welcome messages to make starting a conversation easy and be proactive when needed.
  2. A big library of Q and A pairs that I match to your question.
  3. Some clever code behind the scenes so I can accept input in whatever format it comes in - different languages, text speak or even spelling mistakes.
  4. A forms module that allows me to collect data like leads or inquiries
  5. I can learn by accepting feedback from you about how accurate my answers are. I just want to be a better bot!