code: def make_parser():
      
      parser = ArgumentParser(
          description='Start an IRC bot instance from the command line.',
          formatter_class=ArgumentDefaultsHelpFormatter,
      )
      parser.add_argument(
          '-v', '--version',
          action='version',
          version='{0} v{1}'.format(NAME, VERSION)
      )
      parser.add_argument(
          '-s', '--server',
          metavar='HOST',
          required=True,
          help='the host to connect to'
      )
      parser.add_argument(
          '-p', '--port',
          metavar='PORT',
          type=int,
          default=6667,
          help='the port the server is listening on'
      )
      parser.add_argument(
          '-n', '--nick',
          metavar='NAME',
          required=True,
          help="the bot's nickname"
      )
      parser.add_argument(
          '-N', '--name',
          metavar='NAME',
          default=NAME,
          help="the bot's real name"
      )
      parser.add_argument(
          '-c', '--channels',
          metavar='CHAN',
          nargs='*',
          help='join this channel upon connection'
      )
      parser.add_argument(
          '-l', '--log',
          metavar='LEVEL',
          default='INFO',
          help='minimal level for displayed logging messages'
      )
      parser.add_argument(
          '-S', '--ssl',
          action='store_true',
          help='connect to the server using SSL'
      )
      return parser
docs: Creates an argument parser configured with options to run a bot
      from the command line.
  
      :return: configured argument parser
      :rtype: :class:`argparse.ArgumentParser`