code: function Story (client, params) {
    var self = this
    if (!(self instanceof Story)) return new Story(client, params)
    if (!(client instanceof Snapchat)) throw new Error('invalid client')
  
    self.client = client
  
    // null until you call load
    // self.blob = null
  
    // null until you call loadThumbnail
    // self.thumbnailBlob = null
  
    self.author = params['username']
    self.viewed = !!params['viewed']
    self.shared = !!params['is_shared']
    self.zipped = !!params['zipped']
    self.matureContent = !!params['mature_content']
    self.needsAuth = !!params['needs_auth']
  
    self.duration = params['time'] || 0
  
    self.identifier = params['id']
    self.text = params['caption_text_display']
    self.clientIdentifier = params['client_id']
  
    if (params['story_filter_id'].length) {
      self.storyFilterIdentifier = params['story_filter_id']
    }
    self.adCanFollow = !!params['ad_can_follow']
  
    self.mediaIdentifier = params['media_id']
    self.mediaIV = params['media_iv']
    self.mediaKey = params['media_key']
    self.mediaKind = params['media_type'] || 0
    self.mediaURL = params['media_url']
  
    self.thumbIV = params['thumbnail_iv']
    self.thumbURL = params['thumbnail_url']
  
    self.timeLeft = params['time_left'] || 0
    self.created = new Date(+params['timestamp']).toISOString()
  }
docs: Snapchat Story
  
  @class
  @param {Snapchat} client
  @param {Object} params