This commit is contained in:
TotallyTung
2025-06-24 12:32:58 +07:00
committed by GitHub
parent 70cc08c2c6
commit df3d768087
12 changed files with 17 additions and 17 deletions

View File

@@ -44,12 +44,12 @@ class BaseMessageComponent {
/** /**
* @param {BaseMessageComponent|BaseMessageComponentOptions} [data={}] The options for this component * @param {BaseMessageComponent|BaseMessageComponentOptions} [data={}] The options for this component
*/ */
constructor(data) { constructor(data, componentData = {}) {
/** /**
* The type of this component * The type of this component
* @type {?MessageComponentType} * @type {?MessageComponentType}
*/ */
this.rawData = data; this.rawData = componentData;
this.type = 'type' in data ? BaseMessageComponent.resolveType(data.type) : null; this.type = 'type' in data ? BaseMessageComponent.resolveType(data.type) : null;
} }

View File

@@ -5,7 +5,7 @@ const { MessageComponentTypes } = require('../util/Constants');
class ContainerComponent extends BaseMessageComponent { class ContainerComponent extends BaseMessageComponent {
constructor(data = {}) { constructor(data = {}) {
super({ type: 'CONTAINER' }); super({ type: 'CONTAINER' }, data);
this.components = data.components?.map(c => BaseMessageComponent.create(c)) ?? null; this.components = data.components?.map(c => BaseMessageComponent.create(c)) ?? null;
this.accent_color = data.accent_color ?? null; this.accent_color = data.accent_color ?? null;
this.spoiler = data.spoiler ?? false; this.spoiler = data.spoiler ?? false;

View File

@@ -6,7 +6,7 @@ const { MessageComponentTypes } = require('../util/Constants');
class FileComponent extends BaseMessageComponent { class FileComponent extends BaseMessageComponent {
constructor(data = {}) { constructor(data = {}) {
super({ type: 'FILE' }); super({ type: 'FILE' }, data);
this.file = new UnfurledMediaItem(data.file) ?? null; this.file = new UnfurledMediaItem(data.file) ?? null;
this.spoiler = data.spoiler ?? false; this.spoiler = data.spoiler ?? false;
} }

View File

@@ -6,7 +6,7 @@ const { MessageComponentTypes } = require('../util/Constants');
class MediaGalleryComponent extends BaseMessageComponent { class MediaGalleryComponent extends BaseMessageComponent {
constructor(data = {}) { constructor(data = {}) {
super({ type: 'MEDIA_GALLERY' }); super({ type: 'MEDIA_GALLERY' }, data);
this.items = data.items?.map(item => new MediaGalleryItem(item)) ?? []; this.items = data.items?.map(item => new MediaGalleryItem(item)) ?? [];
} }

View File

@@ -42,7 +42,7 @@ class MessageActionRow extends BaseMessageComponent {
* @param {Client} [client] The client constructing this MessageActionRow, if provided * @param {Client} [client] The client constructing this MessageActionRow, if provided
*/ */
constructor(data = {}, client = null) { constructor(data = {}, client = null) {
super({ type: 'ACTION_ROW' }); super({ type: 'ACTION_ROW' }, data);
/** /**
* The components in this action row * The components in this action row

View File

@@ -24,7 +24,7 @@ class MessageButton extends BaseMessageComponent {
* @param {MessageButton|MessageButtonOptions} [data={}] MessageButton to clone or raw data * @param {MessageButton|MessageButtonOptions} [data={}] MessageButton to clone or raw data
*/ */
constructor(data = {}) { constructor(data = {}) {
super({ type: 'BUTTON' }); super({ type: 'BUTTON' }, data);
this.setup(data); this.setup(data);
} }

View File

@@ -42,7 +42,7 @@ class MessageSelectMenu extends BaseMessageComponent {
* @param {MessageSelectMenu|MessageSelectMenuOptions} [data={}] MessageSelectMenu to clone or raw data * @param {MessageSelectMenu|MessageSelectMenuOptions} [data={}] MessageSelectMenu to clone or raw data
*/ */
constructor(data = {}) { constructor(data = {}) {
super({ type: BaseMessageComponent.resolveType(data.type) ?? 'STRING_SELECT' }); super({ type: BaseMessageComponent.resolveType(data.type) ?? 'STRING_SELECT' }, data);
this.setup(data); this.setup(data);
} }

View File

@@ -6,7 +6,7 @@ const { MessageComponentTypes } = require('../util/Constants');
class SectionComponent extends BaseMessageComponent { class SectionComponent extends BaseMessageComponent {
constructor(data = {}) { constructor(data = {}) {
super({ type: 'SECTION' }); super({ type: 'SECTION' }, data);
this.components = data.components?.map(c => BaseMessageComponent.create(c)) ?? []; this.components = data.components?.map(c => BaseMessageComponent.create(c)) ?? [];
this.accessory = BaseMessageComponent.create(data.accessory) ?? null; this.accessory = BaseMessageComponent.create(data.accessory) ?? null;
} }

View File

@@ -5,7 +5,7 @@ const { MessageComponentTypes, SeparatorSpacingSizes } = require('../util/Consta
class SeparatorComponent extends BaseMessageComponent { class SeparatorComponent extends BaseMessageComponent {
constructor(data = {}) { constructor(data = {}) {
super({ type: 'SEPARATOR' }); super({ type: 'SEPARATOR' }, data);
this.spacing = data.spacing ?? SeparatorSpacingSizes.SMALL; this.spacing = data.spacing ?? SeparatorSpacingSizes.SMALL;
this.divider = data.divider ?? true; this.divider = data.divider ?? true;
} }

View File

@@ -5,7 +5,7 @@ const { MessageComponentTypes } = require('../util/Constants');
class TextDisplayComponent extends BaseMessageComponent { class TextDisplayComponent extends BaseMessageComponent {
constructor(data = {}) { constructor(data = {}) {
super({ type: 'TEXT_DISPLAY' }); super({ type: 'TEXT_DISPLAY' }, data);
this.content = data.content ?? null; this.content = data.content ?? null;
} }

View File

@@ -27,7 +27,7 @@ class TextInputComponent extends BaseMessageComponent {
* @param {TextInputComponent|TextInputComponentOptions} [data={}] TextInputComponent to clone or raw data * @param {TextInputComponent|TextInputComponentOptions} [data={}] TextInputComponent to clone or raw data
*/ */
constructor(data = {}) { constructor(data = {}) {
super({ type: 'TEXT_INPUT' }); super({ type: 'TEXT_INPUT' }, data);
this.setup(data); this.setup(data);
} }

View File

@@ -6,7 +6,7 @@ const { MessageComponentTypes } = require('../util/Constants');
class ThumbnailComponent extends BaseMessageComponent { class ThumbnailComponent extends BaseMessageComponent {
constructor(data = {}) { constructor(data = {}) {
super({ type: 'THUMBNAIL' }); super({ type: 'THUMBNAIL' }, data);
this.media = new UnfurledMediaItem(data.media) ?? null; this.media = new UnfurledMediaItem(data.media) ?? null;
this.description = data.description ?? null; this.description = data.description ?? null;
this.spoiler = data.spoiler ?? false; this.spoiler = data.spoiler ?? false;