hytescript.js
Version:
A package for programming anything you want with ease.
60 lines (55 loc) • 2.09 kB
JavaScript
module.exports = {
description: 'Creates an emoji in a guild with a URL or buffer.',
usage: 'name | url | isBuffer? | guildId? | returnId? | reason?',
parameters: [
{
name: 'Name',
description: 'The emoji name.',
optional: 'false',
defaultValue: 'none'
},
{
name: 'URL',
description: 'The emoji image URL.',
optional: 'false',
defaultValue: 'none'
},
{
name: 'isBuffer',
description: 'Whether the URL is a buffer name or not',
optional: 'true',
defaultValue: 'false'
},
{
name: 'Guild ID',
description: 'The guild to create emoji.',
optional: 'true',
defaultValue: 'Current guild ID'
},
{
name: 'Return ID',
description: 'Whether to return created emoji ID or not.',
optional: 'true',
defaultValue: 'false'
},
{
name: 'Reason',
description: 'The reason to be shown in audit log.',
optional: 'true',
defaultValue: 'none'
}
],
async run(d, name, url, isBuffer = 'false', guildId = d.guild?.id, returnId = 'false', reason) {
if (name == undefined) return new d.error("required", d, 'name')
if (url == undefined) return new d.error("required", d, 'URL')
if (isBuffer == 'true') {
let buffer = d.data.buffers[url.toLowerCase()]
if (buffer == undefined) return new d.error('invalid', d, 'buffer name', url)
url = buffer
}
const guild = d.client.guilds.cache.get(guildId)
if (!guild) return new d.error('invalid', d, 'guild ID', guildId)
let newEmoji = await guild.emojis.create({name, reason, attachment: url}).catch(e => new d.error('custom', d, e.message))
return returnId === 'true' ? newEmoji.id : undefined
}
};