@magicyan/discord 1.7.3 → 1.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/functions/components/find.cjs +12 -0
- package/dist/functions/components/find.mjs +10 -0
- package/dist/functions/components/flatten.cjs +35 -0
- package/dist/functions/components/flatten.mjs +33 -0
- package/dist/functions/components/thumbnail.cjs +11 -4
- package/dist/functions/components/thumbnail.mjs +11 -4
- package/dist/functions/components/utils.cjs +7 -0
- package/dist/functions/components/utils.mjs +5 -0
- package/dist/index.cjs +4 -0
- package/dist/index.d.cts +89 -3
- package/dist/index.d.mts +89 -3
- package/dist/index.d.ts +89 -3
- package/dist/index.mjs +2 -0
- package/package.json +1 -1
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const flatten = require('./flatten.cjs');
|
|
4
|
+
|
|
5
|
+
function findMessageComponentById(source, id, type) {
|
|
6
|
+
const components = flatten.flattenMessageComponents(source);
|
|
7
|
+
return components.find(
|
|
8
|
+
(c) => c.id === id && (type === void 0 || c.type === type)
|
|
9
|
+
) ?? null;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
exports.findMessageComponentById = findMessageComponentById;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { flattenMessageComponents } from './flatten.mjs';
|
|
2
|
+
|
|
3
|
+
function findMessageComponentById(source, id, type) {
|
|
4
|
+
const components = flattenMessageComponents(source);
|
|
5
|
+
return components.find(
|
|
6
|
+
(c) => c.id === id && (type === void 0 || c.type === type)
|
|
7
|
+
) ?? null;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { findMessageComponentById };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const discord_js = require('discord.js');
|
|
4
|
+
const utils = require('./utils.cjs');
|
|
5
|
+
|
|
6
|
+
function flattenMessageComponents(source) {
|
|
7
|
+
const components = utils.resolveComponentsSource(source);
|
|
8
|
+
const hasNested = components.some(
|
|
9
|
+
(component) => component.type === discord_js.ComponentType.Container || component.type === discord_js.ComponentType.ActionRow || component.type === discord_js.ComponentType.Section
|
|
10
|
+
);
|
|
11
|
+
if (!hasNested)
|
|
12
|
+
return components;
|
|
13
|
+
const result = [];
|
|
14
|
+
function traverse(items) {
|
|
15
|
+
for (const component of items) {
|
|
16
|
+
result.push(component);
|
|
17
|
+
switch (component.type) {
|
|
18
|
+
case discord_js.ComponentType.Container:
|
|
19
|
+
case discord_js.ComponentType.ActionRow:
|
|
20
|
+
traverse(component.components);
|
|
21
|
+
break;
|
|
22
|
+
case discord_js.ComponentType.Section:
|
|
23
|
+
result.push(component.accessory);
|
|
24
|
+
if (component.components.length) {
|
|
25
|
+
traverse(component.components);
|
|
26
|
+
}
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
traverse(components);
|
|
32
|
+
return result;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
exports.flattenMessageComponents = flattenMessageComponents;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ComponentType } from 'discord.js';
|
|
2
|
+
import { resolveComponentsSource } from './utils.mjs';
|
|
3
|
+
|
|
4
|
+
function flattenMessageComponents(source) {
|
|
5
|
+
const components = resolveComponentsSource(source);
|
|
6
|
+
const hasNested = components.some(
|
|
7
|
+
(component) => component.type === ComponentType.Container || component.type === ComponentType.ActionRow || component.type === ComponentType.Section
|
|
8
|
+
);
|
|
9
|
+
if (!hasNested)
|
|
10
|
+
return components;
|
|
11
|
+
const result = [];
|
|
12
|
+
function traverse(items) {
|
|
13
|
+
for (const component of items) {
|
|
14
|
+
result.push(component);
|
|
15
|
+
switch (component.type) {
|
|
16
|
+
case ComponentType.Container:
|
|
17
|
+
case ComponentType.ActionRow:
|
|
18
|
+
traverse(component.components);
|
|
19
|
+
break;
|
|
20
|
+
case ComponentType.Section:
|
|
21
|
+
result.push(component.accessory);
|
|
22
|
+
if (component.components.length) {
|
|
23
|
+
traverse(component.components);
|
|
24
|
+
}
|
|
25
|
+
break;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
traverse(components);
|
|
30
|
+
return result;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export { flattenMessageComponents };
|
|
@@ -2,14 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
const discord_js = require('discord.js');
|
|
4
4
|
|
|
5
|
-
function createThumbnail(data) {
|
|
6
|
-
const thumbnail = new discord_js.ThumbnailBuilder();
|
|
5
|
+
function createThumbnail(data, id) {
|
|
7
6
|
if (typeof data === "string") {
|
|
8
|
-
return
|
|
7
|
+
return new discord_js.ThumbnailBuilder({
|
|
8
|
+
id,
|
|
9
|
+
media: { url: data }
|
|
10
|
+
});
|
|
9
11
|
}
|
|
10
12
|
if (data instanceof discord_js.AttachmentBuilder || data instanceof discord_js.Attachment) {
|
|
11
|
-
return
|
|
13
|
+
return new discord_js.ThumbnailBuilder({
|
|
14
|
+
media: { url: `attachment://${data.name}` },
|
|
15
|
+
spoiler: data.spoiler,
|
|
16
|
+
id
|
|
17
|
+
});
|
|
12
18
|
}
|
|
19
|
+
data.id ?? (data.id = id);
|
|
13
20
|
return new discord_js.ThumbnailBuilder(data);
|
|
14
21
|
}
|
|
15
22
|
|
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
import { ThumbnailBuilder, AttachmentBuilder, Attachment } from 'discord.js';
|
|
2
2
|
|
|
3
|
-
function createThumbnail(data) {
|
|
4
|
-
const thumbnail = new ThumbnailBuilder();
|
|
3
|
+
function createThumbnail(data, id) {
|
|
5
4
|
if (typeof data === "string") {
|
|
6
|
-
return
|
|
5
|
+
return new ThumbnailBuilder({
|
|
6
|
+
id,
|
|
7
|
+
media: { url: data }
|
|
8
|
+
});
|
|
7
9
|
}
|
|
8
10
|
if (data instanceof AttachmentBuilder || data instanceof Attachment) {
|
|
9
|
-
return
|
|
11
|
+
return new ThumbnailBuilder({
|
|
12
|
+
media: { url: `attachment://${data.name}` },
|
|
13
|
+
spoiler: data.spoiler,
|
|
14
|
+
id
|
|
15
|
+
});
|
|
10
16
|
}
|
|
17
|
+
data.id ?? (data.id = id);
|
|
11
18
|
return new ThumbnailBuilder(data);
|
|
12
19
|
}
|
|
13
20
|
|
package/dist/index.cjs
CHANGED
|
@@ -30,6 +30,8 @@ const thumbnail = require('./functions/components/thumbnail.cjs');
|
|
|
30
30
|
const upload = require('./functions/components/upload.cjs');
|
|
31
31
|
const checkbox = require('./functions/components/checkbox.cjs');
|
|
32
32
|
const radio = require('./functions/components/radio.cjs');
|
|
33
|
+
const flatten = require('./functions/components/flatten.cjs');
|
|
34
|
+
const find = require('./functions/components/find.cjs');
|
|
33
35
|
const assets = require('./functions/embeds/assets.cjs');
|
|
34
36
|
const author = require('./functions/embeds/author.cjs');
|
|
35
37
|
const embedplus = require('./functions/embeds/embedplus.cjs');
|
|
@@ -93,6 +95,8 @@ exports.createFileUpload = upload.createFileUpload;
|
|
|
93
95
|
exports.createCheckbox = checkbox.createCheckbox;
|
|
94
96
|
exports.createCheckboxGroup = checkbox.createCheckboxGroup;
|
|
95
97
|
exports.createRadioGroup = radio.createRadioGroup;
|
|
98
|
+
exports.flattenMessageComponents = flatten.flattenMessageComponents;
|
|
99
|
+
exports.findMessageComponentById = find.findMessageComponentById;
|
|
96
100
|
exports.createEmbedAsset = assets.createEmbedAsset;
|
|
97
101
|
exports.createEmbedAuthor = author.createEmbedAuthor;
|
|
98
102
|
exports.EmbedPlusBuilder = embedplus.EmbedPlusBuilder;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as discord_js from 'discord.js';
|
|
2
|
-
import { GatewayIntentBits, Partials, ChannelType, Guild, CommandInteractionOption, Client, ApplicationCommand, GuildEmoji, GuildMember, GuildTextBasedChannel, Message, Role, WebhookClientOptions, WebhookClient, WebhookClientData, ComponentEmojiResolvable, ButtonBuilder, ActionRowBuilder, LinkButtonComponentData, Attachment, AttachmentBuilder, MessageActionRowComponentBuilder, TextDisplayBuilder, SeparatorBuilder, FileBuilder, SectionBuilder, MediaGalleryBuilder, ContainerBuilder, ContainerComponentBuilder as ContainerComponentBuilder$1, ColorResolvable, ComponentType, ContainerComponentData, ContainerComponent, APIUnfurledMediaItem, MediaGalleryItemData, TextInputBuilder, TextInputComponentData, TextInputStyle, LabelBuilder, LabelBuilderData, ComponentInLabelData, ModalBuilder, Collection, ModalData, LabelComponentData, TextDisplayComponentData, AnyComponentBuilder, ThumbnailComponentData, ThumbnailBuilder, ButtonComponentData, FileUploadBuilder, CheckboxComponentData, CheckboxBuilder, CheckboxGroupComponentData, CheckboxGroupBuilder, RadioGroupComponentData, RadioGroupBuilder, EmbedAssetData, User, ClientUser, ImageURLOptions, EmbedFooterData, APIEmbed, Embed, EmbedData, EmbedBuilder, AttachmentData, MediaGalleryItemBuilder, StringSelectMenuBuilder, UserSelectMenuBuilder, RoleSelectMenuBuilder, ChannelSelectMenuBuilder, MentionableSelectMenuBuilder } from 'discord.js';
|
|
2
|
+
import { GatewayIntentBits, Partials, ChannelType, Guild, CommandInteractionOption, Client, ApplicationCommand, GuildEmoji, GuildMember, GuildTextBasedChannel, Message, Role, WebhookClientOptions, WebhookClient, WebhookClientData, ComponentEmojiResolvable, ButtonBuilder, ActionRowBuilder, LinkButtonComponentData, Attachment, AttachmentBuilder, MessageActionRowComponentBuilder, TextDisplayBuilder, SeparatorBuilder, FileBuilder, SectionBuilder, MediaGalleryBuilder, ContainerBuilder, ContainerComponentBuilder as ContainerComponentBuilder$1, ColorResolvable, ComponentType, ContainerComponentData, ContainerComponent, APIUnfurledMediaItem, MediaGalleryItemData, TextInputBuilder, TextInputComponentData, TextInputStyle, LabelBuilder, LabelBuilderData, ComponentInLabelData, ModalBuilder, Collection, ModalData, LabelComponentData, TextDisplayComponentData, AnyComponentBuilder, ThumbnailComponentData, ThumbnailBuilder, ButtonComponentData, FileUploadBuilder, CheckboxComponentData, CheckboxBuilder, CheckboxGroupComponentData, CheckboxGroupBuilder, RadioGroupComponentData, RadioGroupBuilder, TopLevelComponent, MessageActionRowComponent, ThumbnailComponent, MediaGalleryComponent, ButtonComponent, StringSelectMenuComponent, UserSelectMenuComponent, RoleSelectMenuComponent, MentionableSelectMenuComponent, ChannelSelectMenuComponent, SectionComponent, SeparatorComponent, FileComponent, TextDisplayComponent, EmbedAssetData, User, ClientUser, ImageURLOptions, EmbedFooterData, APIEmbed, Embed, EmbedData, EmbedBuilder, AttachmentData, MediaGalleryItemBuilder, StringSelectMenuBuilder, UserSelectMenuBuilder, RoleSelectMenuBuilder, ChannelSelectMenuBuilder, MentionableSelectMenuBuilder } from 'discord.js';
|
|
3
3
|
export * from '@magicyan/core';
|
|
4
4
|
|
|
5
5
|
declare const chars: {
|
|
@@ -620,7 +620,7 @@ type ThumbnailData = Partial<Omit<ThumbnailComponentData, "type">> | Attachment
|
|
|
620
620
|
* spoiler: true
|
|
621
621
|
* });
|
|
622
622
|
*/
|
|
623
|
-
declare function createThumbnail(data: ThumbnailData): ThumbnailBuilder;
|
|
623
|
+
declare function createThumbnail(data: ThumbnailData, id?: number): ThumbnailBuilder;
|
|
624
624
|
|
|
625
625
|
type SectionThumbnailAccessory = ThumbnailBuilder | ThumbnailData;
|
|
626
626
|
type SectionButtonAccessory = ButtonBuilder | Partial<ButtonComponentData>;
|
|
@@ -949,6 +949,92 @@ type CreateRadioGroup = Omit<RadioGroupComponentData, "type">;
|
|
|
949
949
|
*/
|
|
950
950
|
declare function createRadioGroup(data: CreateRadioGroup): RadioGroupBuilder;
|
|
951
951
|
|
|
952
|
+
type MessageComponentWithId = TopLevelComponent | MessageActionRowComponent | ThumbnailComponent | MediaGalleryComponent;
|
|
953
|
+
type MessageComponentSource = MessageComponentWithId[] | {
|
|
954
|
+
components: MessageComponentWithId[];
|
|
955
|
+
} | {
|
|
956
|
+
message: {
|
|
957
|
+
components: MessageComponentWithId[];
|
|
958
|
+
};
|
|
959
|
+
};
|
|
960
|
+
|
|
961
|
+
/**
|
|
962
|
+
* Recursively traverses a message component tree and returns a flat array
|
|
963
|
+
* containing all components found in the structure.
|
|
964
|
+
*
|
|
965
|
+
* Supports component sources as a direct component array, an object with
|
|
966
|
+
* a `components` property, or an object containing `message.components`.
|
|
967
|
+
*
|
|
968
|
+
* Nested components inside containers and action rows are traversed
|
|
969
|
+
* recursively. For section components, the accessory component and any
|
|
970
|
+
* nested components are also included in the result.
|
|
971
|
+
*
|
|
972
|
+
* @param source The source containing the message components to flatten.
|
|
973
|
+
* @returns A flat array containing all components found in traversal order.
|
|
974
|
+
*/
|
|
975
|
+
declare function flattenMessageComponents(source: MessageComponentSource): MessageComponentWithId[];
|
|
976
|
+
|
|
977
|
+
/**
|
|
978
|
+
* Finds a component by its identifier.
|
|
979
|
+
*/
|
|
980
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number): MessageComponentWithId | null;
|
|
981
|
+
/**
|
|
982
|
+
* Finds a {@link ButtonComponent} by its identifier.
|
|
983
|
+
*/
|
|
984
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.Button): ButtonComponent | null;
|
|
985
|
+
/**
|
|
986
|
+
* Finds a {@link StringSelectMenuComponent} by its identifier.
|
|
987
|
+
*/
|
|
988
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.StringSelect): StringSelectMenuComponent | null;
|
|
989
|
+
/**
|
|
990
|
+
* Finds a {@link UserSelectMenuComponent} by its identifier.
|
|
991
|
+
*/
|
|
992
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.UserSelect): UserSelectMenuComponent | null;
|
|
993
|
+
/**
|
|
994
|
+
* Finds a {@link RoleSelectMenuComponent} by its identifier.
|
|
995
|
+
*/
|
|
996
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.RoleSelect): RoleSelectMenuComponent | null;
|
|
997
|
+
/**
|
|
998
|
+
* Finds a {@link MentionableSelectMenuComponent} by its identifier.
|
|
999
|
+
*/
|
|
1000
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.MentionableSelect): MentionableSelectMenuComponent | null;
|
|
1001
|
+
/**
|
|
1002
|
+
* Finds a {@link ChannelSelectMenuComponent} by its identifier.
|
|
1003
|
+
*/
|
|
1004
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.ChannelSelect): ChannelSelectMenuComponent | null;
|
|
1005
|
+
/**
|
|
1006
|
+
* Finds a {@link ContainerComponent} by its identifier.
|
|
1007
|
+
*/
|
|
1008
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.Container): ContainerComponent | null;
|
|
1009
|
+
/**
|
|
1010
|
+
* Finds a {@link SectionComponent} by its identifier.
|
|
1011
|
+
*/
|
|
1012
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.Section): SectionComponent | null;
|
|
1013
|
+
/**
|
|
1014
|
+
* Finds a {@link MediaGalleryComponent} by its identifier.
|
|
1015
|
+
*/
|
|
1016
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.MediaGallery): MediaGalleryComponent | null;
|
|
1017
|
+
/**
|
|
1018
|
+
* Finds a {@link ThumbnailComponent} by its identifier.
|
|
1019
|
+
*/
|
|
1020
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.Thumbnail): ThumbnailComponent | null;
|
|
1021
|
+
/**
|
|
1022
|
+
* Finds a {@link SeparatorComponent} by its identifier.
|
|
1023
|
+
*/
|
|
1024
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.Separator): SeparatorComponent | null;
|
|
1025
|
+
/**
|
|
1026
|
+
* Finds a {@link FileComponent} by its identifier.
|
|
1027
|
+
*/
|
|
1028
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.File): FileComponent | null;
|
|
1029
|
+
/**
|
|
1030
|
+
* Finds a {@link TextDisplayComponent} by its identifier.
|
|
1031
|
+
*/
|
|
1032
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.TextDisplay): TextDisplayComponent | null;
|
|
1033
|
+
/**
|
|
1034
|
+
* Finds a {@link MessageActionRowComponent} by its identifier.
|
|
1035
|
+
*/
|
|
1036
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.ActionRow): MessageActionRowComponent | null;
|
|
1037
|
+
|
|
952
1038
|
type EmbedPlusAssetData = string | Attachment | AttachmentBuilder | EmbedAssetData | undefined | null;
|
|
953
1039
|
type EmbedAssetOptions = Omit<EmbedAssetData, "url">;
|
|
954
1040
|
declare function createEmbedAsset(source: EmbedPlusAssetData, options?: EmbedAssetOptions): EmbedAssetData | undefined;
|
|
@@ -1375,5 +1461,5 @@ declare function isTextInputBuilder(value: unknown): value is TextInputBuilder;
|
|
|
1375
1461
|
*/
|
|
1376
1462
|
declare function isMessage(value: unknown): value is Message;
|
|
1377
1463
|
|
|
1378
|
-
export { ContainerPlusBuilder, CustomItents, CustomPartials, EmbedLimit, EmbedPlusBuilder, Separator, chars, commandMention, createCheckbox, createCheckboxGroup, createComponents, createContainer, createEmbed, createEmbedAsset, createEmbedAuthor, createEmbedFiles, createEmbedFooter, createFile, createFileUpload, createLabel, createLinkButton, createMediaGallery, createModal, createModalFields, createModalInput, createRadioGroup, createRow, createSection, createSeparator, createTextDisplay, createTextInput, createThumbArea, createThumbnail, createWebhookClient, extractMentionId, fetchMessageFromURL, findChannel, findCommand, findEmoji, findMember, findMessage, findRole, getChannelUrlInfo, getMessageURLInfo, isActionRowBuilder, isAnySelectMenuBuilder, isAttachment, isButtonBuilder, isChannelSelectMenuBuilder, isContainerBuilder, isFileBuilder, isMediaGalleryBuilder, isMediaGalleryItemBuilder, isMentionableSelectMenuBuilder, isMessage, isModalBuilder, isRoleSelectMenuBuilder, isSectionBuilder, isSeparatorBuilder, isStringSelectMenuBuilder, isTextDisplayBuilder, isTextInputBuilder, isUserSelectMenuBuilder, modalFieldsToRecord, setMobileStatus, wrapButtons };
|
|
1464
|
+
export { ContainerPlusBuilder, CustomItents, CustomPartials, EmbedLimit, EmbedPlusBuilder, Separator, chars, commandMention, createCheckbox, createCheckboxGroup, createComponents, createContainer, createEmbed, createEmbedAsset, createEmbedAuthor, createEmbedFiles, createEmbedFooter, createFile, createFileUpload, createLabel, createLinkButton, createMediaGallery, createModal, createModalFields, createModalInput, createRadioGroup, createRow, createSection, createSeparator, createTextDisplay, createTextInput, createThumbArea, createThumbnail, createWebhookClient, extractMentionId, fetchMessageFromURL, findChannel, findCommand, findEmoji, findMember, findMessage, findMessageComponentById, findRole, flattenMessageComponents, getChannelUrlInfo, getMessageURLInfo, isActionRowBuilder, isAnySelectMenuBuilder, isAttachment, isButtonBuilder, isChannelSelectMenuBuilder, isContainerBuilder, isFileBuilder, isMediaGalleryBuilder, isMediaGalleryItemBuilder, isMentionableSelectMenuBuilder, isMessage, isModalBuilder, isRoleSelectMenuBuilder, isSectionBuilder, isSeparatorBuilder, isStringSelectMenuBuilder, isTextDisplayBuilder, isTextInputBuilder, isUserSelectMenuBuilder, modalFieldsToRecord, setMobileStatus, wrapButtons };
|
|
1379
1465
|
export type { AnyEmbedData, AnySelectMenuBuilder, ComponentBuildersData, ComponentData, ContainerColor, ContainerComponentBuilder, ContainerData, ContainerInComponentType, CreateCheckboxData, CreateCheckboxGroupData, CreateComponentData, CreateModalOptions, CreateRadioGroup, EmbedPlusAssetData, EmbedPlusAuthorData, EmbedPlusColorData, EmbedPlusData, EmbedPlusFooterData, EmbedPlusProperty, FileUploadData, MagicComponentData, MediaGallerySource, SectionAccessory, SectionAccessoryData, SectionButtonAccessory, SectionData, SectionThumbnailAccessory, SeparatorData, ThumbAreaData, ThumbAreaThumbnail, ThumbnailData };
|
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as discord_js from 'discord.js';
|
|
2
|
-
import { GatewayIntentBits, Partials, ChannelType, Guild, CommandInteractionOption, Client, ApplicationCommand, GuildEmoji, GuildMember, GuildTextBasedChannel, Message, Role, WebhookClientOptions, WebhookClient, WebhookClientData, ComponentEmojiResolvable, ButtonBuilder, ActionRowBuilder, LinkButtonComponentData, Attachment, AttachmentBuilder, MessageActionRowComponentBuilder, TextDisplayBuilder, SeparatorBuilder, FileBuilder, SectionBuilder, MediaGalleryBuilder, ContainerBuilder, ContainerComponentBuilder as ContainerComponentBuilder$1, ColorResolvable, ComponentType, ContainerComponentData, ContainerComponent, APIUnfurledMediaItem, MediaGalleryItemData, TextInputBuilder, TextInputComponentData, TextInputStyle, LabelBuilder, LabelBuilderData, ComponentInLabelData, ModalBuilder, Collection, ModalData, LabelComponentData, TextDisplayComponentData, AnyComponentBuilder, ThumbnailComponentData, ThumbnailBuilder, ButtonComponentData, FileUploadBuilder, CheckboxComponentData, CheckboxBuilder, CheckboxGroupComponentData, CheckboxGroupBuilder, RadioGroupComponentData, RadioGroupBuilder, EmbedAssetData, User, ClientUser, ImageURLOptions, EmbedFooterData, APIEmbed, Embed, EmbedData, EmbedBuilder, AttachmentData, MediaGalleryItemBuilder, StringSelectMenuBuilder, UserSelectMenuBuilder, RoleSelectMenuBuilder, ChannelSelectMenuBuilder, MentionableSelectMenuBuilder } from 'discord.js';
|
|
2
|
+
import { GatewayIntentBits, Partials, ChannelType, Guild, CommandInteractionOption, Client, ApplicationCommand, GuildEmoji, GuildMember, GuildTextBasedChannel, Message, Role, WebhookClientOptions, WebhookClient, WebhookClientData, ComponentEmojiResolvable, ButtonBuilder, ActionRowBuilder, LinkButtonComponentData, Attachment, AttachmentBuilder, MessageActionRowComponentBuilder, TextDisplayBuilder, SeparatorBuilder, FileBuilder, SectionBuilder, MediaGalleryBuilder, ContainerBuilder, ContainerComponentBuilder as ContainerComponentBuilder$1, ColorResolvable, ComponentType, ContainerComponentData, ContainerComponent, APIUnfurledMediaItem, MediaGalleryItemData, TextInputBuilder, TextInputComponentData, TextInputStyle, LabelBuilder, LabelBuilderData, ComponentInLabelData, ModalBuilder, Collection, ModalData, LabelComponentData, TextDisplayComponentData, AnyComponentBuilder, ThumbnailComponentData, ThumbnailBuilder, ButtonComponentData, FileUploadBuilder, CheckboxComponentData, CheckboxBuilder, CheckboxGroupComponentData, CheckboxGroupBuilder, RadioGroupComponentData, RadioGroupBuilder, TopLevelComponent, MessageActionRowComponent, ThumbnailComponent, MediaGalleryComponent, ButtonComponent, StringSelectMenuComponent, UserSelectMenuComponent, RoleSelectMenuComponent, MentionableSelectMenuComponent, ChannelSelectMenuComponent, SectionComponent, SeparatorComponent, FileComponent, TextDisplayComponent, EmbedAssetData, User, ClientUser, ImageURLOptions, EmbedFooterData, APIEmbed, Embed, EmbedData, EmbedBuilder, AttachmentData, MediaGalleryItemBuilder, StringSelectMenuBuilder, UserSelectMenuBuilder, RoleSelectMenuBuilder, ChannelSelectMenuBuilder, MentionableSelectMenuBuilder } from 'discord.js';
|
|
3
3
|
export * from '@magicyan/core';
|
|
4
4
|
|
|
5
5
|
declare const chars: {
|
|
@@ -620,7 +620,7 @@ type ThumbnailData = Partial<Omit<ThumbnailComponentData, "type">> | Attachment
|
|
|
620
620
|
* spoiler: true
|
|
621
621
|
* });
|
|
622
622
|
*/
|
|
623
|
-
declare function createThumbnail(data: ThumbnailData): ThumbnailBuilder;
|
|
623
|
+
declare function createThumbnail(data: ThumbnailData, id?: number): ThumbnailBuilder;
|
|
624
624
|
|
|
625
625
|
type SectionThumbnailAccessory = ThumbnailBuilder | ThumbnailData;
|
|
626
626
|
type SectionButtonAccessory = ButtonBuilder | Partial<ButtonComponentData>;
|
|
@@ -949,6 +949,92 @@ type CreateRadioGroup = Omit<RadioGroupComponentData, "type">;
|
|
|
949
949
|
*/
|
|
950
950
|
declare function createRadioGroup(data: CreateRadioGroup): RadioGroupBuilder;
|
|
951
951
|
|
|
952
|
+
type MessageComponentWithId = TopLevelComponent | MessageActionRowComponent | ThumbnailComponent | MediaGalleryComponent;
|
|
953
|
+
type MessageComponentSource = MessageComponentWithId[] | {
|
|
954
|
+
components: MessageComponentWithId[];
|
|
955
|
+
} | {
|
|
956
|
+
message: {
|
|
957
|
+
components: MessageComponentWithId[];
|
|
958
|
+
};
|
|
959
|
+
};
|
|
960
|
+
|
|
961
|
+
/**
|
|
962
|
+
* Recursively traverses a message component tree and returns a flat array
|
|
963
|
+
* containing all components found in the structure.
|
|
964
|
+
*
|
|
965
|
+
* Supports component sources as a direct component array, an object with
|
|
966
|
+
* a `components` property, or an object containing `message.components`.
|
|
967
|
+
*
|
|
968
|
+
* Nested components inside containers and action rows are traversed
|
|
969
|
+
* recursively. For section components, the accessory component and any
|
|
970
|
+
* nested components are also included in the result.
|
|
971
|
+
*
|
|
972
|
+
* @param source The source containing the message components to flatten.
|
|
973
|
+
* @returns A flat array containing all components found in traversal order.
|
|
974
|
+
*/
|
|
975
|
+
declare function flattenMessageComponents(source: MessageComponentSource): MessageComponentWithId[];
|
|
976
|
+
|
|
977
|
+
/**
|
|
978
|
+
* Finds a component by its identifier.
|
|
979
|
+
*/
|
|
980
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number): MessageComponentWithId | null;
|
|
981
|
+
/**
|
|
982
|
+
* Finds a {@link ButtonComponent} by its identifier.
|
|
983
|
+
*/
|
|
984
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.Button): ButtonComponent | null;
|
|
985
|
+
/**
|
|
986
|
+
* Finds a {@link StringSelectMenuComponent} by its identifier.
|
|
987
|
+
*/
|
|
988
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.StringSelect): StringSelectMenuComponent | null;
|
|
989
|
+
/**
|
|
990
|
+
* Finds a {@link UserSelectMenuComponent} by its identifier.
|
|
991
|
+
*/
|
|
992
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.UserSelect): UserSelectMenuComponent | null;
|
|
993
|
+
/**
|
|
994
|
+
* Finds a {@link RoleSelectMenuComponent} by its identifier.
|
|
995
|
+
*/
|
|
996
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.RoleSelect): RoleSelectMenuComponent | null;
|
|
997
|
+
/**
|
|
998
|
+
* Finds a {@link MentionableSelectMenuComponent} by its identifier.
|
|
999
|
+
*/
|
|
1000
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.MentionableSelect): MentionableSelectMenuComponent | null;
|
|
1001
|
+
/**
|
|
1002
|
+
* Finds a {@link ChannelSelectMenuComponent} by its identifier.
|
|
1003
|
+
*/
|
|
1004
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.ChannelSelect): ChannelSelectMenuComponent | null;
|
|
1005
|
+
/**
|
|
1006
|
+
* Finds a {@link ContainerComponent} by its identifier.
|
|
1007
|
+
*/
|
|
1008
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.Container): ContainerComponent | null;
|
|
1009
|
+
/**
|
|
1010
|
+
* Finds a {@link SectionComponent} by its identifier.
|
|
1011
|
+
*/
|
|
1012
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.Section): SectionComponent | null;
|
|
1013
|
+
/**
|
|
1014
|
+
* Finds a {@link MediaGalleryComponent} by its identifier.
|
|
1015
|
+
*/
|
|
1016
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.MediaGallery): MediaGalleryComponent | null;
|
|
1017
|
+
/**
|
|
1018
|
+
* Finds a {@link ThumbnailComponent} by its identifier.
|
|
1019
|
+
*/
|
|
1020
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.Thumbnail): ThumbnailComponent | null;
|
|
1021
|
+
/**
|
|
1022
|
+
* Finds a {@link SeparatorComponent} by its identifier.
|
|
1023
|
+
*/
|
|
1024
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.Separator): SeparatorComponent | null;
|
|
1025
|
+
/**
|
|
1026
|
+
* Finds a {@link FileComponent} by its identifier.
|
|
1027
|
+
*/
|
|
1028
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.File): FileComponent | null;
|
|
1029
|
+
/**
|
|
1030
|
+
* Finds a {@link TextDisplayComponent} by its identifier.
|
|
1031
|
+
*/
|
|
1032
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.TextDisplay): TextDisplayComponent | null;
|
|
1033
|
+
/**
|
|
1034
|
+
* Finds a {@link MessageActionRowComponent} by its identifier.
|
|
1035
|
+
*/
|
|
1036
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.ActionRow): MessageActionRowComponent | null;
|
|
1037
|
+
|
|
952
1038
|
type EmbedPlusAssetData = string | Attachment | AttachmentBuilder | EmbedAssetData | undefined | null;
|
|
953
1039
|
type EmbedAssetOptions = Omit<EmbedAssetData, "url">;
|
|
954
1040
|
declare function createEmbedAsset(source: EmbedPlusAssetData, options?: EmbedAssetOptions): EmbedAssetData | undefined;
|
|
@@ -1375,5 +1461,5 @@ declare function isTextInputBuilder(value: unknown): value is TextInputBuilder;
|
|
|
1375
1461
|
*/
|
|
1376
1462
|
declare function isMessage(value: unknown): value is Message;
|
|
1377
1463
|
|
|
1378
|
-
export { ContainerPlusBuilder, CustomItents, CustomPartials, EmbedLimit, EmbedPlusBuilder, Separator, chars, commandMention, createCheckbox, createCheckboxGroup, createComponents, createContainer, createEmbed, createEmbedAsset, createEmbedAuthor, createEmbedFiles, createEmbedFooter, createFile, createFileUpload, createLabel, createLinkButton, createMediaGallery, createModal, createModalFields, createModalInput, createRadioGroup, createRow, createSection, createSeparator, createTextDisplay, createTextInput, createThumbArea, createThumbnail, createWebhookClient, extractMentionId, fetchMessageFromURL, findChannel, findCommand, findEmoji, findMember, findMessage, findRole, getChannelUrlInfo, getMessageURLInfo, isActionRowBuilder, isAnySelectMenuBuilder, isAttachment, isButtonBuilder, isChannelSelectMenuBuilder, isContainerBuilder, isFileBuilder, isMediaGalleryBuilder, isMediaGalleryItemBuilder, isMentionableSelectMenuBuilder, isMessage, isModalBuilder, isRoleSelectMenuBuilder, isSectionBuilder, isSeparatorBuilder, isStringSelectMenuBuilder, isTextDisplayBuilder, isTextInputBuilder, isUserSelectMenuBuilder, modalFieldsToRecord, setMobileStatus, wrapButtons };
|
|
1464
|
+
export { ContainerPlusBuilder, CustomItents, CustomPartials, EmbedLimit, EmbedPlusBuilder, Separator, chars, commandMention, createCheckbox, createCheckboxGroup, createComponents, createContainer, createEmbed, createEmbedAsset, createEmbedAuthor, createEmbedFiles, createEmbedFooter, createFile, createFileUpload, createLabel, createLinkButton, createMediaGallery, createModal, createModalFields, createModalInput, createRadioGroup, createRow, createSection, createSeparator, createTextDisplay, createTextInput, createThumbArea, createThumbnail, createWebhookClient, extractMentionId, fetchMessageFromURL, findChannel, findCommand, findEmoji, findMember, findMessage, findMessageComponentById, findRole, flattenMessageComponents, getChannelUrlInfo, getMessageURLInfo, isActionRowBuilder, isAnySelectMenuBuilder, isAttachment, isButtonBuilder, isChannelSelectMenuBuilder, isContainerBuilder, isFileBuilder, isMediaGalleryBuilder, isMediaGalleryItemBuilder, isMentionableSelectMenuBuilder, isMessage, isModalBuilder, isRoleSelectMenuBuilder, isSectionBuilder, isSeparatorBuilder, isStringSelectMenuBuilder, isTextDisplayBuilder, isTextInputBuilder, isUserSelectMenuBuilder, modalFieldsToRecord, setMobileStatus, wrapButtons };
|
|
1379
1465
|
export type { AnyEmbedData, AnySelectMenuBuilder, ComponentBuildersData, ComponentData, ContainerColor, ContainerComponentBuilder, ContainerData, ContainerInComponentType, CreateCheckboxData, CreateCheckboxGroupData, CreateComponentData, CreateModalOptions, CreateRadioGroup, EmbedPlusAssetData, EmbedPlusAuthorData, EmbedPlusColorData, EmbedPlusData, EmbedPlusFooterData, EmbedPlusProperty, FileUploadData, MagicComponentData, MediaGallerySource, SectionAccessory, SectionAccessoryData, SectionButtonAccessory, SectionData, SectionThumbnailAccessory, SeparatorData, ThumbAreaData, ThumbAreaThumbnail, ThumbnailData };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as discord_js from 'discord.js';
|
|
2
|
-
import { GatewayIntentBits, Partials, ChannelType, Guild, CommandInteractionOption, Client, ApplicationCommand, GuildEmoji, GuildMember, GuildTextBasedChannel, Message, Role, WebhookClientOptions, WebhookClient, WebhookClientData, ComponentEmojiResolvable, ButtonBuilder, ActionRowBuilder, LinkButtonComponentData, Attachment, AttachmentBuilder, MessageActionRowComponentBuilder, TextDisplayBuilder, SeparatorBuilder, FileBuilder, SectionBuilder, MediaGalleryBuilder, ContainerBuilder, ContainerComponentBuilder as ContainerComponentBuilder$1, ColorResolvable, ComponentType, ContainerComponentData, ContainerComponent, APIUnfurledMediaItem, MediaGalleryItemData, TextInputBuilder, TextInputComponentData, TextInputStyle, LabelBuilder, LabelBuilderData, ComponentInLabelData, ModalBuilder, Collection, ModalData, LabelComponentData, TextDisplayComponentData, AnyComponentBuilder, ThumbnailComponentData, ThumbnailBuilder, ButtonComponentData, FileUploadBuilder, CheckboxComponentData, CheckboxBuilder, CheckboxGroupComponentData, CheckboxGroupBuilder, RadioGroupComponentData, RadioGroupBuilder, EmbedAssetData, User, ClientUser, ImageURLOptions, EmbedFooterData, APIEmbed, Embed, EmbedData, EmbedBuilder, AttachmentData, MediaGalleryItemBuilder, StringSelectMenuBuilder, UserSelectMenuBuilder, RoleSelectMenuBuilder, ChannelSelectMenuBuilder, MentionableSelectMenuBuilder } from 'discord.js';
|
|
2
|
+
import { GatewayIntentBits, Partials, ChannelType, Guild, CommandInteractionOption, Client, ApplicationCommand, GuildEmoji, GuildMember, GuildTextBasedChannel, Message, Role, WebhookClientOptions, WebhookClient, WebhookClientData, ComponentEmojiResolvable, ButtonBuilder, ActionRowBuilder, LinkButtonComponentData, Attachment, AttachmentBuilder, MessageActionRowComponentBuilder, TextDisplayBuilder, SeparatorBuilder, FileBuilder, SectionBuilder, MediaGalleryBuilder, ContainerBuilder, ContainerComponentBuilder as ContainerComponentBuilder$1, ColorResolvable, ComponentType, ContainerComponentData, ContainerComponent, APIUnfurledMediaItem, MediaGalleryItemData, TextInputBuilder, TextInputComponentData, TextInputStyle, LabelBuilder, LabelBuilderData, ComponentInLabelData, ModalBuilder, Collection, ModalData, LabelComponentData, TextDisplayComponentData, AnyComponentBuilder, ThumbnailComponentData, ThumbnailBuilder, ButtonComponentData, FileUploadBuilder, CheckboxComponentData, CheckboxBuilder, CheckboxGroupComponentData, CheckboxGroupBuilder, RadioGroupComponentData, RadioGroupBuilder, TopLevelComponent, MessageActionRowComponent, ThumbnailComponent, MediaGalleryComponent, ButtonComponent, StringSelectMenuComponent, UserSelectMenuComponent, RoleSelectMenuComponent, MentionableSelectMenuComponent, ChannelSelectMenuComponent, SectionComponent, SeparatorComponent, FileComponent, TextDisplayComponent, EmbedAssetData, User, ClientUser, ImageURLOptions, EmbedFooterData, APIEmbed, Embed, EmbedData, EmbedBuilder, AttachmentData, MediaGalleryItemBuilder, StringSelectMenuBuilder, UserSelectMenuBuilder, RoleSelectMenuBuilder, ChannelSelectMenuBuilder, MentionableSelectMenuBuilder } from 'discord.js';
|
|
3
3
|
export * from '@magicyan/core';
|
|
4
4
|
|
|
5
5
|
declare const chars: {
|
|
@@ -620,7 +620,7 @@ type ThumbnailData = Partial<Omit<ThumbnailComponentData, "type">> | Attachment
|
|
|
620
620
|
* spoiler: true
|
|
621
621
|
* });
|
|
622
622
|
*/
|
|
623
|
-
declare function createThumbnail(data: ThumbnailData): ThumbnailBuilder;
|
|
623
|
+
declare function createThumbnail(data: ThumbnailData, id?: number): ThumbnailBuilder;
|
|
624
624
|
|
|
625
625
|
type SectionThumbnailAccessory = ThumbnailBuilder | ThumbnailData;
|
|
626
626
|
type SectionButtonAccessory = ButtonBuilder | Partial<ButtonComponentData>;
|
|
@@ -949,6 +949,92 @@ type CreateRadioGroup = Omit<RadioGroupComponentData, "type">;
|
|
|
949
949
|
*/
|
|
950
950
|
declare function createRadioGroup(data: CreateRadioGroup): RadioGroupBuilder;
|
|
951
951
|
|
|
952
|
+
type MessageComponentWithId = TopLevelComponent | MessageActionRowComponent | ThumbnailComponent | MediaGalleryComponent;
|
|
953
|
+
type MessageComponentSource = MessageComponentWithId[] | {
|
|
954
|
+
components: MessageComponentWithId[];
|
|
955
|
+
} | {
|
|
956
|
+
message: {
|
|
957
|
+
components: MessageComponentWithId[];
|
|
958
|
+
};
|
|
959
|
+
};
|
|
960
|
+
|
|
961
|
+
/**
|
|
962
|
+
* Recursively traverses a message component tree and returns a flat array
|
|
963
|
+
* containing all components found in the structure.
|
|
964
|
+
*
|
|
965
|
+
* Supports component sources as a direct component array, an object with
|
|
966
|
+
* a `components` property, or an object containing `message.components`.
|
|
967
|
+
*
|
|
968
|
+
* Nested components inside containers and action rows are traversed
|
|
969
|
+
* recursively. For section components, the accessory component and any
|
|
970
|
+
* nested components are also included in the result.
|
|
971
|
+
*
|
|
972
|
+
* @param source The source containing the message components to flatten.
|
|
973
|
+
* @returns A flat array containing all components found in traversal order.
|
|
974
|
+
*/
|
|
975
|
+
declare function flattenMessageComponents(source: MessageComponentSource): MessageComponentWithId[];
|
|
976
|
+
|
|
977
|
+
/**
|
|
978
|
+
* Finds a component by its identifier.
|
|
979
|
+
*/
|
|
980
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number): MessageComponentWithId | null;
|
|
981
|
+
/**
|
|
982
|
+
* Finds a {@link ButtonComponent} by its identifier.
|
|
983
|
+
*/
|
|
984
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.Button): ButtonComponent | null;
|
|
985
|
+
/**
|
|
986
|
+
* Finds a {@link StringSelectMenuComponent} by its identifier.
|
|
987
|
+
*/
|
|
988
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.StringSelect): StringSelectMenuComponent | null;
|
|
989
|
+
/**
|
|
990
|
+
* Finds a {@link UserSelectMenuComponent} by its identifier.
|
|
991
|
+
*/
|
|
992
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.UserSelect): UserSelectMenuComponent | null;
|
|
993
|
+
/**
|
|
994
|
+
* Finds a {@link RoleSelectMenuComponent} by its identifier.
|
|
995
|
+
*/
|
|
996
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.RoleSelect): RoleSelectMenuComponent | null;
|
|
997
|
+
/**
|
|
998
|
+
* Finds a {@link MentionableSelectMenuComponent} by its identifier.
|
|
999
|
+
*/
|
|
1000
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.MentionableSelect): MentionableSelectMenuComponent | null;
|
|
1001
|
+
/**
|
|
1002
|
+
* Finds a {@link ChannelSelectMenuComponent} by its identifier.
|
|
1003
|
+
*/
|
|
1004
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.ChannelSelect): ChannelSelectMenuComponent | null;
|
|
1005
|
+
/**
|
|
1006
|
+
* Finds a {@link ContainerComponent} by its identifier.
|
|
1007
|
+
*/
|
|
1008
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.Container): ContainerComponent | null;
|
|
1009
|
+
/**
|
|
1010
|
+
* Finds a {@link SectionComponent} by its identifier.
|
|
1011
|
+
*/
|
|
1012
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.Section): SectionComponent | null;
|
|
1013
|
+
/**
|
|
1014
|
+
* Finds a {@link MediaGalleryComponent} by its identifier.
|
|
1015
|
+
*/
|
|
1016
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.MediaGallery): MediaGalleryComponent | null;
|
|
1017
|
+
/**
|
|
1018
|
+
* Finds a {@link ThumbnailComponent} by its identifier.
|
|
1019
|
+
*/
|
|
1020
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.Thumbnail): ThumbnailComponent | null;
|
|
1021
|
+
/**
|
|
1022
|
+
* Finds a {@link SeparatorComponent} by its identifier.
|
|
1023
|
+
*/
|
|
1024
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.Separator): SeparatorComponent | null;
|
|
1025
|
+
/**
|
|
1026
|
+
* Finds a {@link FileComponent} by its identifier.
|
|
1027
|
+
*/
|
|
1028
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.File): FileComponent | null;
|
|
1029
|
+
/**
|
|
1030
|
+
* Finds a {@link TextDisplayComponent} by its identifier.
|
|
1031
|
+
*/
|
|
1032
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.TextDisplay): TextDisplayComponent | null;
|
|
1033
|
+
/**
|
|
1034
|
+
* Finds a {@link MessageActionRowComponent} by its identifier.
|
|
1035
|
+
*/
|
|
1036
|
+
declare function findMessageComponentById(source: MessageComponentSource, id: number, type: ComponentType.ActionRow): MessageActionRowComponent | null;
|
|
1037
|
+
|
|
952
1038
|
type EmbedPlusAssetData = string | Attachment | AttachmentBuilder | EmbedAssetData | undefined | null;
|
|
953
1039
|
type EmbedAssetOptions = Omit<EmbedAssetData, "url">;
|
|
954
1040
|
declare function createEmbedAsset(source: EmbedPlusAssetData, options?: EmbedAssetOptions): EmbedAssetData | undefined;
|
|
@@ -1375,5 +1461,5 @@ declare function isTextInputBuilder(value: unknown): value is TextInputBuilder;
|
|
|
1375
1461
|
*/
|
|
1376
1462
|
declare function isMessage(value: unknown): value is Message;
|
|
1377
1463
|
|
|
1378
|
-
export { ContainerPlusBuilder, CustomItents, CustomPartials, EmbedLimit, EmbedPlusBuilder, Separator, chars, commandMention, createCheckbox, createCheckboxGroup, createComponents, createContainer, createEmbed, createEmbedAsset, createEmbedAuthor, createEmbedFiles, createEmbedFooter, createFile, createFileUpload, createLabel, createLinkButton, createMediaGallery, createModal, createModalFields, createModalInput, createRadioGroup, createRow, createSection, createSeparator, createTextDisplay, createTextInput, createThumbArea, createThumbnail, createWebhookClient, extractMentionId, fetchMessageFromURL, findChannel, findCommand, findEmoji, findMember, findMessage, findRole, getChannelUrlInfo, getMessageURLInfo, isActionRowBuilder, isAnySelectMenuBuilder, isAttachment, isButtonBuilder, isChannelSelectMenuBuilder, isContainerBuilder, isFileBuilder, isMediaGalleryBuilder, isMediaGalleryItemBuilder, isMentionableSelectMenuBuilder, isMessage, isModalBuilder, isRoleSelectMenuBuilder, isSectionBuilder, isSeparatorBuilder, isStringSelectMenuBuilder, isTextDisplayBuilder, isTextInputBuilder, isUserSelectMenuBuilder, modalFieldsToRecord, setMobileStatus, wrapButtons };
|
|
1464
|
+
export { ContainerPlusBuilder, CustomItents, CustomPartials, EmbedLimit, EmbedPlusBuilder, Separator, chars, commandMention, createCheckbox, createCheckboxGroup, createComponents, createContainer, createEmbed, createEmbedAsset, createEmbedAuthor, createEmbedFiles, createEmbedFooter, createFile, createFileUpload, createLabel, createLinkButton, createMediaGallery, createModal, createModalFields, createModalInput, createRadioGroup, createRow, createSection, createSeparator, createTextDisplay, createTextInput, createThumbArea, createThumbnail, createWebhookClient, extractMentionId, fetchMessageFromURL, findChannel, findCommand, findEmoji, findMember, findMessage, findMessageComponentById, findRole, flattenMessageComponents, getChannelUrlInfo, getMessageURLInfo, isActionRowBuilder, isAnySelectMenuBuilder, isAttachment, isButtonBuilder, isChannelSelectMenuBuilder, isContainerBuilder, isFileBuilder, isMediaGalleryBuilder, isMediaGalleryItemBuilder, isMentionableSelectMenuBuilder, isMessage, isModalBuilder, isRoleSelectMenuBuilder, isSectionBuilder, isSeparatorBuilder, isStringSelectMenuBuilder, isTextDisplayBuilder, isTextInputBuilder, isUserSelectMenuBuilder, modalFieldsToRecord, setMobileStatus, wrapButtons };
|
|
1379
1465
|
export type { AnyEmbedData, AnySelectMenuBuilder, ComponentBuildersData, ComponentData, ContainerColor, ContainerComponentBuilder, ContainerData, ContainerInComponentType, CreateCheckboxData, CreateCheckboxGroupData, CreateComponentData, CreateModalOptions, CreateRadioGroup, EmbedPlusAssetData, EmbedPlusAuthorData, EmbedPlusColorData, EmbedPlusData, EmbedPlusFooterData, EmbedPlusProperty, FileUploadData, MagicComponentData, MediaGallerySource, SectionAccessory, SectionAccessoryData, SectionButtonAccessory, SectionData, SectionThumbnailAccessory, SeparatorData, ThumbAreaData, ThumbAreaThumbnail, ThumbnailData };
|
package/dist/index.mjs
CHANGED
|
@@ -28,6 +28,8 @@ export { createThumbnail } from './functions/components/thumbnail.mjs';
|
|
|
28
28
|
export { createFileUpload } from './functions/components/upload.mjs';
|
|
29
29
|
export { createCheckbox, createCheckboxGroup } from './functions/components/checkbox.mjs';
|
|
30
30
|
export { createRadioGroup } from './functions/components/radio.mjs';
|
|
31
|
+
export { flattenMessageComponents } from './functions/components/flatten.mjs';
|
|
32
|
+
export { findMessageComponentById } from './functions/components/find.mjs';
|
|
31
33
|
export { createEmbedAsset } from './functions/embeds/assets.mjs';
|
|
32
34
|
export { createEmbedAuthor } from './functions/embeds/author.mjs';
|
|
33
35
|
export { EmbedPlusBuilder, createEmbed } from './functions/embeds/embedplus.mjs';
|