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.
The term "ChatterBot" was originally coined by Michael Mauldin (creator of the first Verbot, Julia) in 1994 to describe these conversational programs. Today, most chatbots are either accessed via virtual assistants such as Google Assistant and Amazon Alexa, via messaging apps such as Facebook Messenger or WeChat, or via individual organizations' apps and websites.  Chatbots can be classified into usage categories such as conversational commerce (e-commerce via chat), analytics, communication, customer support, design, developer tools, education, entertainment, finance, food, games, health, HR, marketing, news, personal, productivity, shopping, social, sports, travel and utilities.
Simply put, chatbots are computer programs designed to have conversations with human users. Chances are you’ve interacted with one. They answer questions, guide you through a purchase, provide technical support, and can even teach you a new language. You can find them on devices, websites, text messages, and messaging apps—in other words, they’re everywhere.
Closed domain chatbots focus on a specific knowledge domain, and these bots may fail to answer questions in other knowledge domains. For example, a restaurant booking conversational bot will be able to take your reservation, but may not respond to a question about the price of an air ticket. A user could hypothetically attempt to take the conversation elsewhere, however, closed domain chatbots are not required, nor often programmed to handle such cases.
In sales, chatbots are being used to assist consumers shopping online, either by answering noncomplex product questions or providing helpful information that the consumer could later search for, including shipping price and availability. Chatbots are also used in service departments, assisting service agents in answering repetitive requests. Once a conversation gets too complex for a chatbot, it will be transferred to a human service agent .
Chatbots such as ELIZA and PARRY were early attempts at creating programs that could at least temporarily fool a real human being into thinking they were having a conversation with another person. PARRY's effectiveness was benchmarked in the early 1970s using a version of a Turing test; testers only made the correct identification of human vs. chatbot at a level consistent with making a random guess.
Jabberwacky learns new responses and context based on real-time user interactions, rather than being driven from a static database. Some more recent chatbots also combine real-time learning with evolutionary algorithms that optimise their ability to communicate based on each conversation held. Still, there is currently no general purpose conversational artificial intelligence, and some software developers focus on the practical aspect, information retrieval.