Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@discordjs/builders

Package Overview
Dependencies
Maintainers
2
Versions
1199
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 0.12.0 to 0.13.0-dev.1644067366.5f4b44d

115

dist/index.d.ts

@@ -87,54 +87,51 @@ import { APIEmbedField, APIEmbed, APIEmbedThumbnail, APIEmbedImage, APIEmbedVideo, APIEmbedAuthor, APIEmbedProvider, APIEmbedFooter, APIMessageComponentEmoji, APISelectMenuOption, ButtonStyle, ComponentType, APIMessageComponent, 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';

}
/**
* Represents an embed in a message (image/video preview, rich embed, etc.)
*/
declare class Embed implements APIEmbed {
declare class UnsafeEmbed implements APIEmbed {
/**
* An array of fields of this embed
*/
fields: APIEmbedField[];
readonly fields: APIEmbedField[];
/**
* The embed title
*/
title?: string;
readonly title?: string;
/**
* The embed description
*/
description?: string;
readonly description?: string;
/**
* The embed url
*/
url?: string;
readonly url?: string;
/**
* The embed color
*/
color?: number;
readonly color?: number;
/**
* The timestamp of the embed in the ISO format
*/
timestamp?: string;
readonly timestamp?: string;
/**
* The embed thumbnail data
*/
thumbnail?: APIEmbedThumbnail;
readonly thumbnail?: APIEmbedThumbnail;
/**
* The embed image data
*/
image?: APIEmbedImage;
readonly image?: APIEmbedImage;
/**
* Received video data
*/
video?: APIEmbedVideo;
readonly video?: APIEmbedVideo;
/**
* The embed author data
*/
author?: APIEmbedAuthor;
readonly author?: APIEmbedAuthor;
/**
* Received data about the embed provider
*/
provider?: APIEmbedProvider;
readonly provider?: APIEmbedProvider;
/**
* The embed footer data
*/
footer?: APIEmbedFooter;
readonly footer?: APIEmbedFooter;
constructor(data?: APIEmbed);

@@ -166,2 +163,7 @@ /**

/**
* Sets the embed's fields (max 25).
* @param fields The fields to set
*/
setFields(...fields: APIEmbedField[]): this;
/**
* Sets the author of this embed

@@ -233,2 +235,25 @@ *

/**
* Represents an embed in a message (image/video preview, rich embed, etc.)
*/
declare class Embed extends UnsafeEmbed {
addFields(...fields: APIEmbedField[]): this;
spliceFields(index: number, deleteCount: number, ...fields: APIEmbedField[]): this;
setAuthor(options: AuthorOptions | null): this;
setColor(color: number | null): this;
setDescription(description: string | null): this;
setFooter(options: FooterOptions | null): this;
setImage(url: string | null): this;
setThumbnail(url: string | null): this;
setTimestamp(timestamp?: number | Date | null): this;
setTitle(title: string | null): this;
setURL(url: string | null): this;
/**
* Normalizes field input and resolves strings
*
* @param fields Fields to normalize
*/
static normalizeFields(...fields: APIEmbedField[]): APIEmbedField[];
}
/**
* Wraps the content inside a codeblock with no language

@@ -455,5 +480,5 @@ *

/**
* Represents an option within a select menu component
* Represents a non-validated option within a select menu component
*/
declare class SelectMenuOption {
declare class UnsafeSelectMenuOption {
readonly label: string;

@@ -493,2 +518,12 @@ readonly value: string;

/**
* Represents an option within a select menu component
*/
declare class SelectMenuOption extends UnsafeSelectMenuOption {
setDescription(description: string): this;
setDefault(isDefault: boolean): this;
setEmoji(emoji: APIMessageComponentEmoji): this;
toJSON(): APISelectMenuOption;
}
declare const customIdValidator: z.ZodString;

@@ -568,2 +603,3 @@ declare const emojiValidator: z.ZodObject<{

declare type MessageComponent = ActionRowComponent | ActionRow;
declare type ActionRowComponent = ButtonComponent | SelectMenuComponent;

@@ -573,6 +609,8 @@ /**

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

@@ -592,3 +630,3 @@ * Adds components to this action row.

declare class ButtonComponent implements Component {
declare class UnsafeButtonComponent implements Component {
readonly type: ComponentType.Button;

@@ -601,3 +639,5 @@ readonly style: ButtonStyle;

readonly url: string;
constructor(data?: APIButtonComponent);
constructor(data?: APIButtonComponent & {
type?: ComponentType.Button;
});
/**

@@ -636,4 +676,14 @@ * Sets the style of this button

declare class ButtonComponent extends UnsafeButtonComponent {
setStyle(style: ButtonStyle): this;
setURL(url: string): this;
setCustomId(customId: string): this;
setEmoji(emoji: APIMessageComponentEmoji): this;
setDisabled(disabled: boolean): this;
setLabel(label: string): this;
toJSON(): APIButtonComponent;
}
interface MappedComponentTypes {
[ComponentType.ActionRow]: ActionRow<ActionRowComponent>;
[ComponentType.ActionRow]: ActionRow;
[ComponentType.Button]: ButtonComponent;

@@ -649,7 +699,8 @@ [ComponentType.SelectMenu]: SelectMenuComponent;

}): MappedComponentTypes[T];
declare function createComponent<C extends MessageComponent>(data: C): C;
/**
* Represents a select menu component
* Represents a non-validated select menu component
*/
declare class SelectMenuComponent implements Component {
declare class UnsafeSelectMenuComponent implements Component {
readonly type: ComponentType.SelectMenu;

@@ -702,2 +753,14 @@ readonly options: SelectMenuOption[];

/**
* Represents a select menu component
*/
declare class SelectMenuComponent extends UnsafeSelectMenuComponent {
setPlaceholder(placeholder: string): this;
setMinValues(minValues: number): this;
setMaxValues(maxValues: number): this;
setCustomId(customId: string): this;
setDisabled(disabled: boolean): this;
toJSON(): APISelectMenuComponent;
}
declare class SharedNameAndDescription {

@@ -1096,2 +1159,2 @@ readonly name: string;

export { ActionRow, ActionRowComponent, AuthorOptions, ButtonComponent, Component, Assertions$2 as ComponentAssertions, Assertions as ContextMenuCommandAssertions, ContextMenuCommandBuilder, ContextMenuCommandType, Embed, Assertions$3 as EmbedAssertions, Faces, FooterOptions, MappedComponentTypes, SelectMenuComponent, SelectMenuOption, Assertions$1 as SlashCommandAssertions, SlashCommandBooleanOption, SlashCommandBuilder, SlashCommandChannelOption, SlashCommandIntegerOption, SlashCommandMentionableOption, SlashCommandNumberOption, SlashCommandOptionsOnlyBuilder, SlashCommandRoleOption, SlashCommandStringOption, SlashCommandSubcommandBuilder, SlashCommandSubcommandGroupBuilder, SlashCommandSubcommandsOnlyBuilder, SlashCommandUserOption, TimestampStyles, TimestampStylesString, ToAPIApplicationCommandOptions, blockQuote, bold, channelMention, codeBlock, createComponent, formatEmoji, hideLinkEmbed, hyperlink, inlineCode, italic, memberNicknameMention, quote, roleMention, spoiler, strikethrough, time, underscore, userMention };
export { ActionRow, ActionRowComponent, AuthorOptions, ButtonComponent, Component, Assertions$2 as ComponentAssertions, Assertions as ContextMenuCommandAssertions, ContextMenuCommandBuilder, ContextMenuCommandType, Embed, Assertions$3 as EmbedAssertions, Faces, FooterOptions, 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, italic, memberNicknameMention, quote, roleMention, spoiler, strikethrough, time, underscore, userMention };

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

var bt=Object.create;var O=Object.defineProperty;var Le=Object.getOwnPropertyDescriptor;var Ct=Object.getOwnPropertyNames;var ft=Object.getPrototypeOf,xt=Object.prototype.hasOwnProperty;var At=(t,e,i)=>e in t?O(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i;var ke=t=>O(t,"__esModule",{value:!0});var B=(t,e)=>{for(var i in e)O(t,i,{get:e[i],enumerable:!0})},De=(t,e,i,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of Ct(e))!xt.call(t,a)&&(i||a!=="default")&&O(t,a,{get:()=>e[a],enumerable:!(n=Le(e,a))||n.enumerable});return t},yt=(t,e)=>De(ke(O(t!=null?bt(ft(t)):{},"default",!e&&t&&t.__esModule?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t),Ot=(t=>(e,i)=>t&&t.get(e)||(i=De(ke({}),e,1),t&&t.set(e,i),i))(typeof WeakMap!="undefined"?new WeakMap:0),m=(t,e,i,n)=>{for(var a=n>1?void 0:n?Le(e,i):e,y=t.length-1,w;y>=0;y--)(w=t[y])&&(a=(n?w(e,i,a):w(a))||a);return n&&a&&O(e,i,a),a};var o=(t,e,i)=>(At(t,typeof e!="symbol"?e+"":e,i),i);var Zt={};B(Zt,{ActionRow:()=>z,ButtonComponent:()=>W,ComponentAssertions:()=>Pe,ContextMenuCommandAssertions:()=>Ve,ContextMenuCommandBuilder:()=>ht,Embed:()=>N,EmbedAssertions:()=>be,Faces:()=>je,SelectMenuComponent:()=>Z,SelectMenuOption:()=>Q,SlashCommandAssertions:()=>Re,SlashCommandBooleanOption:()=>te,SlashCommandBuilder:()=>ae,SlashCommandChannelOption:()=>P,SlashCommandIntegerOption:()=>I,SlashCommandMentionableOption:()=>ie,SlashCommandNumberOption:()=>M,SlashCommandRoleOption:()=>ne,SlashCommandStringOption:()=>R,SlashCommandSubcommandBuilder:()=>u,SlashCommandSubcommandGroupBuilder:()=>A,SlashCommandUserOption:()=>re,TimestampStyles:()=>Dt,blockQuote:()=>vt,bold:()=>Tt,channelMention:()=>_t,codeBlock:()=>St,createComponent:()=>Te,formatEmoji:()=>Lt,hideLinkEmbed:()=>wt,hyperlink:()=>Bt,inlineCode:()=>gt,italic:()=>Pt,memberNicknameMention:()=>Et,quote:()=>Rt,roleMention:()=>Vt,spoiler:()=>Nt,strikethrough:()=>Mt,time:()=>kt,underscore:()=>It,userMention:()=>$t});var be={};B(be,{authorNamePredicate:()=>me,colorPredicate:()=>le,descriptionPredicate:()=>de,embedFieldPredicate:()=>Ue,embedFieldsArrayPredicate:()=>J,fieldInlinePredicate:()=>U,fieldLengthPredicate:()=>Je,fieldNamePredicate:()=>S,fieldValuePredicate:()=>D,footerTextPredicate:()=>ce,timestampPredicate:()=>ue,titlePredicate:()=>he,urlPredicate:()=>h,validateFieldLength:()=>j});var l=require("zod"),S=l.z.string().min(1).max(256),D=l.z.string().min(1).max(1024),U=l.z.boolean().optional(),Ue=l.z.object({name:S,value:D,inline:U}),J=Ue.array(),Je=l.z.number().lte(25);function j(t,e){Je.parse(t.length+e)}var me=S.nullable(),h=l.z.string().url().nullish(),le=l.z.number().gte(0).lte(16777215).nullable(),de=l.z.string().min(1).max(4096).nullable(),ce=l.z.string().min(1).max(2048).nullable(),ue=l.z.union([l.z.number(),l.z.date()]).nullable(),he=S.nullable();var N=class{constructor(e={}){o(this,"fields");o(this,"title");o(this,"description");o(this,"url");o(this,"color");o(this,"timestamp");o(this,"thumbnail");o(this,"image");o(this,"video");o(this,"author");o(this,"provider");o(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,i)=>e+i.name.length+i.value.length,0)+(this.footer?.text.length??0)+(this.author?.name.length??0)}addField(e){return this.addFields(e)}addFields(...e){return J.parse(e),j(this.fields,e.length),this.fields.push(...N.normalizeFields(...e)),this}spliceFields(e,i,...n){return J.parse(n),j(this.fields,n.length-i),this.fields.splice(e,i,...N.normalizeFields(...n)),this}setAuthor(e){if(e===null)return this.author=void 0,this;let{name:i,iconURL:n,url:a}=e;return me.parse(i),h.parse(n),h.parse(a),this.author={name:i,url:a,icon_url:n},this}setColor(e){return le.parse(e),this.color=e??void 0,this}setDescription(e){return de.parse(e),this.description=e??void 0,this}setFooter(e){if(e===null)return this.footer=void 0,this;let{text:i,iconURL:n}=e;return ce.parse(i),h.parse(n),this.footer={text:i,icon_url:n},this}setImage(e){return h.parse(e),this.image=e?{url:e}:void 0,this}setThumbnail(e){return h.parse(e),this.thumbnail=e?{url:e}:void 0,this}setTimestamp(e=Date.now()){return ue.parse(e),this.timestamp=e?new Date(e).toISOString():void 0,this}setTitle(e){return he.parse(e),this.title=e??void 0,this}setURL(e){return h.parse(e),this.url=e??void 0,this}toJSON(){return{...this}}static normalizeFields(...e){return e.flat(1/0).map(i=>(S.parse(i.name),D.parse(i.value),U.parse(i.inline),{name:i.name,value:i.value,inline:i.inline??void 0}))}};function St(t,e){return typeof e=="undefined"?`\`\`\`
var yt=Object.create;var g=Object.defineProperty;var Je=Object.getOwnPropertyDescriptor;var gt=Object.getOwnPropertyNames;var Ot=Object.getPrototypeOf,St=Object.prototype.hasOwnProperty;var Pt=(t,e,n)=>e in t?g(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var qe=t=>g(t,"__esModule",{value:!0}),o=(t,e)=>g(t,"name",{value:e,configurable:!0});var D=(t,e)=>{for(var n in e)g(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")&&g(t,a,{get:()=>e[a],enumerable:!(r=Je(e,a))||r.enumerable});return t},It=(t,e)=>Ge(qe(g(t!=null?yt(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?Je(e,n):e,T=t.length-1,L;T>=0;T--)(L=t[T])&&(a=(r?L(e,n,a):L(a))||a);return r&&a&&g(e,n,a),a};var i=(t,e,n)=>(Pt(t,typeof e!="symbol"?e+"":e,n),n);var Yt={};D(Yt,{ActionRow:()=>w,ButtonComponent:()=>B,ComponentAssertions:()=>we,ContextMenuCommandAssertions:()=>je,ContextMenuCommandBuilder:()=>Ue,Embed:()=>R,EmbedAssertions:()=>ge,Faces:()=>Ze,SelectMenuComponent:()=>E,SelectMenuOption:()=>G,SlashCommandAssertions:()=>$e,SlashCommandBooleanOption:()=>Z,SlashCommandBuilder:()=>X,SlashCommandChannelOption:()=>O,SlashCommandIntegerOption:()=>S,SlashCommandMentionableOption:()=>K,SlashCommandNumberOption:()=>P,SlashCommandRoleOption:()=>Q,SlashCommandStringOption:()=>I,SlashCommandSubcommandBuilder:()=>c,SlashCommandSubcommandGroupBuilder:()=>y,SlashCommandUserOption:()=>H,TimestampStyles:()=>qt,UnsafeButtonComponent:()=>J,UnsafeEmbed:()=>k,UnsafeSelectMenuComponent:()=>z,UnsafeSelectMenuOption:()=>q,blockQuote:()=>$t,bold:()=>wt,channelMention:()=>Ft,codeBlock:()=>vt,createComponent:()=>Be,formatEmoji:()=>Ut,hideLinkEmbed:()=>_t,hyperlink:()=>Vt,inlineCode:()=>Rt,italic:()=>Mt,memberNicknameMention:()=>kt,quote:()=>Nt,roleMention:()=>jt,spoiler:()=>Lt,strikethrough:()=>Et,time:()=>Jt,underscore:()=>Bt,userMention:()=>Dt});var ge={};D(ge,{authorNamePredicate:()=>be,colorPredicate:()=>fe,descriptionPredicate:()=>Ce,embedFieldPredicate:()=>ze,embedFieldsArrayPredicate:()=>te,fieldInlinePredicate:()=>ee,fieldLengthPredicate:()=>We,fieldNamePredicate:()=>v,fieldValuePredicate:()=>Y,footerTextPredicate:()=>xe,timestampPredicate:()=>Ae,titlePredicate:()=>ye,urlPredicate:()=>f,validateFieldLength:()=>oe});var d=require("zod"),v=d.z.string().min(1).max(256),Y=d.z.string().min(1).max(1024),ee=d.z.boolean().optional(),ze=d.z.object({name:v,value:Y,inline:ee}),te=ze.array(),We=d.z.number().lte(25);function oe(t,e){We.parse(t.length+e)}o(oe,"validateFieldLength");var be=v.nullable(),f=d.z.string().url().nullish(),fe=d.z.number().gte(0).lte(16777215).nullable(),Ce=d.z.string().min(1).max(4096).nullable(),xe=d.z.string().min(1).max(2048).nullable(),Ae=d.z.union([d.z.number(),d.z.date()]).nullable(),ye=v.nullable();var k=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(...R.normalizeFields(...e)),this}spliceFields(e,n,...r){return this.fields.splice(e,n,...R.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(k,"UnsafeEmbed");var R=class extends k{addFields(...e){return oe(this.fields,e.length),super.addFields(...te.parse(e))}spliceFields(e,n,...r){return oe(this.fields,r.length-n),super.spliceFields(e,n,...te.parse(r))}setAuthor(e){return e===null?super.setAuthor(null):(be.parse(e.name),f.parse(e.iconURL),f.parse(e.url),super.setAuthor(e))}setColor(e){return super.setColor(fe.parse(e))}setDescription(e){return super.setDescription(Ce.parse(e))}setFooter(e){return e===null?super.setFooter(null):(xe.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(Ae.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=>(v.parse(n.name),Y.parse(n.value),ee.parse(n.inline),{name:n.name,value:n.value,inline:n.inline??void 0}))}};o(R,"Embed");function vt(t,e){return typeof e=="undefined"?`\`\`\`
${t}\`\`\``:`\`\`\`${t}
${e}\`\`\``}function gt(t){return`\`${t}\``}function Pt(t){return`_${t}_`}function Tt(t){return`**${t}**`}function It(t){return`__${t}__`}function Mt(t){return`~~${t}~~`}function Rt(t){return`> ${t}`}function vt(t){return`>>> ${t}`}function wt(t){return`<${t}>`}function Bt(t,e,i){return i?`[${t}](${e} "${i}")`:`[${t}](${e})`}function Nt(t){return`||${t}||`}function $t(t){return`<@${t}>`}function Et(t){return`<@!${t}>`}function _t(t){return`<#${t}>`}function Vt(t){return`<@&${t}>`}function Lt(t,e=!1){return`<${e?"a":""}:_:${t}>`}function kt(t,e){return typeof t!="number"&&(t=Math.floor((t?.getTime()??Date.now())/1e3)),typeof e=="string"?`<t:${t}:${e}>`:`<t:${t}>`}var Dt={ShortTime:"t",LongTime:"T",ShortDate:"d",LongDate:"D",ShortDateTime:"f",LongDateTime:"F",RelativeTime:"R"},je=(n=>(n.Shrug="\xAF\\_(\u30C4)\\_/\xAF",n.Tableflip="(\u256F\xB0\u25A1\xB0\uFF09\u256F\uFE35 \u253B\u2501\u253B",n.Unflip="\u252C\u2500\u252C \u30CE( \u309C-\u309C\u30CE)",n))(je||{});var Pe={};B(Pe,{buttonLabelValidator:()=>Ce,buttonStyleValidator:()=>fe,customIdValidator:()=>g,defaultValidator:()=>ye,disabledValidator:()=>E,emojiValidator:()=>$,labelValueValidator:()=>_,minMaxValidator:()=>F,optionsValidator:()=>qe,placeholderValidator:()=>xe,urlValidator:()=>Se,validateRequiredButtonParameters:()=>ge,validateRequiredSelectMenuOptionParameters:()=>Oe,validateRequiredSelectMenuParameters:()=>Ae});var q=require("discord-api-types/v9"),p=require("zod"),g=p.z.string().min(1).max(100),$=p.z.object({id:p.z.string(),name:p.z.string(),animated:p.z.boolean()}).partial().strict(),E=p.z.boolean(),Ce=p.z.string().nonempty().max(80),fe=p.z.number().int().min(q.ButtonStyle.Primary).max(q.ButtonStyle.Link),xe=p.z.string().max(100),F=p.z.number().int().min(0).max(25),qe=p.z.object({}).array().nonempty();function Ae(t,e){g.parse(e),qe.parse(t)}var _=p.z.string().min(1).max(100),ye=p.z.boolean();function Oe(t,e){_.parse(t),_.parse(e)}var Se=p.z.string().url();function ge(t,e,i,n,a){if(a&&n)throw new RangeError("URL and custom id are mutually exclusive");if(!e&&!i)throw new RangeError("Buttons must have a label and/or an emoji");if(t===q.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")}var Fe=require("discord-api-types/v9");var G=require("discord-api-types/v9");function Te(t){switch(t.type){case G.ComponentType.ActionRow:return new z(t);case G.ComponentType.Button:return new W(t);case G.ComponentType.SelectMenu:return new Z(t);default:throw new Error(`Cannot serialize component type: ${t.type}`)}}var z=class{constructor(e){o(this,"components",[]);o(this,"type",Fe.ComponentType.ActionRow);this.components=e?.components.map(Te)??[]}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())}}};var K=require("discord-api-types/v9");var W=class{constructor(e){o(this,"type",K.ComponentType.Button);o(this,"style");o(this,"label");o(this,"emoji");o(this,"disabled");o(this,"custom_id");o(this,"url");this.style=e?.style,this.label=e?.label,this.emoji=e?.emoji,this.disabled=e?.disabled,e?.style===K.ButtonStyle.Link?this.url=e.url:this.custom_id=e?.custom_id}setStyle(e){return fe.parse(e),Reflect.set(this,"style",e),this}setURL(e){return Se.parse(e),Reflect.set(this,"url",e),this}setCustomId(e){return g.parse(e),Reflect.set(this,"custom_id",e),this}setEmoji(e){return $.parse(e),Reflect.set(this,"emoji",e),this}setDisabled(e){return E.parse(e),Reflect.set(this,"disabled",e),this}setLabel(e){return Ce.parse(e),Reflect.set(this,"label",e),this}toJSON(){return ge(this.style,this.label,this.emoji,this.custom_id,this.url),{...this}}};var Ge=require("discord-api-types/v9");var Q=class{constructor(e){o(this,"label");o(this,"value");o(this,"description");o(this,"emoji");o(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 _.parse(e),Reflect.set(this,"description",e),this}setDefault(e){return ye.parse(e),Reflect.set(this,"default",e),this}setEmoji(e){return $.parse(e),Reflect.set(this,"emoji",e),this}toJSON(){return Oe(this.label,this.value),{...this}}};var Z=class{constructor(e){o(this,"type",Ge.ComponentType.SelectMenu);o(this,"options");o(this,"placeholder");o(this,"min_values");o(this,"max_values");o(this,"custom_id");o(this,"disabled");this.options=e?.options.map(i=>new Q(i))??[],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 xe.parse(e),Reflect.set(this,"placeholder",e),this}setMinValues(e){return F.parse(e),Reflect.set(this,"min_values",e),this}setMaxValues(e){return F.parse(e),Reflect.set(this,"max_values",e),this}setCustomId(e){return g.parse(e),Reflect.set(this,"custom_id",e),this}setDisabled(e){return E.parse(e),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 Ae(this.options,this.custom_id),{...this,options:this.options.map(e=>e.toJSON())}}};var Re={};B(Re,{assertReturnOfBuilder:()=>C,validateDefaultPermission:()=>Ie,validateDescription:()=>Y,validateMaxChoicesLength:()=>Me,validateMaxOptionsLength:()=>c,validateName:()=>X,validateRequired:()=>ee,validateRequiredParameters:()=>b});var H=yt(require("@sindresorhus/is")),V=require("zod"),Ut=V.z.string().min(1).max(32).regex(/^[\P{Lu}\p{N}_-]+$/u);function X(t){Ut.parse(t)}var Jt=V.z.string().min(1).max(100);function Y(t){Jt.parse(t)}var ze=V.z.unknown().array().max(25);function c(t){ze.parse(t)}function b(t,e,i){X(t),Y(e),c(i)}var We=V.z.boolean();function Ie(t){We.parse(t)}function ee(t){We.parse(t)}function Me(t){ze.parse(t)}function C(t,e){let i=e.name;if(H.default.nullOrUndefined(t))throw new TypeError(`Expected to receive a ${i} builder, got ${t===null?"null":"undefined"} instead.`);if(H.default.primitive(t))throw new TypeError(`Expected to receive a ${i} builder, got a primitive (${typeof t}) instead.`);if(!(t instanceof e)){let n=t,a=H.default.function_(t)?t.name:n.constructor.name,y=Reflect.get(n,Symbol.toStringTag),w=y?`${a} [${y}]`:a;throw new TypeError(`Expected to receive a ${i} builder, got ${w} instead.`)}}var ut=require("ts-mixer");var Ze=require("discord-api-types/v9");var f=class{constructor(){o(this,"name");o(this,"description")}setName(e){return X(e),Reflect.set(this,"name",e),this}setDescription(e){return Y(e),Reflect.set(this,"description",e),this}};var s=class extends f{constructor(){super(...arguments);o(this,"required",!1)}setRequired(e){return ee(e),Reflect.set(this,"required",e),this}runRequiredValidations(){b(this.name,this.description,[]),ee(this.required)}};var te=class extends s{constructor(){super(...arguments);o(this,"type",Ze.ApplicationCommandOptionType.Boolean)}toJSON(){return this.runRequiredValidations(),{...this}}};var Ke=require("discord-api-types/v9"),Qe=require("ts-mixer");var d=require("discord-api-types/v9"),ve=require("zod"),jt=[d.ChannelType.GuildText,d.ChannelType.GuildVoice,d.ChannelType.GuildCategory,d.ChannelType.GuildNews,d.ChannelType.GuildStore,d.ChannelType.GuildNewsThread,d.ChannelType.GuildPublicThread,d.ChannelType.GuildPrivateThread,d.ChannelType.GuildStageVoice],qt=ve.z.union(jt.map(t=>ve.z.literal(t))),we=class{constructor(){o(this,"channel_types")}addChannelType(e){return this.channel_types===void 0&&Reflect.set(this,"channel_types",[]),qt.parse(e),this.channel_types.push(e),this}addChannelTypes(e){return e.forEach(i=>this.addChannelType(i)),this}};var P=class extends s{constructor(){super(...arguments);o(this,"type",Ke.ApplicationCommandOptionType.Channel)}toJSON(){return this.runRequiredValidations(),{...this}}};P=m([(0,Qe.mix)(we)],P);var et=require("discord-api-types/v9"),tt=require("ts-mixer"),ot=require("zod");var L=class{constructor(){o(this,"max_value");o(this,"min_value")}};var He=require("discord-api-types/v9"),T=require("zod");var oe=T.z.string().min(1).max(100),Xe=T.z.number().gt(-1/0).lt(1/0),Ye=T.z.tuple([oe,T.z.union([oe,Xe])]).array(),Ft=T.z.boolean(),x=class{constructor(){o(this,"choices");o(this,"autocomplete");o(this,"type")}addChoice(e,i){if(this.autocomplete)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");return this.choices===void 0&&Reflect.set(this,"choices",[]),Me(this.choices),oe.parse(e),this.type===He.ApplicationCommandOptionType.String?oe.parse(i):Xe.parse(i),this.choices.push({name:e,value:i}),this}addChoices(e){if(this.autocomplete)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");Ye.parse(e);for(let[i,n]of e)this.addChoice(i,n);return this}setChoices(e){if(e.length>0&&this.autocomplete)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");Ye.parse(e),Reflect.set(this,"choices",[]);for(let[i,n]of e)this.addChoice(i,n);return this}setAutocomplete(e){if(Ft.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}};var it=ot.z.number().int().nonnegative(),I=class extends s{constructor(){super(...arguments);o(this,"type",et.ApplicationCommandOptionType.Integer)}setMaxValue(e){return it.parse(e),Reflect.set(this,"max_value",e),this}setMinValue(e){return it.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}}};I=m([(0,tt.mix)(L,x)],I);var nt=require("discord-api-types/v9");var ie=class extends s{constructor(){super(...arguments);o(this,"type",nt.ApplicationCommandOptionType.Mentionable)}toJSON(){return this.runRequiredValidations(),{...this}}};var rt=require("discord-api-types/v9"),at=require("ts-mixer"),st=require("zod");var pt=st.z.number().nonnegative(),M=class extends s{constructor(){super(...arguments);o(this,"type",rt.ApplicationCommandOptionType.Number)}setMaxValue(e){return pt.parse(e),Reflect.set(this,"max_value",e),this}setMinValue(e){return pt.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}}};M=m([(0,at.mix)(L,x)],M);var mt=require("discord-api-types/v9");var ne=class extends s{constructor(){super(...arguments);o(this,"type",mt.ApplicationCommandOptionType.Role)}toJSON(){return this.runRequiredValidations(),{...this}}};var lt=require("discord-api-types/v9"),dt=require("ts-mixer");var R=class extends s{constructor(){super(...arguments);o(this,"type",lt.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}}};R=m([(0,dt.mix)(x)],R);var ct=require("discord-api-types/v9");var re=class extends s{constructor(){super(...arguments);o(this,"type",ct.ApplicationCommandOptionType.User)}toJSON(){return this.runRequiredValidations(),{...this}}};var k=class{constructor(){o(this,"options")}addBooleanOption(e){return this._sharedAddOptionMethod(e,te)}addUserOption(e){return this._sharedAddOptionMethod(e,re)}addChannelOption(e){return this._sharedAddOptionMethod(e,P)}addRoleOption(e){return this._sharedAddOptionMethod(e,ne)}addMentionableOption(e){return this._sharedAddOptionMethod(e,ie)}addStringOption(e){return this._sharedAddOptionMethod(e,R)}addIntegerOption(e){return this._sharedAddOptionMethod(e,I)}addNumberOption(e){return this._sharedAddOptionMethod(e,M)}_sharedAddOptionMethod(e,i){let{options:n}=this;c(n);let a=typeof e=="function"?e(new i):e;return C(a,i),n.push(a),this}};var Be=require("discord-api-types/v9"),Ne=require("ts-mixer");var A=class{constructor(){o(this,"name");o(this,"description");o(this,"options",[])}addSubcommand(e){let{options:i}=this;c(i);let n=typeof e=="function"?e(new u):e;return C(n,u),i.push(n),this}toJSON(){return b(this.name,this.description,this.options),{type:Be.ApplicationCommandOptionType.SubcommandGroup,name:this.name,description:this.description,options:this.options.map(e=>e.toJSON())}}};A=m([(0,Ne.mix)(f)],A);var u=class{constructor(){o(this,"name");o(this,"description");o(this,"options",[])}toJSON(){return b(this.name,this.description,this.options),{type:Be.ApplicationCommandOptionType.Subcommand,name:this.name,description:this.description,options:this.options.map(e=>e.toJSON())}}};u=m([(0,Ne.mix)(f,k)],u);var ae=class{constructor(){o(this,"name");o(this,"description");o(this,"options",[]);o(this,"defaultPermission")}toJSON(){return b(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 Ie(e),Reflect.set(this,"defaultPermission",e),this}addSubcommandGroup(e){let{options:i}=this;c(i);let n=typeof e=="function"?e(new A):e;return C(n,A),i.push(n),this}addSubcommand(e){let{options:i}=this;c(i);let n=typeof e=="function"?e(new u):e;return C(n,u),i.push(n),this}};ae=m([(0,ut.mix)(k,f)],ae);var Ve={};B(Ve,{validateDefaultPermission:()=>Ee,validateName:()=>se,validateRequiredParameters:()=>_e,validateType:()=>pe});var v=require("zod"),$e=require("discord-api-types/v9"),Gt=v.z.string().min(1).max(32).regex(/^( *[\p{L}\p{N}_-]+ *)+$/u),zt=v.z.union([v.z.literal($e.ApplicationCommandType.User),v.z.literal($e.ApplicationCommandType.Message)]),Wt=v.z.boolean();function Ee(t){Wt.parse(t)}function se(t){Gt.parse(t)}function pe(t){zt.parse(t)}function _e(t,e){se(t),pe(e)}var ht=class{constructor(){o(this,"name");o(this,"type");o(this,"defaultPermission")}setName(e){return se(e),Reflect.set(this,"name",e),this}setType(e){return pe(e),Reflect.set(this,"type",e),this}setDefaultPermission(e){return Ee(e),Reflect.set(this,"defaultPermission",e),this}toJSON(){return _e(this.name,this.type),{name:this.name,type:this.type,default_permission:this.defaultPermission}}};module.exports=Ot(Zt);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,blockQuote,bold,channelMention,codeBlock,createComponent,formatEmoji,hideLinkEmbed,hyperlink,inlineCode,italic,memberNicknameMention,quote,roleMention,spoiler,strikethrough,time,underscore,userMention});
${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 Bt(t){return`__${t}__`}o(Bt,"underscore");function Et(t){return`~~${t}~~`}o(Et,"strikethrough");function Nt(t){return`> ${t}`}o(Nt,"quote");function $t(t){return`>>> ${t}`}o($t,"blockQuote");function _t(t){return`<${t}>`}o(_t,"hideLinkEmbed");function Vt(t,e,n){return n?`[${t}](${e} "${n}")`:`[${t}](${e})`}o(Vt,"hyperlink");function Lt(t){return`||${t}||`}o(Lt,"spoiler");function Dt(t){return`<@${t}>`}o(Dt,"userMention");function kt(t){return`<@!${t}>`}o(kt,"memberNicknameMention");function Ft(t){return`<#${t}>`}o(Ft,"channelMention");function jt(t){return`<@&${t}>`}o(jt,"roleMention");function Ut(t,e=!1){return`<${e?"a":""}:_:${t}>`}o(Ut,"formatEmoji");function Jt(t,e){return typeof t!="number"&&(t=Math.floor((t?.getTime()??Date.now())/1e3)),typeof e=="string"?`<t:${t}:${e}>`:`<t:${t}>`}o(Jt,"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:()=>j,emojiValidator:()=>F,labelValueValidator:()=>U,minMaxValidator:()=>ne,optionsValidator:()=>Ke,placeholderValidator:()=>Pe,urlValidator:()=>Re,validateRequiredButtonParameters:()=>Me,validateRequiredSelectMenuOptionParameters:()=>ve,validateRequiredSelectMenuParameters:()=>Ie});var ie=require("discord-api-types/v9"),l=require("zod"),M=l.z.string().min(1).max(100),F=l.z.object({id:l.z.string(),name:l.z.string(),animated:l.z.boolean()}).partial().strict(),j=l.z.boolean(),Oe=l.z.string().nonempty().max(80),Se=l.z.number().int().min(ie.ButtonStyle.Primary).max(ie.ButtonStyle.Link),Pe=l.z.string().max(100),ne=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 U=l.z.string().min(1).max(100),Te=l.z.boolean();function ve(t,e){U.parse(t),U.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===ie.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 re=require("discord-api-types/v9");function Be(t){switch(t.type){case re.ComponentType.ActionRow:return t instanceof w?t:new w(t);case re.ComponentType.Button:return t instanceof B?t:new B(t);case re.ComponentType.SelectMenu:return t instanceof E?t:new E(t);default:throw new Error(`Cannot serialize component type: ${t.type}`)}}o(Be,"createComponent");var w=class{constructor(e){i(this,"components",[]);i(this,"type",Qe.ComponentType.ActionRow);this.components=e?.components.map(Be)??[]}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 se=require("discord-api-types/v9"),J=class{constructor(e){i(this,"type",se.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===se.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 B=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(F.parse(e))}setDisabled(e){return super.setDisabled(j.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(B,"ButtonComponent");var He=require("discord-api-types/v9");var q=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(q,"UnsafeSelectMenuOption");var G=class extends q{setDescription(e){return super.setDescription(U.parse(e))}setDefault(e){return super.setDefault(Te.parse(e))}setEmoji(e){return super.setEmoji(F.parse(e))}toJSON(){return ve(this.label,this.value),super.toJSON()}};o(G,"SelectMenuOption");var z=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 G(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(z,"UnsafeSelectMenuComponent");var E=class extends z{setPlaceholder(e){return super.setPlaceholder(Pe.parse(e))}setMinValues(e){return super.setMinValues(ne.parse(e))}setMaxValues(e){return super.setMaxValues(ne.parse(e))}setCustomId(e){return super.setCustomId(M.parse(e))}setDisabled(e){return super.setDisabled(j.parse(e))}toJSON(){return Ie(this.options,this.custom_id),super.toJSON()}};o(E,"SelectMenuComponent");var $e={};D($e,{assertReturnOfBuilder:()=>x,validateDefaultPermission:()=>Ee,validateDescription:()=>le,validateMaxChoicesLength:()=>Ne,validateMaxOptionsLength:()=>h,validateName:()=>pe,validateRequired:()=>me,validateRequiredParameters:()=>C});var ae=It(require("@sindresorhus/is")),W=require("zod"),Gt=W.z.string().min(1).max(32).regex(/^[\P{Lu}\p{N}_-]+$/u);function pe(t){Gt.parse(t)}o(pe,"validateName");var zt=W.z.string().min(1).max(100);function le(t){zt.parse(t)}o(le,"validateDescription");var Xe=W.z.unknown().array().max(25);function h(t){Xe.parse(t)}o(h,"validateMaxOptionsLength");function C(t,e,n){pe(t),le(e),h(n)}o(C,"validateRequiredParameters");var Ye=W.z.boolean();function Ee(t){Ye.parse(t)}o(Ee,"validateDefaultPermission");function me(t){Ye.parse(t)}o(me,"validateRequired");function Ne(t){Xe.parse(t)}o(Ne,"validateMaxChoicesLength");function x(t,e){let n=e.name;if(ae.default.nullOrUndefined(t))throw new TypeError(`Expected to receive a ${n} builder, got ${t===null?"null":"undefined"} instead.`);if(ae.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=ae.default.function_(t)?t.name:r.constructor.name,T=Reflect.get(r,Symbol.toStringTag),L=T?`${a} [${T}]`:a;throw new TypeError(`Expected to receive a ${n} builder, got ${L} instead.`)}}o(x,"assertReturnOfBuilder");var At=require("ts-mixer");var et=require("discord-api-types/v9");var b=class{constructor(){i(this,"name");i(this,"description")}setName(e){return pe(e),Reflect.set(this,"name",e),this}setDescription(e){return le(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 me(e),Reflect.set(this,"required",e),this}runRequiredValidations(){C(this.name,this.description,[]),me(this.required)}};o(p,"ApplicationCommandOptionBase");var Z=class extends p{constructor(){super(...arguments);i(this,"type",et.ApplicationCommandOptionType.Boolean)}toJSON(){return this.runRequiredValidations(),{...this}}};o(Z,"SlashCommandBooleanOption");var tt=require("discord-api-types/v9"),ot=require("ts-mixer");var u=require("discord-api-types/v9"),_e=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=_e.z.union(Wt.map(t=>_e.z.literal(t))),de=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(de,"ApplicationCommandOptionChannelTypesMixin");var O=class extends p{constructor(){super(...arguments);i(this,"type",tt.ApplicationCommandOptionType.Channel)}toJSON(){return this.runRequiredValidations(),{...this}}};o(O,"SlashCommandChannelOption"),O=m([(0,ot.mix)(de)],O);var st=require("discord-api-types/v9"),at=require("ts-mixer"),pt=require("zod");var N=class{constructor(){i(this,"max_value");i(this,"min_value")}};o(N,"ApplicationCommandNumericOptionMinMaxValueMixin");var it=require("discord-api-types/v9"),$=require("zod");var ue=$.z.string().min(1).max(100),nt=$.z.number().gt(-1/0).lt(1/0),rt=$.z.tuple([ue,$.z.union([ue,nt])]).array(),Kt=$.z.boolean(),A=class{constructor(){i(this,"choices");i(this,"autocomplete");i(this,"type")}addChoice(e,n){if(this.autocomplete)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");return this.choices===void 0&&Reflect.set(this,"choices",[]),Ne(this.choices),ue.parse(e),this.type===it.ApplicationCommandOptionType.String?ue.parse(n):nt.parse(n),this.choices.push({name:e,value:n}),this}addChoices(e){if(this.autocomplete)throw new RangeError("Autocomplete and choices are mutually exclusive to each other.");rt.parse(e);for(let[n,r]of e)this.addChoice(n,r);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,r]of e)this.addChoice(n,r);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(),S=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(S,"SlashCommandIntegerOption"),S=m([(0,at.mix)(N,A)],S);var mt=require("discord-api-types/v9");var K=class extends p{constructor(){super(...arguments);i(this,"type",mt.ApplicationCommandOptionType.Mentionable)}toJSON(){return this.runRequiredValidations(),{...this}}};o(K,"SlashCommandMentionableOption");var dt=require("discord-api-types/v9"),ut=require("ts-mixer"),ct=require("zod");var ht=ct.z.number().nonnegative(),P=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(P,"SlashCommandNumberOption"),P=m([(0,ut.mix)(N,A)],P);var bt=require("discord-api-types/v9");var Q=class extends p{constructor(){super(...arguments);i(this,"type",bt.ApplicationCommandOptionType.Role)}toJSON(){return this.runRequiredValidations(),{...this}}};o(Q,"SlashCommandRoleOption");var ft=require("discord-api-types/v9"),Ct=require("ts-mixer");var I=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(I,"SlashCommandStringOption"),I=m([(0,Ct.mix)(A)],I);var xt=require("discord-api-types/v9");var H=class extends p{constructor(){super(...arguments);i(this,"type",xt.ApplicationCommandOptionType.User)}toJSON(){return this.runRequiredValidations(),{...this}}};o(H,"SlashCommandUserOption");var _=class{constructor(){i(this,"options")}addBooleanOption(e){return this._sharedAddOptionMethod(e,Z)}addUserOption(e){return this._sharedAddOptionMethod(e,H)}addChannelOption(e){return this._sharedAddOptionMethod(e,O)}addRoleOption(e){return this._sharedAddOptionMethod(e,Q)}addMentionableOption(e){return this._sharedAddOptionMethod(e,K)}addStringOption(e){return this._sharedAddOptionMethod(e,I)}addIntegerOption(e){return this._sharedAddOptionMethod(e,S)}addNumberOption(e){return this._sharedAddOptionMethod(e,P)}_sharedAddOptionMethod(e,n){let{options:r}=this;h(r);let a=typeof e=="function"?e(new n):e;return x(a,n),r.push(a),this}};o(_,"SharedSlashCommandOptions");var Ve=require("discord-api-types/v9"),Le=require("ts-mixer");var y=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 x(r,c),n.push(r),this}toJSON(){return C(this.name,this.description,this.options),{type:Ve.ApplicationCommandOptionType.SubcommandGroup,name:this.name,description:this.description,options:this.options.map(e=>e.toJSON())}}};o(y,"SlashCommandSubcommandGroupBuilder"),y=m([(0,Le.mix)(b)],y);var c=class{constructor(){i(this,"name");i(this,"description");i(this,"options",[])}toJSON(){return C(this.name,this.description,this.options),{type:Ve.ApplicationCommandOptionType.Subcommand,name:this.name,description:this.description,options:this.options.map(e=>e.toJSON())}}};o(c,"SlashCommandSubcommandBuilder"),c=m([(0,Le.mix)(b,_)],c);var X=class{constructor(){i(this,"name");i(this,"description");i(this,"options",[]);i(this,"defaultPermission")}toJSON(){return C(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 y):e;return x(r,y),n.push(r),this}addSubcommand(e){let{options:n}=this;h(n);let r=typeof e=="function"?e(new c):e;return x(r,c),n.push(r),this}};o(X,"SlashCommandBuilder"),X=m([(0,At.mix)(_,b)],X);var je={};D(je,{validateDefaultPermission:()=>ke,validateName:()=>ce,validateRequiredParameters:()=>Fe,validateType:()=>he});var V=require("zod"),De=require("discord-api-types/v9"),Qt=V.z.string().min(1).max(32).regex(/^( *[\p{L}\p{N}_-]+ *)+$/u),Ht=V.z.union([V.z.literal(De.ApplicationCommandType.User),V.z.literal(De.ApplicationCommandType.Message)]),Xt=V.z.boolean();function ke(t){Xt.parse(t)}o(ke,"validateDefaultPermission");function ce(t){Qt.parse(t)}o(ce,"validateName");function he(t){Ht.parse(t)}o(he,"validateType");function Fe(t,e){ce(t),he(e)}o(Fe,"validateRequiredParameters");var Ue=class{constructor(){i(this,"name");i(this,"type");i(this,"defaultPermission")}setName(e){return ce(e),Reflect.set(this,"name",e),this}setType(e){return he(e),Reflect.set(this,"type",e),this}setDefaultPermission(e){return ke(e),Reflect.set(this,"defaultPermission",e),this}toJSON(){return Fe(this.name,this.type),{name:this.name,type:this.type,default_permission:this.defaultPermission}}};o(Ue,"ContextMenuCommandBuilder");module.exports=Tt(Yt);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,italic,memberNicknameMention,quote,roleMention,spoiler,strikethrough,time,underscore,userMention});
//# sourceMappingURL=index.js.map
{
"name": "@discordjs/builders",
"version": "0.12.0",
"description": "A set of builders that you can use when creating your bot",
"scripts": {
"build": "tsup",
"test": "jest --pass-with-no-tests",
"lint": "prettier --check . && eslint src __tests__ --ext mjs,js,ts",
"format": "prettier --write . && eslint src __tests__ --ext mjs,js,ts --fix",
"docs": "typedoc --json docs/typedoc-out.json src/index.ts && node scripts/docs.mjs",
"prepublishOnly": "yarn build && yarn lint && yarn test",
"changelog": "git cliff --prepend ./CHANGELOG.md -u -c ./cliff.toml -r ../../ --include-path 'packages/builders/*'"
},
"main": "./dist/index.js",
"module": "./dist/index.mjs",
"types": "./dist/index.d.ts",
"exports": {
"import": "./dist/index.mjs",
"require": "./dist/index.js"
},
"directories": {
"lib": "src",
"test": "__tests__"
},
"files": [
"dist"
],
"contributors": [
"Vlad Frangu <kingdgrizzle@gmail.com>",
"Crawl <icrawltogo@gmail.com>",
"Amish Shah <amishshah.2k@gmail.com>",
"SpaceEEC <spaceeec@yahoo.com>",
"Antonio Roman <kyradiscord@gmail.com>"
],
"license": "Apache-2.0",
"keywords": [
"discord",
"api",
"bot",
"client",
"node",
"discordapp",
"discordjs"
],
"repository": {
"type": "git",
"url": "https://github.com/discordjs/discord.js.git"
},
"bugs": {
"url": "https://github.com/discordjs/discord.js/issues"
},
"homepage": "https://discord.js.org",
"dependencies": {
"@sindresorhus/is": "^4.3.0",
"discord-api-types": "^0.26.1",
"ts-mixer": "^6.0.0",
"tslib": "^2.3.1",
"zod": "^3.11.6"
},
"devDependencies": {
"@babel/core": "^7.16.12",
"@babel/plugin-proposal-decorators": "^7.16.5",
"@babel/preset-env": "^7.16.11",
"@babel/preset-typescript": "^7.16.5",
"@discordjs/ts-docgen": "^0.3.4",
"@types/jest": "^27.0.3",
"@types/node": "^16.11.6",
"@typescript-eslint/eslint-plugin": "^5.10.0",
"@typescript-eslint/parser": "^5.10.0",
"babel-plugin-transform-typescript-metadata": "^0.3.2",
"eslint": "^8.7.0",
"eslint-config-marine": "^9.3.2",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^4.0.0",
"jest": "^27.4.7",
"prettier": "^2.5.1",
"standard-version": "^9.3.2",
"tsup": "^5.11.11",
"typedoc": "^0.22.11",
"typescript": "^4.5.5"
},
"engines": {
"node": ">=16.9.0"
},
"publishConfig": {
"access": "public"
}
}
"name": "@discordjs/builders",
"version": "0.13.0-dev.1644067366.5f4b44d",
"description": "A set of builders that you can use when creating your bot",
"scripts": {
"build": "tsup",
"test": "jest --pass-with-no-tests",
"lint": "prettier --check . && eslint src __tests__ --ext mjs,js,ts",
"format": "prettier --write . && eslint src __tests__ --ext mjs,js,ts --fix",
"docs": "typedoc --json docs/typedoc-out.json src/index.ts && node scripts/docs.mjs",
"prepublishOnly": "yarn build && yarn lint && yarn test",
"changelog": "git cliff --prepend ./CHANGELOG.md -u -c ./cliff.toml -r ../../ --include-path 'packages/builders/*'"
},
"main": "./dist/index.js",
"module": "./dist/index.mjs",
"types": "./dist/index.d.ts",
"exports": {
"import": "./dist/index.mjs",
"require": "./dist/index.js"
},
"directories": {
"lib": "src",
"test": "__tests__"
},
"files": [
"dist"
],
"contributors": [
"Vlad Frangu <kingdgrizzle@gmail.com>",
"Crawl <icrawltogo@gmail.com>",
"Amish Shah <amishshah.2k@gmail.com>",
"SpaceEEC <spaceeec@yahoo.com>",
"Antonio Roman <kyradiscord@gmail.com>"
],
"license": "Apache-2.0",
"keywords": [
"discord",
"api",
"bot",
"client",
"node",
"discordapp",
"discordjs"
],
"repository": {
"type": "git",
"url": "https://github.com/discordjs/discord.js.git"
},
"bugs": {
"url": "https://github.com/discordjs/discord.js/issues"
},
"homepage": "https://discord.js.org",
"dependencies": {
"@sindresorhus/is": "^4.4.0",
"discord-api-types": "^0.26.1",
"ts-mixer": "^6.0.0",
"tslib": "^2.3.1",
"zod": "^3.11.6"
},
"devDependencies": {
"@babel/core": "^7.17.0",
"@babel/plugin-proposal-decorators": "^7.17.0",
"@babel/preset-env": "^7.16.11",
"@babel/preset-typescript": "^7.16.5",
"@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",
"babel-plugin-transform-typescript-metadata": "^0.3.2",
"eslint": "^8.8.0",
"eslint-config-marine": "^9.3.2",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^4.0.0",
"jest": "^27.4.7",
"prettier": "^2.5.1",
"tsup": "^5.11.13",
"typedoc": "^0.22.11",
"typescript": "^4.5.5"
},
"engines": {
"node": ">=16.9.0"
},
"publishConfig": {
"access": "public"
},
"stableVersion": "0.13.0-dev"
}

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

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc