UNPKG

noblox-bonk

Version:
61 lines (52 loc) 1.61 kB
// Includes const http = require('../util/http.js').func // Args exports.required = ['group'] exports.optional = ['size', 'circular', 'format'] // Docs /** * ✅ Get the group's logo. * @category Group * @alias getLogo * @param {number} group - The id of the group. * @param {GroupIconSize=} [size=150x150] - The size of the logo. * @param {boolean=} [circular=false] - Get the circular version of the logo. * @param {GroupIconFormat=} [format=Png] - The file format of the logo. * @returns {Promise<string>} * @example const noblox = require("noblox.js") * const logo = await noblox.getLogo(1) **/ // Define function getLogo (group, size, circular, format) { const httpOpt = { url: '//thumbnails.roblox.com/v1/groups/icons', options: { qs: { groupIds: group, size: size || '150x150', format: format || 'Png', isCircular: circular }, json: true } } return http(httpOpt) .then(function (body) { const error = body.errors && body.errors[0] if (error) { if (error.message === 'NotFound') { throw new Error('An invalid UserID or GroupID was provided.') } else { throw new Error(error.message) } } const thumbnailData = body.data[0] if (thumbnailData.state !== 'Completed') { throw new Error('The requested image has not been approved. Status: ' + thumbnailData.state) } return thumbnailData.imageUrl }) } exports.func = function (args) { return getLogo(args.group) }