discord.fixed.js 1.2.4 → 1.2.6

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/README.md CHANGED
@@ -5,8 +5,7 @@ A **minimal, fast, and opinionated framework** built on top of **discord.js** th
5
5
  discord.fixed.js is designed to be:
6
6
  - Easy to use
7
7
  - Fast to develop with
8
- - Safe as a library (no forced structure)
9
- - Compatible with **CJS, ESM (Modern JS), and TypeScript**
8
+ - Safe as a library (no forced structure)
10
9
 
11
10
  ---
12
11
 
@@ -14,6 +13,7 @@ discord.fixed.js is designed to be:
14
13
 
15
14
  - Simplified `Bot` class for Discord.js
16
15
  - Builders for modern Discord interactions:
16
+ - `VoiceChannelStatus` — simple way to set Voice Channel Status
17
17
  - `EmbedBuilder` — simplified embed construction
18
18
  - `ComponentBuilder` — build complex component layouts
19
19
  - `Button`, `Row`, `Select` — quick action row and button handling
@@ -48,32 +48,6 @@ const client = new Bot({
48
48
  client.start("YOUR_BOT_TOKEN");
49
49
  ```
50
50
 
51
- ### Modern JS / ESM
52
-
53
- ```js
54
- import { Bot, EmbedBuilder, Button } from "discord.fixed.js";
55
-
56
- const client = new Bot({
57
- intents: "all",
58
- owners: ["YOUR_USER_ID"]
59
- });
60
-
61
- client.start("YOUR_BOT_TOKEN");
62
- ```
63
-
64
- ### TypeScript
65
-
66
- ```ts
67
- import { Bot, EmbedBuilder, Button } from "discord.fixed.js";
68
-
69
- const client = new Bot({
70
- intents: "all",
71
- owners: ["YOUR_USER_ID"]
72
- });
73
-
74
- client.start("YOUR_BOT_TOKEN");
75
- ```
76
-
77
51
  ---
78
52
 
79
53
  ## 🔧 Builders & Utilities
@@ -81,7 +55,7 @@ client.start("YOUR_BOT_TOKEN");
81
55
  ### Embeds
82
56
 
83
57
  ```js
84
- import { EmbedBuilder } from "discord.fixed.js";
58
+ const { EmbedBuilder } = require("discord.fixed.js");
85
59
 
86
60
  const embed = new EmbedBuilder()
87
61
  .title("Hello")
@@ -89,10 +63,18 @@ const embed = new EmbedBuilder()
89
63
  .color("Blue");
90
64
  ```
91
65
 
66
+ ### VoiceChannelStatus
67
+
68
+ ```js
69
+ const { VoiceChannelStatus } = require("discord.fixed.js");
70
+
71
+ VoiceChannelStatus().set("text" "12341234")
72
+ ```
73
+
92
74
  ### Components
93
75
 
94
76
  ```js
95
- import { Button, Row, Select } from "discord.fixed.js";
77
+ const { Button, Row, Select } = require("discord.fixed.js");
96
78
 
97
79
  const button = new Button().label("Click Me").style("Primary").id("btn_1");
98
80
  const row = new Row().add(button);
package/package.json CHANGED
@@ -1,20 +1,9 @@
1
1
  {
2
2
  "name": "discord.fixed.js",
3
- "version": "1.2.4",
3
+ "version": "1.2.6",
4
4
  "description": "A wrapper for Discord developers",
5
- "main": "src/export.cjs",
6
- "module": "src/export.mjs",
7
- "types": "src/export.d.ts",
8
- "exports": {
9
- ".": {
10
- "import": "./src/export.mjs",
11
- "require": "./src/export.cjs"
12
- }
13
- },
14
- "type": "module",
5
+ "main": "src/export.js",
15
6
  "scripts": {
16
- "build:types": "tsc --declaration --emitDeclarationOnly --allowJs --outDir dist/types",
17
- "build": "npm run build:types",
18
7
  "test": "echo \"Error: no test specified\" && exit 1"
19
8
  },
20
9
  "keywords": [
@@ -0,0 +1,32 @@
1
+ const { Bot } = require("../Client/Bot");
2
+
3
+ class VoiceChannelStatus {
4
+ constructor(data) {
5
+ super(data);
6
+ }
7
+ set(text, id) {
8
+ set(text, id);
9
+ }
10
+ remove(id) {
11
+ set(null, id)
12
+ }
13
+ }
14
+
15
+ async function set(text, id) {
16
+ const channel = await Bot.channels.fetch(id);
17
+ if (!channel) throwErr("VoiceChannelStatus", "The Channel ID was given is not a valid channel ID.");
18
+ if (channel.type !== 2) throwErr("VoiceChannelStatus", "The Channel ID was given is not a valid voice channel ID.");
19
+ try {
20
+ await client.rest.put(
21
+ `/channels/${channel.id}/voice-status`,
22
+ { body: { text } }
23
+ );
24
+ } catch (e) {
25
+ throwErr("VoiceChannelStatus", e);
26
+ }
27
+ }
28
+ function throwErr(title, err) {
29
+ console.error(`[discord.fixed.js] ${title}: ${err}`)
30
+ }
31
+
32
+ module.exports = VoiceChannelStatus;
package/src/Client/Bot.js CHANGED
@@ -1,4 +1,4 @@
1
- const { Client, GatewayIntentBits, Partials } = require("discord.js");
1
+ const { Client, GatewayIntentBits, Partials, REST, Routes } = require("discord.js");
2
2
 
3
3
  class Bot extends Client {
4
4
  constructor(options = {}) {
@@ -23,7 +23,9 @@ class Bot extends Client {
23
23
  }
24
24
 
25
25
  async start(token) {
26
- return super.login(token);
26
+ this.rest = new REST({ version: "10" }).setToken(token);
27
+ this.login(token);
28
+ return;
27
29
  }
28
30
  }
29
31
 
package/src/export.js CHANGED
@@ -1,6 +1,11 @@
1
1
  module.exports = {
2
2
  Bot: require("./Client/Bot"),
3
- EmbedBuilder: require("./Builders/EmbedBuilder"), ...require("./Builders/ComponentBuilder"),
3
+ VoiceChannelStatus: require("./Builders/VoiceChannelStatus"),
4
+ VCS: require("./Builders/VoiceChannelStatus"),
5
+ VCStatus: require("./Builders/VoiceChannelStatus"),
6
+ Embed: require("./Builders/EmbedBuilder"),
7
+ EmbedBuilder: require("./Builders/EmbedBuilder"),
8
+ ...require("./Builders/ComponentBuilder"),
4
9
  ...require("./Builders/ButtonActionBuilder"),
5
10
  ...require("./Patches/Aliases")
6
11
  };
@@ -1,51 +0,0 @@
1
- const {
2
- ButtonBuilder: DjsButtonBuilder,
3
- ActionRowBuilder: DjsActionRowBuilder,
4
- ButtonStyle,
5
- StringSelectMenuBuilder
6
- } = require("discord.js");
7
-
8
- const STYLE_MAP = {
9
- blue: ButtonStyle.Primary,
10
- primary: ButtonStyle.Primary,
11
- green: ButtonStyle.Success,
12
- success: ButtonStyle.Success,
13
- red: ButtonStyle.Danger,
14
- danger: ButtonStyle.Danger,
15
- gray: ButtonStyle.Secondary,
16
- grey: ButtonStyle.Secondary,
17
- secondary: ButtonStyle.Secondary,
18
- link: ButtonStyle.Link
19
- };
20
-
21
- class Button extends DjsButtonBuilder {
22
- constructor(data) { super(data); }
23
- label(value) { this.setLabel(String(value)); return this; }
24
- id(value) { this.setCustomId(String(value)); return this; }
25
- style(value) {
26
- if (typeof value === "string") {
27
- const key = value.toLowerCase();
28
- this.setStyle(STYLE_MAP[key] ?? ButtonStyle[value]);
29
- } else {
30
- this.setStyle(value);
31
- }
32
- return this;
33
- }
34
- url(value) { this.setURL(String(value)); return this; }
35
- emoji(value) { this.setEmoji(value); return this; }
36
- disabled(value = true) { this.setDisabled(value); return this; }
37
- }
38
-
39
- class Row extends DjsActionRowBuilder {
40
- constructor(data) { super(data); }
41
- add(component) { this.addComponents(component); return this; }
42
- components(arr = []) { this.addComponents(arr); return this; }
43
- }
44
-
45
- class Select extends StringSelectMenuBuilder {
46
- id(i) { return this.setCustomId(i); }
47
- placeholder(t) { return this.setPlaceholder(t); }
48
- option(l, v, d, e) { return this.addOptions({ label: l, value: v, description: d, emoji: e }); }
49
- }
50
-
51
- module.exports = { Button, Row, Select };
@@ -1,51 +0,0 @@
1
- import {
2
- ButtonBuilder as DjsButtonBuilder,
3
- ActionRowBuilder as DjsActionRowBuilder,
4
- ButtonStyle,
5
- StringSelectMenuBuilder
6
- } from "discord.js";
7
-
8
- const STYLE_MAP = {
9
- blue: ButtonStyle.Primary,
10
- primary: ButtonStyle.Primary,
11
- green: ButtonStyle.Success,
12
- success: ButtonStyle.Success,
13
- red: ButtonStyle.Danger,
14
- danger: ButtonStyle.Danger,
15
- gray: ButtonStyle.Secondary,
16
- grey: ButtonStyle.Secondary,
17
- secondary: ButtonStyle.Secondary,
18
- link: ButtonStyle.Link
19
- };
20
-
21
- class Button extends DjsButtonBuilder {
22
- constructor(data) { super(data); }
23
- label(value) { this.setLabel(String(value)); return this; }
24
- id(value) { this.setCustomId(String(value)); return this; }
25
- style(value) {
26
- if (typeof value === "string") {
27
- const key = value.toLowerCase();
28
- this.setStyle(STYLE_MAP[key] ?? ButtonStyle[value]);
29
- } else {
30
- this.setStyle(value);
31
- }
32
- return this;
33
- }
34
- url(value) { this.setURL(String(value)); return this; }
35
- emoji(value) { this.setEmoji(value); return this; }
36
- disabled(value = true) { this.setDisabled(value); return this; }
37
- }
38
-
39
- class Row extends DjsActionRowBuilder {
40
- constructor(data) { super(data); }
41
- add(component) { this.addComponents(component); return this; }
42
- components(arr = []) { this.addComponents(arr); return this; }
43
- }
44
-
45
- class Select extends StringSelectMenuBuilder {
46
- id(i) { return this.setCustomId(i); }
47
- placeholder(t) { return this.setPlaceholder(t); }
48
- option(l, v, d, e) { return this.addOptions({ label: l, value: v, description: d, emoji: e }); }
49
- }
50
-
51
- export { Button, Row, Select };
@@ -1,51 +0,0 @@
1
- import {
2
- ButtonBuilder as DjsButtonBuilder,
3
- ActionRowBuilder as DjsActionRowBuilder,
4
- ButtonStyle,
5
- StringSelectMenuBuilder
6
- } from "discord.js";
7
-
8
- const STYLE_MAP: Record<string, ButtonStyle> = {
9
- blue: ButtonStyle.Primary,
10
- primary: ButtonStyle.Primary,
11
- green: ButtonStyle.Success,
12
- success: ButtonStyle.Success,
13
- red: ButtonStyle.Danger,
14
- danger: ButtonStyle.Danger,
15
- gray: ButtonStyle.Secondary,
16
- grey: ButtonStyle.Secondary,
17
- secondary: ButtonStyle.Secondary,
18
- link: ButtonStyle.Link
19
- };
20
-
21
- export class Button extends DjsButtonBuilder {
22
- constructor(data?: Partial<DjsButtonBuilder>) {
23
- super(data);
24
- }
25
- label(value: string) { this.setLabel(value); return this; }
26
- id(value: string) { this.setCustomId(value); return this; }
27
- style(value: string | ButtonStyle) {
28
- if (typeof value === "string") {
29
- const key = value.toLowerCase();
30
- this.setStyle(STYLE_MAP[key] ?? ButtonStyle[value as keyof typeof ButtonStyle]);
31
- } else {
32
- this.setStyle(value);
33
- }
34
- return this;
35
- }
36
- url(value: string) { this.setURL(value); return this; }
37
- emoji(value: string | object) { this.setEmoji(value as any); return this; }
38
- disabled(value = true) { this.setDisabled(value); return this; }
39
- }
40
-
41
- export class Row extends DjsActionRowBuilder {
42
- constructor(data?: Partial<DjsActionRowBuilder>) { super(data); }
43
- add(component: any) { this.addComponents(component); return this; }
44
- components(arr: any[] = []) { this.addComponents(arr); return this; }
45
- }
46
-
47
- export class Select extends StringSelectMenuBuilder {
48
- id(i: string) { return this.setCustomId(i); }
49
- placeholder(t: string) { return this.setPlaceholder(t); }
50
- option(l: string, v: string, d?: string, e?: any) { return this.addOptions({ label: l, value: v, description: d, emoji: e }); }
51
- }
@@ -1,67 +0,0 @@
1
- const {
2
- ContainerBuilder,
3
- TextDisplayBuilder,
4
- SeparatorBuilder,
5
- SeparatorSpacingSize,
6
- ActionRowBuilder,
7
- ButtonBuilder,
8
- StringSelectMenuBuilder,
9
- MediaGalleryBuilder,
10
- MediaGalleryItemBuilder
11
- } = require("discord.js");
12
-
13
- class ComponentBuilder extends ContainerBuilder {
14
- constructor() { super(); }
15
-
16
- addText(input) {
17
- if (typeof input === "string") {
18
- this.addTextDisplayComponents(new TextDisplayBuilder().setContent(input));
19
- return this;
20
- }
21
- if (input instanceof TextDisplayBuilder) {
22
- this.addTextDisplayComponents(input);
23
- return this;
24
- }
25
- return this;
26
- }
27
-
28
- addSeparator(spacing = "Small") {
29
- const map = { Small: SeparatorSpacingSize.Small, Large: SeparatorSpacingSize.Large };
30
- this.addSeparatorComponents(new SeparatorBuilder().setSpacing(map[spacing] || SeparatorSpacingSize.Small));
31
- return this;
32
- }
33
-
34
- addButtons(...buttons) {
35
- this.addActionRowComponents(new ActionRowBuilder().addComponents(buttons));
36
- return this;
37
- }
38
-
39
- addSelect(select) {
40
- this.addActionRowComponents(new ActionRowBuilder().addComponents(select));
41
- return this;
42
- }
43
-
44
- addMedia(items = []) {
45
- const gallery = new MediaGalleryBuilder();
46
- for (const item of items) {
47
- if (typeof item === "string") gallery.addItems(new MediaGalleryItemBuilder().setURL(item));
48
- else if (item instanceof MediaGalleryItemBuilder) gallery.addItems(item);
49
- }
50
- this.addMediaGalleryComponents(gallery);
51
- return this;
52
- }
53
- }
54
-
55
- const text = content => new TextDisplayBuilder().setContent(content);
56
-
57
- module.exports = {
58
- ComponentBuilder,
59
- text,
60
- TextDisplayBuilder,
61
- SeparatorBuilder,
62
- ActionRowBuilder,
63
- ButtonBuilder,
64
- StringSelectMenuBuilder,
65
- MediaGalleryBuilder,
66
- MediaGalleryItemBuilder
67
- };
@@ -1,67 +0,0 @@
1
- import {
2
- ContainerBuilder,
3
- TextDisplayBuilder,
4
- SeparatorBuilder,
5
- SeparatorSpacingSize,
6
- ActionRowBuilder,
7
- ButtonBuilder,
8
- StringSelectMenuBuilder,
9
- MediaGalleryBuilder,
10
- MediaGalleryItemBuilder
11
- } from "discord.js";
12
-
13
- class ComponentBuilder extends ContainerBuilder {
14
- constructor() { super(); }
15
-
16
- addText(input) {
17
- if (typeof input === "string") {
18
- this.addTextDisplayComponents(new TextDisplayBuilder().setContent(input));
19
- return this;
20
- }
21
- if (input instanceof TextDisplayBuilder) {
22
- this.addTextDisplayComponents(input);
23
- return this;
24
- }
25
- return this;
26
- }
27
-
28
- addSeparator(spacing = "Small") {
29
- const map = { Small: SeparatorSpacingSize.Small, Large: SeparatorSpacingSize.Large };
30
- this.addSeparatorComponents(new SeparatorBuilder().setSpacing(map[spacing] || SeparatorSpacingSize.Small));
31
- return this;
32
- }
33
-
34
- addButtons(...buttons) {
35
- this.addActionRowComponents(new ActionRowBuilder().addComponents(buttons));
36
- return this;
37
- }
38
-
39
- addSelect(select) {
40
- this.addActionRowComponents(new ActionRowBuilder().addComponents(select));
41
- return this;
42
- }
43
-
44
- addMedia(items = []) {
45
- const gallery = new MediaGalleryBuilder();
46
- for (const item of items) {
47
- if (typeof item === "string") gallery.addItems(new MediaGalleryItemBuilder().setURL(item));
48
- else if (item instanceof MediaGalleryItemBuilder) gallery.addItems(item);
49
- }
50
- this.addMediaGalleryComponents(gallery);
51
- return this;
52
- }
53
- }
54
-
55
- const text = content => new TextDisplayBuilder().setContent(content);
56
-
57
- export {
58
- ComponentBuilder,
59
- text,
60
- TextDisplayBuilder,
61
- SeparatorBuilder,
62
- ActionRowBuilder,
63
- ButtonBuilder,
64
- StringSelectMenuBuilder,
65
- MediaGalleryBuilder,
66
- MediaGalleryItemBuilder
67
- };
@@ -1,68 +0,0 @@
1
- import {
2
- ContainerBuilder,
3
- TextDisplayBuilder,
4
- SeparatorBuilder,
5
- SeparatorSpacingSize,
6
- ActionRowBuilder,
7
- ButtonBuilder,
8
- StringSelectMenuBuilder,
9
- MediaGalleryBuilder,
10
- MediaGalleryItemBuilder
11
- } from "discord.js";
12
-
13
- export class ComponentBuilder extends ContainerBuilder {
14
- constructor() { super(); }
15
-
16
- addText(input: string | TextDisplayBuilder) {
17
- if (typeof input === "string") {
18
- this.addTextDisplayComponents(new TextDisplayBuilder().setContent(input));
19
- return this;
20
- }
21
- if (input instanceof TextDisplayBuilder) {
22
- this.addTextDisplayComponents(input);
23
- return this;
24
- }
25
- return this;
26
- }
27
-
28
- addSeparator(spacing: "Small" | "Large" = "Small") {
29
- const map: Record<string, SeparatorSpacingSize> = {
30
- Small: SeparatorSpacingSize.Small,
31
- Large: SeparatorSpacingSize.Large
32
- };
33
- this.addSeparatorComponents(new SeparatorBuilder().setSpacing(map[spacing] || SeparatorSpacingSize.Small));
34
- return this;
35
- }
36
-
37
- addButtons(...buttons: any[]) {
38
- this.addActionRowComponents(new ActionRowBuilder().addComponents(buttons));
39
- return this;
40
- }
41
-
42
- addSelect(select: any) {
43
- this.addActionRowComponents(new ActionRowBuilder().addComponents(select));
44
- return this;
45
- }
46
-
47
- addMedia(items: (string | MediaGalleryItemBuilder)[] = []) {
48
- const gallery = new MediaGalleryBuilder();
49
- for (const item of items) {
50
- if (typeof item === "string") gallery.addItems(new MediaGalleryItemBuilder().setURL(item));
51
- else if (item instanceof MediaGalleryItemBuilder) gallery.addItems(item);
52
- }
53
- this.addMediaGalleryComponents(gallery);
54
- return this;
55
- }
56
- }
57
-
58
- export const text = (content: string) => new TextDisplayBuilder().setContent(content);
59
-
60
- export {
61
- TextDisplayBuilder,
62
- SeparatorBuilder,
63
- ActionRowBuilder,
64
- ButtonBuilder,
65
- StringSelectMenuBuilder,
66
- MediaGalleryBuilder,
67
- MediaGalleryItemBuilder
68
- };
@@ -1,26 +0,0 @@
1
- const { EmbedBuilder: DjsEmbedBuilder } = require("discord.js");
2
-
3
- class EmbedBuilder extends DjsEmbedBuilder {
4
- constructor(data) { super(data); }
5
- title(value) { this.setTitle(String(value)); return this; }
6
- addTitle(value) { this.setTitle(String(value)); return this; }
7
- description(value) { this.setDescription(String(value)); return this; }
8
- addDescription(value) { this.setDescription(String(value)); return this; }
9
- color(value) { this.setColor(value); return this; }
10
- addColor(value) { this.setColor(value); return this; }
11
- author(name, iconURL, url) { this.setAuthor({ name, iconURL, url }); return this; }
12
- addAuthor(name, iconURL, url) { this.setAuthor({ name, iconURL, url }); return this; }
13
- footer(text, iconURL) { this.setFooter({ text, iconURL }); return this; }
14
- addFooter(text, iconURL) { this.setFooter({ text, iconURL }); return this; }
15
- thumbnail(url) { this.setThumbnail(url); return this; }
16
- addThumbnail(url) { this.setThumbnail(url); return this; }
17
- image(url) { this.setImage(url); return this; }
18
- addImage(url) { this.setImage(url); return this; }
19
- field(name, value, inline = false) { this.addFields({ name: String(name), value: String(value), inline }); return this; }
20
- addField(name, value, inline = false) { this.addFields({ name: String(name), value: String(value), inline }); return this; }
21
- fields(arr = []) { this.addFields(arr.map(f => ({ name: String(f.name), value: String(f.value), inline: !!f.inline }))); return this; }
22
- timestamp(value = Date.now()) { this.setTimestamp(value); return this; }
23
- addTime(value = Date.now()) { this.setTimestamp(value); return this; }
24
- }
25
-
26
- module.exports = EmbedBuilder;
@@ -1,26 +0,0 @@
1
- import { EmbedBuilder as DjsEmbedBuilder } from "discord.js";
2
-
3
- class EmbedBuilder extends DjsEmbedBuilder {
4
- constructor(data) { super(data); }
5
- title(value) { this.setTitle(String(value)); return this; }
6
- addTitle(value) { this.setTitle(String(value)); return this; }
7
- description(value) { this.setDescription(String(value)); return this; }
8
- addDescription(value) { this.setDescription(String(value)); return this; }
9
- color(value) { this.setColor(value); return this; }
10
- addColor(value) { this.setColor(value); return this; }
11
- author(name, iconURL, url) { this.setAuthor({ name, iconURL, url }); return this; }
12
- addAuthor(name, iconURL, url) { this.setAuthor({ name, iconURL, url }); return this; }
13
- footer(text, iconURL) { this.setFooter({ text, iconURL }); return this; }
14
- addFooter(text, iconURL) { this.setFooter({ text, iconURL }); return this; }
15
- thumbnail(url) { this.setThumbnail(url); return this; }
16
- addThumbnail(url) { this.setThumbnail(url); return this; }
17
- image(url) { this.setImage(url); return this; }
18
- addImage(url) { this.setImage(url); return this; }
19
- field(name, value, inline = false) { this.addFields({ name: String(name), value: String(value), inline }); return this; }
20
- addField(name, value, inline = false) { this.addFields({ name: String(name), value: String(value), inline }); return this; }
21
- fields(arr = []) { this.addFields(arr.map(f => ({ name: String(f.name), value: String(f.value), inline: !!f.inline }))); return this; }
22
- timestamp(value = Date.now()) { this.setTimestamp(value); return this; }
23
- addTime(value = Date.now()) { this.setTimestamp(value); return this; }
24
- }
25
-
26
- export default EmbedBuilder;
@@ -1,30 +0,0 @@
1
- import { EmbedBuilder as DjsEmbedBuilder, ColorResolvable } from "discord.js";
2
-
3
- export class EmbedBuilder extends DjsEmbedBuilder {
4
- constructor(data?: Partial<DjsEmbedBuilder>) {
5
- super(data);
6
- }
7
-
8
- title(value: string) { this.setTitle(value); return this; }
9
- addTitle(value: string) { this.setTitle(value); return this; }
10
- description(value: string) { this.setDescription(value); return this; }
11
- addDescription(value: string) { this.setDescription(value); return this; }
12
- color(value: ColorResolvable) { this.setColor(value); return this; }
13
- addColor(value: ColorResolvable) { this.setColor(value); return this; }
14
- author(name: string, iconURL?: string, url?: string) { this.setAuthor({ name, iconURL, url }); return this; }
15
- addAuthor(name: string, iconURL?: string, url?: string) { this.setAuthor({ name, iconURL, url }); return this; }
16
- footer(text: string, iconURL?: string) { this.setFooter({ text, iconURL }); return this; }
17
- addFooter(text: string, iconURL?: string) { this.setFooter({ text, iconURL }); return this; }
18
- thumbnail(url: string) { this.setThumbnail(url); return this; }
19
- addThumbnail(url: string) { this.setThumbnail(url); return this; }
20
- image(url: string) { this.setImage(url); return this; }
21
- addImage(url: string) { this.setImage(url); return this; }
22
- field(name: string, value: string, inline = false) { this.addFields({ name, value, inline }); return this; }
23
- addField(name: string, value: string, inline = false) { this.addFields({ name, value, inline }); return this; }
24
- fields(arr: { name: string; value: string; inline?: boolean }[] = []) {
25
- this.addFields(arr.map(f => ({ name: f.name, value: f.value, inline: !!f.inline })));
26
- return this;
27
- }
28
- timestamp(value: number | Date = Date.now()) { this.setTimestamp(value); return this; }
29
- addTime(value: number | Date = Date.now()) { this.setTimestamp(value); return this; }
30
- }
@@ -1,81 +0,0 @@
1
- import {
2
- ButtonBuilder,
3
- ActionRowBuilder,
4
- StringSelectMenuBuilder,
5
- ButtonStyle,
6
- ContainerBuilder,
7
- TextDisplayBuilder,
8
- SeparatorBuilder,
9
- SeparatorSpacingSize,
10
- MediaGalleryBuilder,
11
- MediaGalleryItemBuilder,
12
- EmbedBuilder as DjsEmbedBuilder,
13
- ColorResolvable,
14
- APIEmbedField
15
- } from "discord.js";
16
-
17
- export class Button extends ButtonBuilder {
18
- constructor(data?: Partial<ButtonBuilder>);
19
- label(value: string): this;
20
- id(value: string): this;
21
- style(value: string | ButtonStyle): this;
22
- url(value: string): this;
23
- emoji(value: string | object): this;
24
- disabled(value?: boolean): this;
25
- }
26
-
27
- export class Row extends ActionRowBuilder {
28
- constructor(data?: Partial<ActionRowBuilder>);
29
- add(component: any): this;
30
- components(arr?: any[]): this;
31
- }
32
-
33
- export class Select extends StringSelectMenuBuilder {
34
- id(i: string): this;
35
- placeholder(t: string): this;
36
- option(l: string, v: string, d?: string, e?: any): this;
37
- }
38
-
39
- export class ComponentBuilder extends ContainerBuilder {
40
- constructor();
41
- addText(input: string | TextDisplayBuilder): this;
42
- addSeparator(spacing?: "Small" | "Large"): this;
43
- addButtons(...buttons: any[]): this;
44
- addSelect(select: any): this;
45
- addMedia(items?: (string | MediaGalleryItemBuilder)[]): this;
46
- }
47
-
48
- export const text: (content: string) => TextDisplayBuilder;
49
-
50
- export {
51
- TextDisplayBuilder,
52
- SeparatorBuilder,
53
- ActionRowBuilder,
54
- ButtonBuilder,
55
- StringSelectMenuBuilder,
56
- MediaGalleryBuilder,
57
- MediaGalleryItemBuilder
58
- };
59
-
60
- export class EmbedBuilder extends DjsEmbedBuilder {
61
- constructor(data?: Partial<DjsEmbedBuilder>);
62
- title(value: string): this;
63
- addTitle(value: string): this;
64
- description(value: string): this;
65
- addDescription(value: string): this;
66
- color(value: ColorResolvable): this;
67
- addColor(value: ColorResolvable): this;
68
- author(name: string, iconURL?: string, url?: string): this;
69
- addAuthor(name: string, iconURL?: string, url?: string): this;
70
- footer(text: string, iconURL?: string): this;
71
- addFooter(text: string, iconURL?: string): this;
72
- thumbnail(url: string): this;
73
- addThumbnail(url: string): this;
74
- image(url: string): this;
75
- addImage(url: string): this;
76
- field(name: string, value: string, inline?: boolean): this;
77
- addField(name: string, value: string, inline?: boolean): this;
78
- fields(arr?: { name: string; value: string; inline?: boolean }[]): this;
79
- timestamp(value?: number | Date): this;
80
- addTime(value?: number | Date): this;
81
- }
@@ -1,17 +0,0 @@
1
- const { Client, GatewayIntentBits, Partials } = require("discord.js");
2
-
3
- class Bot extends Client {
4
- constructor(options = {}) {
5
- const intents = options.intents === "all" ? Object.values(GatewayIntentBits) : options.intents;
6
- const partials = options.partials === "all" ? Object.values(Partials) : options.partials;
7
- const allowedMentions = options.allowedMentions || { parse: ["users", "roles", "everyone"], repliedUser: true };
8
- super({ intents, partials, allowedMentions });
9
- this.owners = options.owners || [];
10
- }
11
-
12
- async start(token) {
13
- return super.login(token);
14
- }
15
- }
16
-
17
- module.exports = Bot;
@@ -1,14 +0,0 @@
1
- import { Client, GatewayIntentBits, Partials, ClientOptions } from "discord.js";
2
-
3
- export interface BotOptions {
4
- intents?: "all" | any[];
5
- partials?: "all" | any[];
6
- allowedMentions?: ClientOptions["allowedMentions"];
7
- owners?: string[];
8
- }
9
-
10
- export class Bot extends Client {
11
- owners: string[];
12
- constructor(options?: BotOptions);
13
- start(token: string): Promise<string>;
14
- }
@@ -1,17 +0,0 @@
1
- import { Client, GatewayIntentBits, Partials } from "discord.js";
2
-
3
- class Bot extends Client {
4
- constructor(options = {}) {
5
- const intents = options.intents === "all" ? Object.values(GatewayIntentBits) : options.intents;
6
- const partials = options.partials === "all" ? Object.values(Partials) : options.partials;
7
- const allowedMentions = options.allowedMentions || { parse: ["users", "roles", "everyone"], repliedUser: true };
8
- super({ intents, partials, allowedMentions });
9
- this.owners = options.owners || [];
10
- }
11
-
12
- async start(token) {
13
- return super.login(token);
14
- }
15
- }
16
-
17
- export default Bot;
package/src/Client/Bot.ts DELETED
@@ -1,26 +0,0 @@
1
- import { Client, GatewayIntentBits, Partials, ClientOptions } from "discord.js";
2
-
3
- interface BotOptions {
4
- intents?: "all" | any[];
5
- partials?: "all" | any[];
6
- allowedMentions?: ClientOptions["allowedMentions"];
7
- owners?: string[];
8
- }
9
-
10
- export class Bot extends Client {
11
- owners: string[];
12
-
13
- constructor(options: BotOptions = {}) {
14
- const intents = options.intents === "all" ? Object.values(GatewayIntentBits) : options.intents;
15
- const partials = options.partials === "all" ? Object.values(Partials) : options.partials;
16
- const allowedMentions = options.allowedMentions || { parse: ["users", "roles", "everyone"], repliedUser: true };
17
-
18
- super({ intents, partials, allowedMentions });
19
-
20
- this.owners = options.owners || [];
21
- }
22
-
23
- async start(token: string) {
24
- return super.login(token);
25
- }
26
- }
package/src/export.cjs DELETED
@@ -1,7 +0,0 @@
1
- module.exports = {
2
- Bot: require("./Client/Bot"),
3
- EmbedBuilder: require("./Builders/EmbedBuilder"),
4
- ...require("./Builders/ComponentBuilder"),
5
- ...require("./Builders/ButtonActionBuilder"),
6
- ...require("./Patches/Aliases")
7
- };
package/src/export.d.ts DELETED
@@ -1,6 +0,0 @@
1
- export { Bot } from "./Client/Bot";
2
- export { EmbedBuilder } from "./Builders/EmbedBuilder";
3
-
4
- export * from "./Builders/ComponentBuilder";
5
- export * from "./Builders/ButtonActionBuilder";
6
- export * from "./Patches/Aliases";
package/src/export.mjs DELETED
@@ -1,13 +0,0 @@
1
- import Bot from "./Client/Bot.js";
2
- import { EmbedBuilder } from "./Builders/EmbedBuilder.js";
3
- import * as ComponentBuilderModule from "./Builders/ComponentBuilder.js";
4
- import * as ButtonActionBuilderModule from "./Builders/ButtonActionBuilder.js";
5
- import * as AliasesModule from "./Patches/Aliases.js";
6
-
7
- export {
8
- Bot,
9
- EmbedBuilder,
10
- ComponentBuilderModule as ComponentBuilder,
11
- ButtonActionBuilderModule as ButtonActionBuilder,
12
- AliasesModule
13
- };
package/src/export.ts DELETED
@@ -1,54 +0,0 @@
1
- import { Bot as BotClass } from "./Client/Bot";
2
- import { EmbedBuilder } from "./Builders/EmbedBuilder";
3
- import * as ComponentBuilderModule from "./Builders/ComponentBuilder";
4
- import * as ButtonActionBuilderModule from "./Builders/ButtonActionBuilder";
5
- import * as AliasesModule from "./Patches/Aliases";
6
-
7
- export const Bot = BotClass;
8
- export const EmbedBuilderClass = EmbedBuilder;
9
-
10
- export const ComponentBuilder = ComponentBuilderModule.ComponentBuilder;
11
- export const text = ComponentBuilderModule.text;
12
- export const TextDisplayBuilder = ComponentBuilderModule.TextDisplayBuilder;
13
- export const SeparatorBuilder = ComponentBuilderModule.SeparatorBuilder;
14
- export const ActionRowBuilder = ComponentBuilderModule.ActionRowBuilder;
15
- export const ButtonBuilder = ComponentBuilderModule.ButtonBuilder;
16
- export const StringSelectMenuBuilder = ComponentBuilderModule.StringSelectMenuBuilder;
17
- export const MediaGalleryBuilder = ComponentBuilderModule.MediaGalleryBuilder;
18
- export const MediaGalleryItemBuilder = ComponentBuilderModule.MediaGalleryItemBuilder;
19
-
20
- export const Button = ButtonActionBuilderModule.Button;
21
- export const Row = ButtonActionBuilderModule.Row;
22
- export const Select = ButtonActionBuilderModule.Select;
23
-
24
- export const I = AliasesModule.I;
25
- export const Intents = AliasesModule.Intents;
26
- export const IntentBits = AliasesModule.IntentBits;
27
-
28
- export const Flags = AliasesModule.Flags;
29
- export const MessageFlag = AliasesModule.MessageFlag;
30
- export const MsgFlags = AliasesModule.MsgFlags;
31
-
32
- export const Perms = AliasesModule.Perms;
33
- export const Permissions = AliasesModule.Permissions;
34
- export const PermissionBits = AliasesModule.PermissionBits;
35
-
36
- export const Channels = AliasesModule.Channels;
37
- export const ChannelTypes = AliasesModule.ChannelTypes;
38
-
39
- export const Components = AliasesModule.Components;
40
- export const ComponentTypes = AliasesModule.ComponentTypes;
41
-
42
- export const Buttons = AliasesModule.Buttons;
43
- export const ButtonStyles = AliasesModule.ButtonStyles;
44
-
45
- export const Inputs = AliasesModule.Inputs;
46
- export const InputStyles = AliasesModule.InputStyles;
47
-
48
- export const Interactions = AliasesModule.Interactions;
49
- export const InteractionTypes = AliasesModule.InteractionTypes;
50
-
51
- export const WebClient = AliasesModule.WebClient;
52
- export const Web = AliasesModule.Web;
53
- export const Webhook = AliasesModule.Webhook;
54
- export const WebhookClient = AliasesModule.WebhookClientClass;