This commit is contained in:
tungdo0602
2025-07-01 20:17:13 +07:00
parent fd9c0e0d0f
commit 1def6ef27d
4 changed files with 44 additions and 25 deletions

View File

@@ -285,6 +285,6 @@
"message": "Import setImmediate from `node:timers` instead"
}
],
"linebreak-style": "off"
"linebreak-style": 0
}
}

View File

@@ -25,6 +25,7 @@ const MessageFlags = require('../util/MessageFlags');
const Permissions = require('../util/Permissions');
const SnowflakeUtil = require('../util/SnowflakeUtil');
const Util = require('../util/Util');
const ContainerComponent = require('./ContainerComponent');
/**
* @type {WeakSet<Message>}
@@ -162,8 +163,8 @@ class Message extends Base {
if ('components' in data) {
/**
* A list of MessageActionRows in the message
* @type {MessageActionRow[]}
* A list of components in the message
* @type {MessageActionRow[] | ContainerComponent[]}
*/
this.components = data.components.map(c => BaseMessageComponent.create(c, this.client));
} else {

11
typings/enums.d.ts vendored
View File

@@ -235,6 +235,17 @@ export const enum MessageComponentTypes {
CONTAINER = 17,
}
export const enum MessageComponentInteractables {
ACTION_ROW = 1,
BUTTON = 2,
STRING_SELECT = 3,
TEXT_INPUT = 4,
USER_SELECT = 5,
ROLE_SELECT = 6,
MENTIONABLE_SELECT = 7,
CHANNEL_SELECT = 8,
}
export const enum SelectMenuComponentTypes {
STRING_SELECT = 3,
USER_SELECT = 5,

15
typings/index.d.ts vendored
View File

@@ -92,6 +92,7 @@ import {
MembershipStates,
MessageButtonStyles,
MessageComponentTypes,
MessageComponentInteractables,
MessageTypes,
MFALevels,
NSFWLevels,
@@ -2132,7 +2133,7 @@ export interface StringMappedInteractionTypes<Cached extends CacheType = CacheTy
export type WrapBooleanCache<T extends boolean> = If<T, 'cached', CacheType>;
export type MappedInteractionTypes<Cached extends boolean = boolean> = EnumValueMapped<
typeof MessageComponentTypes,
typeof MessageComponentInteractables,
{
BUTTON: ButtonInteraction<WrapBooleanCache<Cached>>;
STRING_SELECT: StringSelectInteraction<WrapBooleanCache<Cached>>;
@@ -2365,7 +2366,13 @@ export class SectionComponent<T extends ThumbnailComponent | MessageButton> exte
export class ContainerComponent<
U extends ThumbnailComponent | MessageButton,
T extends MessageActionRow | TextDisplayComponent | SectionComponent<U> | MediaGalleryComponent | SeparatorComponent | FileComponent
T extends
| MessageActionRow
| TextDisplayComponent
| SectionComponent<U>
| MediaGalleryComponent
| SeparatorComponent
| FileComponent,
> extends BaseMessageComponent {
public constructor(data?: ContainerComponent<U, T> | APIContainerComponent);
public components: T[];
@@ -7152,9 +7159,9 @@ export type MessageComponentOptions =
| MessageButtonOptions
| MessageSelectMenuOptions;
export type MessageComponentType = keyof typeof MessageComponentTypes;
export type MessageComponentType = keyof typeof MessageComponentInteractables;
export type MessageComponentTypeResolvable = MessageComponentType | MessageComponentTypes;
export type MessageComponentTypeResolvable = MessageComponentType | MessageComponentInteractables;
export type GuildForumThreadMessageCreateOptions = Omit<MessageOptions, 'poll'> &
Pick<MessageOptions, 'flags' | 'stickers'>;