Socket
Book a DemoInstallSign in
Socket

@discordjs/builders

Package Overview
Dependencies
Maintainers
2
Versions
1381
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@discordjs/builders - npm Package Compare versions

Comparing version

to
0.13.0-dev.1644797188.0dfdb2c

262

dist/index.d.ts

@@ -1,2 +0,3 @@

import { APIEmbedField, APIEmbed, APIEmbedThumbnail, APIEmbedImage, APIEmbedVideo, APIEmbedAuthor, APIEmbedProvider, APIEmbedFooter, APIMessageComponentEmoji, APISelectMenuOption, ButtonStyle, APIMessageComponent, ComponentType, APIActionRowComponent, APIButtonComponent, APISelectMenuComponent, ApplicationCommandOptionType, APIApplicationCommandBasicOption, APIApplicationCommandBooleanOption, ChannelType, APIApplicationCommandChannelOption, APIApplicationCommandOptionChoice, APIApplicationCommandIntegerOption, APIApplicationCommandMentionableOption, APIApplicationCommandNumberOption, APIApplicationCommandRoleOption, APIApplicationCommandStringOption, APIApplicationCommandUserOption, APIApplicationCommandSubcommandGroupOption, APIApplicationCommandSubcommandOption, RESTPostAPIApplicationCommandsJSONBody, APIApplicationCommandOption, ApplicationCommandType } from 'discord-api-types/v9';
import * as discord_api_types_v9 from 'discord-api-types/v9';
import { APIEmbedField, APIEmbedAuthor, APIEmbedFooter, APIEmbedImage, APIEmbed, APIEmbedVideo, APISelectMenuOption, APIMessageComponentEmoji, ButtonStyle, APIBaseComponent, ComponentType, APIMessageComponent, APIActionRowComponent, APIButtonComponent, APISelectMenuComponent, ApplicationCommandOptionType, APIApplicationCommandBasicOption, APIApplicationCommandBooleanOption, ChannelType, APIApplicationCommandChannelOption, APIApplicationCommandOptionChoice, APIApplicationCommandIntegerOption, APIApplicationCommandMentionableOption, APIApplicationCommandNumberOption, APIApplicationCommandRoleOption, APIApplicationCommandAttachmentOption, APIApplicationCommandStringOption, APIApplicationCommandUserOption, APIApplicationCommandSubcommandGroupOption, APIApplicationCommandSubcommandOption, RESTPostAPIApplicationCommandsJSONBody, APIApplicationCommandOption, ApplicationCommandType } from 'discord-api-types/v9';
import { z } from 'zod';

@@ -36,3 +37,3 @@ import { Snowflake } from 'discord-api-types/globals';

declare const fieldLengthPredicate: z.ZodNumber;
declare function validateFieldLength(fields: APIEmbedField[], amountAdding: number): void;
declare function validateFieldLength(amountAdding: number, fields?: APIEmbedField[]): void;
declare const authorNamePredicate: z.ZodNullable<z.ZodString>;

@@ -79,73 +80,76 @@ declare const urlPredicate: z.ZodNullable<z.ZodOptional<z.ZodString>>;

interface JSONEncodable<T> {
interface IconData {
/**
* Transforms this object to its JSON format
* The URL of the icon
*/
toJSON: () => T;
iconURL?: string;
/**
* The proxy URL of the icon
*/
proxyIconURL?: string;
}
declare type EmbedAuthorData = Omit<APIEmbedAuthor, 'icon_url' | 'proxy_icon_url'> & IconData;
declare type EmbedAuthorOptions = Omit<EmbedAuthorData, 'proxyIconURL'>;
declare type EmbedFooterData = Omit<APIEmbedFooter, 'icon_url' | 'proxy_icon_url'> & IconData;
declare type EmbedFooterOptions = Omit<EmbedFooterData, 'proxyIconURL'>;
interface EmbedImageData extends Omit<APIEmbedImage, 'proxy_url'> {
/**
* The proxy URL for the image
*/
proxyURL?: string;
}
/**
* Indicates if an object is encodable or not.
* @param maybeEncodable The object to check against
* Represents a non-validated embed in a message (image/video preview, rich embed, etc.)
*/
declare function isJSONEncodable(maybeEncodable: unknown): maybeEncodable is JSONEncodable<unknown>;
interface AuthorOptions {
name: string;
url?: string;
iconURL?: string;
}
interface FooterOptions {
text: string;
iconURL?: string;
}
declare class UnsafeEmbed implements APIEmbed, JSONEncodable<APIEmbed> {
declare class UnsafeEmbed {
protected data: APIEmbed;
constructor(data?: APIEmbed);
/**
* An array of fields of this embed
*/
readonly fields: APIEmbedField[];
get fields(): APIEmbedField[] | undefined;
/**
* The embed title
*/
readonly title?: string;
get title(): string | undefined;
/**
* The embed description
*/
readonly description?: string;
get description(): string | undefined;
/**
* The embed url
* The embed URL
*/
readonly url?: string;
get url(): string | undefined;
/**
* The embed color
*/
readonly color?: number;
get color(): number | undefined;
/**
* The timestamp of the embed in the ISO format
* The timestamp of the embed in an ISO 8601 format
*/
readonly timestamp?: string;
get timestamp(): string | undefined;
/**
* The embed thumbnail data
*/
readonly thumbnail?: APIEmbedThumbnail;
get thumbnail(): EmbedImageData | undefined;
/**
* The embed image data
*/
readonly image?: APIEmbedImage;
get image(): EmbedImageData | undefined;
/**
* Received video data
*/
readonly video?: APIEmbedVideo;
get video(): APIEmbedVideo | undefined;
/**
* The embed author data
*/
readonly author?: APIEmbedAuthor;
get author(): EmbedAuthorData | undefined;
/**
* Received data about the embed provider
*/
readonly provider?: APIEmbedProvider;
get provider(): discord_api_types_v9.APIEmbedProvider | undefined;
/**
* The embed footer data
*/
readonly footer?: APIEmbedFooter;
constructor(data?: APIEmbed);
get footer(): EmbedFooterData | undefined;
/**

@@ -185,3 +189,3 @@ * The accumulated length for the embed title, description, fields, footer text, and author name

*/
setAuthor(options: AuthorOptions | null): this;
setAuthor(options: EmbedAuthorOptions | null): this;
/**

@@ -204,3 +208,3 @@ * Sets the color of this embed

*/
setFooter(options: FooterOptions | null): this;
setFooter(options: EmbedFooterOptions | null): this;
/**

@@ -249,3 +253,3 @@ * Sets the image of this embed

/**
* Represents an embed in a message (image/video preview, rich embed, etc.)
* Represents a validated embed in a message (image/video preview, rich embed, etc.)
*/

@@ -255,6 +259,6 @@ declare class Embed extends UnsafeEmbed {

spliceFields(index: number, deleteCount: number, ...fields: APIEmbedField[]): this;
setAuthor(options: AuthorOptions | null): this;
setAuthor(options: EmbedAuthorOptions | null): this;
setColor(color: number | null): this;
setDescription(description: string | null): this;
setFooter(options: FooterOptions | null): this;
setFooter(options: EmbedFooterOptions | null): this;
setImage(url: string | null): this;

@@ -498,9 +502,25 @@ setThumbnail(url: string | null): this;

declare class UnsafeSelectMenuOption {
readonly label: string;
readonly value: string;
readonly description?: string;
readonly emoji?: APIMessageComponentEmoji;
readonly default?: boolean;
constructor(data?: APISelectMenuOption);
protected data: Partial<APISelectMenuOption>;
constructor(data?: Partial<APISelectMenuOption>);
/**
* The label for this option
*/
get label(): string | undefined;
/**
* The value for this option
*/
get value(): string | undefined;
/**
* The description for this option
*/
get description(): string | undefined;
/**
* The emoji for this option
*/
get emoji(): APIMessageComponentEmoji | undefined;
/**
* Whether this option is selected by default
*/
get default(): boolean | undefined;
/**
* Sets the label of this option

@@ -522,3 +542,3 @@ * @param label The label to show on this option

* Sets whether this option is selected by default
* @param isDefault Whether or not this option is selected by default
* @param isDefault Whether this option is selected by default
*/

@@ -535,3 +555,3 @@ setDefault(isDefault: boolean): this;

/**
* Represents an option within a select menu component
* Represents a validated option within a select menu component
*/

@@ -570,3 +590,3 @@ declare class SelectMenuOption extends UnsafeSelectMenuOption {

declare const urlValidator: z.ZodString;
declare function validateRequiredButtonParameters(style: ButtonStyle, label?: string, emoji?: APIMessageComponentEmoji, customId?: string, url?: string): void;
declare function validateRequiredButtonParameters(style?: ButtonStyle, label?: string, emoji?: APIMessageComponentEmoji, customId?: string, url?: string): void;

@@ -606,10 +626,33 @@ declare const Assertions$2_customIdValidator: typeof customIdValidator;

interface JSONEncodable<T> {
/**
* Transforms this object to its JSON format
*/
toJSON: () => T;
}
/**
* Indicates if an object is encodable or not.
* @param maybeEncodable The object to check against
*/
declare function isJSONEncodable(maybeEncodable: unknown): maybeEncodable is JSONEncodable<unknown>;
/**
* Represents a discord component
*/
interface Component extends JSONEncodable<APIMessageComponent> {
declare abstract class Component<DataType extends Partial<APIBaseComponent<ComponentType>> & {
type: ComponentType;
} = APIBaseComponent<ComponentType>> implements JSONEncodable<APIMessageComponent> {
/**
* The API data associated with this component
*/
protected readonly data: DataType;
/**
* Converts this component to an API-compatible JSON object
*/
abstract toJSON(): APIMessageComponent;
constructor(data: DataType);
/**
* The type of this component
*/
readonly type: ComponentType;
get type(): DataType['type'];
}

@@ -622,8 +665,7 @@

*/
declare class ActionRow<T extends ActionRowComponent = ActionRowComponent> implements Component {
declare class ActionRow<T extends ActionRowComponent = ActionRowComponent> extends Component<Omit<Partial<APIActionRowComponent<APIMessageComponent>> & {
type: ComponentType.ActionRow;
}, 'components'>> {
readonly components: T[];
readonly type = ComponentType.ActionRow;
constructor(data?: APIActionRowComponent & {
type?: ComponentType.ActionRow;
});
constructor({ components, ...data }?: Partial<APIActionRowComponent<APIMessageComponent>>);
/**

@@ -639,18 +681,38 @@ * Adds components to this action row.

*/
setComponents(...components: T[]): this;
toJSON(): APIActionRowComponent;
setComponents(components: T[]): this;
toJSON(): APIActionRowComponent<APIMessageComponent>;
}
declare class UnsafeButtonComponent implements Component {
readonly type: ComponentType.Button;
readonly style: ButtonStyle;
readonly label?: string;
readonly emoji?: APIMessageComponentEmoji;
readonly disabled?: boolean;
readonly custom_id: string;
readonly url: string;
constructor(data?: APIButtonComponent & {
type?: ComponentType.Button;
});
/**
* Represents a non-validated button component
*/
declare class UnsafeButtonComponent extends Component<Partial<APIButtonComponent> & {
type: ComponentType.Button;
}> {
constructor(data?: Partial<APIButtonComponent>);
/**
* The style of this button
*/
get style(): ButtonStyle | undefined;
/**
* The label of this button
*/
get label(): string | undefined;
/**
* The emoji used in this button
*/
get emoji(): APIMessageComponentEmoji | undefined;
/**
* Whether this button is disabled
*/
get disabled(): boolean | undefined;
/**
* The custom id of this button (only defined on non-link buttons)
*/
get customId(): string | undefined;
/**
* The URL of this button (only defined on link buttons)
*/
get url(): string | undefined;
/**
* Sets the style of this button

@@ -667,3 +729,3 @@ * @param style The style of the button

* Sets the custom Id for this button
* @param customId The custom ID to use for this button
* @param customId The custom id to use for this button
*/

@@ -689,2 +751,5 @@ setCustomId(customId: string): this;

/**
* Represents a validated button component
*/
declare class ButtonComponent extends UnsafeButtonComponent {

@@ -717,12 +782,28 @@ setStyle(style: ButtonStyle): this;

*/
declare class UnsafeSelectMenuComponent implements Component {
readonly type: ComponentType.SelectMenu;
readonly options: SelectMenuOption[];
readonly placeholder?: string;
readonly min_values?: number;
readonly max_values?: number;
readonly custom_id: string;
readonly disabled?: boolean;
constructor(data?: APISelectMenuComponent);
declare class UnsafeSelectMenuComponent extends Component<Partial<Omit<APISelectMenuComponent, 'options'>> & {
type: ComponentType.SelectMenu;
}> {
readonly options: UnsafeSelectMenuOption[];
constructor(data?: Partial<APISelectMenuComponent>);
/**
* The placeholder for this select menu
*/
get placeholder(): string | undefined;
/**
* The maximum amount of options that can be selected
*/
get maxValues(): number | undefined;
/**
* The minimum amount of options that must be selected
*/
get minValues(): number | undefined;
/**
* The custom id of this select menu
*/
get customId(): string | undefined;
/**
* Whether this select menu is disabled
*/
get disabled(): boolean | undefined;
/**
* Sets the placeholder for this select menu

@@ -733,3 +814,3 @@ * @param placeholder The placeholder to use for this select menu

/**
* Sets thes minimum values that must be selected in the select menu
* Sets the minimum values that must be selected in the select menu
* @param minValues The minimum values that must be selected

@@ -739,3 +820,3 @@ */

/**
* Sets thes maximum values that must be selected in the select menu
* Sets the maximum values that must be selected in the select menu
* @param minValues The maximum values that must be selected

@@ -746,3 +827,3 @@ */

* Sets the custom Id for this select menu
* @param customId The custom ID to use for this select menu
* @param customId The custom id to use for this select menu
*/

@@ -760,3 +841,3 @@ setCustomId(customId: string): this;

*/
addOptions(...options: SelectMenuOption[]): this;
addOptions(...options: UnsafeSelectMenuOption[]): this;
/**

@@ -766,3 +847,3 @@ * Sets the options on this select menu

*/
setOptions(...options: SelectMenuOption[]): this;
setOptions(options: UnsafeSelectMenuOption[]): this;
toJSON(): APISelectMenuComponent;

@@ -772,3 +853,3 @@ }

/**
* Represents a select menu component
* Represents a validated select menu component
*/

@@ -911,2 +992,7 @@ declare class SelectMenuComponent extends UnsafeSelectMenuComponent {

declare class SlashCommandAttachmentOption extends ApplicationCommandOptionBase {
readonly type: ApplicationCommandOptionType.Attachment;
toJSON(): APIApplicationCommandAttachmentOption;
}
declare class SlashCommandStringOption extends ApplicationCommandOptionBase {

@@ -951,2 +1037,8 @@ readonly type: ApplicationCommandOptionType.String;

/**
* Adds an attachment option
*
* @param input A function that returns an option builder, or an already built builder
*/
addAttachmentOption(input: SlashCommandAttachmentOption | ((builder: SlashCommandAttachmentOption) => SlashCommandAttachmentOption)): ShouldOmitSubcommandFunctions extends true ? Omit<this, "addSubcommand" | "addSubcommandGroup"> : this;
/**
* Adds a mentionable option

@@ -1178,2 +1270,2 @@ *

export { ActionRow, ActionRowComponent, AuthorOptions, ButtonComponent, Component, Assertions$2 as ComponentAssertions, Assertions as ContextMenuCommandAssertions, ContextMenuCommandBuilder, ContextMenuCommandType, Embed, Assertions$3 as EmbedAssertions, Faces, FooterOptions, JSONEncodable, MappedComponentTypes, MessageComponent, SelectMenuComponent, SelectMenuOption, Assertions$1 as SlashCommandAssertions, SlashCommandBooleanOption, SlashCommandBuilder, SlashCommandChannelOption, SlashCommandIntegerOption, SlashCommandMentionableOption, SlashCommandNumberOption, SlashCommandOptionsOnlyBuilder, SlashCommandRoleOption, SlashCommandStringOption, SlashCommandSubcommandBuilder, SlashCommandSubcommandGroupBuilder, SlashCommandSubcommandsOnlyBuilder, SlashCommandUserOption, TimestampStyles, TimestampStylesString, ToAPIApplicationCommandOptions, UnsafeButtonComponent, UnsafeEmbed, UnsafeSelectMenuComponent, UnsafeSelectMenuOption, blockQuote, bold, channelMention, codeBlock, createComponent, formatEmoji, hideLinkEmbed, hyperlink, inlineCode, isJSONEncodable, italic, memberNicknameMention, quote, roleMention, spoiler, strikethrough, time, underscore, userMention };
export { ActionRow, ActionRowComponent, ButtonComponent, Component, Assertions$2 as ComponentAssertions, Assertions as ContextMenuCommandAssertions, ContextMenuCommandBuilder, ContextMenuCommandType, Embed, Assertions$3 as EmbedAssertions, EmbedAuthorData, EmbedAuthorOptions, EmbedFooterData, EmbedFooterOptions, EmbedImageData, Faces, IconData, JSONEncodable, MappedComponentTypes, MessageComponent, SelectMenuComponent, SelectMenuOption, Assertions$1 as SlashCommandAssertions, SlashCommandAttachmentOption, SlashCommandBooleanOption, SlashCommandBuilder, SlashCommandChannelOption, SlashCommandIntegerOption, SlashCommandMentionableOption, SlashCommandNumberOption, SlashCommandOptionsOnlyBuilder, SlashCommandRoleOption, SlashCommandStringOption, SlashCommandSubcommandBuilder, SlashCommandSubcommandGroupBuilder, SlashCommandSubcommandsOnlyBuilder, SlashCommandUserOption, TimestampStyles, TimestampStylesString, ToAPIApplicationCommandOptions, UnsafeButtonComponent, UnsafeEmbed, UnsafeSelectMenuComponent, UnsafeSelectMenuOption, blockQuote, bold, channelMention, codeBlock, createComponent, formatEmoji, hideLinkEmbed, hyperlink, inlineCode, isJSONEncodable, italic, memberNicknameMention, quote, roleMention, spoiler, strikethrough, time, underscore, userMention };

@@ -1,4 +0,4 @@

var At=Object.create;var O=Object.defineProperty;var Ue=Object.getOwnPropertyDescriptor;var gt=Object.getOwnPropertyNames;var Ot=Object.getPrototypeOf,St=Object.prototype.hasOwnProperty;var Pt=(t,e,n)=>e in t?O(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var qe=t=>O(t,"__esModule",{value:!0}),o=(t,e)=>O(t,"name",{value:e,configurable:!0});var D=(t,e)=>{for(var n in e)O(t,n,{get:e[n],enumerable:!0})},Ge=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of gt(e))!St.call(t,a)&&(n||a!=="default")&&O(t,a,{get:()=>e[a],enumerable:!(r=Ue(e,a))||r.enumerable});return t},It=(t,e)=>Ge(qe(O(t!=null?At(Ot(t)):{},"default",!e&&t&&t.__esModule?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t),Tt=(t=>(e,n)=>t&&t.get(e)||(n=Ge(qe({}),e,1),t&&t.set(e,n),n))(typeof WeakMap!="undefined"?new WeakMap:0),m=(t,e,n,r)=>{for(var a=r>1?void 0:r?Ue(e,n):e,v=t.length-1,L;v>=0;v--)(L=t[v])&&(a=(r?L(e,n,a):L(a))||a);return r&&a&&O(e,n,a),a};var i=(t,e,n)=>(Pt(t,typeof e!="symbol"?e+"":e,n),n);var eo={};D(eo,{ActionRow:()=>w,ButtonComponent:()=>N,ComponentAssertions:()=>we,ContextMenuCommandAssertions:()=>Fe,ContextMenuCommandBuilder:()=>je,Embed:()=>ge,EmbedAssertions:()=>Ae,Faces:()=>Ze,SelectMenuComponent:()=>E,SelectMenuOption:()=>q,SlashCommandAssertions:()=>$e,SlashCommandBooleanOption:()=>W,SlashCommandBuilder:()=>H,SlashCommandChannelOption:()=>S,SlashCommandIntegerOption:()=>P,SlashCommandMentionableOption:()=>Z,SlashCommandNumberOption:()=>I,SlashCommandRoleOption:()=>K,SlashCommandStringOption:()=>T,SlashCommandSubcommandBuilder:()=>c,SlashCommandSubcommandGroupBuilder:()=>g,SlashCommandUserOption:()=>Q,TimestampStyles:()=>qt,UnsafeButtonComponent:()=>j,UnsafeEmbed:()=>C,UnsafeSelectMenuComponent:()=>G,UnsafeSelectMenuOption:()=>U,blockQuote:()=>$t,bold:()=>wt,channelMention:()=>kt,codeBlock:()=>vt,createComponent:()=>Ne,formatEmoji:()=>jt,hideLinkEmbed:()=>Vt,hyperlink:()=>_t,inlineCode:()=>Rt,isJSONEncodable:()=>Yt,italic:()=>Mt,memberNicknameMention:()=>Jt,quote:()=>Bt,roleMention:()=>Ft,spoiler:()=>Lt,strikethrough:()=>Et,time:()=>Ut,underscore:()=>Nt,userMention:()=>Dt});var Ae={};D(Ae,{authorNamePredicate:()=>he,colorPredicate:()=>be,descriptionPredicate:()=>fe,embedFieldPredicate:()=>ze,embedFieldsArrayPredicate:()=>ee,fieldInlinePredicate:()=>Y,fieldLengthPredicate:()=>We,fieldNamePredicate:()=>R,fieldValuePredicate:()=>X,footerTextPredicate:()=>Ce,timestampPredicate:()=>xe,titlePredicate:()=>ye,urlPredicate:()=>f,validateFieldLength:()=>te});var d=require("zod"),R=d.z.string().min(1).max(256),X=d.z.string().min(1).max(1024),Y=d.z.boolean().optional(),ze=d.z.object({name:R,value:X,inline:Y}),ee=ze.array(),We=d.z.number().lte(25);function te(t,e){We.parse(t.length+e)}o(te,"validateFieldLength");var he=R.nullable(),f=d.z.string().url().nullish(),be=d.z.number().gte(0).lte(16777215).nullable(),fe=d.z.string().min(1).max(4096).nullable(),Ce=d.z.string().min(1).max(2048).nullable(),xe=d.z.union([d.z.number(),d.z.date()]).nullable(),ye=R.nullable();var C=class{constructor(e={}){i(this,"fields");i(this,"title");i(this,"description");i(this,"url");i(this,"color");i(this,"timestamp");i(this,"thumbnail");i(this,"image");i(this,"video");i(this,"author");i(this,"provider");i(this,"footer");this.title=e.title,this.description=e.description,this.url=e.url,this.color=e.color,this.thumbnail=e.thumbnail,this.image=e.image,this.video=e.video,this.author=e.author,this.provider=e.provider,this.footer=e.footer,this.fields=e.fields??[],e.timestamp&&(this.timestamp=new Date(e.timestamp).toISOString())}get length(){return(this.title?.length??0)+(this.description?.length??0)+this.fields.reduce((e,n)=>e+n.name.length+n.value.length,0)+(this.footer?.text.length??0)+(this.author?.name.length??0)}addField(e){return this.addFields(e)}addFields(...e){return this.fields.push(...C.normalizeFields(...e)),this}spliceFields(e,n,...r){return this.fields.splice(e,n,...C.normalizeFields(...r)),this}setFields(...e){return this.spliceFields(0,this.fields.length,...e),this}setAuthor(e){return e===null?(Reflect.set(this,"author",void 0),this):(Reflect.set(this,"author",{name:e.name,url:e.url,icon_url:e.iconURL}),this)}setColor(e){return Reflect.set(this,"color",e??void 0),this}setDescription(e){return Reflect.set(this,"description",e??void 0),this}setFooter(e){return e===null?(Reflect.set(this,"footer",void 0),this):(Reflect.set(this,"footer",{text:e.text,icon_url:e.iconURL}),this)}setImage(e){return Reflect.set(this,"image",e?{url:e}:void 0),this}setThumbnail(e){return Reflect.set(this,"thumbnail",e?{url:e}:void 0),this}setTimestamp(e=Date.now()){return Reflect.set(this,"timestamp",e?new Date(e).toISOString():void 0),this}setTitle(e){return Reflect.set(this,"title",e??void 0),this}setURL(e){return Reflect.set(this,"url",e??void 0),this}toJSON(){return{...this}}static normalizeFields(...e){return e.flat(1/0).map(n=>({name:n.name,value:n.value,inline:n.inline??void 0}))}};o(C,"UnsafeEmbed");var ge=class extends C{addFields(...e){return te(this.fields,e.length),super.addFields(...ee.parse(e))}spliceFields(e,n,...r){return te(this.fields,r.length-n),super.spliceFields(e,n,...ee.parse(r))}setAuthor(e){return e===null?super.setAuthor(null):(he.parse(e.name),f.parse(e.iconURL),f.parse(e.url),super.setAuthor(e))}setColor(e){return super.setColor(be.parse(e))}setDescription(e){return super.setDescription(fe.parse(e))}setFooter(e){return e===null?super.setFooter(null):(Ce.parse(e.text),f.parse(e.iconURL),super.setFooter(e))}setImage(e){return super.setImage(f.parse(e))}setThumbnail(e){return super.setThumbnail(f.parse(e))}setTimestamp(e=Date.now()){return super.setTimestamp(xe.parse(e))}setTitle(e){return super.setTitle(ye.parse(e))}setURL(e){return super.setURL(f.parse(e))}static normalizeFields(...e){return e.flat(1/0).map(n=>(R.parse(n.name),X.parse(n.value),Y.parse(n.inline),{name:n.name,value:n.value,inline:n.inline??void 0}))}};o(ge,"Embed");function vt(t,e){return typeof e=="undefined"?`\`\`\`
${t}\`\`\``:`\`\`\`${t}
${e}\`\`\``}o(vt,"codeBlock");function Rt(t){return`\`${t}\``}o(Rt,"inlineCode");function Mt(t){return`_${t}_`}o(Mt,"italic");function wt(t){return`**${t}**`}o(wt,"bold");function Nt(t){return`__${t}__`}o(Nt,"underscore");function Et(t){return`~~${t}~~`}o(Et,"strikethrough");function Bt(t){return`> ${t}`}o(Bt,"quote");function $t(t){return`>>> ${t}`}o($t,"blockQuote");function Vt(t){return`<${t}>`}o(Vt,"hideLinkEmbed");function _t(t,e,n){return n?`[${t}](${e} "${n}")`:`[${t}](${e})`}o(_t,"hyperlink");function Lt(t){return`||${t}||`}o(Lt,"spoiler");function Dt(t){return`<@${t}>`}o(Dt,"userMention");function Jt(t){return`<@!${t}>`}o(Jt,"memberNicknameMention");function kt(t){return`<#${t}>`}o(kt,"channelMention");function Ft(t){return`<@&${t}>`}o(Ft,"roleMention");function jt(t,e=!1){return`<${e?"a":""}:_:${t}>`}o(jt,"formatEmoji");function Ut(t,e){return typeof t!="number"&&(t=Math.floor((t?.getTime()??Date.now())/1e3)),typeof e=="string"?`<t:${t}:${e}>`:`<t:${t}>`}o(Ut,"time");var qt={ShortTime:"t",LongTime:"T",ShortDate:"d",LongDate:"D",ShortDateTime:"f",LongDateTime:"F",RelativeTime:"R"},Ze=(r=>(r.Shrug="\xAF\\_(\u30C4)\\_/\xAF",r.Tableflip="(\u256F\xB0\u25A1\xB0\uFF09\u256F\uFE35 \u253B\u2501\u253B",r.Unflip="\u252C\u2500\u252C \u30CE( \u309C-\u309C\u30CE)",r))(Ze||{});var we={};D(we,{buttonLabelValidator:()=>Oe,buttonStyleValidator:()=>Se,customIdValidator:()=>M,defaultValidator:()=>Te,disabledValidator:()=>k,emojiValidator:()=>J,labelValueValidator:()=>F,minMaxValidator:()=>ie,optionsValidator:()=>Ke,placeholderValidator:()=>Pe,urlValidator:()=>Re,validateRequiredButtonParameters:()=>Me,validateRequiredSelectMenuOptionParameters:()=>ve,validateRequiredSelectMenuParameters:()=>Ie});var oe=require("discord-api-types/v9"),l=require("zod"),M=l.z.string().min(1).max(100),J=l.z.object({id:l.z.string(),name:l.z.string(),animated:l.z.boolean()}).partial().strict(),k=l.z.boolean(),Oe=l.z.string().nonempty().max(80),Se=l.z.number().int().min(oe.ButtonStyle.Primary).max(oe.ButtonStyle.Link),Pe=l.z.string().max(100),ie=l.z.number().int().min(0).max(25),Ke=l.z.object({}).array().nonempty();function Ie(t,e){M.parse(e),Ke.parse(t)}o(Ie,"validateRequiredSelectMenuParameters");var F=l.z.string().min(1).max(100),Te=l.z.boolean();function ve(t,e){F.parse(t),F.parse(e)}o(ve,"validateRequiredSelectMenuOptionParameters");var Re=l.z.string().url();function Me(t,e,n,r,a){if(a&&r)throw new RangeError("URL and custom id are mutually exclusive");if(!e&&!n)throw new RangeError("Buttons must have a label and/or an emoji");if(t===oe.ButtonStyle.Link){if(!a)throw new RangeError("Link buttons must have a url")}else if(a)throw new RangeError("Non-link buttons cannot have a url")}o(Me,"validateRequiredButtonParameters");var Qe=require("discord-api-types/v9");var ne=require("discord-api-types/v9");function Ne(t){switch(t.type){case ne.ComponentType.ActionRow:return t instanceof w?t:new w(t);case ne.ComponentType.Button:return t instanceof N?t:new N(t);case ne.ComponentType.SelectMenu:return t instanceof E?t:new E(t);default:throw new Error(`Cannot serialize component type: ${t.type}`)}}o(Ne,"createComponent");var w=class{constructor(e){i(this,"components",[]);i(this,"type",Qe.ComponentType.ActionRow);this.components=e?.components.map(Ne)??[]}addComponents(...e){return this.components.push(...e),this}setComponents(...e){return Reflect.set(this,"components",[...e]),this}toJSON(){return{...this,components:this.components.map(e=>e.toJSON())}}};o(w,"ActionRow");var re=require("discord-api-types/v9"),j=class{constructor(e){i(this,"type",re.ComponentType.Button);i(this,"style");i(this,"label");i(this,"emoji");i(this,"disabled");i(this,"custom_id");i(this,"url");this.style=e?.style,this.label=e?.label,this.emoji=e?.emoji,this.disabled=e?.disabled,e?.style===re.ButtonStyle.Link?this.url=e.url:this.custom_id=e?.custom_id}setStyle(e){return Reflect.set(this,"style",e),this}setURL(e){return Reflect.set(this,"url",e),this}setCustomId(e){return Reflect.set(this,"custom_id",e),this}setEmoji(e){return Reflect.set(this,"emoji",e),this}setDisabled(e){return Reflect.set(this,"disabled",e),this}setLabel(e){return Reflect.set(this,"label",e),this}toJSON(){return{...this}}};o(j,"UnsafeButtonComponent");var N=class extends j{setStyle(e){return super.setStyle(Se.parse(e))}setURL(e){return super.setURL(Re.parse(e))}setCustomId(e){return super.setCustomId(M.parse(e))}setEmoji(e){return super.setEmoji(J.parse(e))}setDisabled(e){return super.setDisabled(k.parse(e))}setLabel(e){return super.setLabel(Oe.parse(e))}toJSON(){return Me(this.style,this.label,this.emoji,this.custom_id,this.url),super.toJSON()}};o(N,"ButtonComponent");var He=require("discord-api-types/v9");var U=class{constructor(e){i(this,"label");i(this,"value");i(this,"description");i(this,"emoji");i(this,"default");this.label=e?.label,this.value=e?.value,this.description=e?.description,this.emoji=e?.emoji,this.default=e?.default}setLabel(e){return Reflect.set(this,"label",e),this}setValue(e){return Reflect.set(this,"value",e),this}setDescription(e){return Reflect.set(this,"description",e),this}setDefault(e){return Reflect.set(this,"default",e),this}setEmoji(e){return Reflect.set(this,"emoji",e),this}toJSON(){return{...this}}};o(U,"UnsafeSelectMenuOption");var q=class extends U{setDescription(e){return super.setDescription(F.parse(e))}setDefault(e){return super.setDefault(Te.parse(e))}setEmoji(e){return super.setEmoji(J.parse(e))}toJSON(){return ve(this.label,this.value),super.toJSON()}};o(q,"SelectMenuOption");var G=class{constructor(e){i(this,"type",He.ComponentType.SelectMenu);i(this,"options");i(this,"placeholder");i(this,"min_values");i(this,"max_values");i(this,"custom_id");i(this,"disabled");this.options=e?.options.map(n=>new q(n))??[],this.placeholder=e?.placeholder,this.min_values=e?.min_values,this.max_values=e?.max_values,this.custom_id=e?.custom_id,this.disabled=e?.disabled}setPlaceholder(e){return Reflect.set(this,"placeholder",e),this}setMinValues(e){return Reflect.set(this,"min_values",e),this}setMaxValues(e){return Reflect.set(this,"max_values",e),this}setCustomId(e){return Reflect.set(this,"custom_id",e),this}setDisabled(e){return Reflect.set(this,"disabled",e),this}addOptions(...e){return this.options.push(...e),this}setOptions(...e){return Reflect.set(this,"options",[...e]),this}toJSON(){return{...this,options:this.options.map(e=>e.toJSON())}}};o(G,"UnsafeSelectMenuComponent");var E=class extends G{setPlaceholder(e){return super.setPlaceholder(Pe.parse(e))}setMinValues(e){return super.setMinValues(ie.parse(e))}setMaxValues(e){return super.setMaxValues(ie.parse(e))}setCustomId(e){return super.setCustomId(M.parse(e))}setDisabled(e){return super.setDisabled(k.parse(e))}toJSON(){return Ie(this.options,this.custom_id),super.toJSON()}};o(E,"SelectMenuComponent");var $e={};D($e,{assertReturnOfBuilder:()=>y,validateDefaultPermission:()=>Ee,validateDescription:()=>pe,validateMaxChoicesLength:()=>Be,validateMaxOptionsLength:()=>h,validateName:()=>ae,validateRequired:()=>le,validateRequiredParameters:()=>x});var se=It(require("@sindresorhus/is")),z=require("zod"),Gt=z.z.string().min(1).max(32).regex(/^[\P{Lu}\p{N}_-]+$/u);function ae(t){Gt.parse(t)}o(ae,"validateName");var zt=z.z.string().min(1).max(100);function pe(t){zt.parse(t)}o(pe,"validateDescription");var Xe=z.z.unknown().array().max(25);function h(t){Xe.parse(t)}o(h,"validateMaxOptionsLength");function x(t,e,n){ae(t),pe(e),h(n)}o(x,"validateRequiredParameters");var Ye=z.z.boolean();function Ee(t){Ye.parse(t)}o(Ee,"validateDefaultPermission");function le(t){Ye.parse(t)}o(le,"validateRequired");function Be(t){Xe.parse(t)}o(Be,"validateMaxChoicesLength");function y(t,e){let n=e.name;if(se.default.nullOrUndefined(t))throw new TypeError(`Expected to receive a ${n} builder, got ${t===null?"null":"undefined"} instead.`);if(se.default.primitive(t))throw new TypeError(`Expected to receive a ${n} builder, got a primitive (${typeof t}) instead.`);if(!(t instanceof e)){let r=t,a=se.default.function_(t)?t.name:r.constructor.name,v=Reflect.get(r,Symbol.toStringTag),L=v?`${a} [${v}]`:a;throw new TypeError(`Expected to receive a ${n} builder, got ${L} instead.`)}}o(y,"assertReturnOfBuilder");var yt=require("ts-mixer");var et=require("discord-api-types/v9");var b=class{constructor(){i(this,"name");i(this,"description")}setName(e){return ae(e),Reflect.set(this,"name",e),this}setDescription(e){return pe(e),Reflect.set(this,"description",e),this}};o(b,"SharedNameAndDescription");var p=class extends b{constructor(){super(...arguments);i(this,"required",!1)}setRequired(e){return le(e),Reflect.set(this,"required",e),this}runRequiredValidations(){x(this.name,this.description,[]),le(this.required)}};o(p,"ApplicationCommandOptionBase");var W=class extends p{constructor(){super(...arguments);i(this,"type",et.ApplicationCommandOptionType.Boolean)}toJSON(){return this.runRequiredValidations(),{...this}}};o(W,"SlashCommandBooleanOption");var tt=require("discord-api-types/v9"),ot=require("ts-mixer");var u=require("discord-api-types/v9"),Ve=require("zod"),Wt=[u.ChannelType.GuildText,u.ChannelType.GuildVoice,u.ChannelType.GuildCategory,u.ChannelType.GuildNews,u.ChannelType.GuildStore,u.ChannelType.GuildNewsThread,u.ChannelType.GuildPublicThread,u.ChannelType.GuildPrivateThread,u.ChannelType.GuildStageVoice],Zt=Ve.z.union(Wt.map(t=>Ve.z.literal(t))),me=class{constructor(){i(this,"channel_types")}addChannelType(e){return this.channel_types===void 0&&Reflect.set(this,"channel_types",[]),Zt.parse(e),this.channel_types.push(e),this}addChannelTypes(e){return e.forEach(n=>this.addChannelType(n)),this}};o(me,"ApplicationCommandOptionChannelTypesMixin");var S=class extends p{constructor(){super(...arguments);i(this,"type",tt.ApplicationCommandOptionType.Channel)}toJSON(){return this.runRequiredValidations(),{...this}}};o(S,"SlashCommandChannelOption"),S=m([(0,ot.mix)(me)],S);var st=require("discord-api-types/v9"),at=require("ts-mixer"),pt=require("zod");var B=class{constructor(){i(this,"max_value");i(this,"min_value")}};o(B,"ApplicationCommandNumericOptionMinMaxValueMixin");var it=require("discord-api-types/v9"),$=require("zod");var de=$.z.string().min(1).max(100),nt=$.z.number().gt(-1/0).lt(1/0),rt=$.z.object({name:de,value:$.z.union([de,nt])}).array(),Kt=$.z.boolean(),A=class{constructor(){i(this,"choices");i(this,"autocomplete");i(this,"type")}addChoice(e){let{name:n,value:r}=e;if(this.autocomplete)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");return this.choices===void 0&&Reflect.set(this,"choices",[]),Be(this.choices),de.parse(n),this.type===it.ApplicationCommandOptionType.String?de.parse(r):nt.parse(r),this.choices.push({name:n,value:r}),this}addChoices(...e){if(this.autocomplete)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");rt.parse(e);for(let n of e)this.addChoice(n);return this}setChoices(...e){if(e.length>0&&this.autocomplete)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");rt.parse(e),Reflect.set(this,"choices",[]);for(let n of e)this.addChoice(n);return this}setAutocomplete(e){if(Kt.parse(e),e&&Array.isArray(this.choices)&&this.choices.length>0)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");return Reflect.set(this,"autocomplete",e),this}};o(A,"ApplicationCommandOptionWithChoicesAndAutocompleteMixin");var lt=pt.z.number().int().nonnegative(),P=class extends p{constructor(){super(...arguments);i(this,"type",st.ApplicationCommandOptionType.Integer)}setMaxValue(e){return lt.parse(e),Reflect.set(this,"max_value",e),this}setMinValue(e){return lt.parse(e),Reflect.set(this,"min_value",e),this}toJSON(){if(this.runRequiredValidations(),this.autocomplete&&Array.isArray(this.choices)&&this.choices.length>0)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");return{...this}}};o(P,"SlashCommandIntegerOption"),P=m([(0,at.mix)(B,A)],P);var mt=require("discord-api-types/v9");var Z=class extends p{constructor(){super(...arguments);i(this,"type",mt.ApplicationCommandOptionType.Mentionable)}toJSON(){return this.runRequiredValidations(),{...this}}};o(Z,"SlashCommandMentionableOption");var dt=require("discord-api-types/v9"),ut=require("ts-mixer"),ct=require("zod");var ht=ct.z.number().nonnegative(),I=class extends p{constructor(){super(...arguments);i(this,"type",dt.ApplicationCommandOptionType.Number)}setMaxValue(e){return ht.parse(e),Reflect.set(this,"max_value",e),this}setMinValue(e){return ht.parse(e),Reflect.set(this,"min_value",e),this}toJSON(){if(this.runRequiredValidations(),this.autocomplete&&Array.isArray(this.choices)&&this.choices.length>0)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");return{...this}}};o(I,"SlashCommandNumberOption"),I=m([(0,ut.mix)(B,A)],I);var bt=require("discord-api-types/v9");var K=class extends p{constructor(){super(...arguments);i(this,"type",bt.ApplicationCommandOptionType.Role)}toJSON(){return this.runRequiredValidations(),{...this}}};o(K,"SlashCommandRoleOption");var ft=require("discord-api-types/v9"),Ct=require("ts-mixer");var T=class extends p{constructor(){super(...arguments);i(this,"type",ft.ApplicationCommandOptionType.String)}toJSON(){if(this.runRequiredValidations(),this.autocomplete&&Array.isArray(this.choices)&&this.choices.length>0)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");return{...this}}};o(T,"SlashCommandStringOption"),T=m([(0,Ct.mix)(A)],T);var xt=require("discord-api-types/v9");var Q=class extends p{constructor(){super(...arguments);i(this,"type",xt.ApplicationCommandOptionType.User)}toJSON(){return this.runRequiredValidations(),{...this}}};o(Q,"SlashCommandUserOption");var V=class{constructor(){i(this,"options")}addBooleanOption(e){return this._sharedAddOptionMethod(e,W)}addUserOption(e){return this._sharedAddOptionMethod(e,Q)}addChannelOption(e){return this._sharedAddOptionMethod(e,S)}addRoleOption(e){return this._sharedAddOptionMethod(e,K)}addMentionableOption(e){return this._sharedAddOptionMethod(e,Z)}addStringOption(e){return this._sharedAddOptionMethod(e,T)}addIntegerOption(e){return this._sharedAddOptionMethod(e,P)}addNumberOption(e){return this._sharedAddOptionMethod(e,I)}_sharedAddOptionMethod(e,n){let{options:r}=this;h(r);let a=typeof e=="function"?e(new n):e;return y(a,n),r.push(a),this}};o(V,"SharedSlashCommandOptions");var _e=require("discord-api-types/v9"),Le=require("ts-mixer");var g=class{constructor(){i(this,"name");i(this,"description");i(this,"options",[])}addSubcommand(e){let{options:n}=this;h(n);let r=typeof e=="function"?e(new c):e;return y(r,c),n.push(r),this}toJSON(){return x(this.name,this.description,this.options),{type:_e.ApplicationCommandOptionType.SubcommandGroup,name:this.name,description:this.description,options:this.options.map(e=>e.toJSON())}}};o(g,"SlashCommandSubcommandGroupBuilder"),g=m([(0,Le.mix)(b)],g);var c=class{constructor(){i(this,"name");i(this,"description");i(this,"options",[])}toJSON(){return x(this.name,this.description,this.options),{type:_e.ApplicationCommandOptionType.Subcommand,name:this.name,description:this.description,options:this.options.map(e=>e.toJSON())}}};o(c,"SlashCommandSubcommandBuilder"),c=m([(0,Le.mix)(b,V)],c);var H=class{constructor(){i(this,"name");i(this,"description");i(this,"options",[]);i(this,"defaultPermission")}toJSON(){return x(this.name,this.description,this.options),{name:this.name,description:this.description,options:this.options.map(e=>e.toJSON()),default_permission:this.defaultPermission}}setDefaultPermission(e){return Ee(e),Reflect.set(this,"defaultPermission",e),this}addSubcommandGroup(e){let{options:n}=this;h(n);let r=typeof e=="function"?e(new g):e;return y(r,g),n.push(r),this}addSubcommand(e){let{options:n}=this;h(n);let r=typeof e=="function"?e(new c):e;return y(r,c),n.push(r),this}};o(H,"SlashCommandBuilder"),H=m([(0,yt.mix)(V,b)],H);var Fe={};D(Fe,{validateDefaultPermission:()=>Je,validateName:()=>ue,validateRequiredParameters:()=>ke,validateType:()=>ce});var _=require("zod"),De=require("discord-api-types/v9"),Qt=_.z.string().min(1).max(32).regex(/^( *[\p{L}\p{N}_-]+ *)+$/u),Ht=_.z.union([_.z.literal(De.ApplicationCommandType.User),_.z.literal(De.ApplicationCommandType.Message)]),Xt=_.z.boolean();function Je(t){Xt.parse(t)}o(Je,"validateDefaultPermission");function ue(t){Qt.parse(t)}o(ue,"validateName");function ce(t){Ht.parse(t)}o(ce,"validateType");function ke(t,e){ue(t),ce(e)}o(ke,"validateRequiredParameters");var je=class{constructor(){i(this,"name");i(this,"type");i(this,"defaultPermission")}setName(e){return ue(e),Reflect.set(this,"name",e),this}setType(e){return ce(e),Reflect.set(this,"type",e),this}setDefaultPermission(e){return Je(e),Reflect.set(this,"defaultPermission",e),this}toJSON(){return ke(this.name,this.type),{name:this.name,type:this.type,default_permission:this.defaultPermission}}};o(je,"ContextMenuCommandBuilder");function Yt(t){return t!==null&&typeof t=="object"&&"toJSON"in t}o(Yt,"isJSONEncodable");module.exports=Tt(eo);0&&(module.exports={ActionRow,ButtonComponent,ComponentAssertions,ContextMenuCommandAssertions,ContextMenuCommandBuilder,Embed,EmbedAssertions,Faces,SelectMenuComponent,SelectMenuOption,SlashCommandAssertions,SlashCommandBooleanOption,SlashCommandBuilder,SlashCommandChannelOption,SlashCommandIntegerOption,SlashCommandMentionableOption,SlashCommandNumberOption,SlashCommandRoleOption,SlashCommandStringOption,SlashCommandSubcommandBuilder,SlashCommandSubcommandGroupBuilder,SlashCommandUserOption,TimestampStyles,UnsafeButtonComponent,UnsafeEmbed,UnsafeSelectMenuComponent,UnsafeSelectMenuOption,blockQuote,bold,channelMention,codeBlock,createComponent,formatEmoji,hideLinkEmbed,hyperlink,inlineCode,isJSONEncodable,italic,memberNicknameMention,quote,roleMention,spoiler,strikethrough,time,underscore,userMention});
var Se=Object.create;var S=Object.defineProperty;var qt=Object.getOwnPropertyDescriptor;var Pe=Object.getOwnPropertyNames;var Ie=Object.getPrototypeOf,Te=Object.prototype.hasOwnProperty;var Me=(e,t,n)=>t in e?S(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Gt=e=>S(e,"__esModule",{value:!0}),o=(e,t)=>S(e,"name",{value:t,configurable:!0});var F=(e,t)=>{for(var n in t)S(e,n,{get:t[n],enumerable:!0})},zt=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Pe(t))!Te.call(e,s)&&(n||s!=="default")&&S(e,s,{get:()=>t[s],enumerable:!(r=qt(t,s))||r.enumerable});return e},ve=(e,t)=>zt(Gt(S(e!=null?Se(Ie(e)):{},"default",!t&&e&&e.__esModule?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e),Re=(e=>(t,n)=>e&&e.get(t)||(n=zt(Gt({}),t,1),e&&e.set(t,n),n))(typeof WeakMap!="undefined"?new WeakMap:0),l=(e,t,n,r)=>{for(var s=r>1?void 0:r?qt(t,n):t,R=e.length-1,U;R>=0;R--)(U=e[R])&&(s=(r?U(t,n,s):U(s))||s);return r&&s&&S(t,n,s),s};var i=(e,t,n)=>(Me(e,typeof t!="symbol"?t+"":t,n),n);var no={};F(no,{ActionRow:()=>B,ButtonComponent:()=>N,Component:()=>h,ComponentAssertions:()=>wt,ContextMenuCommandAssertions:()=>kt,ContextMenuCommandBuilder:()=>jt,Embed:()=>gt,EmbedAssertions:()=>yt,Faces:()=>Kt,SelectMenuComponent:()=>$,SelectMenuOption:()=>Bt,SlashCommandAssertions:()=>_t,SlashCommandAttachmentOption:()=>Q,SlashCommandBooleanOption:()=>W,SlashCommandBuilder:()=>X,SlashCommandChannelOption:()=>I,SlashCommandIntegerOption:()=>T,SlashCommandMentionableOption:()=>Z,SlashCommandNumberOption:()=>M,SlashCommandRoleOption:()=>K,SlashCommandStringOption:()=>v,SlashCommandSubcommandBuilder:()=>c,SlashCommandSubcommandGroupBuilder:()=>O,SlashCommandUserOption:()=>H,TimestampStyles:()=>We,UnsafeButtonComponent:()=>q,UnsafeEmbed:()=>x,UnsafeSelectMenuComponent:()=>G,UnsafeSelectMenuOption:()=>P,blockQuote:()=>Ve,bold:()=>Ne,channelMention:()=>je,codeBlock:()=>we,createComponent:()=>Et,formatEmoji:()=>Ge,hideLinkEmbed:()=>De,hyperlink:()=>Ue,inlineCode:()=>Ee,isJSONEncodable:()=>oo,italic:()=>Be,memberNicknameMention:()=>ke,quote:()=>Le,roleMention:()=>qe,spoiler:()=>Fe,strikethrough:()=>_e,time:()=>ze,underscore:()=>$e,userMention:()=>Je});var yt={};F(yt,{authorNamePredicate:()=>ht,colorPredicate:()=>bt,descriptionPredicate:()=>Ct,embedFieldPredicate:()=>Wt,embedFieldsArrayPredicate:()=>et,fieldInlinePredicate:()=>tt,fieldLengthPredicate:()=>Zt,fieldNamePredicate:()=>w,fieldValuePredicate:()=>Y,footerTextPredicate:()=>ft,timestampPredicate:()=>xt,titlePredicate:()=>At,urlPredicate:()=>f,validateFieldLength:()=>ot});var d=require("zod"),w=d.z.string().min(1).max(256),Y=d.z.string().min(1).max(1024),tt=d.z.boolean().optional(),Wt=d.z.object({name:w,value:Y,inline:tt}),et=Wt.array(),Zt=d.z.number().lte(25);function ot(e,t){Zt.parse((t?.length??0)+e)}o(ot,"validateFieldLength");var ht=w.nullable(),f=d.z.string().url().nullish(),bt=d.z.number().gte(0).lte(16777215).nullable(),Ct=d.z.string().min(1).max(4096).nullable(),ft=d.z.string().min(1).max(2048).nullable(),xt=d.z.union([d.z.number(),d.z.date()]).nullable(),At=w.nullable();var x=class{constructor(t={}){i(this,"data");this.data={...t},t.timestamp&&(this.data.timestamp=new Date(t.timestamp).toISOString())}get fields(){return this.data.fields}get title(){return this.data.title}get description(){return this.data.description}get url(){return this.data.url}get color(){return this.data.color}get timestamp(){return this.data.timestamp}get thumbnail(){if(!!this.data.thumbnail)return{url:this.data.thumbnail.url,proxyURL:this.data.thumbnail.proxy_url,height:this.data.thumbnail.height,width:this.data.thumbnail.width}}get image(){if(!!this.data.image)return{url:this.data.image.url,proxyURL:this.data.image.proxy_url,height:this.data.image.height,width:this.data.image.width}}get video(){return this.data.video}get author(){if(!!this.data.author)return{name:this.data.author.name,url:this.data.author.url,iconURL:this.data.author.icon_url,proxyIconURL:this.data.author.proxy_icon_url}}get provider(){return this.data.provider}get footer(){if(!!this.data.footer)return{text:this.data.footer.text,iconURL:this.data.footer.icon_url,proxyIconURL:this.data.footer.proxy_icon_url}}get length(){return(this.data.title?.length??0)+(this.data.description?.length??0)+(this.data.fields?.reduce((t,n)=>t+n.name.length+n.value.length,0)??0)+(this.data.footer?.text.length??0)+(this.data.author?.name.length??0)}addField(t){return this.addFields(t)}addFields(...t){return t=x.normalizeFields(...t),this.data.fields?this.data.fields.push(...t):this.data.fields=t,this}spliceFields(t,n,...r){return r=x.normalizeFields(...r),this.data.fields?this.data.fields.splice(t,n,...r):this.data.fields=r,this}setFields(...t){return this.spliceFields(0,this.fields?.length??0,...t),this}setAuthor(t){return t===null?(this.data.author=void 0,this):(this.data.author={name:t.name,url:t.url,icon_url:t.iconURL},this)}setColor(t){return this.data.color=t??void 0,this}setDescription(t){return this.data.description=t??void 0,this}setFooter(t){return t===null?(this.data.footer=void 0,this):(this.data.footer={text:t.text,icon_url:t.iconURL},this)}setImage(t){return this.data.image=t?{url:t}:void 0,this}setThumbnail(t){return this.data.thumbnail=t?{url:t}:void 0,this}setTimestamp(t=Date.now()){return this.data.timestamp=t?new Date(t).toISOString():void 0,this}setTitle(t){return this.data.title=t??void 0,this}setURL(t){return this.data.url=t??void 0,this}toJSON(){return{...this.data}}static normalizeFields(...t){return t.flat(1/0).map(n=>({name:n.name,value:n.value,inline:n.inline??void 0}))}};o(x,"UnsafeEmbed");var gt=class extends x{addFields(...t){return ot(t.length,this.fields),super.addFields(...et.parse(t))}spliceFields(t,n,...r){return ot(r.length-n,this.fields),super.spliceFields(t,n,...et.parse(r))}setAuthor(t){return t===null?super.setAuthor(null):(ht.parse(t.name),f.parse(t.iconURL),f.parse(t.url),super.setAuthor(t))}setColor(t){return super.setColor(bt.parse(t))}setDescription(t){return super.setDescription(Ct.parse(t))}setFooter(t){return t===null?super.setFooter(null):(ft.parse(t.text),f.parse(t.iconURL),super.setFooter(t))}setImage(t){return super.setImage(f.parse(t))}setThumbnail(t){return super.setThumbnail(f.parse(t))}setTimestamp(t=Date.now()){return super.setTimestamp(xt.parse(t))}setTitle(t){return super.setTitle(At.parse(t))}setURL(t){return super.setURL(f.parse(t))}static normalizeFields(...t){return t.flat(1/0).map(n=>(w.parse(n.name),Y.parse(n.value),tt.parse(n.inline),{name:n.name,value:n.value,inline:n.inline??void 0}))}};o(gt,"Embed");function we(e,t){return typeof t=="undefined"?`\`\`\`
${e}\`\`\``:`\`\`\`${e}
${t}\`\`\``}o(we,"codeBlock");function Ee(e){return`\`${e}\``}o(Ee,"inlineCode");function Be(e){return`_${e}_`}o(Be,"italic");function Ne(e){return`**${e}**`}o(Ne,"bold");function $e(e){return`__${e}__`}o($e,"underscore");function _e(e){return`~~${e}~~`}o(_e,"strikethrough");function Le(e){return`> ${e}`}o(Le,"quote");function Ve(e){return`>>> ${e}`}o(Ve,"blockQuote");function De(e){return`<${e}>`}o(De,"hideLinkEmbed");function Ue(e,t,n){return n?`[${e}](${t} "${n}")`:`[${e}](${t})`}o(Ue,"hyperlink");function Fe(e){return`||${e}||`}o(Fe,"spoiler");function Je(e){return`<@${e}>`}o(Je,"userMention");function ke(e){return`<@!${e}>`}o(ke,"memberNicknameMention");function je(e){return`<#${e}>`}o(je,"channelMention");function qe(e){return`<@&${e}>`}o(qe,"roleMention");function Ge(e,t=!1){return`<${t?"a":""}:_:${e}>`}o(Ge,"formatEmoji");function ze(e,t){return typeof e!="number"&&(e=Math.floor((e?.getTime()??Date.now())/1e3)),typeof t=="string"?`<t:${e}:${t}>`:`<t:${e}>`}o(ze,"time");var We={ShortTime:"t",LongTime:"T",ShortDate:"d",LongDate:"D",ShortDateTime:"f",LongDateTime:"F",RelativeTime:"R"},Kt=(r=>(r.Shrug="\xAF\\_(\u30C4)\\_/\xAF",r.Tableflip="(\u256F\xB0\u25A1\xB0\uFF09\u256F\uFE35 \u253B\u2501\u253B",r.Unflip="\u252C\u2500\u252C \u30CE( \u309C-\u309C\u30CE)",r))(Kt||{});var wt={};F(wt,{buttonLabelValidator:()=>Ot,buttonStyleValidator:()=>St,customIdValidator:()=>E,defaultValidator:()=>Tt,disabledValidator:()=>k,emojiValidator:()=>J,labelValueValidator:()=>j,minMaxValidator:()=>it,optionsValidator:()=>Qt,placeholderValidator:()=>Pt,urlValidator:()=>vt,validateRequiredButtonParameters:()=>Rt,validateRequiredSelectMenuOptionParameters:()=>Mt,validateRequiredSelectMenuParameters:()=>It});var nt=require("discord-api-types/v9"),m=require("zod"),E=m.z.string().min(1).max(100),J=m.z.object({id:m.z.string(),name:m.z.string(),animated:m.z.boolean()}).partial().strict(),k=m.z.boolean(),Ot=m.z.string().nonempty().max(80),St=m.z.number().int().min(nt.ButtonStyle.Primary).max(nt.ButtonStyle.Link),Pt=m.z.string().max(100),it=m.z.number().int().min(0).max(25),Qt=m.z.object({}).array().nonempty();function It(e,t){E.parse(t),Qt.parse(e)}o(It,"validateRequiredSelectMenuParameters");var j=m.z.string().min(1).max(100),Tt=m.z.boolean();function Mt(e,t){j.parse(e),j.parse(t)}o(Mt,"validateRequiredSelectMenuOptionParameters");var vt=m.z.string().url();function Rt(e,t,n,r,s){if(s&&r)throw new RangeError("URL and custom id are mutually exclusive");if(!t&&!n)throw new RangeError("Buttons must have a label and/or an emoji");if(e===nt.ButtonStyle.Link){if(!s)throw new RangeError("Link buttons must have a url")}else if(s)throw new RangeError("Non-link buttons cannot have a url")}o(Rt,"validateRequiredButtonParameters");var Ht=require("discord-api-types/v9");var h=class{constructor(t){i(this,"data");this.data=t}get type(){return this.data.type}};o(h,"Component");var rt=require("discord-api-types/v9");function Et(e){switch(e.type){case rt.ComponentType.ActionRow:return e instanceof B?e:new B(e);case rt.ComponentType.Button:return e instanceof N?e:new N(e);case rt.ComponentType.SelectMenu:return e instanceof $?e:new $(e);default:throw new Error(`Cannot serialize component type: ${e.type}`)}}o(Et,"createComponent");var B=class extends h{constructor({components:t,...n}={}){super({type:Ht.ComponentType.ActionRow,...n});i(this,"components");this.components=t?.map(r=>Et(r))??[]}addComponents(...t){return this.components.push(...t),this}setComponents(t){return this.components.splice(0,this.components.length,...t),this}toJSON(){return{...this.data,components:this.components.map(t=>t.toJSON())}}};o(B,"ActionRow");var Xt=require("discord-api-types/v9");var q=class extends h{constructor(t){super({type:Xt.ComponentType.Button,...t})}get style(){return this.data.style}get label(){return this.data.label}get emoji(){return this.data.emoji}get disabled(){return this.data.disabled}get customId(){return this.data.custom_id}get url(){return this.data.url}setStyle(t){return this.data.style=t,this}setURL(t){return this.data.url=t,this}setCustomId(t){return this.data.custom_id=t,this}setEmoji(t){return this.data.emoji=t,this}setDisabled(t){return this.data.disabled=t,this}setLabel(t){return this.data.label=t,this}toJSON(){return{...this.data}}};o(q,"UnsafeButtonComponent");var N=class extends q{setStyle(t){return super.setStyle(St.parse(t))}setURL(t){return super.setURL(vt.parse(t))}setCustomId(t){return super.setCustomId(E.parse(t))}setEmoji(t){return super.setEmoji(J.parse(t))}setDisabled(t){return super.setDisabled(k.parse(t))}setLabel(t){return super.setLabel(Ot.parse(t))}toJSON(){return Rt(this.style,this.label,this.emoji,this.customId,this.url),super.toJSON()}};o(N,"ButtonComponent");var Yt=require("discord-api-types/v9");var P=class{constructor(t={}){this.data=t}get label(){return this.data.label}get value(){return this.data.value}get description(){return this.data.description}get emoji(){return this.data.emoji}get default(){return this.data.default}setLabel(t){return this.data.label=t,this}setValue(t){return this.data.value=t,this}setDescription(t){return this.data.description=t,this}setDefault(t){return this.data.default=t,this}setEmoji(t){return this.data.emoji=t,this}toJSON(){return{...this.data}}};o(P,"UnsafeSelectMenuOption");var G=class extends h{constructor(t){let{options:n,...r}=t??{};super({type:Yt.ComponentType.SelectMenu,...r});i(this,"options");this.options=n?.map(s=>new P(s))??[]}get placeholder(){return this.data.placeholder}get maxValues(){return this.data.max_values}get minValues(){return this.data.min_values}get customId(){return this.data.custom_id}get disabled(){return this.data.disabled}setPlaceholder(t){return this.data.placeholder=t,this}setMinValues(t){return this.data.min_values=t,this}setMaxValues(t){return this.data.max_values=t,this}setCustomId(t){return this.data.custom_id=t,this}setDisabled(t){return this.data.disabled=t,this}addOptions(...t){return this.options.push(...t),this}setOptions(t){return this.options.splice(0,this.options.length,...t),this}toJSON(){return{...this.data,options:this.options.map(t=>t.toJSON())}}};o(G,"UnsafeSelectMenuComponent");var $=class extends G{setPlaceholder(t){return super.setPlaceholder(Pt.parse(t))}setMinValues(t){return super.setMinValues(it.parse(t))}setMaxValues(t){return super.setMaxValues(it.parse(t))}setCustomId(t){return super.setCustomId(E.parse(t))}setDisabled(t){return super.setDisabled(k.parse(t))}toJSON(){return It(this.options,this.customId),super.toJSON()}};o($,"SelectMenuComponent");var Bt=class extends P{setDescription(t){return super.setDescription(j.parse(t))}setDefault(t){return super.setDefault(Tt.parse(t))}setEmoji(t){return super.setEmoji(J.parse(t))}toJSON(){return Mt(this.label,this.value),super.toJSON()}};o(Bt,"SelectMenuOption");var _t={};F(_t,{assertReturnOfBuilder:()=>y,validateDefaultPermission:()=>Nt,validateDescription:()=>pt,validateMaxChoicesLength:()=>$t,validateMaxOptionsLength:()=>b,validateName:()=>st,validateRequired:()=>mt,validateRequiredParameters:()=>A});var at=ve(require("@sindresorhus/is")),z=require("zod"),Ze=z.z.string().min(1).max(32).regex(/^[\P{Lu}\p{N}_-]+$/u);function st(e){Ze.parse(e)}o(st,"validateName");var Ke=z.z.string().min(1).max(100);function pt(e){Ke.parse(e)}o(pt,"validateDescription");var te=z.z.unknown().array().max(25);function b(e){te.parse(e)}o(b,"validateMaxOptionsLength");function A(e,t,n){st(e),pt(t),b(n)}o(A,"validateRequiredParameters");var ee=z.z.boolean();function Nt(e){ee.parse(e)}o(Nt,"validateDefaultPermission");function mt(e){ee.parse(e)}o(mt,"validateRequired");function $t(e){te.parse(e)}o($t,"validateMaxChoicesLength");function y(e,t){let n=t.name;if(at.default.nullOrUndefined(e))throw new TypeError(`Expected to receive a ${n} builder, got ${e===null?"null":"undefined"} instead.`);if(at.default.primitive(e))throw new TypeError(`Expected to receive a ${n} builder, got a primitive (${typeof e}) instead.`);if(!(e instanceof t)){let r=e,s=at.default.function_(e)?e.name:r.constructor.name,R=Reflect.get(r,Symbol.toStringTag),U=R?`${s} [${R}]`:s;throw new TypeError(`Expected to receive a ${n} builder, got ${U} instead.`)}}o(y,"assertReturnOfBuilder");var Oe=require("ts-mixer");var oe=require("discord-api-types/v9");var C=class{constructor(){i(this,"name");i(this,"description")}setName(t){return st(t),Reflect.set(this,"name",t),this}setDescription(t){return pt(t),Reflect.set(this,"description",t),this}};o(C,"SharedNameAndDescription");var p=class extends C{constructor(){super(...arguments);i(this,"required",!1)}setRequired(t){return mt(t),Reflect.set(this,"required",t),this}runRequiredValidations(){A(this.name,this.description,[]),mt(this.required)}};o(p,"ApplicationCommandOptionBase");var W=class extends p{constructor(){super(...arguments);i(this,"type",oe.ApplicationCommandOptionType.Boolean)}toJSON(){return this.runRequiredValidations(),{...this}}};o(W,"SlashCommandBooleanOption");var ne=require("discord-api-types/v9"),ie=require("ts-mixer");var u=require("discord-api-types/v9"),Lt=require("zod"),Qe=[u.ChannelType.GuildText,u.ChannelType.GuildVoice,u.ChannelType.GuildCategory,u.ChannelType.GuildNews,u.ChannelType.GuildStore,u.ChannelType.GuildNewsThread,u.ChannelType.GuildPublicThread,u.ChannelType.GuildPrivateThread,u.ChannelType.GuildStageVoice],He=Lt.z.union(Qe.map(e=>Lt.z.literal(e))),lt=class{constructor(){i(this,"channel_types")}addChannelType(t){return this.channel_types===void 0&&Reflect.set(this,"channel_types",[]),He.parse(t),this.channel_types.push(t),this}addChannelTypes(t){return t.forEach(n=>this.addChannelType(n)),this}};o(lt,"ApplicationCommandOptionChannelTypesMixin");var I=class extends p{constructor(){super(...arguments);i(this,"type",ne.ApplicationCommandOptionType.Channel)}toJSON(){return this.runRequiredValidations(),{...this}}};o(I,"SlashCommandChannelOption"),I=l([(0,ie.mix)(lt)],I);var pe=require("discord-api-types/v9"),me=require("ts-mixer"),le=require("zod");var _=class{constructor(){i(this,"max_value");i(this,"min_value")}};o(_,"ApplicationCommandNumericOptionMinMaxValueMixin");var re=require("discord-api-types/v9"),L=require("zod");var dt=L.z.string().min(1).max(100),ae=L.z.number().gt(-1/0).lt(1/0),se=L.z.object({name:dt,value:L.z.union([dt,ae])}).array(),Xe=L.z.boolean(),g=class{constructor(){i(this,"choices");i(this,"autocomplete");i(this,"type")}addChoice(t){let{name:n,value:r}=t;if(this.autocomplete)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");return this.choices===void 0&&Reflect.set(this,"choices",[]),$t(this.choices),dt.parse(n),this.type===re.ApplicationCommandOptionType.String?dt.parse(r):ae.parse(r),this.choices.push({name:n,value:r}),this}addChoices(...t){if(this.autocomplete)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");se.parse(t);for(let n of t)this.addChoice(n);return this}setChoices(...t){if(t.length>0&&this.autocomplete)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");se.parse(t),Reflect.set(this,"choices",[]);for(let n of t)this.addChoice(n);return this}setAutocomplete(t){if(Xe.parse(t),t&&Array.isArray(this.choices)&&this.choices.length>0)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");return Reflect.set(this,"autocomplete",t),this}};o(g,"ApplicationCommandOptionWithChoicesAndAutocompleteMixin");var de=le.z.number().int().nonnegative(),T=class extends p{constructor(){super(...arguments);i(this,"type",pe.ApplicationCommandOptionType.Integer)}setMaxValue(t){return de.parse(t),Reflect.set(this,"max_value",t),this}setMinValue(t){return de.parse(t),Reflect.set(this,"min_value",t),this}toJSON(){if(this.runRequiredValidations(),this.autocomplete&&Array.isArray(this.choices)&&this.choices.length>0)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");return{...this}}};o(T,"SlashCommandIntegerOption"),T=l([(0,me.mix)(_,g)],T);var ue=require("discord-api-types/v9");var Z=class extends p{constructor(){super(...arguments);i(this,"type",ue.ApplicationCommandOptionType.Mentionable)}toJSON(){return this.runRequiredValidations(),{...this}}};o(Z,"SlashCommandMentionableOption");var ce=require("discord-api-types/v9"),he=require("ts-mixer"),be=require("zod");var Ce=be.z.number().nonnegative(),M=class extends p{constructor(){super(...arguments);i(this,"type",ce.ApplicationCommandOptionType.Number)}setMaxValue(t){return Ce.parse(t),Reflect.set(this,"max_value",t),this}setMinValue(t){return Ce.parse(t),Reflect.set(this,"min_value",t),this}toJSON(){if(this.runRequiredValidations(),this.autocomplete&&Array.isArray(this.choices)&&this.choices.length>0)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");return{...this}}};o(M,"SlashCommandNumberOption"),M=l([(0,he.mix)(_,g)],M);var fe=require("discord-api-types/v9");var K=class extends p{constructor(){super(...arguments);i(this,"type",fe.ApplicationCommandOptionType.Role)}toJSON(){return this.runRequiredValidations(),{...this}}};o(K,"SlashCommandRoleOption");var xe=require("discord-api-types/v9");var Q=class extends p{constructor(){super(...arguments);i(this,"type",xe.ApplicationCommandOptionType.Attachment)}toJSON(){return this.runRequiredValidations(),{...this}}};o(Q,"SlashCommandAttachmentOption");var Ae=require("discord-api-types/v9"),ye=require("ts-mixer");var v=class extends p{constructor(){super(...arguments);i(this,"type",Ae.ApplicationCommandOptionType.String)}toJSON(){if(this.runRequiredValidations(),this.autocomplete&&Array.isArray(this.choices)&&this.choices.length>0)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");return{...this}}};o(v,"SlashCommandStringOption"),v=l([(0,ye.mix)(g)],v);var ge=require("discord-api-types/v9");var H=class extends p{constructor(){super(...arguments);i(this,"type",ge.ApplicationCommandOptionType.User)}toJSON(){return this.runRequiredValidations(),{...this}}};o(H,"SlashCommandUserOption");var V=class{constructor(){i(this,"options")}addBooleanOption(t){return this._sharedAddOptionMethod(t,W)}addUserOption(t){return this._sharedAddOptionMethod(t,H)}addChannelOption(t){return this._sharedAddOptionMethod(t,I)}addRoleOption(t){return this._sharedAddOptionMethod(t,K)}addAttachmentOption(t){return this._sharedAddOptionMethod(t,Q)}addMentionableOption(t){return this._sharedAddOptionMethod(t,Z)}addStringOption(t){return this._sharedAddOptionMethod(t,v)}addIntegerOption(t){return this._sharedAddOptionMethod(t,T)}addNumberOption(t){return this._sharedAddOptionMethod(t,M)}_sharedAddOptionMethod(t,n){let{options:r}=this;b(r);let s=typeof t=="function"?t(new n):t;return y(s,n),r.push(s),this}};o(V,"SharedSlashCommandOptions");var Vt=require("discord-api-types/v9"),Dt=require("ts-mixer");var O=class{constructor(){i(this,"name");i(this,"description");i(this,"options",[])}addSubcommand(t){let{options:n}=this;b(n);let r=typeof t=="function"?t(new c):t;return y(r,c),n.push(r),this}toJSON(){return A(this.name,this.description,this.options),{type:Vt.ApplicationCommandOptionType.SubcommandGroup,name:this.name,description:this.description,options:this.options.map(t=>t.toJSON())}}};o(O,"SlashCommandSubcommandGroupBuilder"),O=l([(0,Dt.mix)(C)],O);var c=class{constructor(){i(this,"name");i(this,"description");i(this,"options",[])}toJSON(){return A(this.name,this.description,this.options),{type:Vt.ApplicationCommandOptionType.Subcommand,name:this.name,description:this.description,options:this.options.map(t=>t.toJSON())}}};o(c,"SlashCommandSubcommandBuilder"),c=l([(0,Dt.mix)(C,V)],c);var X=class{constructor(){i(this,"name");i(this,"description");i(this,"options",[]);i(this,"defaultPermission")}toJSON(){return A(this.name,this.description,this.options),{name:this.name,description:this.description,options:this.options.map(t=>t.toJSON()),default_permission:this.defaultPermission}}setDefaultPermission(t){return Nt(t),Reflect.set(this,"defaultPermission",t),this}addSubcommandGroup(t){let{options:n}=this;b(n);let r=typeof t=="function"?t(new O):t;return y(r,O),n.push(r),this}addSubcommand(t){let{options:n}=this;b(n);let r=typeof t=="function"?t(new c):t;return y(r,c),n.push(r),this}};o(X,"SlashCommandBuilder"),X=l([(0,Oe.mix)(V,C)],X);var kt={};F(kt,{validateDefaultPermission:()=>Ft,validateName:()=>ut,validateRequiredParameters:()=>Jt,validateType:()=>ct});var D=require("zod"),Ut=require("discord-api-types/v9"),Ye=D.z.string().min(1).max(32).regex(/^( *[\p{L}\p{N}_-]+ *)+$/u),to=D.z.union([D.z.literal(Ut.ApplicationCommandType.User),D.z.literal(Ut.ApplicationCommandType.Message)]),eo=D.z.boolean();function Ft(e){eo.parse(e)}o(Ft,"validateDefaultPermission");function ut(e){Ye.parse(e)}o(ut,"validateName");function ct(e){to.parse(e)}o(ct,"validateType");function Jt(e,t){ut(e),ct(t)}o(Jt,"validateRequiredParameters");var jt=class{constructor(){i(this,"name");i(this,"type");i(this,"defaultPermission")}setName(t){return ut(t),Reflect.set(this,"name",t),this}setType(t){return ct(t),Reflect.set(this,"type",t),this}setDefaultPermission(t){return Ft(t),Reflect.set(this,"defaultPermission",t),this}toJSON(){return Jt(this.name,this.type),{name:this.name,type:this.type,default_permission:this.defaultPermission}}};o(jt,"ContextMenuCommandBuilder");function oo(e){return e!==null&&typeof e=="object"&&"toJSON"in e}o(oo,"isJSONEncodable");module.exports=Re(no);0&&(module.exports={ActionRow,ButtonComponent,Component,ComponentAssertions,ContextMenuCommandAssertions,ContextMenuCommandBuilder,Embed,EmbedAssertions,Faces,SelectMenuComponent,SelectMenuOption,SlashCommandAssertions,SlashCommandAttachmentOption,SlashCommandBooleanOption,SlashCommandBuilder,SlashCommandChannelOption,SlashCommandIntegerOption,SlashCommandMentionableOption,SlashCommandNumberOption,SlashCommandRoleOption,SlashCommandStringOption,SlashCommandSubcommandBuilder,SlashCommandSubcommandGroupBuilder,SlashCommandUserOption,TimestampStyles,UnsafeButtonComponent,UnsafeEmbed,UnsafeSelectMenuComponent,UnsafeSelectMenuOption,blockQuote,bold,channelMention,codeBlock,createComponent,formatEmoji,hideLinkEmbed,hyperlink,inlineCode,isJSONEncodable,italic,memberNicknameMention,quote,roleMention,spoiler,strikethrough,time,underscore,userMention});
//# sourceMappingURL=index.js.map
{
"name": "@discordjs/builders",
"version": "0.13.0-dev.1644753796.3ae6f3c",
"version": "0.13.0-dev.1644797188.0dfdb2c",
"description": "A set of builders that you can use when creating your bot",

@@ -55,3 +55,3 @@ "scripts": {

"@sindresorhus/is": "^4.4.0",
"discord-api-types": "^0.26.1",
"discord-api-types": "^0.27.0",
"ts-mixer": "^6.0.0",

@@ -62,17 +62,17 @@ "tslib": "^2.3.1",

"devDependencies": {
"@babel/core": "^7.17.0",
"@babel/plugin-proposal-decorators": "^7.17.0",
"@babel/core": "^7.17.2",
"@babel/plugin-proposal-decorators": "^7.17.2",
"@babel/preset-env": "^7.16.11",
"@babel/preset-typescript": "^7.16.5",
"@babel/preset-typescript": "^7.16.7",
"@discordjs/ts-docgen": "^0.3.4",
"@types/jest": "^27.0.3",
"@types/node": "^16.11.6",
"@typescript-eslint/eslint-plugin": "^5.10.2",
"@typescript-eslint/parser": "^5.10.2",
"@types/jest": "^27.4.0",
"@types/node": "^16.11.24",
"@typescript-eslint/eslint-plugin": "^5.11.0",
"@typescript-eslint/parser": "^5.11.0",
"babel-plugin-transform-typescript-metadata": "^0.3.2",
"eslint": "^8.8.0",
"eslint": "^8.9.0",
"eslint-config-marine": "^9.3.2",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^4.0.0",
"jest": "^27.4.7",
"jest": "^27.5.1",
"prettier": "^2.5.1",

@@ -79,0 +79,0 @@ "tsup": "^5.11.13",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.