@magicyan/discord 1.7.0 → 1.7.1
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/gallery.cjs +1 -1
- package/dist/functions/components/gallery.mjs +1 -1
- package/dist/functions/components/label.cjs +21 -14
- package/dist/functions/components/label.mjs +22 -15
- package/dist/functions/components/modal.cjs +15 -0
- package/dist/functions/components/modal.mjs +16 -2
- package/dist/functions/components/row.cjs +2 -1
- package/dist/functions/components/row.mjs +2 -1
- package/dist/index.cjs +1 -0
- package/dist/index.d.cts +54 -9
- package/dist/index.d.mts +54 -9
- package/dist/index.d.ts +54 -9
- package/dist/index.mjs +1 -1
- package/package.json +2 -2
|
@@ -6,7 +6,7 @@ const core = require('@magicyan/core');
|
|
|
6
6
|
|
|
7
7
|
function createMediaGallery(...items) {
|
|
8
8
|
return new discord_js.MediaGalleryBuilder({
|
|
9
|
-
items: items.flat().filter(core.isDefined).map((item) => {
|
|
9
|
+
items: items.flat().filter((item) => typeof item !== "boolean").filter(core.isDefined).map((item) => {
|
|
10
10
|
if (typeof item === "string") {
|
|
11
11
|
return { media: { url: item } };
|
|
12
12
|
}
|
|
@@ -4,7 +4,7 @@ import { isDefined } from '@magicyan/core';
|
|
|
4
4
|
|
|
5
5
|
function createMediaGallery(...items) {
|
|
6
6
|
return new MediaGalleryBuilder({
|
|
7
|
-
items: items.flat().filter(isDefined).map((item) => {
|
|
7
|
+
items: items.flat().filter((item) => typeof item !== "boolean").filter(isDefined).map((item) => {
|
|
8
8
|
if (typeof item === "string") {
|
|
9
9
|
return { media: { url: item } };
|
|
10
10
|
}
|
|
@@ -2,26 +2,33 @@
|
|
|
2
2
|
|
|
3
3
|
const discord_js = require('discord.js');
|
|
4
4
|
|
|
5
|
-
function createLabel(
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
function createLabel(a, b, c, d) {
|
|
6
|
+
const label = new discord_js.LabelBuilder();
|
|
7
|
+
if (typeof a === "object") {
|
|
8
|
+
const { component, ...data } = a;
|
|
9
|
+
Object.assign(label.data, {
|
|
9
10
|
...data,
|
|
10
|
-
component: component
|
|
11
|
+
component: discord_js.isJSONEncodable(component) ? component.toJSON() : component
|
|
11
12
|
});
|
|
13
|
+
return label;
|
|
12
14
|
}
|
|
13
|
-
if (typeof
|
|
14
|
-
|
|
15
|
-
label:
|
|
16
|
-
description:
|
|
17
|
-
...typeof
|
|
15
|
+
if (typeof b === "string") {
|
|
16
|
+
Object.assign(label.data, {
|
|
17
|
+
label: a,
|
|
18
|
+
description: b,
|
|
19
|
+
...typeof c === "number" ? { id: c } : {
|
|
20
|
+
component: discord_js.isJSONEncodable(c) ? c.toJSON() : c,
|
|
21
|
+
id: d
|
|
22
|
+
}
|
|
18
23
|
});
|
|
24
|
+
return label;
|
|
19
25
|
}
|
|
20
|
-
|
|
21
|
-
label:
|
|
22
|
-
component:
|
|
23
|
-
...typeof
|
|
26
|
+
Object.assign(label.data, {
|
|
27
|
+
label: a,
|
|
28
|
+
component: discord_js.isJSONEncodable(b) ? b.toJSON() : b,
|
|
29
|
+
...typeof c === "number" ? { id: c } : {}
|
|
24
30
|
});
|
|
31
|
+
return label;
|
|
25
32
|
}
|
|
26
33
|
|
|
27
34
|
exports.createLabel = createLabel;
|
|
@@ -1,25 +1,32 @@
|
|
|
1
|
-
import { LabelBuilder } from 'discord.js';
|
|
1
|
+
import { LabelBuilder, isJSONEncodable } from 'discord.js';
|
|
2
2
|
|
|
3
|
-
function createLabel(
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
function createLabel(a, b, c, d) {
|
|
4
|
+
const label = new LabelBuilder();
|
|
5
|
+
if (typeof a === "object") {
|
|
6
|
+
const { component, ...data } = a;
|
|
7
|
+
Object.assign(label.data, {
|
|
7
8
|
...data,
|
|
8
|
-
component: component
|
|
9
|
+
component: isJSONEncodable(component) ? component.toJSON() : component
|
|
9
10
|
});
|
|
11
|
+
return label;
|
|
10
12
|
}
|
|
11
|
-
if (typeof
|
|
12
|
-
|
|
13
|
-
label:
|
|
14
|
-
description:
|
|
15
|
-
...typeof
|
|
13
|
+
if (typeof b === "string") {
|
|
14
|
+
Object.assign(label.data, {
|
|
15
|
+
label: a,
|
|
16
|
+
description: b,
|
|
17
|
+
...typeof c === "number" ? { id: c } : {
|
|
18
|
+
component: isJSONEncodable(c) ? c.toJSON() : c,
|
|
19
|
+
id: d
|
|
20
|
+
}
|
|
16
21
|
});
|
|
22
|
+
return label;
|
|
17
23
|
}
|
|
18
|
-
|
|
19
|
-
label:
|
|
20
|
-
component:
|
|
21
|
-
...typeof
|
|
24
|
+
Object.assign(label.data, {
|
|
25
|
+
label: a,
|
|
26
|
+
component: isJSONEncodable(b) ? b.toJSON() : b,
|
|
27
|
+
...typeof c === "number" ? { id: c } : {}
|
|
22
28
|
});
|
|
29
|
+
return label;
|
|
23
30
|
}
|
|
24
31
|
|
|
25
32
|
export { createLabel };
|
|
@@ -30,6 +30,21 @@ function createModalFields(...components) {
|
|
|
30
30
|
return data.data;
|
|
31
31
|
});
|
|
32
32
|
}
|
|
33
|
+
function createModal(data, title, ...components) {
|
|
34
|
+
if (typeof data === "string") {
|
|
35
|
+
return new discord_js.ModalBuilder({
|
|
36
|
+
customId: data,
|
|
37
|
+
title,
|
|
38
|
+
components: createModalFields(...components)
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
return new discord_js.ModalBuilder({
|
|
42
|
+
customId: data.title,
|
|
43
|
+
title: data.title,
|
|
44
|
+
components: createModalFields(...data.components ?? [])
|
|
45
|
+
});
|
|
46
|
+
}
|
|
33
47
|
|
|
48
|
+
exports.createModal = createModal;
|
|
34
49
|
exports.createModalFields = createModalFields;
|
|
35
50
|
exports.modalFieldsToRecord = modalFieldsToRecord;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { isDefined } from '@magicyan/core';
|
|
2
|
-
import { ComponentType } from 'discord.js';
|
|
2
|
+
import { ComponentType, ModalBuilder } from 'discord.js';
|
|
3
3
|
|
|
4
4
|
function modalFieldsToRecord(data, parse) {
|
|
5
5
|
const collection = "fields" in data ? "fields" in data.fields ? data.fields.fields : data.fields : data;
|
|
@@ -28,5 +28,19 @@ function createModalFields(...components) {
|
|
|
28
28
|
return data.data;
|
|
29
29
|
});
|
|
30
30
|
}
|
|
31
|
+
function createModal(data, title, ...components) {
|
|
32
|
+
if (typeof data === "string") {
|
|
33
|
+
return new ModalBuilder({
|
|
34
|
+
customId: data,
|
|
35
|
+
title,
|
|
36
|
+
components: createModalFields(...components)
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
return new ModalBuilder({
|
|
40
|
+
customId: data.title,
|
|
41
|
+
title: data.title,
|
|
42
|
+
components: createModalFields(...data.components ?? [])
|
|
43
|
+
});
|
|
44
|
+
}
|
|
31
45
|
|
|
32
|
-
export { createModalFields, modalFieldsToRecord };
|
|
46
|
+
export { createModal, createModalFields, modalFieldsToRecord };
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
const core = require('@magicyan/core');
|
|
3
4
|
const discord_js = require('discord.js');
|
|
4
5
|
|
|
5
6
|
function createRow(...components) {
|
|
6
7
|
return new discord_js.ActionRowBuilder({
|
|
7
|
-
components: components.flat()
|
|
8
|
+
components: components.flat().filter((c) => typeof c !== "boolean").filter((c) => core.isDefined(c))
|
|
8
9
|
});
|
|
9
10
|
}
|
|
10
11
|
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { isDefined } from '@magicyan/core';
|
|
1
2
|
import { ActionRowBuilder } from 'discord.js';
|
|
2
3
|
|
|
3
4
|
function createRow(...components) {
|
|
4
5
|
return new ActionRowBuilder({
|
|
5
|
-
components: components.flat()
|
|
6
|
+
components: components.flat().filter((c) => typeof c !== "boolean").filter((c) => isDefined(c))
|
|
6
7
|
});
|
|
7
8
|
}
|
|
8
9
|
|
package/dist/index.cjs
CHANGED
|
@@ -78,6 +78,7 @@ exports.createMediaGallery = gallery.createMediaGallery;
|
|
|
78
78
|
exports.createModalInput = input.createModalInput;
|
|
79
79
|
exports.createTextInput = input.createTextInput;
|
|
80
80
|
exports.createLabel = label.createLabel;
|
|
81
|
+
exports.createModal = modal.createModal;
|
|
81
82
|
exports.createModalFields = modal.createModalFields;
|
|
82
83
|
exports.modalFieldsToRecord = modal.modalFieldsToRecord;
|
|
83
84
|
exports.createRow = row.createRow;
|
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, LabelBuilderData,
|
|
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, 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: {
|
|
@@ -381,7 +381,7 @@ interface CreateFileOptions extends Omit<APIUnfurledMediaItem, "url"> {
|
|
|
381
381
|
*/
|
|
382
382
|
declare function createFile(source: FileSource, options?: CreateFileOptions): FileBuilder;
|
|
383
383
|
|
|
384
|
-
type MediaGallerySource = MediaGalleryItemData |
|
|
384
|
+
type MediaGallerySource = MediaGalleryItemData | Attachment | AttachmentBuilder | string | null | undefined | boolean;
|
|
385
385
|
/**
|
|
386
386
|
* Creates a {@link MediaGalleryBuilder} instance with a collection of media items, which can be images, attachments, or URLs.
|
|
387
387
|
*
|
|
@@ -433,11 +433,46 @@ declare function createModalInput(data: Omit<TextInputComponentData, "type" | "s
|
|
|
433
433
|
style?: TextInputStyle;
|
|
434
434
|
}): ActionRowBuilder<TextInputBuilder>;
|
|
435
435
|
|
|
436
|
-
|
|
437
|
-
type
|
|
436
|
+
interface Unstable_CheckboxData {
|
|
437
|
+
type: ComponentType.Checkbox;
|
|
438
|
+
customId: string;
|
|
439
|
+
default?: boolean;
|
|
440
|
+
id?: number;
|
|
441
|
+
}
|
|
442
|
+
interface Unstable_CheckboxGroupData {
|
|
443
|
+
type: ComponentType.CheckboxGroup;
|
|
444
|
+
id?: number;
|
|
445
|
+
customId: string;
|
|
446
|
+
required?: boolean;
|
|
447
|
+
minValues?: number;
|
|
448
|
+
maxValues?: number;
|
|
449
|
+
options: {
|
|
450
|
+
label: string;
|
|
451
|
+
value: string;
|
|
452
|
+
description?: string;
|
|
453
|
+
default?: boolean;
|
|
454
|
+
}[];
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
interface Unstable_RadioGroupData {
|
|
458
|
+
type: ComponentType.RadioGroup;
|
|
459
|
+
id?: number;
|
|
460
|
+
customId: string;
|
|
461
|
+
required?: boolean;
|
|
462
|
+
options: {
|
|
463
|
+
label: string;
|
|
464
|
+
value: string;
|
|
465
|
+
description?: string;
|
|
466
|
+
default?: boolean;
|
|
467
|
+
}[];
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
interface CreateLabelData extends Omit<LabelBuilderData, "type" | "component"> {
|
|
471
|
+
component?: LabelBuilderData["component"] | ComponentInLabelData | Unstable_CheckboxData | Unstable_CheckboxGroupData | Unstable_RadioGroupData;
|
|
472
|
+
}
|
|
438
473
|
declare function createLabel(data: CreateLabelData): LabelBuilder;
|
|
439
|
-
declare function createLabel(label: string, description?: string, component?:
|
|
440
|
-
declare function createLabel(label: string, component?:
|
|
474
|
+
declare function createLabel(label: string, description?: string, component?: CreateLabelData["component"], id?: number): LabelBuilder;
|
|
475
|
+
declare function createLabel(label: string, component?: CreateLabelData["component"], id?: number): LabelBuilder;
|
|
441
476
|
|
|
442
477
|
type ModalComponents = LabelBuilder | TextDisplayBuilder | string | null | boolean | undefined;
|
|
443
478
|
type ResolveModalData = {
|
|
@@ -482,7 +517,17 @@ declare function modalFieldsToRecord<const T = ModalFieldsRecord>(data: ResolveM
|
|
|
482
517
|
declare function modalFieldsToRecord<const T = ModalFieldsRecord>(data: ResolveModalData, parse: (record: ModalFieldsRecord) => T): T;
|
|
483
518
|
type ModalFields = (LabelComponentData | TextDisplayComponentData)[];
|
|
484
519
|
declare function createModalFields(...components: ModalComponents[]): ModalFields;
|
|
520
|
+
interface CreateModalOptions {
|
|
521
|
+
customId: string;
|
|
522
|
+
title: string;
|
|
523
|
+
components: ModalComponents[];
|
|
524
|
+
}
|
|
525
|
+
declare function createModal(data: Partial<CreateModalOptions>): ModalBuilder;
|
|
526
|
+
declare function createModal(customId: string): ModalBuilder;
|
|
527
|
+
declare function createModal(customId: string, title: string): ModalBuilder;
|
|
528
|
+
declare function createModal(customId: string, title: string, ...components: ModalComponents[]): ModalBuilder;
|
|
485
529
|
|
|
530
|
+
type NullableValues = null | undefined | boolean;
|
|
486
531
|
/**
|
|
487
532
|
* Creates an {@link ActionRowBuilder} containing one or more UI components.
|
|
488
533
|
*
|
|
@@ -522,7 +567,7 @@ declare function createModalFields(...components: ModalComponents[]): ModalField
|
|
|
522
567
|
* })
|
|
523
568
|
* );
|
|
524
569
|
*/
|
|
525
|
-
declare function createRow<Component extends AnyComponentBuilder>(...components: (Component | Component[])[]): ActionRowBuilder<Component>;
|
|
570
|
+
declare function createRow<Component extends AnyComponentBuilder>(...components: (NullableValues | Component | Component[])[]): ActionRowBuilder<Component>;
|
|
526
571
|
|
|
527
572
|
type ThumbnailData = Partial<Omit<ThumbnailComponentData, "type">> | Attachment | AttachmentBuilder | string;
|
|
528
573
|
/**
|
|
@@ -1217,5 +1262,5 @@ declare function isTextInputBuilder(value: unknown): value is TextInputBuilder;
|
|
|
1217
1262
|
*/
|
|
1218
1263
|
declare function isMessage(value: unknown): value is Message;
|
|
1219
1264
|
|
|
1220
|
-
export { ContainerPlusBuilder, CustomItents, CustomPartials, EmbedLimit, EmbedPlusBuilder, Separator, chars, commandMention, createComponents, createContainer, createEmbed, createEmbedAsset, createEmbedAuthor, createEmbedFiles, createEmbedFooter, createFile, createFileUpload, createLabel, createLinkButton, createMediaGallery, createModalFields, createModalInput, 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 };
|
|
1221
|
-
export type { AnyEmbedData, AnySelectMenuBuilder, ComponentBuildersData, ComponentData,
|
|
1265
|
+
export { ContainerPlusBuilder, CustomItents, CustomPartials, EmbedLimit, EmbedPlusBuilder, Separator, chars, commandMention, createComponents, createContainer, createEmbed, createEmbedAsset, createEmbedAuthor, createEmbedFiles, createEmbedFooter, createFile, createFileUpload, createLabel, createLinkButton, createMediaGallery, createModal, createModalFields, createModalInput, 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 };
|
|
1266
|
+
export type { AnyEmbedData, AnySelectMenuBuilder, ComponentBuildersData, ComponentData, ContainerColor, ContainerComponentBuilder, ContainerData, ContainerInComponentType, CreateComponentData, CreateModalOptions, EmbedPlusAssetData, EmbedPlusAuthorData, EmbedPlusColorData, EmbedPlusData, EmbedPlusFooterData, EmbedPlusProperty, FileUploadData, MagicComponentData, MediaGallerySource, SectionAccessory, SectionAccessoryData, SectionButtonAccessory, SectionData, SectionThumbnailAccessory, SeparatorData, ThumbAreaData, ThumbAreaThumbnail, ThumbnailData, Unstable_CheckboxData, Unstable_CheckboxGroupData, Unstable_RadioGroupData };
|
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, LabelBuilderData,
|
|
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, 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: {
|
|
@@ -381,7 +381,7 @@ interface CreateFileOptions extends Omit<APIUnfurledMediaItem, "url"> {
|
|
|
381
381
|
*/
|
|
382
382
|
declare function createFile(source: FileSource, options?: CreateFileOptions): FileBuilder;
|
|
383
383
|
|
|
384
|
-
type MediaGallerySource = MediaGalleryItemData |
|
|
384
|
+
type MediaGallerySource = MediaGalleryItemData | Attachment | AttachmentBuilder | string | null | undefined | boolean;
|
|
385
385
|
/**
|
|
386
386
|
* Creates a {@link MediaGalleryBuilder} instance with a collection of media items, which can be images, attachments, or URLs.
|
|
387
387
|
*
|
|
@@ -433,11 +433,46 @@ declare function createModalInput(data: Omit<TextInputComponentData, "type" | "s
|
|
|
433
433
|
style?: TextInputStyle;
|
|
434
434
|
}): ActionRowBuilder<TextInputBuilder>;
|
|
435
435
|
|
|
436
|
-
|
|
437
|
-
type
|
|
436
|
+
interface Unstable_CheckboxData {
|
|
437
|
+
type: ComponentType.Checkbox;
|
|
438
|
+
customId: string;
|
|
439
|
+
default?: boolean;
|
|
440
|
+
id?: number;
|
|
441
|
+
}
|
|
442
|
+
interface Unstable_CheckboxGroupData {
|
|
443
|
+
type: ComponentType.CheckboxGroup;
|
|
444
|
+
id?: number;
|
|
445
|
+
customId: string;
|
|
446
|
+
required?: boolean;
|
|
447
|
+
minValues?: number;
|
|
448
|
+
maxValues?: number;
|
|
449
|
+
options: {
|
|
450
|
+
label: string;
|
|
451
|
+
value: string;
|
|
452
|
+
description?: string;
|
|
453
|
+
default?: boolean;
|
|
454
|
+
}[];
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
interface Unstable_RadioGroupData {
|
|
458
|
+
type: ComponentType.RadioGroup;
|
|
459
|
+
id?: number;
|
|
460
|
+
customId: string;
|
|
461
|
+
required?: boolean;
|
|
462
|
+
options: {
|
|
463
|
+
label: string;
|
|
464
|
+
value: string;
|
|
465
|
+
description?: string;
|
|
466
|
+
default?: boolean;
|
|
467
|
+
}[];
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
interface CreateLabelData extends Omit<LabelBuilderData, "type" | "component"> {
|
|
471
|
+
component?: LabelBuilderData["component"] | ComponentInLabelData | Unstable_CheckboxData | Unstable_CheckboxGroupData | Unstable_RadioGroupData;
|
|
472
|
+
}
|
|
438
473
|
declare function createLabel(data: CreateLabelData): LabelBuilder;
|
|
439
|
-
declare function createLabel(label: string, description?: string, component?:
|
|
440
|
-
declare function createLabel(label: string, component?:
|
|
474
|
+
declare function createLabel(label: string, description?: string, component?: CreateLabelData["component"], id?: number): LabelBuilder;
|
|
475
|
+
declare function createLabel(label: string, component?: CreateLabelData["component"], id?: number): LabelBuilder;
|
|
441
476
|
|
|
442
477
|
type ModalComponents = LabelBuilder | TextDisplayBuilder | string | null | boolean | undefined;
|
|
443
478
|
type ResolveModalData = {
|
|
@@ -482,7 +517,17 @@ declare function modalFieldsToRecord<const T = ModalFieldsRecord>(data: ResolveM
|
|
|
482
517
|
declare function modalFieldsToRecord<const T = ModalFieldsRecord>(data: ResolveModalData, parse: (record: ModalFieldsRecord) => T): T;
|
|
483
518
|
type ModalFields = (LabelComponentData | TextDisplayComponentData)[];
|
|
484
519
|
declare function createModalFields(...components: ModalComponents[]): ModalFields;
|
|
520
|
+
interface CreateModalOptions {
|
|
521
|
+
customId: string;
|
|
522
|
+
title: string;
|
|
523
|
+
components: ModalComponents[];
|
|
524
|
+
}
|
|
525
|
+
declare function createModal(data: Partial<CreateModalOptions>): ModalBuilder;
|
|
526
|
+
declare function createModal(customId: string): ModalBuilder;
|
|
527
|
+
declare function createModal(customId: string, title: string): ModalBuilder;
|
|
528
|
+
declare function createModal(customId: string, title: string, ...components: ModalComponents[]): ModalBuilder;
|
|
485
529
|
|
|
530
|
+
type NullableValues = null | undefined | boolean;
|
|
486
531
|
/**
|
|
487
532
|
* Creates an {@link ActionRowBuilder} containing one or more UI components.
|
|
488
533
|
*
|
|
@@ -522,7 +567,7 @@ declare function createModalFields(...components: ModalComponents[]): ModalField
|
|
|
522
567
|
* })
|
|
523
568
|
* );
|
|
524
569
|
*/
|
|
525
|
-
declare function createRow<Component extends AnyComponentBuilder>(...components: (Component | Component[])[]): ActionRowBuilder<Component>;
|
|
570
|
+
declare function createRow<Component extends AnyComponentBuilder>(...components: (NullableValues | Component | Component[])[]): ActionRowBuilder<Component>;
|
|
526
571
|
|
|
527
572
|
type ThumbnailData = Partial<Omit<ThumbnailComponentData, "type">> | Attachment | AttachmentBuilder | string;
|
|
528
573
|
/**
|
|
@@ -1217,5 +1262,5 @@ declare function isTextInputBuilder(value: unknown): value is TextInputBuilder;
|
|
|
1217
1262
|
*/
|
|
1218
1263
|
declare function isMessage(value: unknown): value is Message;
|
|
1219
1264
|
|
|
1220
|
-
export { ContainerPlusBuilder, CustomItents, CustomPartials, EmbedLimit, EmbedPlusBuilder, Separator, chars, commandMention, createComponents, createContainer, createEmbed, createEmbedAsset, createEmbedAuthor, createEmbedFiles, createEmbedFooter, createFile, createFileUpload, createLabel, createLinkButton, createMediaGallery, createModalFields, createModalInput, 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 };
|
|
1221
|
-
export type { AnyEmbedData, AnySelectMenuBuilder, ComponentBuildersData, ComponentData,
|
|
1265
|
+
export { ContainerPlusBuilder, CustomItents, CustomPartials, EmbedLimit, EmbedPlusBuilder, Separator, chars, commandMention, createComponents, createContainer, createEmbed, createEmbedAsset, createEmbedAuthor, createEmbedFiles, createEmbedFooter, createFile, createFileUpload, createLabel, createLinkButton, createMediaGallery, createModal, createModalFields, createModalInput, 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 };
|
|
1266
|
+
export type { AnyEmbedData, AnySelectMenuBuilder, ComponentBuildersData, ComponentData, ContainerColor, ContainerComponentBuilder, ContainerData, ContainerInComponentType, CreateComponentData, CreateModalOptions, EmbedPlusAssetData, EmbedPlusAuthorData, EmbedPlusColorData, EmbedPlusData, EmbedPlusFooterData, EmbedPlusProperty, FileUploadData, MagicComponentData, MediaGallerySource, SectionAccessory, SectionAccessoryData, SectionButtonAccessory, SectionData, SectionThumbnailAccessory, SeparatorData, ThumbAreaData, ThumbAreaThumbnail, ThumbnailData, Unstable_CheckboxData, Unstable_CheckboxGroupData, Unstable_RadioGroupData };
|
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, LabelBuilderData,
|
|
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, 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: {
|
|
@@ -381,7 +381,7 @@ interface CreateFileOptions extends Omit<APIUnfurledMediaItem, "url"> {
|
|
|
381
381
|
*/
|
|
382
382
|
declare function createFile(source: FileSource, options?: CreateFileOptions): FileBuilder;
|
|
383
383
|
|
|
384
|
-
type MediaGallerySource = MediaGalleryItemData |
|
|
384
|
+
type MediaGallerySource = MediaGalleryItemData | Attachment | AttachmentBuilder | string | null | undefined | boolean;
|
|
385
385
|
/**
|
|
386
386
|
* Creates a {@link MediaGalleryBuilder} instance with a collection of media items, which can be images, attachments, or URLs.
|
|
387
387
|
*
|
|
@@ -433,11 +433,46 @@ declare function createModalInput(data: Omit<TextInputComponentData, "type" | "s
|
|
|
433
433
|
style?: TextInputStyle;
|
|
434
434
|
}): ActionRowBuilder<TextInputBuilder>;
|
|
435
435
|
|
|
436
|
-
|
|
437
|
-
type
|
|
436
|
+
interface Unstable_CheckboxData {
|
|
437
|
+
type: ComponentType.Checkbox;
|
|
438
|
+
customId: string;
|
|
439
|
+
default?: boolean;
|
|
440
|
+
id?: number;
|
|
441
|
+
}
|
|
442
|
+
interface Unstable_CheckboxGroupData {
|
|
443
|
+
type: ComponentType.CheckboxGroup;
|
|
444
|
+
id?: number;
|
|
445
|
+
customId: string;
|
|
446
|
+
required?: boolean;
|
|
447
|
+
minValues?: number;
|
|
448
|
+
maxValues?: number;
|
|
449
|
+
options: {
|
|
450
|
+
label: string;
|
|
451
|
+
value: string;
|
|
452
|
+
description?: string;
|
|
453
|
+
default?: boolean;
|
|
454
|
+
}[];
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
interface Unstable_RadioGroupData {
|
|
458
|
+
type: ComponentType.RadioGroup;
|
|
459
|
+
id?: number;
|
|
460
|
+
customId: string;
|
|
461
|
+
required?: boolean;
|
|
462
|
+
options: {
|
|
463
|
+
label: string;
|
|
464
|
+
value: string;
|
|
465
|
+
description?: string;
|
|
466
|
+
default?: boolean;
|
|
467
|
+
}[];
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
interface CreateLabelData extends Omit<LabelBuilderData, "type" | "component"> {
|
|
471
|
+
component?: LabelBuilderData["component"] | ComponentInLabelData | Unstable_CheckboxData | Unstable_CheckboxGroupData | Unstable_RadioGroupData;
|
|
472
|
+
}
|
|
438
473
|
declare function createLabel(data: CreateLabelData): LabelBuilder;
|
|
439
|
-
declare function createLabel(label: string, description?: string, component?:
|
|
440
|
-
declare function createLabel(label: string, component?:
|
|
474
|
+
declare function createLabel(label: string, description?: string, component?: CreateLabelData["component"], id?: number): LabelBuilder;
|
|
475
|
+
declare function createLabel(label: string, component?: CreateLabelData["component"], id?: number): LabelBuilder;
|
|
441
476
|
|
|
442
477
|
type ModalComponents = LabelBuilder | TextDisplayBuilder | string | null | boolean | undefined;
|
|
443
478
|
type ResolveModalData = {
|
|
@@ -482,7 +517,17 @@ declare function modalFieldsToRecord<const T = ModalFieldsRecord>(data: ResolveM
|
|
|
482
517
|
declare function modalFieldsToRecord<const T = ModalFieldsRecord>(data: ResolveModalData, parse: (record: ModalFieldsRecord) => T): T;
|
|
483
518
|
type ModalFields = (LabelComponentData | TextDisplayComponentData)[];
|
|
484
519
|
declare function createModalFields(...components: ModalComponents[]): ModalFields;
|
|
520
|
+
interface CreateModalOptions {
|
|
521
|
+
customId: string;
|
|
522
|
+
title: string;
|
|
523
|
+
components: ModalComponents[];
|
|
524
|
+
}
|
|
525
|
+
declare function createModal(data: Partial<CreateModalOptions>): ModalBuilder;
|
|
526
|
+
declare function createModal(customId: string): ModalBuilder;
|
|
527
|
+
declare function createModal(customId: string, title: string): ModalBuilder;
|
|
528
|
+
declare function createModal(customId: string, title: string, ...components: ModalComponents[]): ModalBuilder;
|
|
485
529
|
|
|
530
|
+
type NullableValues = null | undefined | boolean;
|
|
486
531
|
/**
|
|
487
532
|
* Creates an {@link ActionRowBuilder} containing one or more UI components.
|
|
488
533
|
*
|
|
@@ -522,7 +567,7 @@ declare function createModalFields(...components: ModalComponents[]): ModalField
|
|
|
522
567
|
* })
|
|
523
568
|
* );
|
|
524
569
|
*/
|
|
525
|
-
declare function createRow<Component extends AnyComponentBuilder>(...components: (Component | Component[])[]): ActionRowBuilder<Component>;
|
|
570
|
+
declare function createRow<Component extends AnyComponentBuilder>(...components: (NullableValues | Component | Component[])[]): ActionRowBuilder<Component>;
|
|
526
571
|
|
|
527
572
|
type ThumbnailData = Partial<Omit<ThumbnailComponentData, "type">> | Attachment | AttachmentBuilder | string;
|
|
528
573
|
/**
|
|
@@ -1217,5 +1262,5 @@ declare function isTextInputBuilder(value: unknown): value is TextInputBuilder;
|
|
|
1217
1262
|
*/
|
|
1218
1263
|
declare function isMessage(value: unknown): value is Message;
|
|
1219
1264
|
|
|
1220
|
-
export { ContainerPlusBuilder, CustomItents, CustomPartials, EmbedLimit, EmbedPlusBuilder, Separator, chars, commandMention, createComponents, createContainer, createEmbed, createEmbedAsset, createEmbedAuthor, createEmbedFiles, createEmbedFooter, createFile, createFileUpload, createLabel, createLinkButton, createMediaGallery, createModalFields, createModalInput, 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 };
|
|
1221
|
-
export type { AnyEmbedData, AnySelectMenuBuilder, ComponentBuildersData, ComponentData,
|
|
1265
|
+
export { ContainerPlusBuilder, CustomItents, CustomPartials, EmbedLimit, EmbedPlusBuilder, Separator, chars, commandMention, createComponents, createContainer, createEmbed, createEmbedAsset, createEmbedAuthor, createEmbedFiles, createEmbedFooter, createFile, createFileUpload, createLabel, createLinkButton, createMediaGallery, createModal, createModalFields, createModalInput, 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 };
|
|
1266
|
+
export type { AnyEmbedData, AnySelectMenuBuilder, ComponentBuildersData, ComponentData, ContainerColor, ContainerComponentBuilder, ContainerData, ContainerInComponentType, CreateComponentData, CreateModalOptions, EmbedPlusAssetData, EmbedPlusAuthorData, EmbedPlusColorData, EmbedPlusData, EmbedPlusFooterData, EmbedPlusProperty, FileUploadData, MagicComponentData, MediaGallerySource, SectionAccessory, SectionAccessoryData, SectionButtonAccessory, SectionData, SectionThumbnailAccessory, SeparatorData, ThumbAreaData, ThumbAreaThumbnail, ThumbnailData, Unstable_CheckboxData, Unstable_CheckboxGroupData, Unstable_RadioGroupData };
|
package/dist/index.mjs
CHANGED
|
@@ -18,7 +18,7 @@ export { createFile } from './functions/components/file.mjs';
|
|
|
18
18
|
export { createMediaGallery } from './functions/components/gallery.mjs';
|
|
19
19
|
export { createModalInput, createTextInput } from './functions/components/input.mjs';
|
|
20
20
|
export { createLabel } from './functions/components/label.mjs';
|
|
21
|
-
export { createModalFields, modalFieldsToRecord } from './functions/components/modal.mjs';
|
|
21
|
+
export { createModal, createModalFields, modalFieldsToRecord } from './functions/components/modal.mjs';
|
|
22
22
|
export { createRow } from './functions/components/row.mjs';
|
|
23
23
|
export { createSection } from './functions/components/section.mjs';
|
|
24
24
|
export { createSeparator } from './functions/components/separator.mjs';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@magicyan/discord",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.1",
|
|
4
4
|
"description": "Simple functions to facilitate discord bot development",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"test": "vitest"
|
|
40
40
|
},
|
|
41
41
|
"peerDependencies": {
|
|
42
|
-
"discord.js": "^14.
|
|
42
|
+
"discord.js": "^14.25.1"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@magicyan/config": "*",
|