uploadStickerFile(userId, sticker, stickerFormat = 'static', options = {}, fileOptions = {}) {
    const opts = {
      qs: options,
    };
    opts.qs.user_id = userId;
    opts.qs.sticker_format = stickerFormat;

    try {
      const sendData = this._formatSendData('sticker', sticker, fileOptions);
      opts.formData = sendData[0];
      opts.qs.sticker = sendData[1];
    } catch (ex) {
      return Promise.reject(ex);
    }
    return this._request('uploadStickerFile', opts);
  }
Use this method to upload a file with a sticker for later use in *createNewStickerSet* and *addStickerToSet* methods (can be used multiple
times).

@param {Number} userId User identifier of sticker file owner
@param {String|stream.Stream|Buffer} sticker A file path or a Stream with the sticker in .WEBP, .PNG, .TGS, or .WEBM format. Can also be a `file_id` previously uploaded.
@param {String} stickerFormat Allow values:  `static`, `animated` or `video`
@param {Object} [options] Additional Telegram query options
@param {Object} [fileOptions] Optional file related meta-data
@return {Promise} On success, a [File](https://core.telegram.org/bots/api#file) object is returned
@see https://core.telegram.org/bots/api#uploadstickerfile