@magicyan/discord 1.0.33 → 1.0.34

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.
@@ -9,19 +9,19 @@ function createEmbedFiles(embed, options) {
9
9
  files.push(new discord_js.AttachmentBuilder(url, { name: `${name}.${ext}` }));
10
10
  return `attachment://${name}.${ext}`;
11
11
  };
12
- if (thumbnail?.url) {
12
+ if (thumbnail?.url && !options?.ignore?.includes("thumbnail")) {
13
13
  const url = handle(thumbnail.url, "thumbnail", options?.extentions?.thumbnail);
14
14
  embed.setThumbnail(url);
15
15
  }
16
- if (image?.url) {
16
+ if (image?.url && !options?.ignore?.includes("image")) {
17
17
  const url = handle(image.url, "image", options?.extentions?.image);
18
18
  embed.setImage(url);
19
19
  }
20
- if (author?.icon_url) {
20
+ if (author?.icon_url && !options?.ignore?.includes("author")) {
21
21
  const url = handle(author?.icon_url, "author", options?.extentions?.author);
22
22
  embed.setAuthor({ name: author.name, iconURL: url, url: author.url });
23
23
  }
24
- if (footer?.icon_url) {
24
+ if (footer?.icon_url && !options?.ignore?.includes("footer")) {
25
25
  const url = handle(footer.icon_url, "footer", options?.extentions?.footer);
26
26
  embed.setFooter({ text: footer.text, iconURL: url });
27
27
  }
@@ -7,19 +7,19 @@ function createEmbedFiles(embed, options) {
7
7
  files.push(new AttachmentBuilder(url, { name: `${name}.${ext}` }));
8
8
  return `attachment://${name}.${ext}`;
9
9
  };
10
- if (thumbnail?.url) {
10
+ if (thumbnail?.url && !options?.ignore?.includes("thumbnail")) {
11
11
  const url = handle(thumbnail.url, "thumbnail", options?.extentions?.thumbnail);
12
12
  embed.setThumbnail(url);
13
13
  }
14
- if (image?.url) {
14
+ if (image?.url && !options?.ignore?.includes("image")) {
15
15
  const url = handle(image.url, "image", options?.extentions?.image);
16
16
  embed.setImage(url);
17
17
  }
18
- if (author?.icon_url) {
18
+ if (author?.icon_url && !options?.ignore?.includes("author")) {
19
19
  const url = handle(author?.icon_url, "author", options?.extentions?.author);
20
20
  embed.setAuthor({ name: author.name, iconURL: url, url: author.url });
21
21
  }
22
- if (footer?.icon_url) {
22
+ if (footer?.icon_url && !options?.ignore?.includes("footer")) {
23
23
  const url = handle(footer.icon_url, "footer", options?.extentions?.footer);
24
24
  embed.setFooter({ text: footer.text, iconURL: url });
25
25
  }
@@ -4,6 +4,7 @@ const discord_js = require('discord.js');
4
4
  const components = require('./components.cjs');
5
5
 
6
6
  function createModalInput(data) {
7
+ data.style ?? (data.style = discord_js.TextInputStyle.Short);
7
8
  return components.createRow(new discord_js.TextInputBuilder(data));
8
9
  }
9
10
  function createModalFields(data) {
@@ -1,7 +1,8 @@
1
- import { TextInputBuilder } from 'discord.js';
1
+ import { TextInputStyle, TextInputBuilder } from 'discord.js';
2
2
  import { createRow } from './components.mjs';
3
3
 
4
4
  function createModalInput(data) {
5
+ data.style ?? (data.style = TextInputStyle.Short);
5
6
  return createRow(new TextInputBuilder(data));
6
7
  }
7
8
  function createModalFields(data) {
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as discord_js from 'discord.js';
2
- import { GatewayIntentBits, Partials, Attachment, AttachmentBuilder, EmbedAssetData, Guild, GuildMember, User, ClientUser, ImageURLOptions, EmbedFooterData, ColorResolvable, APIEmbed, Embed, EmbedData, EmbedBuilder, AttachmentData, AnyComponentBuilder, ActionRowBuilder, ButtonBuilder, LinkButtonComponentData, ChannelType, CommandInteractionOption, Client, ApplicationCommand, ApplicationCommandOptionData, ApplicationCommandSubCommandData, ApplicationCommandSubGroupData, TextInputBuilder, ModalSubmitFields, Collection, TextInputComponent, TextInputComponentData, GuildEmoji, GuildTextBasedChannel, Message, Role } from 'discord.js';
2
+ import { GatewayIntentBits, Partials, Attachment, AttachmentBuilder, EmbedAssetData, Guild, GuildMember, User, ClientUser, ImageURLOptions, EmbedFooterData, ColorResolvable, APIEmbed, Embed, EmbedData, EmbedBuilder, AttachmentData, AnyComponentBuilder, ActionRowBuilder, ButtonBuilder, LinkButtonComponentData, ChannelType, CommandInteractionOption, Client, ApplicationCommand, ApplicationCommandOptionData, ApplicationCommandSubCommandData, ApplicationCommandSubGroupData, TextInputBuilder, ModalSubmitFields, Collection, TextInputComponent, TextInputStyle, TextInputComponentData, GuildEmoji, GuildTextBasedChannel, Message, Role } from 'discord.js';
3
3
  export * from '@magicyan/core';
4
4
 
5
5
  declare const chars: {
@@ -154,13 +154,13 @@ declare function createEmbed<B extends boolean>(options: CreateEmbedOptions<B>):
154
154
  type ImageFileExtention = "png" | "jpg" | "gif" | "webp";
155
155
  type ImageElementProperty = "author" | "thumbnail" | "image" | "footer";
156
156
  interface CreateEmbedFilesOptions {
157
+ ignore?: ImageElementProperty[];
157
158
  extentions?: Record<ImageElementProperty, ImageFileExtention>;
158
159
  }
159
160
  /**
160
- *
161
161
  * Turns any embed image url into an attachment and returns an attachment array
162
162
  */
163
- declare function createEmbedFiles(embed: EmbedPlusBuilder, options?: CreateEmbedFilesOptions): AttachmentBuilder[];
163
+ declare function createEmbedFiles(embed: EmbedBuilder, options?: CreateEmbedFilesOptions): AttachmentBuilder[];
164
164
 
165
165
  declare function createRow<Component extends AnyComponentBuilder>(...components: Component[]): ActionRowBuilder<Component>;
166
166
  interface CreateLinkButtonData extends Omit<LinkButtonComponentData, "style" | "type"> {
@@ -236,9 +236,13 @@ type SubCommandGroups = Record<string, SubCommandGroup>;
236
236
  declare function createSubCommandsGroups(groups: SubCommandGroups): ApplicationCommandSubGroupData[];
237
237
 
238
238
  type TextInputData = Omit<TextInputComponentData, "type">;
239
- type CreateModalInputData = TextInputData;
240
- declare function createModalInput(data: CreateModalInputData): ActionRowBuilder<TextInputBuilder>;
241
- type ModalFieldsData = Record<string, Omit<TextInputData, "customId">>;
239
+ interface ModalFieldData extends Omit<TextInputData, "customId" | "style"> {
240
+ style?: TextInputStyle;
241
+ }
242
+ declare function createModalInput(data: ModalFieldData & {
243
+ customId: string;
244
+ }): ActionRowBuilder<TextInputBuilder>;
245
+ type ModalFieldsData = Record<string, ModalFieldData>;
242
246
  declare function createModalFields(data: ModalFieldsData): ActionRowBuilder<TextInputBuilder>[];
243
247
  type ModalFieldsRecord<K extends string> = Record<K, string>;
244
248
  declare function modalFieldsToRecord<K extends string = string>(fields: ModalSubmitFields | Collection<string, TextInputComponent>): ModalFieldsRecord<K>;
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as discord_js from 'discord.js';
2
- import { GatewayIntentBits, Partials, Attachment, AttachmentBuilder, EmbedAssetData, Guild, GuildMember, User, ClientUser, ImageURLOptions, EmbedFooterData, ColorResolvable, APIEmbed, Embed, EmbedData, EmbedBuilder, AttachmentData, AnyComponentBuilder, ActionRowBuilder, ButtonBuilder, LinkButtonComponentData, ChannelType, CommandInteractionOption, Client, ApplicationCommand, ApplicationCommandOptionData, ApplicationCommandSubCommandData, ApplicationCommandSubGroupData, TextInputBuilder, ModalSubmitFields, Collection, TextInputComponent, TextInputComponentData, GuildEmoji, GuildTextBasedChannel, Message, Role } from 'discord.js';
2
+ import { GatewayIntentBits, Partials, Attachment, AttachmentBuilder, EmbedAssetData, Guild, GuildMember, User, ClientUser, ImageURLOptions, EmbedFooterData, ColorResolvable, APIEmbed, Embed, EmbedData, EmbedBuilder, AttachmentData, AnyComponentBuilder, ActionRowBuilder, ButtonBuilder, LinkButtonComponentData, ChannelType, CommandInteractionOption, Client, ApplicationCommand, ApplicationCommandOptionData, ApplicationCommandSubCommandData, ApplicationCommandSubGroupData, TextInputBuilder, ModalSubmitFields, Collection, TextInputComponent, TextInputStyle, TextInputComponentData, GuildEmoji, GuildTextBasedChannel, Message, Role } from 'discord.js';
3
3
  export * from '@magicyan/core';
4
4
 
5
5
  declare const chars: {
@@ -154,13 +154,13 @@ declare function createEmbed<B extends boolean>(options: CreateEmbedOptions<B>):
154
154
  type ImageFileExtention = "png" | "jpg" | "gif" | "webp";
155
155
  type ImageElementProperty = "author" | "thumbnail" | "image" | "footer";
156
156
  interface CreateEmbedFilesOptions {
157
+ ignore?: ImageElementProperty[];
157
158
  extentions?: Record<ImageElementProperty, ImageFileExtention>;
158
159
  }
159
160
  /**
160
- *
161
161
  * Turns any embed image url into an attachment and returns an attachment array
162
162
  */
163
- declare function createEmbedFiles(embed: EmbedPlusBuilder, options?: CreateEmbedFilesOptions): AttachmentBuilder[];
163
+ declare function createEmbedFiles(embed: EmbedBuilder, options?: CreateEmbedFilesOptions): AttachmentBuilder[];
164
164
 
165
165
  declare function createRow<Component extends AnyComponentBuilder>(...components: Component[]): ActionRowBuilder<Component>;
166
166
  interface CreateLinkButtonData extends Omit<LinkButtonComponentData, "style" | "type"> {
@@ -236,9 +236,13 @@ type SubCommandGroups = Record<string, SubCommandGroup>;
236
236
  declare function createSubCommandsGroups(groups: SubCommandGroups): ApplicationCommandSubGroupData[];
237
237
 
238
238
  type TextInputData = Omit<TextInputComponentData, "type">;
239
- type CreateModalInputData = TextInputData;
240
- declare function createModalInput(data: CreateModalInputData): ActionRowBuilder<TextInputBuilder>;
241
- type ModalFieldsData = Record<string, Omit<TextInputData, "customId">>;
239
+ interface ModalFieldData extends Omit<TextInputData, "customId" | "style"> {
240
+ style?: TextInputStyle;
241
+ }
242
+ declare function createModalInput(data: ModalFieldData & {
243
+ customId: string;
244
+ }): ActionRowBuilder<TextInputBuilder>;
245
+ type ModalFieldsData = Record<string, ModalFieldData>;
242
246
  declare function createModalFields(data: ModalFieldsData): ActionRowBuilder<TextInputBuilder>[];
243
247
  type ModalFieldsRecord<K extends string> = Record<K, string>;
244
248
  declare function modalFieldsToRecord<K extends string = string>(fields: ModalSubmitFields | Collection<string, TextInputComponent>): ModalFieldsRecord<K>;
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as discord_js from 'discord.js';
2
- import { GatewayIntentBits, Partials, Attachment, AttachmentBuilder, EmbedAssetData, Guild, GuildMember, User, ClientUser, ImageURLOptions, EmbedFooterData, ColorResolvable, APIEmbed, Embed, EmbedData, EmbedBuilder, AttachmentData, AnyComponentBuilder, ActionRowBuilder, ButtonBuilder, LinkButtonComponentData, ChannelType, CommandInteractionOption, Client, ApplicationCommand, ApplicationCommandOptionData, ApplicationCommandSubCommandData, ApplicationCommandSubGroupData, TextInputBuilder, ModalSubmitFields, Collection, TextInputComponent, TextInputComponentData, GuildEmoji, GuildTextBasedChannel, Message, Role } from 'discord.js';
2
+ import { GatewayIntentBits, Partials, Attachment, AttachmentBuilder, EmbedAssetData, Guild, GuildMember, User, ClientUser, ImageURLOptions, EmbedFooterData, ColorResolvable, APIEmbed, Embed, EmbedData, EmbedBuilder, AttachmentData, AnyComponentBuilder, ActionRowBuilder, ButtonBuilder, LinkButtonComponentData, ChannelType, CommandInteractionOption, Client, ApplicationCommand, ApplicationCommandOptionData, ApplicationCommandSubCommandData, ApplicationCommandSubGroupData, TextInputBuilder, ModalSubmitFields, Collection, TextInputComponent, TextInputStyle, TextInputComponentData, GuildEmoji, GuildTextBasedChannel, Message, Role } from 'discord.js';
3
3
  export * from '@magicyan/core';
4
4
 
5
5
  declare const chars: {
@@ -154,13 +154,13 @@ declare function createEmbed<B extends boolean>(options: CreateEmbedOptions<B>):
154
154
  type ImageFileExtention = "png" | "jpg" | "gif" | "webp";
155
155
  type ImageElementProperty = "author" | "thumbnail" | "image" | "footer";
156
156
  interface CreateEmbedFilesOptions {
157
+ ignore?: ImageElementProperty[];
157
158
  extentions?: Record<ImageElementProperty, ImageFileExtention>;
158
159
  }
159
160
  /**
160
- *
161
161
  * Turns any embed image url into an attachment and returns an attachment array
162
162
  */
163
- declare function createEmbedFiles(embed: EmbedPlusBuilder, options?: CreateEmbedFilesOptions): AttachmentBuilder[];
163
+ declare function createEmbedFiles(embed: EmbedBuilder, options?: CreateEmbedFilesOptions): AttachmentBuilder[];
164
164
 
165
165
  declare function createRow<Component extends AnyComponentBuilder>(...components: Component[]): ActionRowBuilder<Component>;
166
166
  interface CreateLinkButtonData extends Omit<LinkButtonComponentData, "style" | "type"> {
@@ -236,9 +236,13 @@ type SubCommandGroups = Record<string, SubCommandGroup>;
236
236
  declare function createSubCommandsGroups(groups: SubCommandGroups): ApplicationCommandSubGroupData[];
237
237
 
238
238
  type TextInputData = Omit<TextInputComponentData, "type">;
239
- type CreateModalInputData = TextInputData;
240
- declare function createModalInput(data: CreateModalInputData): ActionRowBuilder<TextInputBuilder>;
241
- type ModalFieldsData = Record<string, Omit<TextInputData, "customId">>;
239
+ interface ModalFieldData extends Omit<TextInputData, "customId" | "style"> {
240
+ style?: TextInputStyle;
241
+ }
242
+ declare function createModalInput(data: ModalFieldData & {
243
+ customId: string;
244
+ }): ActionRowBuilder<TextInputBuilder>;
245
+ type ModalFieldsData = Record<string, ModalFieldData>;
242
246
  declare function createModalFields(data: ModalFieldsData): ActionRowBuilder<TextInputBuilder>[];
243
247
  type ModalFieldsRecord<K extends string> = Record<K, string>;
244
248
  declare function modalFieldsToRecord<K extends string = string>(fields: ModalSubmitFields | Collection<string, TextInputComponent>): ModalFieldsRecord<K>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magicyan/discord",
3
- "version": "1.0.33",
3
+ "version": "1.0.34",
4
4
  "description": "Simple functions to facilitate discord bot development",
5
5
  "license": "MIT",
6
6
  "type": "module",