UNPKG

melka-buttons.js

Version:

Buton yapmak için kullanabilirsiniz.

80 lines (70 loc) 2.37 kB
const { MessageComponentTypes } = require('../types'); const Client = require('./clientClass/Client'); const { resolveString } = require('discord.js').Util; const { resolveStyle, isEmoji } = require('../araç'); class MesajButon extends Client { constructor(data = {}) { super({ type: 'BUTTON' }); this.setup(data); } setup(data) { this.style = 'style' in data ? resolveStyle(data.style) : null; this.label = ('label' in data && data.label) ? resolveString(data.label) : undefined; this.disabled = 'disabled' in data ? data.disabled : false; this.emoji = 'emoji' in data ? data.emoji : undefined; if ('url' in data && data.url) this.url = resolveString(data.url) else this.url = undefined; if (('id' in data && data.id) || ('custom_id' in data && data.custom_id)) this.custom_id = data.id || data.custom_id; else this.custom_id = undefined return this; } stil(stil) { stil = resolveStyle(stil); this.style = stil; return this; } boşluk(mesaj) { mesaj = resolveString(mesaj); this.label = mesaj; return this; } devredışı(disabled = true) { this.disabled = disabled; return this; } url(url) { url = resolveString(url); this.url = url; } id(id) { this.custom_id = resolveString(id); return this; } emoji(emoji, animated) { if (!emoji) return this; if (isEmoji(emoji) === true) this.emoji = { name: resolveString(emoji) } else if (emoji.id) this.emoji = { id: emoji.id } else if (resolveString(emoji).length > 0) this.emoji = { id: resolveString(emoji) } else this.emoji = { name: null, id: null }; if ((animated && typeof (animated) !== 'boolean') || (emoji.animated && typeof (emoji.animated) !== 'boolean')) throw new SyntaxError('Emoji animasyonlu seçeneği boolean olmalıdır'); if (this.emoji && typeof (emoji.animated) === 'boolean') this.emoji.animated = emoji.animated; if (this.emoji && typeof (animated) === 'boolean') this.emoji.animated = animated; return this; } toJSON() { return { type: MessageComponentTypes.BUTTON, style: this.style, label: this.label, emoji: this.emoji, disabled: this.disabled, url: this.url, custom_id: this.custom_id } } } module.exports = MesajButon;