oceanic.js 1.10.1-dev.97cef9c → 1.10.1-dev.9b37972

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 (204) hide show
  1. package/dist/package.json +5 -5
  2. package/esm.mjs +2 -0
  3. package/package.json +5 -5
  4. package/dist/lib/Client.d.ts +0 -91
  5. package/dist/lib/Client.js +0 -254
  6. package/dist/lib/Constants.d.ts +0 -1121
  7. package/dist/lib/Constants.js +0 -1401
  8. package/dist/lib/gateway/Shard.d.ts +0 -77
  9. package/dist/lib/gateway/Shard.js +0 -1582
  10. package/dist/lib/gateway/ShardManager.d.ts +0 -26
  11. package/dist/lib/gateway/ShardManager.js +0 -304
  12. package/dist/lib/index.d.ts +0 -83
  13. package/dist/lib/index.js +0 -166
  14. package/dist/lib/rest/Bucket.d.ts +0 -33
  15. package/dist/lib/rest/Bucket.js +0 -78
  16. package/dist/lib/rest/DiscordHTTPError.d.ts +0 -16
  17. package/dist/lib/rest/DiscordHTTPError.js +0 -65
  18. package/dist/lib/rest/DiscordRESTError.d.ts +0 -19
  19. package/dist/lib/rest/DiscordRESTError.js +0 -89
  20. package/dist/lib/rest/OAuthHelper.d.ts +0 -60
  21. package/dist/lib/rest/OAuthHelper.js +0 -180
  22. package/dist/lib/rest/RESTManager.d.ts +0 -42
  23. package/dist/lib/rest/RESTManager.js +0 -82
  24. package/dist/lib/rest/RequestHandler.d.ts +0 -28
  25. package/dist/lib/rest/RequestHandler.js +0 -313
  26. package/dist/lib/rest/SequentialBucket.d.ts +0 -25
  27. package/dist/lib/rest/SequentialBucket.js +0 -76
  28. package/dist/lib/routes/Applications.d.ts +0 -171
  29. package/dist/lib/routes/Applications.js +0 -447
  30. package/dist/lib/routes/Channels.d.ts +0 -391
  31. package/dist/lib/routes/Channels.js +0 -1107
  32. package/dist/lib/routes/Guilds.d.ts +0 -606
  33. package/dist/lib/routes/Guilds.js +0 -1669
  34. package/dist/lib/routes/Interactions.d.ts +0 -74
  35. package/dist/lib/routes/Interactions.js +0 -141
  36. package/dist/lib/routes/Miscellaneous.d.ts +0 -25
  37. package/dist/lib/routes/Miscellaneous.js +0 -54
  38. package/dist/lib/routes/OAuth.d.ts +0 -105
  39. package/dist/lib/routes/OAuth.js +0 -309
  40. package/dist/lib/routes/Users.d.ts +0 -32
  41. package/dist/lib/routes/Users.js +0 -59
  42. package/dist/lib/routes/Webhooks.d.ts +0 -128
  43. package/dist/lib/routes/Webhooks.js +0 -264
  44. package/dist/lib/structures/AnnouncementChannel.d.ts +0 -36
  45. package/dist/lib/structures/AnnouncementChannel.js +0 -47
  46. package/dist/lib/structures/AnnouncementThreadChannel.d.ts +0 -18
  47. package/dist/lib/structures/AnnouncementThreadChannel.js +0 -27
  48. package/dist/lib/structures/Application.d.ts +0 -68
  49. package/dist/lib/structures/Application.js +0 -178
  50. package/dist/lib/structures/ApplicationCommand.d.ts +0 -74
  51. package/dist/lib/structures/ApplicationCommand.js +0 -141
  52. package/dist/lib/structures/Attachment.d.ts +0 -34
  53. package/dist/lib/structures/Attachment.js +0 -64
  54. package/dist/lib/structures/AuditLogEntry.d.ts +0 -25
  55. package/dist/lib/structures/AuditLogEntry.js +0 -53
  56. package/dist/lib/structures/AutoModerationRule.d.ts +0 -49
  57. package/dist/lib/structures/AutoModerationRule.js +0 -139
  58. package/dist/lib/structures/AutocompleteInteraction.d.ts +0 -62
  59. package/dist/lib/structures/AutocompleteInteraction.js +0 -115
  60. package/dist/lib/structures/Base.d.ts +0 -20
  61. package/dist/lib/structures/Base.js +0 -58
  62. package/dist/lib/structures/BaseEntitlement.d.ts +0 -19
  63. package/dist/lib/structures/BaseEntitlement.js +0 -44
  64. package/dist/lib/structures/CategoryChannel.d.ts +0 -41
  65. package/dist/lib/structures/CategoryChannel.js +0 -105
  66. package/dist/lib/structures/Channel.d.ts +0 -20
  67. package/dist/lib/structures/Channel.js +0 -91
  68. package/dist/lib/structures/ClientApplication.d.ts +0 -153
  69. package/dist/lib/structures/ClientApplication.js +0 -220
  70. package/dist/lib/structures/CommandInteraction.d.ts +0 -127
  71. package/dist/lib/structures/CommandInteraction.js +0 -297
  72. package/dist/lib/structures/ComponentInteraction.d.ts +0 -137
  73. package/dist/lib/structures/ComponentInteraction.js +0 -311
  74. package/dist/lib/structures/Entitlement.d.ts +0 -12
  75. package/dist/lib/structures/Entitlement.js +0 -26
  76. package/dist/lib/structures/ExtendedUser.d.ts +0 -26
  77. package/dist/lib/structures/ExtendedUser.js +0 -57
  78. package/dist/lib/structures/ForumChannel.d.ts +0 -11
  79. package/dist/lib/structures/ForumChannel.js +0 -19
  80. package/dist/lib/structures/GroupChannel.d.ts +0 -62
  81. package/dist/lib/structures/GroupChannel.js +0 -133
  82. package/dist/lib/structures/Guild.d.ts +0 -654
  83. package/dist/lib/structures/Guild.js +0 -1319
  84. package/dist/lib/structures/GuildChannel.d.ts +0 -34
  85. package/dist/lib/structures/GuildChannel.js +0 -75
  86. package/dist/lib/structures/GuildPreview.d.ts +0 -50
  87. package/dist/lib/structures/GuildPreview.js +0 -119
  88. package/dist/lib/structures/GuildScheduledEvent.d.ts +0 -60
  89. package/dist/lib/structures/GuildScheduledEvent.js +0 -154
  90. package/dist/lib/structures/GuildTemplate.d.ts +0 -55
  91. package/dist/lib/structures/GuildTemplate.js +0 -126
  92. package/dist/lib/structures/Integration.d.ts +0 -54
  93. package/dist/lib/structures/Integration.js +0 -156
  94. package/dist/lib/structures/Interaction.d.ts +0 -40
  95. package/dist/lib/structures/Interaction.js +0 -91
  96. package/dist/lib/structures/InteractionResolvedChannel.d.ts +0 -28
  97. package/dist/lib/structures/InteractionResolvedChannel.js +0 -45
  98. package/dist/lib/structures/Invite.d.ts +0 -64
  99. package/dist/lib/structures/Invite.js +0 -193
  100. package/dist/lib/structures/InviteGuild.d.ts +0 -52
  101. package/dist/lib/structures/InviteGuild.js +0 -88
  102. package/dist/lib/structures/MediaChannel.d.ts +0 -11
  103. package/dist/lib/structures/MediaChannel.js +0 -19
  104. package/dist/lib/structures/Member.d.ts +0 -122
  105. package/dist/lib/structures/Member.js +0 -255
  106. package/dist/lib/structures/Message.d.ts +0 -183
  107. package/dist/lib/structures/Message.js +0 -455
  108. package/dist/lib/structures/ModalSubmitInteraction.d.ts +0 -128
  109. package/dist/lib/structures/ModalSubmitInteraction.js +0 -240
  110. package/dist/lib/structures/OAuthApplication.d.ts +0 -79
  111. package/dist/lib/structures/OAuthApplication.js +0 -210
  112. package/dist/lib/structures/OAuthGuild.d.ts +0 -35
  113. package/dist/lib/structures/OAuthGuild.js +0 -61
  114. package/dist/lib/structures/PartialApplication.d.ts +0 -30
  115. package/dist/lib/structures/PartialApplication.js +0 -67
  116. package/dist/lib/structures/Permission.d.ts +0 -21
  117. package/dist/lib/structures/Permission.js +0 -68
  118. package/dist/lib/structures/PermissionOverwrite.d.ts +0 -26
  119. package/dist/lib/structures/PermissionOverwrite.js +0 -49
  120. package/dist/lib/structures/PingInteraction.d.ts +0 -16
  121. package/dist/lib/structures/PingInteraction.js +0 -26
  122. package/dist/lib/structures/PrivateChannel.d.ts +0 -90
  123. package/dist/lib/structures/PrivateChannel.js +0 -131
  124. package/dist/lib/structures/PrivateThreadChannel.d.ts +0 -18
  125. package/dist/lib/structures/PrivateThreadChannel.js +0 -27
  126. package/dist/lib/structures/PublicThreadChannel.d.ts +0 -21
  127. package/dist/lib/structures/PublicThreadChannel.js +0 -37
  128. package/dist/lib/structures/Role.d.ts +0 -50
  129. package/dist/lib/structures/Role.js +0 -131
  130. package/dist/lib/structures/SKU.d.ts +0 -32
  131. package/dist/lib/structures/SKU.js +0 -53
  132. package/dist/lib/structures/StageChannel.d.ts +0 -33
  133. package/dist/lib/structures/StageChannel.js +0 -44
  134. package/dist/lib/structures/StageInstance.d.ts +0 -36
  135. package/dist/lib/structures/StageInstance.js +0 -94
  136. package/dist/lib/structures/Team.d.ts +0 -22
  137. package/dist/lib/structures/Team.js +0 -67
  138. package/dist/lib/structures/TestEntitlement.d.ts +0 -10
  139. package/dist/lib/structures/TestEntitlement.js +0 -21
  140. package/dist/lib/structures/TextChannel.d.ts +0 -34
  141. package/dist/lib/structures/TextChannel.js +0 -46
  142. package/dist/lib/structures/TextableChannel.d.ts +0 -158
  143. package/dist/lib/structures/TextableChannel.js +0 -276
  144. package/dist/lib/structures/TextableVoiceChannel.d.ts +0 -39
  145. package/dist/lib/structures/TextableVoiceChannel.js +0 -81
  146. package/dist/lib/structures/ThreadChannel.d.ts +0 -159
  147. package/dist/lib/structures/ThreadChannel.js +0 -295
  148. package/dist/lib/structures/ThreadOnlyChannel.d.ts +0 -99
  149. package/dist/lib/structures/ThreadOnlyChannel.js +0 -233
  150. package/dist/lib/structures/ThreadableChannel.d.ts +0 -36
  151. package/dist/lib/structures/ThreadableChannel.js +0 -58
  152. package/dist/lib/structures/UnavailableGuild.d.ts +0 -11
  153. package/dist/lib/structures/UnavailableGuild.js +0 -21
  154. package/dist/lib/structures/User.d.ts +0 -82
  155. package/dist/lib/structures/User.js +0 -168
  156. package/dist/lib/structures/VoiceChannel.d.ts +0 -20
  157. package/dist/lib/structures/VoiceChannel.js +0 -35
  158. package/dist/lib/structures/VoiceState.d.ts +0 -51
  159. package/dist/lib/structures/VoiceState.js +0 -140
  160. package/dist/lib/structures/Webhook.d.ts +0 -129
  161. package/dist/lib/structures/Webhook.js +0 -206
  162. package/dist/lib/types/applications.d.ts +0 -448
  163. package/dist/lib/types/audit-log.d.ts +0 -121
  164. package/dist/lib/types/auto-moderation.d.ts +0 -99
  165. package/dist/lib/types/channels.d.ts +0 -1150
  166. package/dist/lib/types/client.d.ts +0 -228
  167. package/dist/lib/types/events.d.ts +0 -260
  168. package/dist/lib/types/gateway-raw.d.ts +0 -567
  169. package/dist/lib/types/gateway.d.ts +0 -338
  170. package/dist/lib/types/guild-template.d.ts +0 -33
  171. package/dist/lib/types/guilds.d.ts +0 -854
  172. package/dist/lib/types/index.d.ts +0 -18
  173. package/dist/lib/types/interactions.d.ts +0 -376
  174. package/dist/lib/types/json.d.ts +0 -709
  175. package/dist/lib/types/misc.d.ts +0 -13
  176. package/dist/lib/types/oauth.d.ts +0 -201
  177. package/dist/lib/types/request-handler.d.ts +0 -52
  178. package/dist/lib/types/scheduled-events.d.ts +0 -88
  179. package/dist/lib/types/shared.d.ts +0 -9
  180. package/dist/lib/types/users.d.ts +0 -45
  181. package/dist/lib/types/voice.d.ts +0 -45
  182. package/dist/lib/types/webhooks.d.ts +0 -73
  183. package/dist/lib/util/Collection.d.ts +0 -47
  184. package/dist/lib/util/Collection.js +0 -78
  185. package/dist/lib/util/Errors.d.ts +0 -29
  186. package/dist/lib/util/Errors.js +0 -56
  187. package/dist/lib/util/Routes.d.ts +0 -124
  188. package/dist/lib/util/Routes.js +0 -243
  189. package/dist/lib/util/SimpleCollection.d.ts +0 -12
  190. package/dist/lib/util/SimpleCollection.js +0 -81
  191. package/dist/lib/util/TypedCollection.d.ts +0 -24
  192. package/dist/lib/util/TypedCollection.js +0 -76
  193. package/dist/lib/util/TypedEmitter.d.ts +0 -19
  194. package/dist/lib/util/TypedEmitter.js +0 -19
  195. package/dist/lib/util/Util.d.ts +0 -52
  196. package/dist/lib/util/Util.js +0 -469
  197. package/dist/lib/util/interactions/InteractionOptionsWrapper.d.ts +0 -170
  198. package/dist/lib/util/interactions/InteractionOptionsWrapper.js +0 -213
  199. package/dist/lib/util/interactions/MessageInteractionResponse.d.ts +0 -24
  200. package/dist/lib/util/interactions/MessageInteractionResponse.js +0 -28
  201. package/dist/lib/util/interactions/ModalSubmitInteractionComponentsWrapper.d.ts +0 -24
  202. package/dist/lib/util/interactions/ModalSubmitInteractionComponentsWrapper.js +0 -34
  203. package/dist/lib/util/interactions/SelectMenuValuesWrapper.d.ts +0 -60
  204. 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.97cef9c",
3
+ "version": "1.10.1-dev.9b37972",
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",
@@ -63,7 +63,7 @@
63
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/esm.mjs CHANGED
@@ -49,6 +49,7 @@ const PartialApplication = (await import("./dist/lib/structures/PartialApplicati
49
49
  const Permission = (await import("./dist/lib/structures/Permission.js")).default.default;
50
50
  const PermissionOverwrite = (await import("./dist/lib/structures/PermissionOverwrite.js")).default.default;
51
51
  const PingInteraction = (await import("./dist/lib/structures/PingInteraction.js")).default.default;
52
+ const Poll = (await import("./dist/lib/structures/Poll.js")).default.default;
52
53
  const PrivateChannel = (await import("./dist/lib/structures/PrivateChannel.js")).default.default;
53
54
  const PrivateThreadChannel = (await import("./dist/lib/structures/PrivateThreadChannel.js")).default.default;
54
55
  const PublicThreadChannel = (await import("./dist/lib/structures/PublicThreadChannel.js")).default.default;
@@ -134,6 +135,7 @@ export {
134
135
  Permission,
135
136
  PermissionOverwrite,
136
137
  PingInteraction,
138
+ Poll,
137
139
  PrivateChannel,
138
140
  PrivateThreadChannel,
139
141
  PublicThreadChannel,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oceanic.js",
3
- "version": "1.10.1-dev.97cef9c",
3
+ "version": "1.10.1-dev.9b37972",
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",
@@ -63,7 +63,7 @@
63
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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