@discordjs/builders 0.12.0 → 0.13.0-dev.1644067366.5f4b44d
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +89 -26
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +87 -87
- package/docs/README.md +0 -1
- package/docs/index.yml +0 -5
package/dist/index.d.ts
CHANGED
|
@@ -84,58 +84,55 @@ interface FooterOptions {
|
|
|
84
84
|
text: string;
|
|
85
85
|
iconURL?: string;
|
|
86
86
|
}
|
|
87
|
-
|
|
88
|
-
* Represents an embed in a message (image/video preview, rich embed, etc.)
|
|
89
|
-
*/
|
|
90
|
-
declare class Embed implements APIEmbed {
|
|
87
|
+
declare class UnsafeEmbed implements APIEmbed {
|
|
91
88
|
/**
|
|
92
89
|
* An array of fields of this embed
|
|
93
90
|
*/
|
|
94
|
-
fields: APIEmbedField[];
|
|
91
|
+
readonly fields: APIEmbedField[];
|
|
95
92
|
/**
|
|
96
93
|
* The embed title
|
|
97
94
|
*/
|
|
98
|
-
title?: string;
|
|
95
|
+
readonly title?: string;
|
|
99
96
|
/**
|
|
100
97
|
* The embed description
|
|
101
98
|
*/
|
|
102
|
-
description?: string;
|
|
99
|
+
readonly description?: string;
|
|
103
100
|
/**
|
|
104
101
|
* The embed url
|
|
105
102
|
*/
|
|
106
|
-
url?: string;
|
|
103
|
+
readonly url?: string;
|
|
107
104
|
/**
|
|
108
105
|
* The embed color
|
|
109
106
|
*/
|
|
110
|
-
color?: number;
|
|
107
|
+
readonly color?: number;
|
|
111
108
|
/**
|
|
112
109
|
* The timestamp of the embed in the ISO format
|
|
113
110
|
*/
|
|
114
|
-
timestamp?: string;
|
|
111
|
+
readonly timestamp?: string;
|
|
115
112
|
/**
|
|
116
113
|
* The embed thumbnail data
|
|
117
114
|
*/
|
|
118
|
-
thumbnail?: APIEmbedThumbnail;
|
|
115
|
+
readonly thumbnail?: APIEmbedThumbnail;
|
|
119
116
|
/**
|
|
120
117
|
* The embed image data
|
|
121
118
|
*/
|
|
122
|
-
image?: APIEmbedImage;
|
|
119
|
+
readonly image?: APIEmbedImage;
|
|
123
120
|
/**
|
|
124
121
|
* Received video data
|
|
125
122
|
*/
|
|
126
|
-
video?: APIEmbedVideo;
|
|
123
|
+
readonly video?: APIEmbedVideo;
|
|
127
124
|
/**
|
|
128
125
|
* The embed author data
|
|
129
126
|
*/
|
|
130
|
-
author?: APIEmbedAuthor;
|
|
127
|
+
readonly author?: APIEmbedAuthor;
|
|
131
128
|
/**
|
|
132
129
|
* Received data about the embed provider
|
|
133
130
|
*/
|
|
134
|
-
provider?: APIEmbedProvider;
|
|
131
|
+
readonly provider?: APIEmbedProvider;
|
|
135
132
|
/**
|
|
136
133
|
* The embed footer data
|
|
137
134
|
*/
|
|
138
|
-
footer?: APIEmbedFooter;
|
|
135
|
+
readonly footer?: APIEmbedFooter;
|
|
139
136
|
constructor(data?: APIEmbed);
|
|
140
137
|
/**
|
|
141
138
|
* The accumulated length for the embed title, description, fields, footer text, and author name
|
|
@@ -161,6 +158,11 @@ declare class Embed implements APIEmbed {
|
|
|
161
158
|
* @param fields The replacing field objects
|
|
162
159
|
*/
|
|
163
160
|
spliceFields(index: number, deleteCount: number, ...fields: APIEmbedField[]): this;
|
|
161
|
+
/**
|
|
162
|
+
* Sets the embed's fields (max 25).
|
|
163
|
+
* @param fields The fields to set
|
|
164
|
+
*/
|
|
165
|
+
setFields(...fields: APIEmbedField[]): this;
|
|
164
166
|
/**
|
|
165
167
|
* Sets the author of this embed
|
|
166
168
|
*
|
|
@@ -227,6 +229,29 @@ declare class Embed implements APIEmbed {
|
|
|
227
229
|
static normalizeFields(...fields: APIEmbedField[]): APIEmbedField[];
|
|
228
230
|
}
|
|
229
231
|
|
|
232
|
+
/**
|
|
233
|
+
* Represents an embed in a message (image/video preview, rich embed, etc.)
|
|
234
|
+
*/
|
|
235
|
+
declare class Embed extends UnsafeEmbed {
|
|
236
|
+
addFields(...fields: APIEmbedField[]): this;
|
|
237
|
+
spliceFields(index: number, deleteCount: number, ...fields: APIEmbedField[]): this;
|
|
238
|
+
setAuthor(options: AuthorOptions | null): this;
|
|
239
|
+
setColor(color: number | null): this;
|
|
240
|
+
setDescription(description: string | null): this;
|
|
241
|
+
setFooter(options: FooterOptions | null): this;
|
|
242
|
+
setImage(url: string | null): this;
|
|
243
|
+
setThumbnail(url: string | null): this;
|
|
244
|
+
setTimestamp(timestamp?: number | Date | null): this;
|
|
245
|
+
setTitle(title: string | null): this;
|
|
246
|
+
setURL(url: string | null): this;
|
|
247
|
+
/**
|
|
248
|
+
* Normalizes field input and resolves strings
|
|
249
|
+
*
|
|
250
|
+
* @param fields Fields to normalize
|
|
251
|
+
*/
|
|
252
|
+
static normalizeFields(...fields: APIEmbedField[]): APIEmbedField[];
|
|
253
|
+
}
|
|
254
|
+
|
|
230
255
|
/**
|
|
231
256
|
* Wraps the content inside a codeblock with no language
|
|
232
257
|
*
|
|
@@ -449,9 +474,9 @@ declare enum Faces {
|
|
|
449
474
|
}
|
|
450
475
|
|
|
451
476
|
/**
|
|
452
|
-
* Represents
|
|
477
|
+
* Represents a non-validated option within a select menu component
|
|
453
478
|
*/
|
|
454
|
-
declare class
|
|
479
|
+
declare class UnsafeSelectMenuOption {
|
|
455
480
|
readonly label: string;
|
|
456
481
|
readonly value: string;
|
|
457
482
|
readonly description?: string;
|
|
@@ -486,6 +511,16 @@ declare class SelectMenuOption {
|
|
|
486
511
|
toJSON(): APISelectMenuOption;
|
|
487
512
|
}
|
|
488
513
|
|
|
514
|
+
/**
|
|
515
|
+
* Represents an option within a select menu component
|
|
516
|
+
*/
|
|
517
|
+
declare class SelectMenuOption extends UnsafeSelectMenuOption {
|
|
518
|
+
setDescription(description: string): this;
|
|
519
|
+
setDefault(isDefault: boolean): this;
|
|
520
|
+
setEmoji(emoji: APIMessageComponentEmoji): this;
|
|
521
|
+
toJSON(): APISelectMenuOption;
|
|
522
|
+
}
|
|
523
|
+
|
|
489
524
|
declare const customIdValidator: z.ZodString;
|
|
490
525
|
declare const emojiValidator: z.ZodObject<{
|
|
491
526
|
id: z.ZodOptional<z.ZodString>;
|
|
@@ -560,14 +595,17 @@ interface Component {
|
|
|
560
595
|
toJSON: () => APIMessageComponent;
|
|
561
596
|
}
|
|
562
597
|
|
|
598
|
+
declare type MessageComponent = ActionRowComponent | ActionRow;
|
|
563
599
|
declare type ActionRowComponent = ButtonComponent | SelectMenuComponent;
|
|
564
600
|
/**
|
|
565
601
|
* Represents an action row component
|
|
566
602
|
*/
|
|
567
|
-
declare class ActionRow<T extends ActionRowComponent> implements Component {
|
|
603
|
+
declare class ActionRow<T extends ActionRowComponent = ActionRowComponent> implements Component {
|
|
568
604
|
readonly components: T[];
|
|
569
605
|
readonly type = ComponentType.ActionRow;
|
|
570
|
-
constructor(data?: APIActionRowComponent
|
|
606
|
+
constructor(data?: APIActionRowComponent & {
|
|
607
|
+
type?: ComponentType.ActionRow;
|
|
608
|
+
});
|
|
571
609
|
/**
|
|
572
610
|
* Adds components to this action row.
|
|
573
611
|
* @param components The components to add to this action row.
|
|
@@ -582,7 +620,7 @@ declare class ActionRow<T extends ActionRowComponent> implements Component {
|
|
|
582
620
|
toJSON(): APIActionRowComponent;
|
|
583
621
|
}
|
|
584
622
|
|
|
585
|
-
declare class
|
|
623
|
+
declare class UnsafeButtonComponent implements Component {
|
|
586
624
|
readonly type: ComponentType.Button;
|
|
587
625
|
readonly style: ButtonStyle;
|
|
588
626
|
readonly label?: string;
|
|
@@ -590,7 +628,9 @@ declare class ButtonComponent implements Component {
|
|
|
590
628
|
readonly disabled?: boolean;
|
|
591
629
|
readonly custom_id: string;
|
|
592
630
|
readonly url: string;
|
|
593
|
-
constructor(data?: APIButtonComponent
|
|
631
|
+
constructor(data?: APIButtonComponent & {
|
|
632
|
+
type?: ComponentType.Button;
|
|
633
|
+
});
|
|
594
634
|
/**
|
|
595
635
|
* Sets the style of this button
|
|
596
636
|
* @param style The style of the button
|
|
@@ -624,8 +664,18 @@ declare class ButtonComponent implements Component {
|
|
|
624
664
|
toJSON(): APIButtonComponent;
|
|
625
665
|
}
|
|
626
666
|
|
|
667
|
+
declare class ButtonComponent extends UnsafeButtonComponent {
|
|
668
|
+
setStyle(style: ButtonStyle): this;
|
|
669
|
+
setURL(url: string): this;
|
|
670
|
+
setCustomId(customId: string): this;
|
|
671
|
+
setEmoji(emoji: APIMessageComponentEmoji): this;
|
|
672
|
+
setDisabled(disabled: boolean): this;
|
|
673
|
+
setLabel(label: string): this;
|
|
674
|
+
toJSON(): APIButtonComponent;
|
|
675
|
+
}
|
|
676
|
+
|
|
627
677
|
interface MappedComponentTypes {
|
|
628
|
-
[ComponentType.ActionRow]: ActionRow
|
|
678
|
+
[ComponentType.ActionRow]: ActionRow;
|
|
629
679
|
[ComponentType.Button]: ButtonComponent;
|
|
630
680
|
[ComponentType.SelectMenu]: SelectMenuComponent;
|
|
631
681
|
}
|
|
@@ -636,11 +686,12 @@ interface MappedComponentTypes {
|
|
|
636
686
|
declare function createComponent<T extends keyof MappedComponentTypes>(data: APIMessageComponent & {
|
|
637
687
|
type: T;
|
|
638
688
|
}): MappedComponentTypes[T];
|
|
689
|
+
declare function createComponent<C extends MessageComponent>(data: C): C;
|
|
639
690
|
|
|
640
691
|
/**
|
|
641
|
-
* Represents a select menu component
|
|
692
|
+
* Represents a non-validated select menu component
|
|
642
693
|
*/
|
|
643
|
-
declare class
|
|
694
|
+
declare class UnsafeSelectMenuComponent implements Component {
|
|
644
695
|
readonly type: ComponentType.SelectMenu;
|
|
645
696
|
readonly options: SelectMenuOption[];
|
|
646
697
|
readonly placeholder?: string;
|
|
@@ -688,6 +739,18 @@ declare class SelectMenuComponent implements Component {
|
|
|
688
739
|
toJSON(): APISelectMenuComponent;
|
|
689
740
|
}
|
|
690
741
|
|
|
742
|
+
/**
|
|
743
|
+
* Represents a select menu component
|
|
744
|
+
*/
|
|
745
|
+
declare class SelectMenuComponent extends UnsafeSelectMenuComponent {
|
|
746
|
+
setPlaceholder(placeholder: string): this;
|
|
747
|
+
setMinValues(minValues: number): this;
|
|
748
|
+
setMaxValues(maxValues: number): this;
|
|
749
|
+
setCustomId(customId: string): this;
|
|
750
|
+
setDisabled(disabled: boolean): this;
|
|
751
|
+
toJSON(): APISelectMenuComponent;
|
|
752
|
+
}
|
|
753
|
+
|
|
691
754
|
declare class SharedNameAndDescription {
|
|
692
755
|
readonly name: string;
|
|
693
756
|
readonly description: string;
|
|
@@ -1081,4 +1144,4 @@ declare namespace Assertions {
|
|
|
1081
1144
|
};
|
|
1082
1145
|
}
|
|
1083
1146
|
|
|
1084
|
-
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 };
|
|
1147
|
+
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 };
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var
|
|
1
|
+
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"?`\`\`\`
|
|
2
2
|
${t}\`\`\``:`\`\`\`${t}
|
|
3
|
-
${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});
|
|
3
|
+
${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});
|
|
4
4
|
//# sourceMappingURL=index.js.map
|