oceanic.js 1.0.0-dev.7b63f49 → 1.0.0-dev.86ec9e0

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 (81) hide show
  1. package/README.md +5 -3
  2. package/dist/lib/Client.d.ts +20 -9
  3. package/dist/lib/Client.js +61 -28
  4. package/dist/lib/Constants.d.ts +1 -1
  5. package/dist/lib/Constants.js +1 -1
  6. package/dist/lib/gateway/Shard.js +189 -371
  7. package/dist/lib/gateway/ShardManager.js +3 -3
  8. package/dist/lib/rest/Bucket.js +2 -2
  9. package/dist/lib/rest/DiscordHTTPError.js +1 -1
  10. package/dist/lib/rest/DiscordRESTError.js +1 -1
  11. package/dist/lib/rest/RequestHandler.js +8 -8
  12. package/dist/lib/rest/SequentialBucket.js +1 -1
  13. package/dist/lib/routes/Channels.d.ts +7 -6
  14. package/dist/lib/routes/Channels.js +8 -8
  15. package/dist/lib/routes/Guilds.d.ts +1 -1
  16. package/dist/lib/routes/Guilds.js +20 -22
  17. package/dist/lib/routes/Interactions.d.ts +7 -6
  18. package/dist/lib/routes/Interactions.js +1 -1
  19. package/dist/lib/routes/OAuth.js +3 -3
  20. package/dist/lib/routes/Webhooks.d.ts +7 -6
  21. package/dist/lib/routes/Webhooks.js +1 -1
  22. package/dist/lib/structures/AnnouncementChannel.d.ts +1 -1
  23. package/dist/lib/structures/AnnouncementChannel.js +1 -1
  24. package/dist/lib/structures/Application.js +3 -3
  25. package/dist/lib/structures/ApplicationCommand.js +3 -3
  26. package/dist/lib/structures/AutoModerationRule.js +2 -2
  27. package/dist/lib/structures/AutocompleteInteraction.d.ts +20 -13
  28. package/dist/lib/structures/AutocompleteInteraction.js +31 -14
  29. package/dist/lib/structures/CategoryChannel.js +2 -2
  30. package/dist/lib/structures/CommandInteraction.d.ts +24 -17
  31. package/dist/lib/structures/CommandInteraction.js +34 -17
  32. package/dist/lib/structures/ComponentInteraction.d.ts +25 -18
  33. package/dist/lib/structures/ComponentInteraction.js +31 -14
  34. package/dist/lib/structures/ForumChannel.js +2 -2
  35. package/dist/lib/structures/Guild.d.ts +13 -1
  36. package/dist/lib/structures/Guild.js +64 -13
  37. package/dist/lib/structures/GuildChannel.js +4 -3
  38. package/dist/lib/structures/GuildScheduledEvent.js +3 -3
  39. package/dist/lib/structures/GuildTemplate.js +2 -2
  40. package/dist/lib/structures/Invite.js +4 -4
  41. package/dist/lib/structures/Member.d.ts +1 -1
  42. package/dist/lib/structures/Member.js +9 -8
  43. package/dist/lib/structures/Message.d.ts +14 -7
  44. package/dist/lib/structures/Message.js +35 -35
  45. package/dist/lib/structures/ModalSubmitInteraction.d.ts +24 -17
  46. package/dist/lib/structures/ModalSubmitInteraction.js +30 -13
  47. package/dist/lib/structures/Permission.d.ts +1 -1
  48. package/dist/lib/structures/Permission.js +7 -2
  49. package/dist/lib/structures/PermissionOverwrite.d.ts +1 -1
  50. package/dist/lib/structures/PermissionOverwrite.js +1 -1
  51. package/dist/lib/structures/Role.js +5 -5
  52. package/dist/lib/structures/StageChannel.d.ts +5 -2
  53. package/dist/lib/structures/StageChannel.js +18 -4
  54. package/dist/lib/structures/StageInstance.js +3 -3
  55. package/dist/lib/structures/TextChannel.js +2 -3
  56. package/dist/lib/structures/TextableChannel.js +2 -2
  57. package/dist/lib/structures/ThreadChannel.js +2 -2
  58. package/dist/lib/structures/VoiceChannel.d.ts +6 -3
  59. package/dist/lib/structures/VoiceChannel.js +18 -4
  60. package/dist/lib/structures/VoiceState.js +1 -1
  61. package/dist/lib/structures/Webhook.js +11 -11
  62. package/dist/lib/types/channels.d.ts +1 -0
  63. package/dist/lib/types/discordjs-voice.d.ts +18 -0
  64. package/dist/lib/types/events.d.ts +3 -3
  65. package/dist/lib/types/guilds.d.ts +3 -0
  66. package/dist/lib/types/interactions.d.ts +11 -11
  67. package/dist/lib/util/InteractionOptionsWrapper.js +1 -1
  68. package/dist/lib/util/Routes.js +1 -1
  69. package/dist/lib/util/TypedCollection.js +4 -4
  70. package/dist/lib/util/Util.d.ts +4 -2
  71. package/dist/lib/util/Util.js +27 -2
  72. package/dist/package.json +4 -1
  73. package/examples/applicationCommand.js +11 -11
  74. package/examples/components.js +11 -11
  75. package/examples/embeds.js +17 -16
  76. package/examples/intents.js +7 -8
  77. package/package.json +4 -1
  78. package/dist/lib/voice/VoiceConnection.d.ts +0 -7
  79. package/dist/lib/voice/VoiceConnection.js +0 -16
  80. package/dist/lib/voice/VoiceConnectionManager.d.ts +0 -7
  81. package/dist/lib/voice/VoiceConnectionManager.js +0 -15
package/README.md CHANGED
@@ -6,13 +6,15 @@ A NodeJS Library for Discord.
6
6
  ## Installation
7
7
  NodeJS **16.16.0** or higher is required.
8
8
 
9
- **Do note we are currently in the alpha stage. Releases will be made when I see fit. See [Development Builds](#development-builds) if you wish to install in-dev versions. (due to the nature of an alpha, bugs are being found all the time, so installing in-dev versions is currently your best bet for being up-to-date)**
9
+ **See [Development Builds](#development-builds) if you wish to install in-dev versions.**
10
10
 
11
11
  ```sh
12
- npm i oceanic.js
12
+ npm i oceanic.js --no-optional
13
13
  ```
14
14
 
15
- This module is in its early alpha stages. See the `examples` folder on GitHub for some examples, and visit [this site](https://oceanic.owo-whats-this.dev) for documentation.
15
+ If you need voice support, remove `--no-optional`. Voice support is currently provided by [@discordjs/voice](https://discord.js.org/#/docs/voice/main/general/welcome).
16
+
17
+ See the [examples](https://github.com/OceanicJS/Oceanic/tree/dev/examples) folder on GitHub for some examples, and visit [this site](https://oceanic.owo-whats-this.dev) for documentation.
16
18
 
17
19
  ### Development Builds
18
20
  ```sh
@@ -11,16 +11,18 @@ import type { ClientInstanceOptions, ClientOptions } from "./types/client";
11
11
  import TypedEmitter from "./util/TypedEmitter";
12
12
  import type ClientApplication from "./structures/ClientApplication";
13
13
  import ShardManager from "./gateway/ShardManager";
14
- import type { BotActivity, SendStatuses, UpdateVoiceStateOptions } from "./types/gateway";
14
+ import type { BotActivity, SendStatuses } from "./types/gateway";
15
15
  import UnavailableGuild from "./structures/UnavailableGuild";
16
- import VoiceConnectionManager from "./voice/VoiceConnectionManager";
17
16
  import type ExtendedUser from "./structures/ExtendedUser";
18
17
  import Util from "./util/Util";
19
18
  import { ClientEvents } from "./types/events";
19
+ import type { JoinVoiceChannelOptions } from "./types/discordjs-voice";
20
+ import type { VoiceConnection } from "@discordjs/voice";
20
21
  /** The primary class for interfacing with Discord. See {@link types/events~ClientEvents | Client Events} for a list of events. */
21
22
  export default class Client extends TypedEmitter<ClientEvents> {
22
23
  private _application?;
23
24
  private _user?;
25
+ private voiceAdapters;
24
26
  channelGuildMap: Record<string, string>;
25
27
  gatewayURL: string;
26
28
  groupChannels: TypedCollection<string, RawGroupChannel, GroupChannel>;
@@ -36,7 +38,6 @@ export default class Client extends TypedEmitter<ClientEvents> {
36
38
  unavailableGuilds: TypedCollection<string, RawUnavailableGuild, UnavailableGuild>;
37
39
  users: TypedCollection<string, RawUser, User>;
38
40
  util: Util;
39
- voiceConnections: VoiceConnectionManager;
40
41
  /**
41
42
  * @constructor
42
43
  * @param options The options to create the client with.
@@ -47,6 +48,8 @@ export default class Client extends TypedEmitter<ClientEvents> {
47
48
  get uptime(): number;
48
49
  /** The client's user application. This will throw an error if not using a gateway connection or no shard is READY. */
49
50
  get user(): ExtendedUser;
51
+ /** The active voice connections of this client. */
52
+ get voiceConnections(): Map<string, VoiceConnection>;
50
53
  /** Connect the client to Discord. */
51
54
  connect(): Promise<void>;
52
55
  /**
@@ -55,16 +58,24 @@ export default class Client extends TypedEmitter<ClientEvents> {
55
58
  * @param activities An array of activities.
56
59
  */
57
60
  editStatus(status: SendStatuses, activities?: Array<BotActivity>): Promise<void>;
61
+ /**
62
+ * Get a channel from an ID. This will return undefined if the channel is not cached.
63
+ * @param id The id of the channel.
64
+ */
58
65
  getChannel<T extends AnyChannel = AnyChannel>(id: string): T | undefined;
59
66
  /**
60
- * Join a voice channel.
61
- * @param channelID The ID of the voice channel to join. Null to disconnect.
62
- * @param options The options for joining the voice channel.
67
+ * Get a voice connection.
68
+ * @param guildID The ID of the guild the voice channel belongs to.
63
69
  */
64
- joinVoiceChannel(channelID: string, options?: UpdateVoiceStateOptions): Promise<void>;
70
+ getVoiceConnection(guildID: string): VoiceConnection | undefined;
71
+ /**
72
+ * Join a voice channel.
73
+ * @param options The options to join the channel with.
74
+ * */
75
+ joinVoiceChannel(options: JoinVoiceChannelOptions): VoiceConnection;
65
76
  /**
66
77
  * Leave a voice channel.
67
- * @param channelID The ID of the voice channel to leave.
78
+ * @param guildID The ID of the guild the voice channel belongs to.
68
79
  */
69
- leaveVoiceChannel(channelID: string): Promise<void>;
80
+ leaveVoiceChannel(guildID: string): void;
70
81
  }
@@ -13,10 +13,17 @@ const Guild_1 = __importDefault(require("./structures/Guild"));
13
13
  const TypedEmitter_1 = __importDefault(require("./util/TypedEmitter"));
14
14
  const ShardManager_1 = __importDefault(require("./gateway/ShardManager"));
15
15
  const UnavailableGuild_1 = __importDefault(require("./structures/UnavailableGuild"));
16
- const VoiceConnectionManager_1 = __importDefault(require("./voice/VoiceConnectionManager"));
17
16
  const Util_1 = __importDefault(require("./util/Util"));
18
17
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
19
18
  // @ts-ignore
19
+ let DiscordJSVoice;
20
+ try {
21
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
22
+ DiscordJSVoice = require("@discordjs/voice");
23
+ }
24
+ catch { }
25
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
26
+ // @ts-ignore
20
27
  let Erlpack;
21
28
  try {
22
29
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
@@ -27,6 +34,7 @@ catch { }
27
34
  class Client extends TypedEmitter_1.default {
28
35
  _application;
29
36
  _user;
37
+ voiceAdapters;
30
38
  channelGuildMap;
31
39
  gatewayURL;
32
40
  groupChannels;
@@ -42,7 +50,6 @@ class Client extends TypedEmitter_1.default {
42
50
  unavailableGuilds;
43
51
  users;
44
52
  util;
45
- voiceConnections;
46
53
  /**
47
54
  * @constructor
48
55
  * @param options The options to create the client with.
@@ -50,13 +57,13 @@ class Client extends TypedEmitter_1.default {
50
57
  constructor(options) {
51
58
  super();
52
59
  this.options = {
53
- allowedMentions: options?.allowedMentions || {
60
+ allowedMentions: options?.allowedMentions ?? {
54
61
  everyone: false,
55
62
  repliedUser: false,
56
63
  users: true,
57
64
  roles: true
58
65
  },
59
- auth: options?.auth || null,
66
+ auth: options?.auth ?? null,
60
67
  collectionLimits: {
61
68
  members: options?.collectionLimits?.members === undefined ? Infinity : typeof options.collectionLimits.members === "object" ? {
62
69
  unknown: Infinity,
@@ -65,9 +72,10 @@ class Client extends TypedEmitter_1.default {
65
72
  messages: options?.collectionLimits?.messages ?? 100,
66
73
  users: options?.collectionLimits?.users ?? Infinity
67
74
  },
68
- defaultImageFormat: options?.defaultImageFormat || "png",
69
- defaultImageSize: options?.defaultImageSize || 4096
75
+ defaultImageFormat: options?.defaultImageFormat ?? "png",
76
+ defaultImageSize: options?.defaultImageSize ?? 4096
70
77
  };
78
+ this.voiceAdapters = new Map();
71
79
  this.channelGuildMap = {};
72
80
  this.groupChannels = new TypedCollection_1.default(GroupChannel_1.default, this, 10);
73
81
  this.guilds = new TypedCollection_1.default(Guild_1.default, this);
@@ -80,7 +88,6 @@ class Client extends TypedEmitter_1.default {
80
88
  this.unavailableGuilds = new TypedCollection_1.default(UnavailableGuild_1.default, this);
81
89
  this.users = new TypedCollection_1.default(User_1.default, this, this.options.collectionLimits.users);
82
90
  this.util = new Util_1.default(this);
83
- this.voiceConnections = new VoiceConnectionManager_1.default(this);
84
91
  }
85
92
  /** The client's partial application. This will throw an error if not using a gateway connection or no shard is READY. */
86
93
  get application() {
@@ -103,6 +110,14 @@ class Client extends TypedEmitter_1.default {
103
110
  return this._user;
104
111
  }
105
112
  }
113
+ /** The active voice connections of this client. */
114
+ get voiceConnections() {
115
+ if (!DiscordJSVoice) {
116
+ throw new Error("Voice is only supported with @discordjs/voice installed.");
117
+ }
118
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access
119
+ return DiscordJSVoice.getVoiceConnections();
120
+ }
106
121
  /** Connect the client to Discord. */
107
122
  async connect() {
108
123
  if (!this.options.auth || !this.options.auth.startsWith("Bot ")) {
@@ -168,39 +183,57 @@ class Client extends TypedEmitter_1.default {
168
183
  async editStatus(status, activities = []) {
169
184
  return this.shards.forEach(shard => shard.editStatus(status, activities));
170
185
  }
186
+ /**
187
+ * Get a channel from an ID. This will return undefined if the channel is not cached.
188
+ * @param id The id of the channel.
189
+ */
171
190
  getChannel(id) {
172
191
  if (this.channelGuildMap[id]) {
173
192
  return this.guilds.get(this.channelGuildMap[id])?.channels.get(id);
174
193
  }
175
- return (this.privateChannels.get(id) || this.groupChannels.get(id));
194
+ else if (this.threadGuildMap[id]) {
195
+ return this.guilds.get(this.threadGuildMap[id])?.threads.get(id);
196
+ }
197
+ return (this.privateChannels.get(id) ?? this.groupChannels.get(id));
176
198
  }
177
199
  /**
178
- * Join a voice channel.
179
- * @param channelID The ID of the voice channel to join. Null to disconnect.
180
- * @param options The options for joining the voice channel.
200
+ * Get a voice connection.
201
+ * @param guildID The ID of the guild the voice channel belongs to.
181
202
  */
182
- async joinVoiceChannel(channelID, options) {
183
- const channel = this.getChannel(channelID);
184
- if (!channel) {
185
- throw new Error("Invalid channel. Make sure the id is correct, and the channel is cached.");
186
- }
187
- if (channel.type !== Constants_1.ChannelTypes.GUILD_VOICE && channel.type !== Constants_1.ChannelTypes.GUILD_STAGE_VOICE) {
188
- throw new Error("Only voice & stage channels can be joined.");
203
+ getVoiceConnection(guildID) {
204
+ if (!DiscordJSVoice) {
205
+ throw new Error("Voice is only supported with @discordjs/voice installed.");
189
206
  }
190
- this.shards.get(this.guildShardMap[channel.guildID] || 0).updateVoiceState(channel.guildID, channelID, options);
191
- // @TODO proper voice connection handling
207
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
208
+ return DiscordJSVoice.getVoiceConnection(guildID);
209
+ }
210
+ /**
211
+ * Join a voice channel.
212
+ * @param options The options to join the channel with.
213
+ * */
214
+ joinVoiceChannel(options) {
215
+ if (!DiscordJSVoice) {
216
+ throw new Error("Voice is only supported with @discordjs/voice installed.");
217
+ }
218
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access
219
+ return DiscordJSVoice.joinVoiceChannel({
220
+ channelId: options.channelID,
221
+ guildId: options.guildID,
222
+ debug: options.debug,
223
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
224
+ adapterCreator: options.voiceAdapterCreator,
225
+ selfDeaf: options.selfDeaf,
226
+ selfMute: options.selfMute
227
+ });
192
228
  }
193
229
  /**
194
230
  * Leave a voice channel.
195
- * @param channelID The ID of the voice channel to leave.
231
+ * @param guildID The ID of the guild the voice channel belongs to.
196
232
  */
197
- async leaveVoiceChannel(channelID) {
198
- const channel = this.getChannel(channelID);
199
- if (!channel || (channel.type !== Constants_1.ChannelTypes.GUILD_VOICE && channel.type !== Constants_1.ChannelTypes.GUILD_STAGE_VOICE)) {
200
- return;
201
- }
202
- this.shards.get(this.guildShardMap[channel.guildID] || 0).updateVoiceState(channel.guildID, null, { selfDeaf: false, selfMute: false });
233
+ leaveVoiceChannel(guildID) {
234
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access
235
+ return this.getVoiceConnection(guildID)?.destroy();
203
236
  }
204
237
  }
205
238
  exports.default = Client;
206
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL0NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDJDQUE0RDtBQUM1RCxxRUFBNkM7QUFDN0MsNkVBQXFEO0FBQ3JELGlGQUF5RDtBQUN6RCw2RUFBcUQ7QUFDckQsNkRBQXFDO0FBQ3JDLCtEQUF1QztBQUt2Qyx1RUFBK0M7QUFFL0MsMEVBQWtEO0FBRWxELHFGQUE2RDtBQUM3RCw0RkFBb0U7QUFJcEUsdURBQStCO0FBRy9CLDZEQUE2RDtBQUM3RCxhQUFhO0FBQ2IsSUFBSSxPQUE2QyxDQUFDO0FBQ2xELElBQUk7SUFDQSxtRUFBbUU7SUFDbkUsT0FBTyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztDQUNoQztBQUFDLE1BQU0sR0FBRTtBQUVWLGtJQUFrSTtBQUNsSSxNQUFxQixNQUFPLFNBQVEsc0JBQTBCO0lBQ2xELFlBQVksQ0FBcUI7SUFDakMsS0FBSyxDQUFnQjtJQUM3QixlQUFlLENBQXlCO0lBQ3hDLFVBQVUsQ0FBVTtJQUNwQixhQUFhLENBQXlEO0lBQ3RFLGFBQWEsQ0FBeUI7SUFDdEMsTUFBTSxDQUEyQztJQUNqRCxPQUFPLENBQXdCO0lBQy9CLGVBQWUsQ0FBNkQ7SUFDNUUsS0FBSyxDQUFVO0lBQ2YsSUFBSSxDQUFjO0lBQ2xCLE1BQU0sQ0FBZTtJQUNyQixTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsY0FBYyxDQUF5QjtJQUN2QyxpQkFBaUIsQ0FBaUU7SUFDbEYsS0FBSyxDQUF5QztJQUM5QyxJQUFJLENBQU87SUFDWCxnQkFBZ0IsQ0FBeUI7SUFDekM7OztPQUdHO0lBQ0gsWUFBWSxPQUF1QjtRQUMvQixLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxPQUFPLEdBQUc7WUFDWCxlQUFlLEVBQUUsT0FBTyxFQUFFLGVBQWUsSUFBSTtnQkFDekMsUUFBUSxFQUFLLEtBQUs7Z0JBQ2xCLFdBQVcsRUFBRSxLQUFL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
239
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL0NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDJDQUE4QztBQUM5QyxxRUFBNkM7QUFDN0MsNkVBQXFEO0FBQ3JELGlGQUF5RDtBQUN6RCw2RUFBcUQ7QUFDckQsNkRBQXFDO0FBQ3JDLCtEQUF1QztBQUt2Qyx1RUFBK0M7QUFFL0MsMEVBQWtEO0FBRWxELHFGQUE2RDtBQUU3RCx1REFBK0I7QUFPL0IsNkRBQTZEO0FBQzdELGFBQWE7QUFDYixJQUFJLGNBQTZELENBQUM7QUFDbEUsSUFBSTtJQUNBLG1FQUFtRTtJQUNuRSxjQUFjLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7Q0FDaEQ7QUFBQyxNQUFNLEdBQUU7QUFFViw2REFBNkQ7QUFDN0QsYUFBYTtBQUNiLElBQUksT0FBNkMsQ0FBQztBQUNsRCxJQUFJO0lBQ0EsbUVBQW1FO0lBQ25FLE9BQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7Q0FDaEM7QUFBQyxNQUFNLEdBQUU7QUFFVixrSUFBa0k7QUFDbEksTUFBcUIsTUFBTyxTQUFRLHNCQUEwQjtJQUNsRCxZQUFZLENBQXFCO0lBQ2pDLEtBQUssQ0FBZ0I7SUFDckIsYUFBYSxDQUFtRDtJQUN4RSxlQUFlLENBQXlCO0lBQ3hDLFVBQVUsQ0FBVTtJQUNwQixhQUFhLENBQXlEO0lBQ3RFLGFBQWEsQ0FBeUI7SUFDdEMsTUFBTSxDQUEyQztJQUNqRCxPQUFPLENBQXdCO0lBQy9CLGVBQWUsQ0FBNkQ7SUFDNUUsS0FBSyxDQUFVO0lBQ2YsSUFBSSxDQUFjO0lBQ2xCLE1BQU0sQ0FBZTtJQUNyQixTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsY0FBYyxDQUF5QjtJQUN2QyxpQkFBaUIsQ0FBaUU7SUFDbEYsS0FBSyxDQUF5QztJQUM5QyxJQUFJLENBQU87SUFDWDs7O09BR0c7SUFDSCxZQUFZLE9BQXVCO1FBQy9CLEtB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
@@ -556,7 +556,7 @@ export declare enum ActivityTypes {
556
556
  }
557
557
  export declare enum ActivityFlags {
558
558
  INSTANCE = 1,
559
- JOIn = 2,
559
+ JOIN = 2,
560
560
  SPECTATE = 4,
561
561
  JOIN_REQUEST = 8,
562
562
  SYNC = 16,
@@ -739,7 +739,7 @@ var ActivityTypes;
739
739
  var ActivityFlags;
740
740
  (function (ActivityFlags) {
741
741
  ActivityFlags[ActivityFlags["INSTANCE"] = 1] = "INSTANCE";
742
- ActivityFlags[ActivityFlags["JOIn"] = 2] = "JOIn";
742
+ ActivityFlags[ActivityFlags["JOIN"] = 2] = "JOIN";
743
743
  ActivityFlags[ActivityFlags["SPECTATE"] = 4] = "SPECTATE";
744
744
  ActivityFlags[ActivityFlags["JOIN_REQUEST"] = 8] = "JOIN_REQUEST";
745
745
  ActivityFlags[ActivityFlags["SYNC"] = 16] = "SYNC";