There is no one right answer to this question, as the best solution will depend upon the specifics of your scenario and how the user would reasonably expect the bot to respond. However, as your conversation complexity increases dialogs become harder to manage. For complex branchings situations, it may be easier to create your own flow of control logic to keep track of your user's conversation.
A bot is software that is designed to automate the kinds of tasks you would usually do on your own, like making a dinner reservation, adding an appointment to your calendar or fetching and displaying information. The increasingly common form of bots, chatbots, simulate conversation. They often live inside messaging apps — or are at least designed to look that way — and it should feel like you’re chatting back and forth as you would with a human.
Unfortunately the old adage of trash in, trash out came back to bite Microsoft. Tay was soon being fed racist, sexist and genocidal language by the Twitter user-base, leading her to regurgitate these views. Microsoft eventually took Tay down for some re-tooling, but when it returned the AI was significantly weaker, simply repeating itself before being taken offline indefinitely.

[In] artificial intelligence ... machines are made to behave in wondrous ways, often sufficient to dazzle even the most experienced observer. But once a particular program is unmasked, once its inner workings are explained ... its magic crumbles away; it stands revealed as a mere collection of procedures ... The observer says to himself "I could have written that". With that thought he moves the program in question from the shelf marked "intelligent", to that reserved for curios ... The object of this paper is to cause just such a re-evaluation of the program about to be "explained". Few programs ever needed it more.
I would like to extend an invitation to business leaders facing similar challenges to IoT Exchange in Sydney on 23-24 July 2019. It’s a great opportunity to engage in stimulating discussions with IBM staff, business partners and customers, and to network with your peers. You’ll participate in two full days of learning about new technologies through 40 information packed sessions. more
The process of building a chatbot can be divided into two main tasks: understanding the user's intent and producing the correct answer. The first task involves understanding the user input. In order to properly understand a user input in a free text form, a Natural Language Processing Engine can be used.[36] The second task may involve different approaches depending on the type of the response that the chatbot will generate.
Feine, J., Morana, S., and Maedche, A. (2019). “Leveraging Machine-Executable Descriptive Knowledge in Design Science Research ‐ The Case of Designing Socially-Adaptive Chatbots”. In: Extending the Boundaries of Design Science Theory and Practice. Ed. by B. Tulu, S. Djamasbi, G. Leroy. Cham: Springer International Publishing, pp. 76–91. Download Publication
One pertinent field of AI research is natural language processing. Usually, weak AI fields employ specialized software or programming languages created specifically for the narrow function required. For example, A.L.I.C.E. uses a markup language called AIML, which is specific to its function as a conversational agent, and has since been adopted by various other developers of, so called, Alicebots. Nevertheless, A.L.I.C.E. is still purely based on pattern matching techniques without any reasoning capabilities, the same technique ELIZA was using back in 1966. This is not strong AI, which would require sapience and logical reasoning abilities.