@fluxerjs/core 1.1.4 → 1.1.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/dist/index.mjs CHANGED
@@ -1,21 +1,27 @@
1
+ import {
2
+ GuildEmoji
3
+ } from "./chunk-5QRROWJS.mjs";
4
+ import {
5
+ GuildSticker
6
+ } from "./chunk-KUMLJGXY.mjs";
1
7
  import {
2
8
  Guild,
3
9
  GuildMemberManager
4
- } from "./chunk-CREI4MOS.mjs";
10
+ } from "./chunk-FVZY7IZ4.mjs";
5
11
  import {
6
12
  MessageReaction
7
- } from "./chunk-E6SU3TR5.mjs";
13
+ } from "./chunk-B6F5LWNS.mjs";
8
14
  import {
9
15
  ClientUser,
10
16
  User
11
- } from "./chunk-4S42USSG.mjs";
17
+ } from "./chunk-USHLLE7C.mjs";
12
18
  import {
13
19
  Message,
14
20
  ReactionCollector
15
- } from "./chunk-VZPN7FNH.mjs";
21
+ } from "./chunk-4OEOU7G7.mjs";
16
22
  import {
17
23
  Webhook
18
- } from "./chunk-FSXTONUR.mjs";
24
+ } from "./chunk-2245SAIA.mjs";
19
25
  import {
20
26
  Invite
21
27
  } from "./chunk-QEXIYXXU.mjs";
@@ -29,7 +35,7 @@ import {
29
35
  MessageManager,
30
36
  TextChannel,
31
37
  VoiceChannel
32
- } from "./chunk-NNZUZLG3.mjs";
38
+ } from "./chunk-EUKEYW72.mjs";
33
39
  import {
34
40
  ErrorCodes,
35
41
  FluxerError
@@ -43,7 +49,7 @@ import {
43
49
  } from "./chunk-VJDH54HJ.mjs";
44
50
  import {
45
51
  GuildMember
46
- } from "./chunk-DUQAD7F6.mjs";
52
+ } from "./chunk-5JEDVRKU.mjs";
47
53
  import {
48
54
  cdnAvatarURL,
49
55
  cdnBannerURL,
@@ -52,9 +58,7 @@ import {
52
58
  cdnMemberAvatarURL,
53
59
  cdnMemberBannerURL
54
60
  } from "./chunk-X6K3ZD62.mjs";
55
- import {
56
- CDN_URL
57
- } from "./chunk-HQMYRYMY.mjs";
61
+ import "./chunk-HQMYRYMY.mjs";
58
62
  import {
59
63
  Role
60
64
  } from "./chunk-2ZSMLDEI.mjs";
@@ -94,7 +98,7 @@ var ChannelManager = class extends Collection {
94
98
  const cached = this.get(channelId);
95
99
  if (cached) return cached;
96
100
  try {
97
- const { Channel: Channel2 } = await import("./Channel-HBKXUNL5.mjs");
101
+ const { Channel: Channel2 } = await import("./Channel-L6UE2MAF.mjs");
98
102
  const data = await this.client.rest.get(
99
103
  Routes.channel(channelId)
100
104
  );
@@ -134,7 +138,7 @@ var ChannelManager = class extends Collection {
134
138
  "Use channel.messages.fetch(messageId). Prefer (await client.channels.fetch(channelId))?.messages?.fetch(messageId)."
135
139
  );
136
140
  try {
137
- const { Message: Message2 } = await import("./Message-DXBXIQIJ.mjs");
141
+ const { Message: Message2 } = await import("./Message-QNWAPT55.mjs");
138
142
  const data = await this.client.rest.get(
139
143
  Routes.channelMessage(channelId, messageId)
140
144
  );
@@ -164,7 +168,7 @@ var ChannelManager = class extends Collection {
164
168
  async send(channelId, payload) {
165
169
  const opts = typeof payload === "string" ? { content: payload } : payload;
166
170
  const body = buildSendBody(payload);
167
- const { Message: Message2 } = await import("./Message-DXBXIQIJ.mjs");
171
+ const { Message: Message2 } = await import("./Message-QNWAPT55.mjs");
168
172
  const files = opts.files?.length ? await resolveMessageFiles(opts.files) : void 0;
169
173
  const postOptions = files?.length ? { body, files } : { body };
170
174
  const data = await this.client.rest.post(Routes.channelMessages(channelId), postOptions);
@@ -180,6 +184,21 @@ var GuildManager = class extends Collection2 {
180
184
  super();
181
185
  this.client = client;
182
186
  }
187
+ /**
188
+ * Create a guild. POST /guilds.
189
+ * @param options - name (required), icon (base64), empty_features
190
+ * @returns The created guild
191
+ */
192
+ async create(options) {
193
+ const { Guild: Guild2 } = await import("./Guild-NNMSFIA6.mjs");
194
+ const data = await this.client.rest.post(
195
+ Routes2.guilds(),
196
+ { body: options, auth: true }
197
+ );
198
+ const guild = new Guild2(this.client, data);
199
+ this.set(guild.id, guild);
200
+ return guild;
201
+ }
183
202
  /**
184
203
  * Fetch a guild by ID from the API (or return from cache if present).
185
204
  * @param guildId - Snowflake of the guild
@@ -192,7 +211,7 @@ var GuildManager = class extends Collection2 {
192
211
  const cached = this.get(guildId);
193
212
  if (cached) return cached;
194
213
  try {
195
- const { Guild: Guild2 } = await import("./Guild-3ETPHHF5.mjs");
214
+ const { Guild: Guild2 } = await import("./Guild-NNMSFIA6.mjs");
196
215
  const data = await this.client.rest.get(
197
216
  Routes2.guild(guildId)
198
217
  );
@@ -277,8 +296,8 @@ var UsersManager = class extends Collection3 {
277
296
  // src/client/EventHandlerRegistry.ts
278
297
  var handlers = /* @__PURE__ */ new Map();
279
298
  handlers.set("MESSAGE_CREATE", async (client, d) => {
280
- const { Message: Message2 } = await import("./Message-DXBXIQIJ.mjs");
281
- const { GuildMember: GuildMember2 } = await import("./GuildMember-43B5E5CH.mjs");
299
+ const { Message: Message2 } = await import("./Message-QNWAPT55.mjs");
300
+ const { GuildMember: GuildMember2 } = await import("./GuildMember-F5FZJOHD.mjs");
282
301
  const data = d;
283
302
  if (data.guild_id && data.member && data.author) {
284
303
  const guild = client.guilds.get(data.guild_id);
@@ -291,7 +310,7 @@ handlers.set("MESSAGE_CREATE", async (client, d) => {
291
310
  client.emit(Events.MessageCreate, new Message2(client, data));
292
311
  });
293
312
  handlers.set("MESSAGE_UPDATE", async (client, d) => {
294
- const { Message: Message2 } = await import("./Message-DXBXIQIJ.mjs");
313
+ const { Message: Message2 } = await import("./Message-QNWAPT55.mjs");
295
314
  client.emit(Events.MessageUpdate, null, new Message2(client, d));
296
315
  });
297
316
  handlers.set("MESSAGE_DELETE", async (client, d) => {
@@ -305,7 +324,7 @@ handlers.set("MESSAGE_DELETE", async (client, d) => {
305
324
  });
306
325
  handlers.set("MESSAGE_REACTION_ADD", async (client, d) => {
307
326
  const data = d;
308
- const { MessageReaction: MessageReaction2 } = await import("./MessageReaction-NIAHV3EM.mjs");
327
+ const { MessageReaction: MessageReaction2 } = await import("./MessageReaction-MFK2N3AD.mjs");
309
328
  const reaction = new MessageReaction2(client, data);
310
329
  const user = client.getOrCreateUser({
311
330
  id: data.user_id,
@@ -324,7 +343,7 @@ handlers.set("MESSAGE_REACTION_ADD", async (client, d) => {
324
343
  });
325
344
  handlers.set("MESSAGE_REACTION_REMOVE", async (client, d) => {
326
345
  const data = d;
327
- const { MessageReaction: MessageReaction2 } = await import("./MessageReaction-NIAHV3EM.mjs");
346
+ const { MessageReaction: MessageReaction2 } = await import("./MessageReaction-MFK2N3AD.mjs");
328
347
  const reaction = new MessageReaction2(client, data);
329
348
  const user = client.getOrCreateUser({
330
349
  id: data.user_id,
@@ -351,9 +370,9 @@ handlers.set("MESSAGE_REACTION_REMOVE_EMOJI", async (client, d) => {
351
370
  );
352
371
  });
353
372
  handlers.set("GUILD_CREATE", async (client, d) => {
354
- const { Guild: Guild2 } = await import("./Guild-3ETPHHF5.mjs");
355
- const { Channel: Channel2 } = await import("./Channel-HBKXUNL5.mjs");
356
- const { GuildMember: GuildMember2 } = await import("./GuildMember-43B5E5CH.mjs");
373
+ const { Guild: Guild2 } = await import("./Guild-NNMSFIA6.mjs");
374
+ const { Channel: Channel2 } = await import("./Channel-L6UE2MAF.mjs");
375
+ const { GuildMember: GuildMember2 } = await import("./GuildMember-F5FZJOHD.mjs");
357
376
  const raw = d;
358
377
  const guildData = raw?.properties != null ? { ...raw.properties, roles: raw.roles } : raw;
359
378
  const guild = new Guild2(client, guildData);
@@ -376,7 +395,7 @@ handlers.set("GUILD_CREATE", async (client, d) => {
376
395
  }
377
396
  });
378
397
  handlers.set("GUILD_UPDATE", async (client, d) => {
379
- const { Guild: Guild2 } = await import("./Guild-3ETPHHF5.mjs");
398
+ const { Guild: Guild2 } = await import("./Guild-NNMSFIA6.mjs");
380
399
  const raw = d;
381
400
  const guildData = raw?.properties != null ? { ...raw.properties, roles: raw.roles } : raw;
382
401
  const old = client.guilds.get(guildData.id);
@@ -393,7 +412,7 @@ handlers.set("GUILD_DELETE", async (client, d) => {
393
412
  }
394
413
  });
395
414
  handlers.set("CHANNEL_CREATE", async (client, d) => {
396
- const { Channel: Channel2 } = await import("./Channel-HBKXUNL5.mjs");
415
+ const { Channel: Channel2 } = await import("./Channel-L6UE2MAF.mjs");
397
416
  const ch = Channel2.from(client, d);
398
417
  if (ch) {
399
418
  client.channels.set(ch.id, ch);
@@ -401,7 +420,7 @@ handlers.set("CHANNEL_CREATE", async (client, d) => {
401
420
  }
402
421
  });
403
422
  handlers.set("CHANNEL_UPDATE", async (client, d) => {
404
- const { Channel: Channel2 } = await import("./Channel-HBKXUNL5.mjs");
423
+ const { Channel: Channel2 } = await import("./Channel-L6UE2MAF.mjs");
405
424
  const ch = d;
406
425
  const oldCh = client.channels.get(ch.id);
407
426
  const newCh = Channel2.from(client, ch);
@@ -419,7 +438,7 @@ handlers.set("CHANNEL_DELETE", async (client, d) => {
419
438
  }
420
439
  });
421
440
  handlers.set("GUILD_MEMBER_ADD", async (client, d) => {
422
- const { GuildMember: GuildMember2 } = await import("./GuildMember-43B5E5CH.mjs");
441
+ const { GuildMember: GuildMember2 } = await import("./GuildMember-F5FZJOHD.mjs");
423
442
  const data = d;
424
443
  const guild = client.guilds.get(data.guild_id);
425
444
  if (guild) {
@@ -429,7 +448,7 @@ handlers.set("GUILD_MEMBER_ADD", async (client, d) => {
429
448
  }
430
449
  });
431
450
  handlers.set("GUILD_MEMBER_UPDATE", async (client, d) => {
432
- const { GuildMember: GuildMember2 } = await import("./GuildMember-43B5E5CH.mjs");
451
+ const { GuildMember: GuildMember2 } = await import("./GuildMember-F5FZJOHD.mjs");
433
452
  const data = d;
434
453
  const guild = client.guilds.get(data.guild_id);
435
454
  if (guild) {
@@ -634,6 +653,13 @@ var Client = class extends EventEmitter {
634
653
  }
635
654
  return encodeURIComponent(parsed.name);
636
655
  }
656
+ /**
657
+ * Fetch instance info (API URL, gateway URL, features). GET /instance.
658
+ * Does not require authentication.
659
+ */
660
+ async fetchInstance() {
661
+ return this.rest.get(Routes4.instance(), { auth: false });
662
+ }
637
663
  /**
638
664
  * Fetch a message by channel and message ID. Use when you have IDs (e.g. from a DB).
639
665
  * @param channelId - Snowflake of the channel
@@ -736,9 +762,9 @@ var Client = class extends EventEmitter {
736
762
  async ({
737
763
  data
738
764
  }) => {
739
- const { ClientUser: ClientUser2 } = await import("./ClientUser-RXOB6K6C.mjs");
740
- const { Guild: Guild2 } = await import("./Guild-3ETPHHF5.mjs");
741
- const { Channel: Channel2 } = await import("./Channel-HBKXUNL5.mjs");
765
+ const { ClientUser: ClientUser2 } = await import("./ClientUser-5KQNQHUB.mjs");
766
+ const { Guild: Guild2 } = await import("./Guild-NNMSFIA6.mjs");
767
+ const { Channel: Channel2 } = await import("./Channel-L6UE2MAF.mjs");
742
768
  this.user = new ClientUser2(this, data.user);
743
769
  for (const g of data.guilds ?? []) {
744
770
  const guildData = g && typeof g === "object" && "properties" in g && g.properties ? {
@@ -790,103 +816,9 @@ var Client = class extends EventEmitter {
790
816
  }
791
817
  };
792
818
 
793
- // src/structures/GuildEmoji.ts
794
- import { Routes as Routes5 } from "@fluxerjs/types";
795
- var GuildEmoji = class extends Base {
796
- client;
797
- id;
798
- guildId;
799
- name;
800
- animated;
801
- /** @param data - API emoji from GET /guilds/{id}/emojis or guild emoji events */
802
- constructor(client, data, guildId) {
803
- super();
804
- this.client = client;
805
- this.id = data.id;
806
- this.guildId = data.guild_id ?? guildId;
807
- this.name = data.name;
808
- this.animated = data.animated ?? false;
809
- }
810
- /** CDN URL for this emoji image. */
811
- get url() {
812
- const ext = this.animated ? "gif" : "png";
813
- return `${CDN_URL}/emojis/${this.id}.${ext}`;
814
- }
815
- /** Emoji identifier for use in reactions: `name:id` */
816
- get identifier() {
817
- return `${this.name}:${this.id}`;
818
- }
819
- /** Delete this emoji. Requires Manage Emojis and Stickers permission. */
820
- async delete() {
821
- await this.client.rest.delete(Routes5.guildEmoji(this.guildId, this.id), {
822
- auth: true
823
- });
824
- }
825
- /**
826
- * Edit this emoji's name.
827
- * Requires Manage Emojis and Stickers permission.
828
- */
829
- async edit(options) {
830
- const data = await this.client.rest.patch(Routes5.guildEmoji(this.guildId, this.id), {
831
- body: options,
832
- auth: true
833
- });
834
- this.name = data.name;
835
- return this;
836
- }
837
- };
838
-
839
- // src/structures/GuildSticker.ts
840
- import { Routes as Routes6 } from "@fluxerjs/types";
841
- var GuildSticker = class extends Base {
842
- client;
843
- id;
844
- guildId;
845
- name;
846
- description;
847
- tags;
848
- animated;
849
- /** @param data - API sticker from GET /guilds/{id}/stickers or guild sticker events */
850
- constructor(client, data, guildId) {
851
- super();
852
- this.client = client;
853
- this.id = data.id;
854
- this.guildId = data.guild_id ?? guildId;
855
- this.name = data.name;
856
- this.description = data.description ?? "";
857
- this.tags = data.tags ?? [];
858
- this.animated = data.animated ?? false;
859
- }
860
- /** CDN URL for this sticker image. */
861
- get url() {
862
- const ext = this.animated ? "gif" : "png";
863
- return `${CDN_URL}/stickers/${this.id}.${ext}`;
864
- }
865
- /** Delete this sticker. Requires Manage Emojis and Stickers permission. */
866
- async delete() {
867
- await this.client.rest.delete(Routes6.guildSticker(this.guildId, this.id), {
868
- auth: true
869
- });
870
- }
871
- /**
872
- * Edit this sticker's name and/or description.
873
- * Requires Manage Emojis and Stickers permission.
874
- */
875
- async edit(options) {
876
- const data = await this.client.rest.patch(Routes6.guildSticker(this.guildId, this.id), {
877
- body: options,
878
- auth: true
879
- });
880
- const s = data;
881
- this.name = s.name;
882
- this.description = s.description ?? "";
883
- return this;
884
- }
885
- };
886
-
887
819
  // src/index.ts
888
820
  import { EmbedBuilder, MessagePayload, AttachmentBuilder } from "@fluxerjs/builders";
889
- import { Routes as Routes7, GatewayOpcodes, MessageAttachmentFlags } from "@fluxerjs/types";
821
+ import { Routes as Routes5, GatewayOpcodes, MessageAttachmentFlags } from "@fluxerjs/types";
890
822
  import { resolveTenorToImageUrl } from "@fluxerjs/util";
891
823
  import {
892
824
  PermissionsBitField,
@@ -928,7 +860,7 @@ export {
928
860
  PermissionsBitField,
929
861
  ReactionCollector,
930
862
  Role,
931
- Routes7 as Routes,
863
+ Routes5 as Routes,
932
864
  TextChannel,
933
865
  User,
934
866
  UserFlagsBitField,
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "1.1.4",
6
+ "version": "1.1.6",
7
7
  "description": "A fully-featured SDK for Fluxer bots",
8
8
  "repository": {
9
9
  "type": "git",
@@ -34,12 +34,12 @@
34
34
  "dist"
35
35
  ],
36
36
  "dependencies": {
37
- "@fluxerjs/rest": "1.1.4",
38
- "@fluxerjs/builders": "1.1.4",
39
- "@fluxerjs/collection": "1.1.4",
40
- "@fluxerjs/ws": "1.1.4",
41
- "@fluxerjs/util": "1.1.4",
42
- "@fluxerjs/types": "1.1.4"
37
+ "@fluxerjs/rest": "1.1.6",
38
+ "@fluxerjs/builders": "1.1.6",
39
+ "@fluxerjs/ws": "1.1.6",
40
+ "@fluxerjs/collection": "1.1.6",
41
+ "@fluxerjs/util": "1.1.6",
42
+ "@fluxerjs/types": "1.1.6"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@types/node": "^20.0.0",