@fluxerjs/core 1.0.7 → 1.0.9

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.
Files changed (117) hide show
  1. package/dist/{Channel-OSOB6ELO.mjs → Channel-ICWNKXBR.mjs} +1 -1
  2. package/dist/{ClientUser-RNDKHQ3Z.mjs → ClientUser-WWXUMO5O.mjs} +1 -2
  3. package/dist/{Guild-GOQZ7XP4.mjs → Guild-TM6YGJWB.mjs} +3 -1
  4. package/dist/GuildBan-M4PA3HAA.mjs +7 -0
  5. package/dist/{GuildMember-BJJNCL6W.mjs → GuildMember-RZWZ3OCG.mjs} +1 -2
  6. package/dist/{Webhook-AG6QFM2I.mjs → Invite-UM5BU5A6.mjs} +3 -3
  7. package/dist/{Message-QXPHQOVC.mjs → Message-6IYEYSV6.mjs} +1 -2
  8. package/dist/MessageReaction-XRPYZDSC.mjs +7 -0
  9. package/dist/{Webhook-NUQCJAWZ.mjs → Role-SVLWIAMN.mjs} +3 -3
  10. package/dist/{Webhook-2RHBXH7R.mjs → Webhook-32VJD4AL.mjs} +1 -1
  11. package/dist/{chunk-T2NSVWBH.mjs → chunk-53Y37KRG.mjs} +35 -1
  12. package/dist/chunk-DSPSRPHF.mjs +200 -0
  13. package/dist/{chunk-WYSHH4LR.mjs → chunk-FJS5FBXO.mjs} +98 -6
  14. package/dist/{chunk-J3EIGOXQ.mjs → chunk-GCIJYVRC.mjs} +20 -6
  15. package/dist/{chunk-NISGA2YZ.mjs → chunk-GFUJVQ7L.mjs} +13 -4
  16. package/dist/chunk-HBF5QEDH.mjs +42 -0
  17. package/dist/chunk-QEXIYXXU.mjs +62 -0
  18. package/dist/chunk-RCP27MRC.mjs +33 -0
  19. package/dist/chunk-SQVCCSNN.mjs +41 -0
  20. package/dist/chunk-X77DFNE3.mjs +136 -0
  21. package/dist/index.d.mts +520 -55
  22. package/dist/index.d.ts +520 -55
  23. package/dist/index.js +1333 -404
  24. package/dist/index.mjs +616 -189
  25. package/package.json +27 -8
  26. package/dist/Channel-2WNJ445K.mjs +0 -17
  27. package/dist/Channel-BEZOW4VC.mjs +0 -17
  28. package/dist/Channel-DPLLHL7Y.mjs +0 -19
  29. package/dist/Channel-HM2UY4DN.mjs +0 -17
  30. package/dist/Channel-IKL3SJXN.mjs +0 -17
  31. package/dist/Channel-KILNV5V3.mjs +0 -17
  32. package/dist/Channel-KOTARBSF.mjs +0 -17
  33. package/dist/Channel-ON7O3D3M.mjs +0 -17
  34. package/dist/Channel-TOAQGSRX.mjs +0 -17
  35. package/dist/Channel-VENHOL7S.mjs +0 -17
  36. package/dist/Channel-YVGPVOVB.mjs +0 -17
  37. package/dist/ClientUser-6HBAPU6H.mjs +0 -8
  38. package/dist/ClientUser-ALGC4FNY.mjs +0 -8
  39. package/dist/ClientUser-J6HQVSDJ.mjs +0 -9
  40. package/dist/ClientUser-LLL6WX35.mjs +0 -8
  41. package/dist/ClientUser-N7ZXYAQ3.mjs +0 -8
  42. package/dist/Guild-36EGAAEW.mjs +0 -8
  43. package/dist/Guild-5UBZNIGD.mjs +0 -9
  44. package/dist/Guild-CA3W6DOD.mjs +0 -8
  45. package/dist/Guild-GIXJJBFM.mjs +0 -9
  46. package/dist/Guild-NHNQ5TIA.mjs +0 -8
  47. package/dist/Guild-S436SLOP.mjs +0 -9
  48. package/dist/Guild-WAFXK2EX.mjs +0 -9
  49. package/dist/Guild-XPOMHZZG.mjs +0 -9
  50. package/dist/Guild-ZOFF5LFR.mjs +0 -8
  51. package/dist/GuildMember-FX2JAWES.mjs +0 -8
  52. package/dist/GuildMember-K5FLBNHV.mjs +0 -8
  53. package/dist/GuildMember-RGVPVUAG.mjs +0 -9
  54. package/dist/GuildMember-UBNHZBCO.mjs +0 -8
  55. package/dist/GuildMember-UU26WJGN.mjs +0 -8
  56. package/dist/GuildMember-XF7K2R45.mjs +0 -9
  57. package/dist/Message-23Z3RPCZ.mjs +0 -9
  58. package/dist/Message-33APPS76.mjs +0 -9
  59. package/dist/Message-6RSAGIRP.mjs +0 -8
  60. package/dist/Message-OXTQHFCF.mjs +0 -8
  61. package/dist/Message-PZUU7ZFR.mjs +0 -9
  62. package/dist/Message-R7GZYIQQ.mjs +0 -8
  63. package/dist/Message-W624MHJF.mjs +0 -8
  64. package/dist/Message-XB5WNMHL.mjs +0 -9
  65. package/dist/Message-ZCS7IGJX.mjs +0 -8
  66. package/dist/Webhook-TGAZZRQQ.mjs +0 -7
  67. package/dist/chunk-2FIZRRSO.mjs +0 -88
  68. package/dist/chunk-3CNUPFDI.mjs +0 -59
  69. package/dist/chunk-4DBGMFOQ.mjs +0 -14
  70. package/dist/chunk-5HQRX3KJ.mjs +0 -70
  71. package/dist/chunk-62S4AB2S.mjs +0 -54
  72. package/dist/chunk-6CEMF2LO.mjs +0 -14
  73. package/dist/chunk-6EBNOON4.mjs +0 -86
  74. package/dist/chunk-72OY7B3D.mjs +0 -72
  75. package/dist/chunk-7FYM4D2E.mjs +0 -50
  76. package/dist/chunk-7GZN6JXT.mjs +0 -50
  77. package/dist/chunk-7H3TKJUT.mjs +0 -53
  78. package/dist/chunk-7SIS5CUA.mjs +0 -14
  79. package/dist/chunk-BGJSL6JI.mjs +0 -14
  80. package/dist/chunk-BUEXP5SZ.mjs +0 -70
  81. package/dist/chunk-BYTAODAO.mjs +0 -70
  82. package/dist/chunk-CQ5ZVTLX.mjs +0 -71
  83. package/dist/chunk-DJBCSVZX.mjs +0 -102
  84. package/dist/chunk-DLROMCIJ.mjs +0 -50
  85. package/dist/chunk-DPZHAYCK.mjs +0 -71
  86. package/dist/chunk-E75ZVY3I.mjs +0 -14
  87. package/dist/chunk-EF32ILJL.mjs +0 -102
  88. package/dist/chunk-F2EEQP5O.mjs +0 -86
  89. package/dist/chunk-FK5X6HFL.mjs +0 -111
  90. package/dist/chunk-FNFID6QB.mjs +0 -45
  91. package/dist/chunk-G4L7WAJS.mjs +0 -64
  92. package/dist/chunk-GUNWHOQO.mjs +0 -42
  93. package/dist/chunk-IPHFDI2L.mjs +0 -68
  94. package/dist/chunk-JJHZBWZM.mjs +0 -118
  95. package/dist/chunk-L25ON7WB.mjs +0 -52
  96. package/dist/chunk-LBBIQOSH.mjs +0 -53
  97. package/dist/chunk-LVMFPATK.mjs +0 -54
  98. package/dist/chunk-NOLYW3V4.mjs +0 -140
  99. package/dist/chunk-OHIHIQAS.mjs +0 -102
  100. package/dist/chunk-P4IRDGB4.mjs +0 -43
  101. package/dist/chunk-PO5JZQVN.mjs +0 -111
  102. package/dist/chunk-PYYXC7US.mjs +0 -76
  103. package/dist/chunk-QDCFQF6J.mjs +0 -36
  104. package/dist/chunk-QDNFJVVE.mjs +0 -70
  105. package/dist/chunk-QXJNV5EJ.mjs +0 -110
  106. package/dist/chunk-RXHJYGSJ.mjs +0 -53
  107. package/dist/chunk-SW6KNICI.mjs +0 -52
  108. package/dist/chunk-TE5IC7IP.mjs +0 -36
  109. package/dist/chunk-TMDZALIN.mjs +0 -110
  110. package/dist/chunk-WFONGZGK.mjs +0 -42
  111. package/dist/chunk-WZVY7DA6.mjs +0 -44
  112. package/dist/chunk-XTDZQD4A.mjs +0 -110
  113. package/dist/chunk-XXCBJJZE.mjs +0 -88
  114. package/dist/chunk-YKP7JHV2.mjs +0 -102
  115. package/dist/chunk-YSKZR66G.mjs +0 -102
  116. package/dist/chunk-ZHRQQZ4X.mjs +0 -102
  117. package/dist/chunk-ZMIMAMO2.mjs +0 -14
@@ -1,102 +0,0 @@
1
- import {
2
- Base
3
- } from "./chunk-XNS4O6QJ.mjs";
4
-
5
- // src/structures/Channel.ts
6
- import { ChannelType, Routes } from "@fluxerjs/types";
7
- var Channel = class extends Base {
8
- client;
9
- id;
10
- type;
11
- constructor(client, data) {
12
- super();
13
- this.client = client;
14
- this.id = data.id;
15
- this.type = data.type;
16
- }
17
- static from(client, data) {
18
- const type = data.type ?? 0;
19
- if (type === ChannelType.GuildText) return new TextChannel(client, data);
20
- if (type === ChannelType.GuildCategory) return new CategoryChannel(client, data);
21
- if (type === ChannelType.GuildVoice) return new VoiceChannel(client, data);
22
- if (type === ChannelType.GuildLink) return new LinkChannel(client, data);
23
- return new GuildChannel(client, data);
24
- }
25
- };
26
- var GuildChannel = class extends Channel {
27
- guildId;
28
- name;
29
- position;
30
- parentId;
31
- constructor(client, data) {
32
- super(client, data);
33
- this.guildId = data.guild_id ?? "";
34
- this.name = data.name ?? null;
35
- this.position = data.position;
36
- this.parentId = data.parent_id ?? null;
37
- }
38
- /** Create a webhook in this channel. Returns the webhook with token (required for send()). */
39
- async createWebhook(options) {
40
- const { Webhook } = await import("./Webhook-2RHBXH7R.mjs");
41
- const data = await this.client.rest.post(Routes.channelWebhooks(this.id), {
42
- body: options,
43
- auth: true
44
- });
45
- return new Webhook(this.client, data);
46
- }
47
- /** Fetch all webhooks in this channel. Returned webhooks do not include the token (cannot send). */
48
- async fetchWebhooks() {
49
- const { Webhook } = await import("./Webhook-2RHBXH7R.mjs");
50
- const data = await this.client.rest.get(Routes.channelWebhooks(this.id));
51
- const list = Array.isArray(data) ? data : Object.values(data ?? {});
52
- return list.map((w) => new Webhook(this.client, w));
53
- }
54
- };
55
- var TextChannel = class extends GuildChannel {
56
- topic;
57
- nsfw;
58
- rateLimitPerUser;
59
- lastMessageId;
60
- constructor(client, data) {
61
- super(client, data);
62
- this.topic = data.topic ?? null;
63
- this.nsfw = data.nsfw ?? false;
64
- this.rateLimitPerUser = data.rate_limit_per_user ?? 0;
65
- this.lastMessageId = data.last_message_id ?? null;
66
- }
67
- async send(options) {
68
- const body = typeof options === "string" ? { content: options } : options;
69
- const { Message } = await import("./Message-33APPS76.mjs");
70
- const data = await this.client.rest.post(Routes.channelMessages(this.id), { body });
71
- return new Message(this.client, data);
72
- }
73
- };
74
- var CategoryChannel = class extends GuildChannel {
75
- };
76
- var VoiceChannel = class extends GuildChannel {
77
- bitrate;
78
- userLimit;
79
- rtcRegion;
80
- constructor(client, data) {
81
- super(client, data);
82
- this.bitrate = data.bitrate ?? null;
83
- this.userLimit = data.user_limit ?? null;
84
- this.rtcRegion = data.rtc_region ?? null;
85
- }
86
- };
87
- var LinkChannel = class extends GuildChannel {
88
- url;
89
- constructor(client, data) {
90
- super(client, data);
91
- this.url = data.url ?? null;
92
- }
93
- };
94
-
95
- export {
96
- Channel,
97
- GuildChannel,
98
- TextChannel,
99
- CategoryChannel,
100
- VoiceChannel,
101
- LinkChannel
102
- };
@@ -1,43 +0,0 @@
1
- import {
2
- CDN_URL
3
- } from "./chunk-HQMYRYMY.mjs";
4
- import {
5
- Base
6
- } from "./chunk-XNS4O6QJ.mjs";
7
-
8
- // src/structures/User.ts
9
- var User = class extends Base {
10
- client;
11
- id;
12
- username;
13
- discriminator;
14
- globalName;
15
- avatar;
16
- bot;
17
- constructor(client, data) {
18
- super();
19
- this.client = client;
20
- this.id = data.id;
21
- this.username = data.username;
22
- this.discriminator = data.discriminator;
23
- this.globalName = data.global_name ?? null;
24
- this.avatar = data.avatar ?? null;
25
- this.bot = !!data.bot;
26
- }
27
- avatarURL(options) {
28
- if (!this.avatar) return null;
29
- const ext = options?.extension ?? "png";
30
- const size = options?.size ? `?size=${options.size}` : "";
31
- return `${CDN_URL}/avatars/${this.id}/${this.avatar}.${ext}${size}`;
32
- }
33
- displayAvatarURL(options) {
34
- return this.avatarURL(options) ?? `${CDN_URL}/avatars/0/0.png`;
35
- }
36
- toString() {
37
- return `<@${this.id}>`;
38
- }
39
- };
40
-
41
- export {
42
- User
43
- };
@@ -1,111 +0,0 @@
1
- import {
2
- User
3
- } from "./chunk-J3EIGOXQ.mjs";
4
- import {
5
- Base
6
- } from "./chunk-XNS4O6QJ.mjs";
7
-
8
- // src/structures/Message.ts
9
- import { Collection } from "@fluxerjs/collection";
10
- import { Routes } from "@fluxerjs/types";
11
- import { EmbedBuilder } from "@fluxerjs/builders";
12
- var Message = class _Message extends Base {
13
- client;
14
- id;
15
- channelId;
16
- guildId;
17
- author;
18
- content;
19
- createdAt;
20
- editedAt;
21
- pinned;
22
- attachments;
23
- channel;
24
- /** @param data - API message from POST/PATCH /channels/{id}/messages or gateway MESSAGE_CREATE */
25
- constructor(client, data) {
26
- super();
27
- this.client = client;
28
- this.id = data.id;
29
- this.channelId = data.channel_id;
30
- this.guildId = data.guild_id ?? null;
31
- this.author = new User(client, data.author);
32
- this.content = data.content;
33
- this.createdAt = new Date(data.timestamp);
34
- this.editedAt = data.edited_timestamp ? new Date(data.edited_timestamp) : null;
35
- this.pinned = data.pinned;
36
- this.attachments = new Collection();
37
- for (const a of data.attachments ?? []) this.attachments.set(a.id, a);
38
- }
39
- /**
40
- * Reply to this message.
41
- * @param options - Text content or object with content and/or embeds
42
- */
43
- async reply(options) {
44
- const body = typeof options === "string" ? { content: options, message_reference: { channel_id: this.channelId, message_id: this.id, guild_id: this.guildId ?? void 0 } } : { ...options, message_reference: { channel_id: this.channelId, message_id: this.id, guild_id: this.guildId ?? void 0 } };
45
- const data = await this.client.rest.post(Routes.channelMessages(this.channelId), { body });
46
- return new _Message(this.client, data);
47
- }
48
- /**
49
- * Edit this message. Only the author (or admins) can edit.
50
- * @param options - New content and/or embeds
51
- */
52
- async edit(options) {
53
- const body = {};
54
- if (options.content !== void 0) body.content = options.content;
55
- if (options.embeds?.length) {
56
- body.embeds = options.embeds.map((e) => e instanceof EmbedBuilder ? e.toJSON() : e);
57
- }
58
- const data = await this.client.rest.patch(Routes.channelMessage(this.channelId, this.id), { body });
59
- return new _Message(this.client, data);
60
- }
61
- /** Delete this message. */
62
- async delete() {
63
- await this.client.rest.delete(Routes.channelMessage(this.channelId, this.id));
64
- }
65
- /**
66
- * Format emoji for reaction API: unicode string or "name:id" for custom.
67
- * @param emoji - Unicode emoji (e.g. "👍") or custom { name, id } or "name:id" string
68
- */
69
- static formatEmoji(emoji) {
70
- if (typeof emoji === "string") return emoji;
71
- return `${emoji.name}:${emoji.id}`;
72
- }
73
- /**
74
- * Add a reaction to this message (as the bot).
75
- * @param emoji - Unicode emoji (e.g. `👍`) or custom emoji `{ name, id }`
76
- */
77
- async react(emoji) {
78
- const emojiStr = _Message.formatEmoji(emoji);
79
- const route = `${Routes.channelMessageReaction(this.channelId, this.id, emojiStr)}/@me`;
80
- await this.client.rest.put(route);
81
- }
82
- /**
83
- * Remove the bot's reaction, or a specific user's reaction if userId is provided.
84
- * @param emoji - Unicode emoji or custom `{ name, id }`
85
- * @param userId - If provided, removes that user's reaction (requires moderator permissions)
86
- */
87
- async removeReaction(emoji, userId) {
88
- const emojiStr = _Message.formatEmoji(emoji);
89
- const route = `${Routes.channelMessageReaction(this.channelId, this.id, emojiStr)}/${userId ?? "@me"}`;
90
- await this.client.rest.delete(route);
91
- }
92
- /**
93
- * Remove all reactions from this message.
94
- * Requires moderator permissions.
95
- */
96
- async removeAllReactions() {
97
- await this.client.rest.delete(Routes.channelMessageReactions(this.channelId, this.id));
98
- }
99
- /**
100
- * Remove all reactions of a specific emoji from this message.
101
- * @param emoji - Unicode emoji or custom `{ name, id }`. Requires moderator permissions.
102
- */
103
- async removeReactionEmoji(emoji) {
104
- const emojiStr = _Message.formatEmoji(emoji);
105
- await this.client.rest.delete(Routes.channelMessageReaction(this.channelId, this.id, emojiStr));
106
- }
107
- };
108
-
109
- export {
110
- Message
111
- };
@@ -1,76 +0,0 @@
1
- import {
2
- Base
3
- } from "./chunk-XNS4O6QJ.mjs";
4
-
5
- // src/structures/Webhook.ts
6
- import { Routes } from "@fluxerjs/types";
7
- var Webhook = class _Webhook extends Base {
8
- client;
9
- id;
10
- guildId;
11
- channelId;
12
- name;
13
- avatar;
14
- /** Present only when webhook was created via createWebhook(); not returned when fetching. */
15
- token;
16
- constructor(client, data) {
17
- super();
18
- this.client = client;
19
- this.id = data.id;
20
- this.guildId = data.guild_id;
21
- this.channelId = data.channel_id;
22
- this.name = data.name ?? "Unknown";
23
- this.avatar = data.avatar ?? null;
24
- this.token = data.token ?? null;
25
- }
26
- /** Delete this webhook. Requires bot token with Manage Webhooks permission. */
27
- async delete() {
28
- await this.client.rest.delete(Routes.webhook(this.id), { auth: true });
29
- }
30
- /**
31
- * Send a message via this webhook. Requires the webhook token (only present when created, not when fetched).
32
- * @throws Error if token is not available
33
- */
34
- async send(options) {
35
- if (!this.token) {
36
- throw new Error("Webhook token is required to send. The token is only returned when creating a webhook; fetched webhooks cannot send.");
37
- }
38
- const body = typeof options === "string" ? { content: options } : options;
39
- await this.client.rest.post(Routes.webhookExecute(this.id, this.token), {
40
- body,
41
- auth: false
42
- });
43
- }
44
- /**
45
- * Fetch a webhook by ID using bot auth.
46
- * @param client - The client instance
47
- * @param webhookId - The webhook ID
48
- * @returns Webhook without token (cannot send)
49
- */
50
- static async fetch(client, webhookId) {
51
- const data = await client.rest.get(Routes.webhook(webhookId));
52
- return new _Webhook(client, data);
53
- }
54
- /**
55
- * Create a Webhook instance from an ID and token (e.g. from a stored webhook URL).
56
- * @param client - The client instance
57
- * @param webhookId - The webhook ID
58
- * @param token - The webhook token (from createWebhook or stored)
59
- * @param options - Optional channelId, guildId, name for display
60
- */
61
- static fromToken(client, webhookId, token, options) {
62
- return new _Webhook(client, {
63
- id: webhookId,
64
- guild_id: options?.guildId ?? "",
65
- channel_id: options?.channelId ?? "",
66
- name: options?.name ?? "Webhook",
67
- avatar: null,
68
- token,
69
- user: { id: "", username: "webhook", discriminator: "0" }
70
- });
71
- }
72
- };
73
-
74
- export {
75
- Webhook
76
- };
@@ -1,36 +0,0 @@
1
- import {
2
- User
3
- } from "./chunk-SW6KNICI.mjs";
4
- import {
5
- Base
6
- } from "./chunk-XNS4O6QJ.mjs";
7
-
8
- // src/structures/GuildMember.ts
9
- var GuildMember = class extends Base {
10
- client;
11
- id;
12
- user;
13
- guild;
14
- nick;
15
- roles;
16
- joinedAt;
17
- communicationDisabledUntil;
18
- constructor(client, data, guild) {
19
- super();
20
- this.client = client;
21
- this.user = new User(client, data.user);
22
- this.id = data.user.id;
23
- this.guild = guild;
24
- this.nick = data.nick ?? null;
25
- this.roles = data.roles ?? [];
26
- this.joinedAt = new Date(data.joined_at);
27
- this.communicationDisabledUntil = data.communication_disabled_until ? new Date(data.communication_disabled_until) : null;
28
- }
29
- get displayName() {
30
- return this.nick ?? this.user.globalName ?? this.user.username;
31
- }
32
- };
33
-
34
- export {
35
- GuildMember
36
- };
@@ -1,70 +0,0 @@
1
- import {
2
- Base
3
- } from "./chunk-XNS4O6QJ.mjs";
4
-
5
- // src/structures/Webhook.ts
6
- import { Routes } from "@fluxerjs/types";
7
- var Webhook = class _Webhook extends Base {
8
- client;
9
- id;
10
- guildId;
11
- channelId;
12
- name;
13
- avatar;
14
- /** Present only when webhook was created via createWebhook(); not returned when fetching. */
15
- token;
16
- constructor(client, data) {
17
- super();
18
- this.client = client;
19
- this.id = data.id;
20
- this.guildId = data.guild_id;
21
- this.channelId = data.channel_id;
22
- this.name = data.name ?? "Unknown";
23
- this.avatar = data.avatar ?? null;
24
- this.token = data.token ?? null;
25
- }
26
- /** Delete this webhook. Requires bot token with Manage Webhooks permission. */
27
- async delete() {
28
- await this.client.rest.delete(Routes.webhook(this.id), { auth: true });
29
- }
30
- /**
31
- * Send a message via this webhook. Requires the webhook token (only present when created, not when fetched).
32
- * @throws Error if token is not available
33
- */
34
- async send(options) {
35
- if (!this.token) {
36
- throw new Error("Webhook token is required to send. The token is only returned when creating a webhook; fetched webhooks cannot send.");
37
- }
38
- const body = typeof options === "string" ? { content: options } : options;
39
- await this.client.rest.post(Routes.webhookExecute(this.id, this.token), {
40
- body,
41
- auth: false
42
- });
43
- }
44
- /**
45
- * Fetch a webhook by ID using bot auth. The returned webhook will not have a token (cannot send).
46
- */
47
- static async fetch(client, webhookId) {
48
- const data = await client.rest.get(Routes.webhook(webhookId));
49
- return new _Webhook(client, data);
50
- }
51
- /**
52
- * Create a Webhook instance from an ID and token (e.g. from a stored webhook URL).
53
- * Useful when you have the token from a previous createWebhook() call.
54
- */
55
- static fromToken(client, webhookId, token, options) {
56
- return new _Webhook(client, {
57
- id: webhookId,
58
- guild_id: options?.guildId ?? "",
59
- channel_id: options?.channelId ?? "",
60
- name: options?.name ?? "Webhook",
61
- avatar: null,
62
- token,
63
- user: { id: "", username: "webhook" }
64
- });
65
- }
66
- };
67
-
68
- export {
69
- Webhook
70
- };
@@ -1,110 +0,0 @@
1
- import {
2
- User
3
- } from "./chunk-WZVY7DA6.mjs";
4
- import {
5
- Base
6
- } from "./chunk-XNS4O6QJ.mjs";
7
-
8
- // src/structures/Message.ts
9
- import { Collection } from "@fluxerjs/collection";
10
- import { Routes } from "@fluxerjs/types";
11
- import { EmbedBuilder } from "@fluxerjs/builders";
12
- var Message = class _Message extends Base {
13
- client;
14
- id;
15
- channelId;
16
- guildId;
17
- author;
18
- content;
19
- createdAt;
20
- editedAt;
21
- pinned;
22
- attachments;
23
- channel;
24
- constructor(client, data) {
25
- super();
26
- this.client = client;
27
- this.id = data.id;
28
- this.channelId = data.channel_id;
29
- this.guildId = data.guild_id ?? null;
30
- this.author = new User(client, data.author);
31
- this.content = data.content;
32
- this.createdAt = new Date(data.timestamp);
33
- this.editedAt = data.edited_timestamp ? new Date(data.edited_timestamp) : null;
34
- this.pinned = data.pinned;
35
- this.attachments = new Collection();
36
- for (const a of data.attachments ?? []) this.attachments.set(a.id, a);
37
- }
38
- /**
39
- * Reply to this message.
40
- * @param options - Text content or object with content and/or embeds
41
- */
42
- async reply(options) {
43
- const body = typeof options === "string" ? { content: options, message_reference: { channel_id: this.channelId, message_id: this.id, guild_id: this.guildId ?? void 0 } } : { ...options, message_reference: { channel_id: this.channelId, message_id: this.id, guild_id: this.guildId ?? void 0 } };
44
- const data = await this.client.rest.post(Routes.channelMessages(this.channelId), { body });
45
- return new _Message(this.client, data);
46
- }
47
- /**
48
- * Edit this message. Only the author (or admins) can edit.
49
- * @param options - New content and/or embeds
50
- */
51
- async edit(options) {
52
- const body = {};
53
- if (options.content !== void 0) body.content = options.content;
54
- if (options.embeds?.length) {
55
- body.embeds = options.embeds.map((e) => e instanceof EmbedBuilder ? e.toJSON() : e);
56
- }
57
- const data = await this.client.rest.patch(Routes.channelMessage(this.channelId, this.id), { body });
58
- return new _Message(this.client, data);
59
- }
60
- /** Delete this message. */
61
- async delete() {
62
- await this.client.rest.delete(Routes.channelMessage(this.channelId, this.id));
63
- }
64
- /**
65
- * Format emoji for reaction API: unicode string or "name:id" for custom.
66
- * @param emoji - Unicode emoji (e.g. "👍") or custom { name, id } or "name:id" string
67
- */
68
- static formatEmoji(emoji) {
69
- if (typeof emoji === "string") return emoji;
70
- return `${emoji.name}:${emoji.id}`;
71
- }
72
- /**
73
- * Add a reaction to this message (as the bot).
74
- * @param emoji - Unicode emoji (e.g. `👍`) or custom emoji `{ name, id }`
75
- */
76
- async react(emoji) {
77
- const emojiStr = _Message.formatEmoji(emoji);
78
- const route = `${Routes.channelMessageReaction(this.channelId, this.id, emojiStr)}/@me`;
79
- await this.client.rest.put(route);
80
- }
81
- /**
82
- * Remove the bot's reaction, or a specific user's reaction if userId is provided.
83
- * @param emoji - Unicode emoji or custom `{ name, id }`
84
- * @param userId - If provided, removes that user's reaction (requires moderator permissions)
85
- */
86
- async removeReaction(emoji, userId) {
87
- const emojiStr = _Message.formatEmoji(emoji);
88
- const route = `${Routes.channelMessageReaction(this.channelId, this.id, emojiStr)}/${userId ?? "@me"}`;
89
- await this.client.rest.delete(route);
90
- }
91
- /**
92
- * Remove all reactions from this message.
93
- * Requires moderator permissions.
94
- */
95
- async removeAllReactions() {
96
- await this.client.rest.delete(Routes.channelMessageReactions(this.channelId, this.id));
97
- }
98
- /**
99
- * Remove all reactions of a specific emoji from this message.
100
- * @param emoji - Unicode emoji or custom `{ name, id }`. Requires moderator permissions.
101
- */
102
- async removeReactionEmoji(emoji) {
103
- const emojiStr = _Message.formatEmoji(emoji);
104
- await this.client.rest.delete(Routes.channelMessageReaction(this.channelId, this.id, emojiStr));
105
- }
106
- };
107
-
108
- export {
109
- Message
110
- };
@@ -1,53 +0,0 @@
1
- import {
2
- User
3
- } from "./chunk-WZVY7DA6.mjs";
4
- import {
5
- Base
6
- } from "./chunk-XNS4O6QJ.mjs";
7
-
8
- // src/structures/GuildMember.ts
9
- import { Routes } from "@fluxerjs/types";
10
- var GuildMember = class extends Base {
11
- client;
12
- id;
13
- user;
14
- guild;
15
- nick;
16
- roles;
17
- joinedAt;
18
- communicationDisabledUntil;
19
- constructor(client, data, guild) {
20
- super();
21
- this.client = client;
22
- this.user = new User(client, data.user);
23
- this.id = data.user.id;
24
- this.guild = guild;
25
- this.nick = data.nick ?? null;
26
- this.roles = data.roles ?? [];
27
- this.joinedAt = new Date(data.joined_at);
28
- this.communicationDisabledUntil = data.communication_disabled_until ? new Date(data.communication_disabled_until) : null;
29
- }
30
- get displayName() {
31
- return this.nick ?? this.user.globalName ?? this.user.username;
32
- }
33
- /**
34
- * Add a role to this member.
35
- * @param roleId - The role ID to add
36
- * Requires Manage Roles permission.
37
- */
38
- async addRole(roleId) {
39
- await this.client.rest.put(Routes.guildMemberRole(this.guild.id, this.id, roleId));
40
- }
41
- /**
42
- * Remove a role from this member.
43
- * @param roleId - The role ID to remove
44
- * Requires Manage Roles permission.
45
- */
46
- async removeRole(roleId) {
47
- await this.client.rest.delete(Routes.guildMemberRole(this.guild.id, this.id, roleId));
48
- }
49
- };
50
-
51
- export {
52
- GuildMember
53
- };
@@ -1,52 +0,0 @@
1
- import {
2
- CDN_URL
3
- } from "./chunk-HQMYRYMY.mjs";
4
- import {
5
- Base
6
- } from "./chunk-XNS4O6QJ.mjs";
7
-
8
- // src/structures/User.ts
9
- var User = class extends Base {
10
- client;
11
- /** Snowflake ID. */
12
- id;
13
- /** Username. */
14
- username;
15
- /** Discriminator (legacy). */
16
- discriminator;
17
- /** Global display name, or null. */
18
- globalName;
19
- /** Avatar hash, or null. */
20
- avatar;
21
- /** Whether this user is a bot. */
22
- bot;
23
- /** @internal */
24
- constructor(client, data) {
25
- super();
26
- this.client = client;
27
- this.id = data.id;
28
- this.username = data.username;
29
- this.discriminator = data.discriminator;
30
- this.globalName = data.global_name ?? null;
31
- this.avatar = data.avatar ?? null;
32
- this.bot = !!data.bot;
33
- }
34
- /** CDN URL for the avatar. */
35
- avatarURL(options) {
36
- if (!this.avatar) return null;
37
- const ext = options?.extension ?? "png";
38
- const size = options?.size ? `?size=${options.size}` : "";
39
- return `${CDN_URL}/avatars/${this.id}/${this.avatar}.${ext}${size}`;
40
- }
41
- /** Avatar URL or default avatar if none. */
42
- displayAvatarURL(options) {
43
- return this.avatarURL(options) ?? `${CDN_URL}/avatars/0/0.png`;
44
- }
45
- toString() {
46
- return `<@${this.id}>`;
47
- }
48
- };
49
-
50
- export {
51
- User
52
- };
@@ -1,36 +0,0 @@
1
- import {
2
- User
3
- } from "./chunk-P4IRDGB4.mjs";
4
- import {
5
- Base
6
- } from "./chunk-XNS4O6QJ.mjs";
7
-
8
- // src/structures/GuildMember.ts
9
- var GuildMember = class extends Base {
10
- client;
11
- id;
12
- user;
13
- guild;
14
- nick;
15
- roles;
16
- joinedAt;
17
- communicationDisabledUntil;
18
- constructor(client, data, guild) {
19
- super();
20
- this.client = client;
21
- this.user = new User(client, data.user);
22
- this.id = data.user.id;
23
- this.guild = guild;
24
- this.nick = data.nick ?? null;
25
- this.roles = data.roles ?? [];
26
- this.joinedAt = new Date(data.joined_at);
27
- this.communicationDisabledUntil = data.communication_disabled_until ? new Date(data.communication_disabled_until) : null;
28
- }
29
- get displayName() {
30
- return this.nick ?? this.user.globalName ?? this.user.username;
31
- }
32
- };
33
-
34
- export {
35
- GuildMember
36
- };