oceanic.js 1.11.1-dev.f66367a → 1.11.2-dev.b146b3c

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 (51) hide show
  1. package/.node-version +1 -0
  2. package/dist/lib/Constants.d.ts +83 -10
  3. package/dist/lib/Constants.js +51 -4
  4. package/dist/lib/gateway/Dispatcher.d.ts +17 -0
  5. package/dist/lib/gateway/Dispatcher.js +55 -0
  6. package/dist/lib/gateway/Shard.d.ts +6 -3
  7. package/dist/lib/gateway/Shard.js +65 -954
  8. package/dist/lib/gateway/ShardManager.d.ts +3 -1
  9. package/dist/lib/gateway/ShardManager.js +46 -27
  10. package/dist/lib/gateway/events.d.ts +70 -0
  11. package/dist/lib/gateway/events.js +914 -0
  12. package/dist/lib/index.d.ts +3 -0
  13. package/dist/lib/index.js +6 -3
  14. package/dist/lib/routes/Applications.d.ts +36 -1
  15. package/dist/lib/routes/Applications.js +71 -1
  16. package/dist/lib/routes/Guilds.d.ts +3 -3
  17. package/dist/lib/routes/Guilds.js +7 -7
  18. package/dist/lib/routes/Interactions.js +11 -2
  19. package/dist/lib/routes/Webhooks.js +10 -2
  20. package/dist/lib/structures/Attachment.d.ts +2 -0
  21. package/dist/lib/structures/Attachment.js +4 -1
  22. package/dist/lib/structures/ClientApplication.d.ts +29 -1
  23. package/dist/lib/structures/ClientApplication.js +39 -1
  24. package/dist/lib/structures/CommandInteraction.d.ts +1 -1
  25. package/dist/lib/structures/CommandInteraction.js +1 -1
  26. package/dist/lib/structures/ComponentInteraction.d.ts +1 -1
  27. package/dist/lib/structures/ComponentInteraction.js +1 -1
  28. package/dist/lib/structures/Guild.d.ts +3 -3
  29. package/dist/lib/structures/Guild.js +2 -2
  30. package/dist/lib/structures/Member.d.ts +8 -0
  31. package/dist/lib/structures/Member.js +16 -1
  32. package/dist/lib/structures/Message.d.ts +4 -13
  33. package/dist/lib/structures/Message.js +37 -1
  34. package/dist/lib/structures/ModalSubmitInteraction.d.ts +1 -1
  35. package/dist/lib/structures/ModalSubmitInteraction.js +1 -1
  36. package/dist/lib/structures/OAuthGuild.d.ts +8 -0
  37. package/dist/lib/structures/OAuthGuild.js +13 -1
  38. package/dist/lib/types/applications.d.ts +23 -1
  39. package/dist/lib/types/channels.d.ts +36 -0
  40. package/dist/lib/types/events.d.ts +5 -12
  41. package/dist/lib/types/gateway.d.ts +17 -1
  42. package/dist/lib/types/guilds.d.ts +5 -12
  43. package/dist/lib/types/json.d.ts +19 -0
  44. package/dist/lib/types/misc.d.ts +12 -0
  45. package/dist/lib/util/Routes.d.ts +2 -0
  46. package/dist/lib/util/Routes.js +6 -2
  47. package/dist/lib/util/Util.d.ts +3 -2
  48. package/dist/lib/util/Util.js +5 -2
  49. package/dist/package.json +1 -1
  50. package/esm.mjs +4 -0
  51. package/package.json +1 -1
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const DefaultDispatchEvents = tslib_1.__importStar(require("./events"));
5
+ class Dispatcher {
6
+ manager;
7
+ events = new Map();
8
+ constructor(manager) {
9
+ Object.defineProperty(this, "manager", {
10
+ value: manager,
11
+ writable: false,
12
+ enumerable: false,
13
+ configurable: false
14
+ });
15
+ const type = this.manager.options.dispatcher.blacklist === null ? "blacklist" :
16
+ (this.manager.options.dispatcher.whitelist === null ? "whitelist" : "none");
17
+ for (const [event, fn] of Object.entries(DefaultDispatchEvents)) {
18
+ if (type === "none" ||
19
+ (type === "whitelist" && this.manager.options.dispatcher.whitelist?.includes(event)) ||
20
+ (type === "blacklist" && !this.manager.options.dispatcher.blacklist?.includes(event))) {
21
+ this.register(event, fn);
22
+ }
23
+ }
24
+ }
25
+ handle(data, shard) {
26
+ const event = data.t;
27
+ if (!this.events.has(event))
28
+ return;
29
+ const arr = this.events.get(event);
30
+ for (const fn of arr)
31
+ fn(data.d, shard);
32
+ }
33
+ register(event, fn, replace = false) {
34
+ if (!this.events.has(event))
35
+ this.events.set(event, []);
36
+ const arr = this.events.get(event);
37
+ if (replace && arr.length !== 0)
38
+ arr.splice(0, arr.length);
39
+ arr.push(fn);
40
+ }
41
+ unregister(event, fn) {
42
+ if (!this.events.has(event))
43
+ return;
44
+ const arr = this.events.get(event);
45
+ if (fn) {
46
+ const index = arr.indexOf(fn);
47
+ if (index !== -1)
48
+ arr.splice(index, 1);
49
+ }
50
+ else
51
+ arr.splice(0, arr.length);
52
+ }
53
+ }
54
+ exports.default = Dispatcher;
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGlzcGF0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9nYXRld2F5L0Rpc3BhdGNoZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0Esd0VBQWtEO0FBUWxELE1BQXFCLFVBQVU7SUFDbkIsT0FBTyxDQUFnQjtJQUMvQixNQUFNLEdBQWdELElBQUksR0FBRyxFQUFFLENBQUM7SUFDaEUsWUFBWSxPQUFxQjtRQUM3QixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDbkMsS0FBSyxFQUFTLE9BQU87WUFDckIsUUFBUSxFQUFNLEtBQUs7WUFDbkIsVUFBVSxFQUFJLEtBQUs7WUFDbkIsWUFBWSxFQUFFLEtBQUs7U0FDdEIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFNBQVMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzNFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFNBQVMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFaEYsS0FBSyxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQTZDLEVBQUUsQ0FBQztZQUMxRyxJQUFJLElBQUksS0FBSyxNQUFNO2dCQUNmLENBQUMsSUFBSSxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDcEYsQ0FBQyxJQUFJLEtBQUssV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUN4RixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM3QixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFTyxNQUFNLENBQUMsSUFBdUIsRUFBRSxLQUFZO1FBQ2hELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU87UUFDcEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFFLENBQUM7UUFDcEMsS0FBSyxNQUFNLEVBQUUsSUFBSSxHQUFHO1lBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELFFBQVEsQ0FBMEIsS0FBUSxFQUFFLEVBQXVCLEVBQUUsT0FBTyxHQUFHLEtBQUs7UUFDaEYsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN4RCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUUsQ0FBQztRQUNwQyxJQUFJLE9BQU8sSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUM7WUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFXLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsVUFBVSxDQUEwQixLQUFRLEVBQUUsRUFBd0I7UUFDbEUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU87UUFDcEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFFLENBQUM7UUFDcEMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNMLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBVyxDQUFDLENBQUM7WUFDdkMsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDO2dCQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzNDLENBQUM7O1lBQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7Q0FDSjtBQTdDRCw2QkE2Q0MifQ==
@@ -1,11 +1,12 @@
1
1
  /// <reference types="node" />
2
2
  /** @module Shard */
3
+ import type ShardManager from "./ShardManager";
3
4
  import type Client from "../Client";
4
5
  import TypedEmitter from "../util/TypedEmitter";
5
6
  import Bucket from "../rest/Bucket";
6
7
  import { GatewayOPCodes } from "../Constants";
7
8
  import type { UpdatePresenceOptions, RequestGuildMembersOptions, UpdateVoiceStateOptions, SendStatuses, BotActivity, ShardStatus } from "../types/gateway";
8
- import Member from "../structures/Member";
9
+ import type Member from "../structures/Member";
9
10
  import type { ShardEvents } from "../types/events";
10
11
  import WebSocket from "ws";
11
12
  import { inspect } from "node:util";
@@ -27,6 +28,7 @@ export default class Shard extends TypedEmitter<ShardEvents> {
27
28
  lastHeartbeatReceived: number;
28
29
  lastHeartbeatSent: number;
29
30
  latency: number;
31
+ manager: ShardManager;
30
32
  preReady: boolean;
31
33
  presence: Required<UpdatePresenceOptions>;
32
34
  presenceUpdateBucket: Bucket;
@@ -37,11 +39,12 @@ export default class Shard extends TypedEmitter<ShardEvents> {
37
39
  sessionID: string | null;
38
40
  status: ShardStatus;
39
41
  ws: WebSocket | null;
40
- constructor(id: number, client: Client);
42
+ constructor(id: number, manager: ShardManager);
43
+ private _ready;
44
+ private _resume;
41
45
  private checkReady;
42
46
  private createGuild;
43
47
  private initialize;
44
- private onDispatch;
45
48
  private onPacket;
46
49
  private onWSClose;
47
50
  private onWSError;