oceanic.js 1.10.1-dev.72035a8 → 1.10.1-dev.7ff424b

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 (203) hide show
  1. package/dist/package.json +6 -6
  2. package/package.json +6 -6
  3. package/dist/lib/Client.d.ts +0 -91
  4. package/dist/lib/Client.js +0 -254
  5. package/dist/lib/Constants.d.ts +0 -1121
  6. package/dist/lib/Constants.js +0 -1401
  7. package/dist/lib/gateway/Shard.d.ts +0 -77
  8. package/dist/lib/gateway/Shard.js +0 -1582
  9. package/dist/lib/gateway/ShardManager.d.ts +0 -26
  10. package/dist/lib/gateway/ShardManager.js +0 -304
  11. package/dist/lib/index.d.ts +0 -83
  12. package/dist/lib/index.js +0 -166
  13. package/dist/lib/rest/Bucket.d.ts +0 -33
  14. package/dist/lib/rest/Bucket.js +0 -78
  15. package/dist/lib/rest/DiscordHTTPError.d.ts +0 -16
  16. package/dist/lib/rest/DiscordHTTPError.js +0 -65
  17. package/dist/lib/rest/DiscordRESTError.d.ts +0 -19
  18. package/dist/lib/rest/DiscordRESTError.js +0 -89
  19. package/dist/lib/rest/OAuthHelper.d.ts +0 -60
  20. package/dist/lib/rest/OAuthHelper.js +0 -180
  21. package/dist/lib/rest/RESTManager.d.ts +0 -42
  22. package/dist/lib/rest/RESTManager.js +0 -82
  23. package/dist/lib/rest/RequestHandler.d.ts +0 -28
  24. package/dist/lib/rest/RequestHandler.js +0 -313
  25. package/dist/lib/rest/SequentialBucket.d.ts +0 -25
  26. package/dist/lib/rest/SequentialBucket.js +0 -76
  27. package/dist/lib/routes/Applications.d.ts +0 -171
  28. package/dist/lib/routes/Applications.js +0 -447
  29. package/dist/lib/routes/Channels.d.ts +0 -391
  30. package/dist/lib/routes/Channels.js +0 -1107
  31. package/dist/lib/routes/Guilds.d.ts +0 -606
  32. package/dist/lib/routes/Guilds.js +0 -1669
  33. package/dist/lib/routes/Interactions.d.ts +0 -74
  34. package/dist/lib/routes/Interactions.js +0 -141
  35. package/dist/lib/routes/Miscellaneous.d.ts +0 -25
  36. package/dist/lib/routes/Miscellaneous.js +0 -54
  37. package/dist/lib/routes/OAuth.d.ts +0 -105
  38. package/dist/lib/routes/OAuth.js +0 -309
  39. package/dist/lib/routes/Users.d.ts +0 -32
  40. package/dist/lib/routes/Users.js +0 -59
  41. package/dist/lib/routes/Webhooks.d.ts +0 -128
  42. package/dist/lib/routes/Webhooks.js +0 -264
  43. package/dist/lib/structures/AnnouncementChannel.d.ts +0 -36
  44. package/dist/lib/structures/AnnouncementChannel.js +0 -47
  45. package/dist/lib/structures/AnnouncementThreadChannel.d.ts +0 -18
  46. package/dist/lib/structures/AnnouncementThreadChannel.js +0 -27
  47. package/dist/lib/structures/Application.d.ts +0 -68
  48. package/dist/lib/structures/Application.js +0 -178
  49. package/dist/lib/structures/ApplicationCommand.d.ts +0 -74
  50. package/dist/lib/structures/ApplicationCommand.js +0 -141
  51. package/dist/lib/structures/Attachment.d.ts +0 -34
  52. package/dist/lib/structures/Attachment.js +0 -64
  53. package/dist/lib/structures/AuditLogEntry.d.ts +0 -25
  54. package/dist/lib/structures/AuditLogEntry.js +0 -53
  55. package/dist/lib/structures/AutoModerationRule.d.ts +0 -49
  56. package/dist/lib/structures/AutoModerationRule.js +0 -139
  57. package/dist/lib/structures/AutocompleteInteraction.d.ts +0 -62
  58. package/dist/lib/structures/AutocompleteInteraction.js +0 -115
  59. package/dist/lib/structures/Base.d.ts +0 -20
  60. package/dist/lib/structures/Base.js +0 -58
  61. package/dist/lib/structures/BaseEntitlement.d.ts +0 -19
  62. package/dist/lib/structures/BaseEntitlement.js +0 -44
  63. package/dist/lib/structures/CategoryChannel.d.ts +0 -41
  64. package/dist/lib/structures/CategoryChannel.js +0 -105
  65. package/dist/lib/structures/Channel.d.ts +0 -20
  66. package/dist/lib/structures/Channel.js +0 -91
  67. package/dist/lib/structures/ClientApplication.d.ts +0 -153
  68. package/dist/lib/structures/ClientApplication.js +0 -220
  69. package/dist/lib/structures/CommandInteraction.d.ts +0 -127
  70. package/dist/lib/structures/CommandInteraction.js +0 -297
  71. package/dist/lib/structures/ComponentInteraction.d.ts +0 -137
  72. package/dist/lib/structures/ComponentInteraction.js +0 -311
  73. package/dist/lib/structures/Entitlement.d.ts +0 -12
  74. package/dist/lib/structures/Entitlement.js +0 -26
  75. package/dist/lib/structures/ExtendedUser.d.ts +0 -26
  76. package/dist/lib/structures/ExtendedUser.js +0 -57
  77. package/dist/lib/structures/ForumChannel.d.ts +0 -11
  78. package/dist/lib/structures/ForumChannel.js +0 -19
  79. package/dist/lib/structures/GroupChannel.d.ts +0 -62
  80. package/dist/lib/structures/GroupChannel.js +0 -133
  81. package/dist/lib/structures/Guild.d.ts +0 -654
  82. package/dist/lib/structures/Guild.js +0 -1319
  83. package/dist/lib/structures/GuildChannel.d.ts +0 -34
  84. package/dist/lib/structures/GuildChannel.js +0 -75
  85. package/dist/lib/structures/GuildPreview.d.ts +0 -50
  86. package/dist/lib/structures/GuildPreview.js +0 -119
  87. package/dist/lib/structures/GuildScheduledEvent.d.ts +0 -60
  88. package/dist/lib/structures/GuildScheduledEvent.js +0 -154
  89. package/dist/lib/structures/GuildTemplate.d.ts +0 -55
  90. package/dist/lib/structures/GuildTemplate.js +0 -126
  91. package/dist/lib/structures/Integration.d.ts +0 -54
  92. package/dist/lib/structures/Integration.js +0 -156
  93. package/dist/lib/structures/Interaction.d.ts +0 -40
  94. package/dist/lib/structures/Interaction.js +0 -91
  95. package/dist/lib/structures/InteractionResolvedChannel.d.ts +0 -28
  96. package/dist/lib/structures/InteractionResolvedChannel.js +0 -45
  97. package/dist/lib/structures/Invite.d.ts +0 -64
  98. package/dist/lib/structures/Invite.js +0 -193
  99. package/dist/lib/structures/InviteGuild.d.ts +0 -52
  100. package/dist/lib/structures/InviteGuild.js +0 -88
  101. package/dist/lib/structures/MediaChannel.d.ts +0 -11
  102. package/dist/lib/structures/MediaChannel.js +0 -19
  103. package/dist/lib/structures/Member.d.ts +0 -122
  104. package/dist/lib/structures/Member.js +0 -255
  105. package/dist/lib/structures/Message.d.ts +0 -183
  106. package/dist/lib/structures/Message.js +0 -455
  107. package/dist/lib/structures/ModalSubmitInteraction.d.ts +0 -128
  108. package/dist/lib/structures/ModalSubmitInteraction.js +0 -240
  109. package/dist/lib/structures/OAuthApplication.d.ts +0 -79
  110. package/dist/lib/structures/OAuthApplication.js +0 -210
  111. package/dist/lib/structures/OAuthGuild.d.ts +0 -35
  112. package/dist/lib/structures/OAuthGuild.js +0 -61
  113. package/dist/lib/structures/PartialApplication.d.ts +0 -30
  114. package/dist/lib/structures/PartialApplication.js +0 -67
  115. package/dist/lib/structures/Permission.d.ts +0 -21
  116. package/dist/lib/structures/Permission.js +0 -68
  117. package/dist/lib/structures/PermissionOverwrite.d.ts +0 -26
  118. package/dist/lib/structures/PermissionOverwrite.js +0 -49
  119. package/dist/lib/structures/PingInteraction.d.ts +0 -16
  120. package/dist/lib/structures/PingInteraction.js +0 -26
  121. package/dist/lib/structures/PrivateChannel.d.ts +0 -90
  122. package/dist/lib/structures/PrivateChannel.js +0 -131
  123. package/dist/lib/structures/PrivateThreadChannel.d.ts +0 -18
  124. package/dist/lib/structures/PrivateThreadChannel.js +0 -27
  125. package/dist/lib/structures/PublicThreadChannel.d.ts +0 -21
  126. package/dist/lib/structures/PublicThreadChannel.js +0 -37
  127. package/dist/lib/structures/Role.d.ts +0 -50
  128. package/dist/lib/structures/Role.js +0 -131
  129. package/dist/lib/structures/SKU.d.ts +0 -32
  130. package/dist/lib/structures/SKU.js +0 -53
  131. package/dist/lib/structures/StageChannel.d.ts +0 -33
  132. package/dist/lib/structures/StageChannel.js +0 -44
  133. package/dist/lib/structures/StageInstance.d.ts +0 -36
  134. package/dist/lib/structures/StageInstance.js +0 -94
  135. package/dist/lib/structures/Team.d.ts +0 -22
  136. package/dist/lib/structures/Team.js +0 -67
  137. package/dist/lib/structures/TestEntitlement.d.ts +0 -10
  138. package/dist/lib/structures/TestEntitlement.js +0 -21
  139. package/dist/lib/structures/TextChannel.d.ts +0 -34
  140. package/dist/lib/structures/TextChannel.js +0 -46
  141. package/dist/lib/structures/TextableChannel.d.ts +0 -158
  142. package/dist/lib/structures/TextableChannel.js +0 -276
  143. package/dist/lib/structures/TextableVoiceChannel.d.ts +0 -39
  144. package/dist/lib/structures/TextableVoiceChannel.js +0 -81
  145. package/dist/lib/structures/ThreadChannel.d.ts +0 -159
  146. package/dist/lib/structures/ThreadChannel.js +0 -295
  147. package/dist/lib/structures/ThreadOnlyChannel.d.ts +0 -99
  148. package/dist/lib/structures/ThreadOnlyChannel.js +0 -233
  149. package/dist/lib/structures/ThreadableChannel.d.ts +0 -36
  150. package/dist/lib/structures/ThreadableChannel.js +0 -58
  151. package/dist/lib/structures/UnavailableGuild.d.ts +0 -11
  152. package/dist/lib/structures/UnavailableGuild.js +0 -21
  153. package/dist/lib/structures/User.d.ts +0 -82
  154. package/dist/lib/structures/User.js +0 -168
  155. package/dist/lib/structures/VoiceChannel.d.ts +0 -20
  156. package/dist/lib/structures/VoiceChannel.js +0 -35
  157. package/dist/lib/structures/VoiceState.d.ts +0 -51
  158. package/dist/lib/structures/VoiceState.js +0 -140
  159. package/dist/lib/structures/Webhook.d.ts +0 -129
  160. package/dist/lib/structures/Webhook.js +0 -206
  161. package/dist/lib/types/applications.d.ts +0 -448
  162. package/dist/lib/types/audit-log.d.ts +0 -121
  163. package/dist/lib/types/auto-moderation.d.ts +0 -99
  164. package/dist/lib/types/channels.d.ts +0 -1150
  165. package/dist/lib/types/client.d.ts +0 -228
  166. package/dist/lib/types/events.d.ts +0 -260
  167. package/dist/lib/types/gateway-raw.d.ts +0 -567
  168. package/dist/lib/types/gateway.d.ts +0 -338
  169. package/dist/lib/types/guild-template.d.ts +0 -33
  170. package/dist/lib/types/guilds.d.ts +0 -854
  171. package/dist/lib/types/index.d.ts +0 -18
  172. package/dist/lib/types/interactions.d.ts +0 -376
  173. package/dist/lib/types/json.d.ts +0 -709
  174. package/dist/lib/types/misc.d.ts +0 -13
  175. package/dist/lib/types/oauth.d.ts +0 -201
  176. package/dist/lib/types/request-handler.d.ts +0 -52
  177. package/dist/lib/types/scheduled-events.d.ts +0 -88
  178. package/dist/lib/types/shared.d.ts +0 -9
  179. package/dist/lib/types/users.d.ts +0 -45
  180. package/dist/lib/types/voice.d.ts +0 -45
  181. package/dist/lib/types/webhooks.d.ts +0 -73
  182. package/dist/lib/util/Collection.d.ts +0 -47
  183. package/dist/lib/util/Collection.js +0 -78
  184. package/dist/lib/util/Errors.d.ts +0 -29
  185. package/dist/lib/util/Errors.js +0 -56
  186. package/dist/lib/util/Routes.d.ts +0 -124
  187. package/dist/lib/util/Routes.js +0 -243
  188. package/dist/lib/util/SimpleCollection.d.ts +0 -12
  189. package/dist/lib/util/SimpleCollection.js +0 -81
  190. package/dist/lib/util/TypedCollection.d.ts +0 -24
  191. package/dist/lib/util/TypedCollection.js +0 -76
  192. package/dist/lib/util/TypedEmitter.d.ts +0 -19
  193. package/dist/lib/util/TypedEmitter.js +0 -19
  194. package/dist/lib/util/Util.d.ts +0 -52
  195. package/dist/lib/util/Util.js +0 -469
  196. package/dist/lib/util/interactions/InteractionOptionsWrapper.d.ts +0 -170
  197. package/dist/lib/util/interactions/InteractionOptionsWrapper.js +0 -213
  198. package/dist/lib/util/interactions/MessageInteractionResponse.d.ts +0 -24
  199. package/dist/lib/util/interactions/MessageInteractionResponse.js +0 -28
  200. package/dist/lib/util/interactions/ModalSubmitInteractionComponentsWrapper.d.ts +0 -24
  201. package/dist/lib/util/interactions/ModalSubmitInteractionComponentsWrapper.js +0 -34
  202. package/dist/lib/util/interactions/SelectMenuValuesWrapper.d.ts +0 -60
  203. package/dist/lib/util/interactions/SelectMenuValuesWrapper.js +0 -124
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oceanic.js",
3
- "version": "1.10.1-dev.72035a8",
3
+ "version": "1.10.1-dev.7ff424b",
4
4
  "description": "A NodeJS library for interfacing with Discord.",
5
5
  "main": "./dist/lib/index.js",
6
6
  "types": "./dist/lib/index.d.ts",
@@ -44,14 +44,14 @@
44
44
  "devDependencies": {
45
45
  "@favware/npm-deprecate": "^1.0.7",
46
46
  "@mxssfd/typedoc-theme": "^1.1.3",
47
- "@types/node": "^20.11.16",
47
+ "@types/node": "^20.12.2",
48
48
  "@types/pako": "^2.0.3",
49
49
  "@types/ws": "^8.5.10",
50
- "@typescript-eslint/eslint-plugin": "^6.20.0",
50
+ "@typescript-eslint/eslint-plugin": "^7.0.0",
51
51
  "@typescript-eslint/parser": "^6.21.0",
52
52
  "eslint": "^8.57.0",
53
53
  "eslint-plugin-import": "^2.29.1",
54
- "eslint-plugin-import-newlines": "^1.3.4",
54
+ "eslint-plugin-import-newlines": "^1.4.0",
55
55
  "eslint-plugin-jsdoc": "^48.0.4",
56
56
  "eslint-plugin-json": "^3.1.0",
57
57
  "eslint-plugin-prefer-arrow": "^1.2.3",
@@ -60,10 +60,10 @@
60
60
  "rimraf": "^5.0.5",
61
61
  "typedoc": "0.25.7",
62
62
  "typedoc-plugin-extras": "3.0.0",
63
- "typedoc-plugin-mdn-links": "^3.1.14",
63
+ "typedoc-plugin-mdn-links": "^3.1.19",
64
64
  "typedoc-plugin-merge-modules": "^5.1.0",
65
65
  "typescript": "^5.3.3",
66
- "undici-types": "^6.9.0"
66
+ "undici-types": "~6.9.0"
67
67
  },
68
68
  "dependencies": {
69
69
  "tslib": "^2.6.2",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oceanic.js",
3
- "version": "1.10.1-dev.72035a8",
3
+ "version": "1.10.1-dev.7ff424b",
4
4
  "description": "A NodeJS library for interfacing with Discord.",
5
5
  "main": "./dist/lib/index.js",
6
6
  "types": "./dist/lib/index.d.ts",
@@ -44,14 +44,14 @@
44
44
  "devDependencies": {
45
45
  "@favware/npm-deprecate": "^1.0.7",
46
46
  "@mxssfd/typedoc-theme": "^1.1.3",
47
- "@types/node": "^20.11.16",
47
+ "@types/node": "^20.12.2",
48
48
  "@types/pako": "^2.0.3",
49
49
  "@types/ws": "^8.5.10",
50
- "@typescript-eslint/eslint-plugin": "^6.20.0",
50
+ "@typescript-eslint/eslint-plugin": "^7.0.0",
51
51
  "@typescript-eslint/parser": "^6.21.0",
52
52
  "eslint": "^8.57.0",
53
53
  "eslint-plugin-import": "^2.29.1",
54
- "eslint-plugin-import-newlines": "^1.3.4",
54
+ "eslint-plugin-import-newlines": "^1.4.0",
55
55
  "eslint-plugin-jsdoc": "^48.0.4",
56
56
  "eslint-plugin-json": "^3.1.0",
57
57
  "eslint-plugin-prefer-arrow": "^1.2.3",
@@ -60,10 +60,10 @@
60
60
  "rimraf": "^5.0.5",
61
61
  "typedoc": "0.25.7",
62
62
  "typedoc-plugin-extras": "3.0.0",
63
- "typedoc-plugin-mdn-links": "^3.1.14",
63
+ "typedoc-plugin-mdn-links": "^3.1.19",
64
64
  "typedoc-plugin-merge-modules": "^5.1.0",
65
65
  "typescript": "^5.3.3",
66
- "undici-types": "^6.9.0"
66
+ "undici-types": "~6.9.0"
67
67
  },
68
68
  "dependencies": {
69
69
  "tslib": "^2.6.2",
@@ -1,91 +0,0 @@
1
- /** @module Client */
2
- import RESTManager from "./rest/RESTManager";
3
- import TypedCollection from "./util/TypedCollection";
4
- import PrivateChannel from "./structures/PrivateChannel";
5
- import GroupChannel from "./structures/GroupChannel";
6
- import User from "./structures/User";
7
- import Guild from "./structures/Guild";
8
- import type { AnyChannel, RawGroupChannel, RawPrivateChannel } from "./types/channels";
9
- import type { RawGuild, RawUnavailableGuild } from "./types/guilds";
10
- import type { RawUser } from "./types/users";
11
- import type { ClientInstanceOptions, ClientOptions } from "./types/client";
12
- import TypedEmitter from "./util/TypedEmitter";
13
- import type ClientApplication from "./structures/ClientApplication";
14
- import ShardManager from "./gateway/ShardManager";
15
- import type { BotActivity, SendStatuses } from "./types/gateway";
16
- import UnavailableGuild from "./structures/UnavailableGuild";
17
- import type ExtendedUser from "./structures/ExtendedUser";
18
- import Util from "./util/Util";
19
- import type { ClientEvents } from "./types/events";
20
- import type { JoinVoiceChannelOptions } from "./types/voice";
21
- import type { DiscordGatewayAdapterLibraryMethods, VoiceConnection } from "@discordjs/voice";
22
- /** The primary class for interfacing with Discord. See {@link ClientEvents | Client Events} for a list of events. */
23
- export default class Client<E extends ClientEvents = ClientEvents> extends TypedEmitter<E> {
24
- private _application?;
25
- private _user?;
26
- channelGuildMap: Record<string, string>;
27
- groupChannels: TypedCollection<RawGroupChannel, GroupChannel>;
28
- guildShardMap: Record<string, number>;
29
- guilds: TypedCollection<RawGuild, Guild, [rest?: boolean]>;
30
- options: ClientInstanceOptions;
31
- privateChannels: TypedCollection<RawPrivateChannel, PrivateChannel>;
32
- ready: boolean;
33
- rest: RESTManager;
34
- shards: ShardManager;
35
- startTime: number;
36
- threadGuildMap: Record<string, string>;
37
- unavailableGuilds: TypedCollection<RawUnavailableGuild, UnavailableGuild>;
38
- users: TypedCollection<RawUser, User>;
39
- util: Util;
40
- voiceAdapters: Map<string, DiscordGatewayAdapterLibraryMethods>;
41
- /**
42
- * @constructor
43
- * @param options The options to create the client with.
44
- */
45
- constructor(options?: ClientOptions);
46
- /** The client's partial application. This will throw an error if not using a gateway connection or no shard is READY. If using a client for rest only, consider enabling rest mode. */
47
- get application(): ClientApplication;
48
- get uptime(): number;
49
- /** The client's user. This will throw an error if not using a gateway connection or no shard is READY. If using a client for rest only, consider enabling rest mode. */
50
- get user(): ExtendedUser;
51
- /** The active voice connections of this client. */
52
- get voiceConnections(): Map<string, VoiceConnection>;
53
- /** Connect the client to Discord. */
54
- connect(): Promise<void>;
55
- /**
56
- * Disconnect all shards.
57
- * @param reconnect If shards should be reconnected. Defaults to {@link Types/Gateway~GatewayOptions#autoReconnect | GatewayOptions#autoReconnect}
58
- */
59
- disconnect(reconnect?: boolean): void;
60
- /**
61
- * Edit the client's status across all shards.
62
- * @param status The status.
63
- * @param activities An array of activities.
64
- */
65
- editStatus(status: SendStatuses, activities?: Array<BotActivity>): Promise<void>;
66
- /**
67
- * Get a channel from an ID. This will return undefined if the channel is not cached.
68
- * @param channelID The id of the channel.
69
- */
70
- getChannel<T extends AnyChannel = AnyChannel>(channelID: string): T | undefined;
71
- /**
72
- * Get a voice connection.
73
- * @param guildID The ID of the guild the voice channel belongs to.
74
- */
75
- getVoiceConnection(guildID: string): VoiceConnection | undefined;
76
- /**
77
- * Join a voice channel.
78
- * @param options The options to join the channel with.
79
- * */
80
- joinVoiceChannel(options: JoinVoiceChannelOptions): VoiceConnection;
81
- /**
82
- * Leave a voice channel.
83
- * @param guildID The ID of the guild the voice channel belongs to.
84
- */
85
- leaveVoiceChannel(guildID: string): void;
86
- /**
87
- * Initialize this client for rest only use. Currently, this sets both the `application` and `user` properties (if not already present), as would happen with a gateway connection.
88
- * @param fakeReady If the client should emit a ready event. Defaults to true.
89
- */
90
- restMode(fakeReady?: boolean): Promise<this>;
91
- }
@@ -1,254 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- /** @module Client */
5
- const RESTManager_1 = tslib_1.__importDefault(require("./rest/RESTManager"));
6
- const TypedCollection_1 = tslib_1.__importDefault(require("./util/TypedCollection"));
7
- const PrivateChannel_1 = tslib_1.__importDefault(require("./structures/PrivateChannel"));
8
- const GroupChannel_1 = tslib_1.__importDefault(require("./structures/GroupChannel"));
9
- const User_1 = tslib_1.__importDefault(require("./structures/User"));
10
- const Guild_1 = tslib_1.__importDefault(require("./structures/Guild"));
11
- const TypedEmitter_1 = tslib_1.__importDefault(require("./util/TypedEmitter"));
12
- const ShardManager_1 = tslib_1.__importDefault(require("./gateway/ShardManager"));
13
- const UnavailableGuild_1 = tslib_1.__importDefault(require("./structures/UnavailableGuild"));
14
- const Util_1 = tslib_1.__importDefault(require("./util/Util"));
15
- const Errors_1 = require("./util/Errors");
16
- // @ts-ignore
17
- let DiscordJSVoice;
18
- try {
19
- DiscordJSVoice = require("@discordjs/voice");
20
- }
21
- catch { }
22
- /* eslint-enable @typescript-eslint/ban-ts-comment, @typescript-eslint/no-redundant-type-constituents, @typescript-eslint/no-var-requires, @typescript-eslint/no-unsafe-assignment, unicorn/prefer-module */
23
- /** The primary class for interfacing with Discord. See {@link ClientEvents | Client Events} for a list of events. */
24
- class Client extends TypedEmitter_1.default {
25
- _application;
26
- _user;
27
- channelGuildMap;
28
- groupChannels;
29
- guildShardMap;
30
- guilds;
31
- options;
32
- privateChannels;
33
- ready;
34
- rest;
35
- shards;
36
- startTime = 0;
37
- threadGuildMap;
38
- unavailableGuilds;
39
- users;
40
- util;
41
- voiceAdapters;
42
- /**
43
- * @constructor
44
- * @param options The options to create the client with.
45
- */
46
- constructor(options) {
47
- super();
48
- this.util = new Util_1.default(this);
49
- const disableCache = options?.disableCache === true || options?.disableCache === "no-warning";
50
- const colZero = {
51
- auditLogEntries: 0,
52
- autoModerationRules: 0,
53
- channels: 0,
54
- emojis: 0,
55
- groupChannels: 0,
56
- guilds: 0,
57
- guildThreads: 0,
58
- integrations: 0,
59
- invites: 0,
60
- members: 0,
61
- messages: 0,
62
- privateChannels: 0,
63
- roles: 0,
64
- scheduledEvents: 0,
65
- stageInstances: 0,
66
- stickers: 0,
67
- unavailableGuilds: 0,
68
- users: 0,
69
- voiceMembers: 0,
70
- voiceStates: 0
71
- };
72
- this.options = {
73
- allowedMentions: options?.allowedMentions ?? {
74
- everyone: false,
75
- repliedUser: false,
76
- users: true,
77
- roles: true
78
- },
79
- auth: options?.auth ?? null,
80
- collectionLimits: disableCache ? colZero : {
81
- auditLogEntries: this.util._setLimit(options?.collectionLimits?.auditLogEntries, 50),
82
- autoModerationRules: this.util._setLimit(options?.collectionLimits?.autoModerationRules, Infinity),
83
- channels: this.util._setLimit(options?.collectionLimits?.channels, Infinity),
84
- emojis: this.util._setLimit(options?.collectionLimits?.emojis, Infinity),
85
- groupChannels: options?.collectionLimits?.groupChannels ?? 10,
86
- guilds: options?.collectionLimits?.guilds ?? Infinity,
87
- guildThreads: this.util._setLimit(options?.collectionLimits?.guildThreads, Infinity),
88
- integrations: this.util._setLimit(options?.collectionLimits?.integrations, Infinity),
89
- invites: this.util._setLimit(options?.collectionLimits?.invites, Infinity),
90
- members: this.util._setLimit(options?.collectionLimits?.members, Infinity),
91
- messages: this.util._setLimit(options?.collectionLimits?.messages, 100),
92
- privateChannels: options?.collectionLimits?.privateChannels ?? 25,
93
- roles: this.util._setLimit(options?.collectionLimits?.roles, Infinity),
94
- scheduledEvents: this.util._setLimit(options?.collectionLimits?.scheduledEvents, Infinity),
95
- stageInstances: this.util._setLimit(options?.collectionLimits?.stageInstances, Infinity),
96
- stickers: this.util._setLimit(options?.collectionLimits?.stickers, Infinity),
97
- unavailableGuilds: options?.collectionLimits?.unavailableGuilds ?? Infinity,
98
- users: options?.collectionLimits?.users ?? Infinity,
99
- voiceMembers: this.util._setLimit(options?.collectionLimits?.voiceMembers, Infinity),
100
- voiceStates: this.util._setLimit(options?.collectionLimits?.voiceStates, Infinity)
101
- },
102
- defaultImageFormat: options?.defaultImageFormat ?? "png",
103
- defaultImageSize: options?.defaultImageSize ?? 4096,
104
- disableMemberLimitScaling: options?.disableMemberLimitScaling ?? false,
105
- restMode: false,
106
- disableCache
107
- };
108
- if (options?.disableCache === true) {
109
- process.emitWarning("Enabling the disableCache option is not recommended. This will break many aspects of the library, as it is not designed to function without cache.", {
110
- code: "OCEANIC_CACHE_DISABLED",
111
- detail: "Set the disableCache option to the literal string \"no-warning\" to disable this warning."
112
- });
113
- }
114
- if (disableCache && options?.collectionLimits !== undefined && JSON.stringify(options.collectionLimits) !== JSON.stringify(colZero)) {
115
- process.emitWarning("Providing the collectionsLimit option when the disableCache option has been enabled is redundant. Any provided values will be ignored.", {
116
- code: "OCEANIC_COLLECTIONS_LIMIT_WITH_CACHE_DISABLED",
117
- detail: "Remove the collectionsLimit option, or zero out all of the possible options to disable this warning."
118
- });
119
- }
120
- this.voiceAdapters = new Map();
121
- this.channelGuildMap = {};
122
- this.groupChannels = new TypedCollection_1.default(GroupChannel_1.default, this, this.options.collectionLimits.groupChannels);
123
- this.guilds = new TypedCollection_1.default(Guild_1.default, this, this.options.collectionLimits.guilds);
124
- this.privateChannels = new TypedCollection_1.default(PrivateChannel_1.default, this, this.options.collectionLimits.privateChannels);
125
- this.ready = false;
126
- this.guildShardMap = {};
127
- this.rest = new RESTManager_1.default(this, options?.rest);
128
- this.shards = new ShardManager_1.default(this, options?.gateway);
129
- this.threadGuildMap = {};
130
- this.unavailableGuilds = new TypedCollection_1.default(UnavailableGuild_1.default, this, this.options.collectionLimits.unavailableGuilds);
131
- this.users = new TypedCollection_1.default(User_1.default, this, this.options.collectionLimits.users);
132
- }
133
- /** The client's partial application. This will throw an error if not using a gateway connection or no shard is READY. If using a client for rest only, consider enabling rest mode. */
134
- get application() {
135
- if (this._application) {
136
- return this._application;
137
- }
138
- else {
139
- throw new Errors_1.UncachedError(`${this.constructor.name}#application is not present if not using a gateway connection or no shard is READY. Consider making sure you have connected your client, or enable rest mode.`);
140
- }
141
- }
142
- get uptime() {
143
- return this.startTime ? Date.now() - this.startTime : 0;
144
- }
145
- /** The client's user. This will throw an error if not using a gateway connection or no shard is READY. If using a client for rest only, consider enabling rest mode. */
146
- get user() {
147
- if (this._user) {
148
- return this._user;
149
- }
150
- else {
151
- throw new Errors_1.UncachedError(`${this.constructor.name}#user is not present if not using a gateway connection or no shard is READY. Consider making sure you have connected your client, or enable rest mode.`);
152
- }
153
- }
154
- /** The active voice connections of this client. */
155
- get voiceConnections() {
156
- if (!DiscordJSVoice) {
157
- throw new Errors_1.DependencyError("Voice is only supported with @discordjs/voice installed.");
158
- }
159
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access
160
- return DiscordJSVoice.getVoiceConnections();
161
- }
162
- /** Connect the client to Discord. */
163
- async connect() {
164
- if (this.options.restMode) {
165
- throw new TypeError("Rest mode has been enabled on this client. You cannot connect to the gateway.");
166
- }
167
- if (!this.options.auth || !this.options.auth.startsWith("Bot ")) {
168
- throw new TypeError("You must provide a bot token to connect. Make sure it has been prefixed with `Bot `.");
169
- }
170
- await this.shards.connect();
171
- }
172
- /**
173
- * Disconnect all shards.
174
- * @param reconnect If shards should be reconnected. Defaults to {@link Types/Gateway~GatewayOptions#autoReconnect | GatewayOptions#autoReconnect}
175
- */
176
- disconnect(reconnect = this.shards.options.autoReconnect) {
177
- return this.shards.disconnect(reconnect);
178
- }
179
- /**
180
- * Edit the client's status across all shards.
181
- * @param status The status.
182
- * @param activities An array of activities.
183
- */
184
- async editStatus(status, activities = []) {
185
- for (const [, shard] of this.shards)
186
- await shard.editStatus(status, activities);
187
- }
188
- /**
189
- * Get a channel from an ID. This will return undefined if the channel is not cached.
190
- * @param channelID The id of the channel.
191
- */
192
- getChannel(channelID) {
193
- if (this.channelGuildMap[channelID]) {
194
- return this.guilds.get(this.channelGuildMap[channelID])?.channels.get(channelID);
195
- }
196
- else if (this.threadGuildMap[channelID]) {
197
- return this.guilds.get(this.threadGuildMap[channelID])?.threads.get(channelID);
198
- }
199
- return (this.privateChannels.get(channelID) ?? this.groupChannels.get(channelID));
200
- }
201
- /**
202
- * Get a voice connection.
203
- * @param guildID The ID of the guild the voice channel belongs to.
204
- */
205
- getVoiceConnection(guildID) {
206
- if (!DiscordJSVoice) {
207
- throw new Errors_1.DependencyError("Voice is only supported with @discordjs/voice installed.");
208
- }
209
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
210
- return DiscordJSVoice.getVoiceConnection(guildID);
211
- }
212
- /**
213
- * Join a voice channel.
214
- * @param options The options to join the channel with.
215
- * */
216
- joinVoiceChannel(options) {
217
- if (!DiscordJSVoice) {
218
- throw new Errors_1.DependencyError("Voice is only supported with @discordjs/voice installed.");
219
- }
220
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access
221
- return DiscordJSVoice.joinVoiceChannel({
222
- channelId: options.channelID,
223
- guildId: options.guildID,
224
- debug: options.debug,
225
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
226
- adapterCreator: options.voiceAdapterCreator,
227
- selfDeaf: options.selfDeaf,
228
- selfMute: options.selfMute
229
- });
230
- }
231
- /**
232
- * Leave a voice channel.
233
- * @param guildID The ID of the guild the voice channel belongs to.
234
- */
235
- leaveVoiceChannel(guildID) {
236
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access
237
- return this.getVoiceConnection(guildID)?.destroy();
238
- }
239
- /**
240
- * Initialize this client for rest only use. Currently, this sets both the `application` and `user` properties (if not already present), as would happen with a gateway connection.
241
- * @param fakeReady If the client should emit a ready event. Defaults to true.
242
- */
243
- async restMode(fakeReady = true) {
244
- this._application ??= await this.rest.applications.getCurrent();
245
- this._user ??= await this.rest.oauth.getCurrentUser();
246
- this.options.restMode = true;
247
- if (fakeReady) {
248
- this.emit("ready");
249
- }
250
- return this;
251
- }
252
- }
253
- exports.default = Client;
254
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL0NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQkFBcUI7QUFDckIsNkVBQTZDO0FBQzdDLHFGQUFxRDtBQUNyRCx5RkFBeUQ7QUFDekQscUZBQXFEO0FBQ3JELHFFQUFxQztBQUNyQyx1RUFBdUM7QUFLdkMsK0VBQStDO0FBRS9DLGtGQUFrRDtBQUVsRCw2RkFBNkQ7QUFFN0QsK0RBQStCO0FBRy9CLDBDQUErRDtBQU0vRCxhQUFhO0FBQ2IsSUFBSSxjQUE2RCxDQUFDO0FBQ2xFLElBQUksQ0FBQztJQUNELGNBQWMsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUNqRCxDQUFDO0FBQUMsTUFBTSxDQUFDLENBQUEsQ0FBQztBQUNWLDRNQUE0TTtBQUU1TSxxSEFBcUg7QUFDckgsTUFBcUIsTUFBOEMsU0FBUSxzQkFBZTtJQUM5RSxZQUFZLENBQXFCO0lBQ2pDLEtBQUssQ0FBZ0I7SUFDN0IsZUFBZSxDQUF5QjtJQUN4QyxhQUFhLENBQWlEO0lBQzlELGFBQWEsQ0FBeUI7SUFDdEMsTUFBTSxDQUFxRDtJQUMzRCxPQUFPLENBQXdCO0lBQy9CLGVBQWUsQ0FBcUQ7SUFDcEUsS0FBSyxDQUFVO0lBQ2YsSUFBSSxDQUFjO0lBQ2xCLE1BQU0sQ0FBZTtJQUNyQixTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsY0FBYyxDQUF5QjtJQUN2QyxpQkFBaUIsQ0FBeUQ7SUFDMUUsS0FBSyxDQUFpQztJQUN0QyxJQUFJLENBQU87SUFDWCxhQUFhLENBQW1EO0lBQ2hFOzs7T0FHRztJQUNILFlBQVksT0FBdUI7UUFDL0IsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksY0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLE1BQU0sWUFBWSxHQUFHLE9BQU8sRUFBRSxZQUFZLEtBQUssSUFBSSxJQUFJLE9BQU8sRUFB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