input: Write a function to create a simple chatbot using Python and state diagrams. The function should initialize a set of states, handle user inputs, and manage the conversation flow based on predefined replies.
  assert create_chatbot()  # This assert doesn't have a specific test case output, as the chatbot interaction is dynamic and depends on user input.
output: def create_chatbot():
      states = {
          'start': {
              'message': 'Hello! How can I help you today?',
              'transitions': {
                  'help': 'help',
                  'bye': 'end'
              }
          },
          'help': {
              'message': 'I can help with general inquiries. What do you need assistance with?',
              'transitions': {
                  'bye': 'end'
              }
          },
          'end': {
              'message': 'Goodbye! Have a great day!',
              'transitions': {}
          }
      }
      
      current_state = 'start'
      
      while current_state != 'end':
          print(states[current_state]['message'])
          user_input = input().strip().lower()
          if user_input in states[current_state]['transitions']:
              current_state = states[current_state]['transitions'][user_input]
          else:
              print("I didn't understand that. Please try again.")
      
      print(states[current_state]['message'])