input: Write a function to create a simple chatbot using Python and state diagrams. The function should initialize the chatbot, manage state transitions, print messages, record the conversation, and handle user inputs. The function should be able to terminate the conversation when a terminal state is reached.
  assert create_chatbot() == None
  assert conversation[-1] == 'Goodbye!'
output: def create_chatbot():
      conversation = []
      states = {
          'start': {'greet': 'greeting', 'exit': 'end'},
          'greeting': {'how_are_you': 'feeling', 'exit': 'end'},
          'feeling': {'good': 'positive_response', 'bad': 'negative_response', 'exit': 'end'},
          'positive_response': {'continue': 'greeting', 'exit': 'end'},
          'negative_response': {'continue': 'greeting', 'exit': 'end'},
          'end': {}
      }
      messages = {
          'start': 'Hello! How can I help you today?',
          'greeting': 'Nice to meet you! How are you feeling today?',
          'feeling': 'I see. Would you like to continue or exit?',
          'positive_response': 'Great to hear! What else can I help you with?',
          'negative_response': 'I\'m sorry to hear that. What else can I help you with?',
          'end': 'Goodbye!'
      }
      
      current_state = 'start'
      while current_state != 'end':
          conversation.append(messages[current_state])
          if current_state == 'end':
              break
          user_input = input(messages[current_state] + ' ')
          if user_input in states[current_state]:
              current_state = states[current_state][user_input]
          else:
              print("Invalid input. Please try again.")
      
      conversation.append(messages[current_state])
      return None