@magicyan/discord 1.4.8 → 1.4.9

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.
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ const section = require('./section.cjs');
4
+ const text = require('./text.cjs');
5
+
6
+ function createThumbArea(argA, argB) {
7
+ const data = typeof argA === "string" ? { content: argA, thumbnail: argB } : argA;
8
+ return data.thumbnail ? section.createSection(data.content, data.thumbnail) : text.createTextDisplay(data.content);
9
+ }
10
+
11
+ exports.createThumbArea = createThumbArea;
@@ -0,0 +1,9 @@
1
+ import { createSection } from './section.mjs';
2
+ import { createTextDisplay } from './text.mjs';
3
+
4
+ function createThumbArea(argA, argB) {
5
+ const data = typeof argA === "string" ? { content: argA, thumbnail: argB } : argA;
6
+ return data.thumbnail ? createSection(data.content, data.thumbnail) : createTextDisplay(data.content);
7
+ }
8
+
9
+ export { createThumbArea };
package/dist/index.cjs CHANGED
@@ -17,6 +17,7 @@ const gallery = require('./functions/components/gallery.cjs');
17
17
  const separator$1 = require('./functions/components/separator.cjs');
18
18
  const section = require('./functions/components/section.cjs');
19
19
  const text = require('./functions/components/text.cjs');
20
+ const thumbarea = require('./functions/components/thumbarea.cjs');
20
21
  const thumbnail = require('./functions/components/thumbnail.cjs');
21
22
  const components = require('./functions/components/components.cjs');
22
23
  const container = require('./functions/components/container.cjs');
@@ -56,6 +57,7 @@ exports.createMediaGallery = gallery.createMediaGallery;
56
57
  exports.createSeparator = separator$1.createSeparator;
57
58
  exports.createSection = section.createSection;
58
59
  exports.createTextDisplay = text.createTextDisplay;
60
+ exports.createThumbArea = thumbarea.createThumbArea;
59
61
  exports.createThumbnail = thumbnail.createThumbnail;
60
62
  exports.createComponents = components.createComponents;
61
63
  exports.createContainer = container.createContainer;
package/dist/index.d.cts CHANGED
@@ -505,9 +505,50 @@ declare function createSection(data: SectionData): SectionBuilder;
505
505
  */
506
506
  declare function createTextDisplay(content: string, id?: number): TextDisplayBuilder;
507
507
 
508
+ type ThumbAreaThumbnail = SectionThumbnailAccessory | null | undefined;
509
+ type ThumbAreaData = {
510
+ content: string;
511
+ thumbnail?: ThumbAreaThumbnail;
512
+ };
513
+ /**
514
+ * Creates either a {@link SectionBuilder} or a {@link TextDisplayBuilder} based on the presence of a thumbnail.
515
+ *
516
+ * If a thumbnail is provided, this function will return a {@link SectionBuilder} with the content and thumbnail.
517
+ * Otherwise, it will return a {@link TextDisplayBuilder} with only the provided content.
518
+ *
519
+ * ---
520
+ * **Overloads:**
521
+ * - Provide `content` and optional `thumbnail` as separate parameters.
522
+ * - Provide a single object with `content` and optional `thumbnail` properties.
523
+ *
524
+ * @param content - The text content to be displayed.
525
+ * @param thumbnail - (Optional) A thumbnail to include. If provided, a section will be created; otherwise, a simple text display.
526
+ *
527
+ * @param data - An object containing `content` and optional `thumbnail` properties.
528
+ *
529
+ * @returns A {@link SectionBuilder} if a thumbnail is provided, otherwise a {@link TextDisplayBuilder}.
530
+ *
531
+ * @example
532
+ * // Using positional parameters with a thumbnail
533
+ * const thumbSection = createThumbArea("Welcome!", "https://example.com/image.png");
534
+ *
535
+ * @example
536
+ * // Using an object without a thumbnail
537
+ * const textOnly = createThumbArea({ content: "Just text here" });
538
+ *
539
+ * @example
540
+ * // Using an object with a thumbnail
541
+ * const thumbSection = createThumbArea({
542
+ * content: "Check this out!",
543
+ * thumbnail: "https://example.com/image.png"
544
+ * });
545
+ */
546
+ declare function createThumbArea(content: string, thumbnail?: ThumbAreaThumbnail): SectionBuilder | TextDisplayBuilder;
547
+ declare function createThumbArea(data: ThumbAreaData): SectionBuilder | TextDisplayBuilder;
548
+
508
549
  type ComponentData = TextDisplayBuilder | SeparatorBuilder | FileBuilder | SectionBuilder | MediaGalleryBuilder | ActionRowBuilder<MessageActionRowComponentBuilder> | MessageActionRowComponentBuilder[] | MessageActionRowComponentBuilder | Attachment | AttachmentBuilder | string | null | undefined;
509
550
  type CreateComponentData = ComponentData | ContainerBuilder;
510
- declare function createComponents(...data: (CreateComponentData | CreateComponentData[])[]): (SeparatorBuilder | TextDisplayBuilder | FileBuilder | SectionBuilder | MediaGalleryBuilder | ActionRowBuilder<MessageActionRowComponentBuilder> | ContainerBuilder)[];
551
+ declare function createComponents(...data: (CreateComponentData | CreateComponentData[])[]): (TextDisplayBuilder | SeparatorBuilder | FileBuilder | SectionBuilder | MediaGalleryBuilder | ActionRowBuilder<MessageActionRowComponentBuilder> | ContainerBuilder)[];
511
552
 
512
553
  type ContainerColor = (string & {}) | ColorResolvable;
513
554
  interface ContainerData extends Omit<ContainerComponentData, "accentColor" | "type" | "components"> {
@@ -694,5 +735,5 @@ declare function isAnySelectMenuBuilder(value: unknown): value is AnySelectMenuB
694
735
 
695
736
  declare function isButtonBuilder(value: unknown): value is ButtonBuilder;
696
737
 
697
- export { CustomItents, CustomPartials, EmbedLimit, EmbedPlusBuilder, Separator, chars, commandMention, createComponents, createContainer, createEmbed, createEmbedAsset, createEmbedAuthor, createEmbedFiles, createEmbedFooter, createFile, createLinkButton, createMediaGallery, createModalFields, createModalInput, createRow, createSection, createSeparator, createTextDisplay, createThumbnail, createWebhookClient, extractMentionId, findChannel, findCommand, findEmoji, findMember, findMessage, findRole, getChannelUrlInfo, getMessageUrlInfo, isAnySelectMenuBuilder, isAttachment, isButtonBuilder, modalFieldsToRecord, setMobileStatus, wrapButtons };
698
- export type { AnyEmbedData, AnySelectMenuBuilder, ComponentData, ContainerColor, ContainerData, EmbedPlusAssetData, EmbedPlusAuthorData, EmbedPlusColorData, EmbedPlusData, EmbedPlusFooterData, EmbedPlusProperty, SectionAccessory, SectionAccessoryData, SectionButtonAccessory, SectionData, SectionThumbnailAccessory, SeparatorData, ThumbnailData };
738
+ export { CustomItents, CustomPartials, EmbedLimit, EmbedPlusBuilder, Separator, chars, commandMention, createComponents, createContainer, createEmbed, createEmbedAsset, createEmbedAuthor, createEmbedFiles, createEmbedFooter, createFile, createLinkButton, createMediaGallery, createModalFields, createModalInput, createRow, createSection, createSeparator, createTextDisplay, createThumbArea, createThumbnail, createWebhookClient, extractMentionId, findChannel, findCommand, findEmoji, findMember, findMessage, findRole, getChannelUrlInfo, getMessageUrlInfo, isAnySelectMenuBuilder, isAttachment, isButtonBuilder, modalFieldsToRecord, setMobileStatus, wrapButtons };
739
+ export type { AnyEmbedData, AnySelectMenuBuilder, ComponentData, ContainerColor, ContainerData, EmbedPlusAssetData, EmbedPlusAuthorData, EmbedPlusColorData, EmbedPlusData, EmbedPlusFooterData, EmbedPlusProperty, SectionAccessory, SectionAccessoryData, SectionButtonAccessory, SectionData, SectionThumbnailAccessory, SeparatorData, ThumbAreaData, ThumbAreaThumbnail, ThumbnailData };
package/dist/index.d.mts CHANGED
@@ -505,9 +505,50 @@ declare function createSection(data: SectionData): SectionBuilder;
505
505
  */
506
506
  declare function createTextDisplay(content: string, id?: number): TextDisplayBuilder;
507
507
 
508
+ type ThumbAreaThumbnail = SectionThumbnailAccessory | null | undefined;
509
+ type ThumbAreaData = {
510
+ content: string;
511
+ thumbnail?: ThumbAreaThumbnail;
512
+ };
513
+ /**
514
+ * Creates either a {@link SectionBuilder} or a {@link TextDisplayBuilder} based on the presence of a thumbnail.
515
+ *
516
+ * If a thumbnail is provided, this function will return a {@link SectionBuilder} with the content and thumbnail.
517
+ * Otherwise, it will return a {@link TextDisplayBuilder} with only the provided content.
518
+ *
519
+ * ---
520
+ * **Overloads:**
521
+ * - Provide `content` and optional `thumbnail` as separate parameters.
522
+ * - Provide a single object with `content` and optional `thumbnail` properties.
523
+ *
524
+ * @param content - The text content to be displayed.
525
+ * @param thumbnail - (Optional) A thumbnail to include. If provided, a section will be created; otherwise, a simple text display.
526
+ *
527
+ * @param data - An object containing `content` and optional `thumbnail` properties.
528
+ *
529
+ * @returns A {@link SectionBuilder} if a thumbnail is provided, otherwise a {@link TextDisplayBuilder}.
530
+ *
531
+ * @example
532
+ * // Using positional parameters with a thumbnail
533
+ * const thumbSection = createThumbArea("Welcome!", "https://example.com/image.png");
534
+ *
535
+ * @example
536
+ * // Using an object without a thumbnail
537
+ * const textOnly = createThumbArea({ content: "Just text here" });
538
+ *
539
+ * @example
540
+ * // Using an object with a thumbnail
541
+ * const thumbSection = createThumbArea({
542
+ * content: "Check this out!",
543
+ * thumbnail: "https://example.com/image.png"
544
+ * });
545
+ */
546
+ declare function createThumbArea(content: string, thumbnail?: ThumbAreaThumbnail): SectionBuilder | TextDisplayBuilder;
547
+ declare function createThumbArea(data: ThumbAreaData): SectionBuilder | TextDisplayBuilder;
548
+
508
549
  type ComponentData = TextDisplayBuilder | SeparatorBuilder | FileBuilder | SectionBuilder | MediaGalleryBuilder | ActionRowBuilder<MessageActionRowComponentBuilder> | MessageActionRowComponentBuilder[] | MessageActionRowComponentBuilder | Attachment | AttachmentBuilder | string | null | undefined;
509
550
  type CreateComponentData = ComponentData | ContainerBuilder;
510
- declare function createComponents(...data: (CreateComponentData | CreateComponentData[])[]): (SeparatorBuilder | TextDisplayBuilder | FileBuilder | SectionBuilder | MediaGalleryBuilder | ActionRowBuilder<MessageActionRowComponentBuilder> | ContainerBuilder)[];
551
+ declare function createComponents(...data: (CreateComponentData | CreateComponentData[])[]): (TextDisplayBuilder | SeparatorBuilder | FileBuilder | SectionBuilder | MediaGalleryBuilder | ActionRowBuilder<MessageActionRowComponentBuilder> | ContainerBuilder)[];
511
552
 
512
553
  type ContainerColor = (string & {}) | ColorResolvable;
513
554
  interface ContainerData extends Omit<ContainerComponentData, "accentColor" | "type" | "components"> {
@@ -694,5 +735,5 @@ declare function isAnySelectMenuBuilder(value: unknown): value is AnySelectMenuB
694
735
 
695
736
  declare function isButtonBuilder(value: unknown): value is ButtonBuilder;
696
737
 
697
- export { CustomItents, CustomPartials, EmbedLimit, EmbedPlusBuilder, Separator, chars, commandMention, createComponents, createContainer, createEmbed, createEmbedAsset, createEmbedAuthor, createEmbedFiles, createEmbedFooter, createFile, createLinkButton, createMediaGallery, createModalFields, createModalInput, createRow, createSection, createSeparator, createTextDisplay, createThumbnail, createWebhookClient, extractMentionId, findChannel, findCommand, findEmoji, findMember, findMessage, findRole, getChannelUrlInfo, getMessageUrlInfo, isAnySelectMenuBuilder, isAttachment, isButtonBuilder, modalFieldsToRecord, setMobileStatus, wrapButtons };
698
- export type { AnyEmbedData, AnySelectMenuBuilder, ComponentData, ContainerColor, ContainerData, EmbedPlusAssetData, EmbedPlusAuthorData, EmbedPlusColorData, EmbedPlusData, EmbedPlusFooterData, EmbedPlusProperty, SectionAccessory, SectionAccessoryData, SectionButtonAccessory, SectionData, SectionThumbnailAccessory, SeparatorData, ThumbnailData };
738
+ export { CustomItents, CustomPartials, EmbedLimit, EmbedPlusBuilder, Separator, chars, commandMention, createComponents, createContainer, createEmbed, createEmbedAsset, createEmbedAuthor, createEmbedFiles, createEmbedFooter, createFile, createLinkButton, createMediaGallery, createModalFields, createModalInput, createRow, createSection, createSeparator, createTextDisplay, createThumbArea, createThumbnail, createWebhookClient, extractMentionId, findChannel, findCommand, findEmoji, findMember, findMessage, findRole, getChannelUrlInfo, getMessageUrlInfo, isAnySelectMenuBuilder, isAttachment, isButtonBuilder, modalFieldsToRecord, setMobileStatus, wrapButtons };
739
+ export type { AnyEmbedData, AnySelectMenuBuilder, ComponentData, ContainerColor, ContainerData, EmbedPlusAssetData, EmbedPlusAuthorData, EmbedPlusColorData, EmbedPlusData, EmbedPlusFooterData, EmbedPlusProperty, SectionAccessory, SectionAccessoryData, SectionButtonAccessory, SectionData, SectionThumbnailAccessory, SeparatorData, ThumbAreaData, ThumbAreaThumbnail, ThumbnailData };
package/dist/index.d.ts CHANGED
@@ -505,9 +505,50 @@ declare function createSection(data: SectionData): SectionBuilder;
505
505
  */
506
506
  declare function createTextDisplay(content: string, id?: number): TextDisplayBuilder;
507
507
 
508
+ type ThumbAreaThumbnail = SectionThumbnailAccessory | null | undefined;
509
+ type ThumbAreaData = {
510
+ content: string;
511
+ thumbnail?: ThumbAreaThumbnail;
512
+ };
513
+ /**
514
+ * Creates either a {@link SectionBuilder} or a {@link TextDisplayBuilder} based on the presence of a thumbnail.
515
+ *
516
+ * If a thumbnail is provided, this function will return a {@link SectionBuilder} with the content and thumbnail.
517
+ * Otherwise, it will return a {@link TextDisplayBuilder} with only the provided content.
518
+ *
519
+ * ---
520
+ * **Overloads:**
521
+ * - Provide `content` and optional `thumbnail` as separate parameters.
522
+ * - Provide a single object with `content` and optional `thumbnail` properties.
523
+ *
524
+ * @param content - The text content to be displayed.
525
+ * @param thumbnail - (Optional) A thumbnail to include. If provided, a section will be created; otherwise, a simple text display.
526
+ *
527
+ * @param data - An object containing `content` and optional `thumbnail` properties.
528
+ *
529
+ * @returns A {@link SectionBuilder} if a thumbnail is provided, otherwise a {@link TextDisplayBuilder}.
530
+ *
531
+ * @example
532
+ * // Using positional parameters with a thumbnail
533
+ * const thumbSection = createThumbArea("Welcome!", "https://example.com/image.png");
534
+ *
535
+ * @example
536
+ * // Using an object without a thumbnail
537
+ * const textOnly = createThumbArea({ content: "Just text here" });
538
+ *
539
+ * @example
540
+ * // Using an object with a thumbnail
541
+ * const thumbSection = createThumbArea({
542
+ * content: "Check this out!",
543
+ * thumbnail: "https://example.com/image.png"
544
+ * });
545
+ */
546
+ declare function createThumbArea(content: string, thumbnail?: ThumbAreaThumbnail): SectionBuilder | TextDisplayBuilder;
547
+ declare function createThumbArea(data: ThumbAreaData): SectionBuilder | TextDisplayBuilder;
548
+
508
549
  type ComponentData = TextDisplayBuilder | SeparatorBuilder | FileBuilder | SectionBuilder | MediaGalleryBuilder | ActionRowBuilder<MessageActionRowComponentBuilder> | MessageActionRowComponentBuilder[] | MessageActionRowComponentBuilder | Attachment | AttachmentBuilder | string | null | undefined;
509
550
  type CreateComponentData = ComponentData | ContainerBuilder;
510
- declare function createComponents(...data: (CreateComponentData | CreateComponentData[])[]): (SeparatorBuilder | TextDisplayBuilder | FileBuilder | SectionBuilder | MediaGalleryBuilder | ActionRowBuilder<MessageActionRowComponentBuilder> | ContainerBuilder)[];
551
+ declare function createComponents(...data: (CreateComponentData | CreateComponentData[])[]): (TextDisplayBuilder | SeparatorBuilder | FileBuilder | SectionBuilder | MediaGalleryBuilder | ActionRowBuilder<MessageActionRowComponentBuilder> | ContainerBuilder)[];
511
552
 
512
553
  type ContainerColor = (string & {}) | ColorResolvable;
513
554
  interface ContainerData extends Omit<ContainerComponentData, "accentColor" | "type" | "components"> {
@@ -694,5 +735,5 @@ declare function isAnySelectMenuBuilder(value: unknown): value is AnySelectMenuB
694
735
 
695
736
  declare function isButtonBuilder(value: unknown): value is ButtonBuilder;
696
737
 
697
- export { CustomItents, CustomPartials, EmbedLimit, EmbedPlusBuilder, Separator, chars, commandMention, createComponents, createContainer, createEmbed, createEmbedAsset, createEmbedAuthor, createEmbedFiles, createEmbedFooter, createFile, createLinkButton, createMediaGallery, createModalFields, createModalInput, createRow, createSection, createSeparator, createTextDisplay, createThumbnail, createWebhookClient, extractMentionId, findChannel, findCommand, findEmoji, findMember, findMessage, findRole, getChannelUrlInfo, getMessageUrlInfo, isAnySelectMenuBuilder, isAttachment, isButtonBuilder, modalFieldsToRecord, setMobileStatus, wrapButtons };
698
- export type { AnyEmbedData, AnySelectMenuBuilder, ComponentData, ContainerColor, ContainerData, EmbedPlusAssetData, EmbedPlusAuthorData, EmbedPlusColorData, EmbedPlusData, EmbedPlusFooterData, EmbedPlusProperty, SectionAccessory, SectionAccessoryData, SectionButtonAccessory, SectionData, SectionThumbnailAccessory, SeparatorData, ThumbnailData };
738
+ export { CustomItents, CustomPartials, EmbedLimit, EmbedPlusBuilder, Separator, chars, commandMention, createComponents, createContainer, createEmbed, createEmbedAsset, createEmbedAuthor, createEmbedFiles, createEmbedFooter, createFile, createLinkButton, createMediaGallery, createModalFields, createModalInput, createRow, createSection, createSeparator, createTextDisplay, createThumbArea, createThumbnail, createWebhookClient, extractMentionId, findChannel, findCommand, findEmoji, findMember, findMessage, findRole, getChannelUrlInfo, getMessageUrlInfo, isAnySelectMenuBuilder, isAttachment, isButtonBuilder, modalFieldsToRecord, setMobileStatus, wrapButtons };
739
+ export type { AnyEmbedData, AnySelectMenuBuilder, ComponentData, ContainerColor, ContainerData, EmbedPlusAssetData, EmbedPlusAuthorData, EmbedPlusColorData, EmbedPlusData, EmbedPlusFooterData, EmbedPlusProperty, SectionAccessory, SectionAccessoryData, SectionButtonAccessory, SectionData, SectionThumbnailAccessory, SeparatorData, ThumbAreaData, ThumbAreaThumbnail, ThumbnailData };
package/dist/index.mjs CHANGED
@@ -15,6 +15,7 @@ export { createMediaGallery } from './functions/components/gallery.mjs';
15
15
  export { createSeparator } from './functions/components/separator.mjs';
16
16
  export { createSection } from './functions/components/section.mjs';
17
17
  export { createTextDisplay } from './functions/components/text.mjs';
18
+ export { createThumbArea } from './functions/components/thumbarea.mjs';
18
19
  export { createThumbnail } from './functions/components/thumbnail.mjs';
19
20
  export { createComponents } from './functions/components/components.mjs';
20
21
  export { createContainer } from './functions/components/container.mjs';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magicyan/discord",
3
- "version": "1.4.8",
3
+ "version": "1.4.9",
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.19.1"
42
+ "discord.js": "^14.19.3"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@magicyan/config": "*",