oceanic.js 0.0.6 → 0.0.9

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 (160) hide show
  1. package/.github/workflows/build.yml +12 -0
  2. package/.github/workflows/lint.yml +13 -0
  3. package/README.md +10 -2
  4. package/build.js +7 -0
  5. package/dist/lib/Client.d.ts +12 -67
  6. package/dist/lib/Client.js +40 -86
  7. package/dist/lib/Constants.d.ts +21 -8
  8. package/dist/lib/Constants.js +35 -20
  9. package/dist/lib/gateway/Shard.d.ts +11 -33
  10. package/dist/lib/gateway/Shard.js +383 -348
  11. package/dist/lib/gateway/ShardManager.d.ts +1 -4
  12. package/dist/lib/gateway/ShardManager.js +41 -38
  13. package/dist/lib/index.d.ts +3 -1
  14. package/dist/lib/index.js +9 -5
  15. package/dist/lib/rest/Bucket.d.ts +4 -6
  16. package/dist/lib/rest/Bucket.js +12 -13
  17. package/dist/lib/rest/DiscordHTTPError.d.ts +1 -1
  18. package/dist/lib/rest/DiscordHTTPError.js +4 -6
  19. package/dist/lib/rest/DiscordRESTError.d.ts +1 -1
  20. package/dist/lib/rest/DiscordRESTError.js +8 -10
  21. package/dist/lib/rest/RESTManager.d.ts +3 -8
  22. package/dist/lib/rest/RESTManager.js +18 -24
  23. package/dist/lib/rest/RequestHandler.d.ts +3 -15
  24. package/dist/lib/rest/RequestHandler.js +20 -34
  25. package/dist/lib/rest/SequentialBucket.d.ts +4 -6
  26. package/dist/lib/rest/SequentialBucket.js +12 -13
  27. package/dist/lib/routes/ApplicationCommands.d.ts +49 -126
  28. package/dist/lib/routes/ApplicationCommands.js +81 -156
  29. package/dist/lib/routes/Channels.d.ts +96 -297
  30. package/dist/lib/routes/Channels.js +167 -357
  31. package/dist/lib/routes/Guilds.d.ts +167 -508
  32. package/dist/lib/routes/Guilds.js +280 -576
  33. package/dist/lib/routes/Interactions.d.ts +32 -90
  34. package/dist/lib/routes/Interactions.js +48 -104
  35. package/dist/lib/routes/OAuth.d.ts +13 -47
  36. package/dist/lib/routes/OAuth.js +32 -64
  37. package/dist/lib/routes/Users.d.ts +13 -22
  38. package/dist/lib/routes/Users.js +27 -34
  39. package/dist/lib/routes/Webhooks.d.ts +40 -111
  40. package/dist/lib/routes/Webhooks.js +63 -105
  41. package/dist/lib/structures/AnnouncementChannel.d.ts +9 -21
  42. package/dist/lib/structures/AnnouncementChannel.js +11 -20
  43. package/dist/lib/structures/AnnouncementThreadChannel.d.ts +2 -12
  44. package/dist/lib/structures/AnnouncementThreadChannel.js +4 -14
  45. package/dist/lib/structures/Application.d.ts +2 -4
  46. package/dist/lib/structures/Application.js +17 -9
  47. package/dist/lib/structures/ApplicationCommand.d.ts +6 -25
  48. package/dist/lib/structures/ApplicationCommand.js +11 -30
  49. package/dist/lib/structures/AutoModerationRule.d.ts +6 -23
  50. package/dist/lib/structures/AutoModerationRule.js +31 -31
  51. package/dist/lib/structures/AutocompleteInteraction.d.ts +9 -7
  52. package/dist/lib/structures/AutocompleteInteraction.js +23 -14
  53. package/dist/lib/structures/Base.d.ts +2 -1
  54. package/dist/lib/structures/Base.js +5 -4
  55. package/dist/lib/structures/CategoryChannel.d.ts +12 -19
  56. package/dist/lib/structures/CategoryChannel.js +49 -25
  57. package/dist/lib/structures/Channel.d.ts +0 -2
  58. package/dist/lib/structures/Channel.js +4 -4
  59. package/dist/lib/structures/ClientApplication.d.ts +33 -115
  60. package/dist/lib/structures/ClientApplication.js +46 -124
  61. package/dist/lib/structures/CommandInteraction.d.ts +12 -86
  62. package/dist/lib/structures/CommandInteraction.js +49 -112
  63. package/dist/lib/structures/ComponentInteraction.d.ts +14 -104
  64. package/dist/lib/structures/ComponentInteraction.js +33 -122
  65. package/dist/lib/structures/ExtendedUser.d.ts +1 -5
  66. package/dist/lib/structures/ExtendedUser.js +5 -7
  67. package/dist/lib/structures/ForumChannel.d.ts +86 -0
  68. package/dist/lib/structures/ForumChannel.js +194 -0
  69. package/dist/lib/structures/GroupChannel.d.ts +30 -104
  70. package/dist/lib/structures/GroupChannel.js +55 -122
  71. package/dist/lib/structures/Guild.d.ts +114 -438
  72. package/dist/lib/structures/Guild.js +219 -445
  73. package/dist/lib/structures/GuildChannel.d.ts +4 -24
  74. package/dist/lib/structures/GuildChannel.js +10 -27
  75. package/dist/lib/structures/GuildPreview.js +12 -2
  76. package/dist/lib/structures/{ScheduledEvent.d.ts → GuildScheduledEvent.d.ts} +10 -14
  77. package/dist/lib/structures/GuildScheduledEvent.js +143 -0
  78. package/dist/lib/structures/GuildTemplate.d.ts +6 -17
  79. package/dist/lib/structures/GuildTemplate.js +24 -24
  80. package/dist/lib/structures/Integration.d.ts +5 -5
  81. package/dist/lib/structures/Integration.js +12 -3
  82. package/dist/lib/structures/Interaction.js +2 -2
  83. package/dist/lib/structures/Invite.d.ts +4 -6
  84. package/dist/lib/structures/Invite.js +12 -14
  85. package/dist/lib/structures/Member.d.ts +12 -39
  86. package/dist/lib/structures/Member.js +39 -54
  87. package/dist/lib/structures/Message.d.ts +21 -75
  88. package/dist/lib/structures/Message.js +58 -98
  89. package/dist/lib/structures/ModalSubmitInteraction.d.ts +58 -2
  90. package/dist/lib/structures/ModalSubmitInteraction.js +98 -6
  91. package/dist/lib/structures/PartialApplication.d.ts +2 -4
  92. package/dist/lib/structures/PartialApplication.js +7 -6
  93. package/dist/lib/structures/Permission.d.ts +1 -3
  94. package/dist/lib/structures/Permission.js +2 -4
  95. package/dist/lib/structures/PermissionOverwrite.d.ts +3 -3
  96. package/dist/lib/structures/PermissionOverwrite.js +4 -4
  97. package/dist/lib/structures/PingInteraction.d.ts +0 -2
  98. package/dist/lib/structures/PingInteraction.js +2 -4
  99. package/dist/lib/structures/PrivateChannel.d.ts +18 -76
  100. package/dist/lib/structures/PrivateChannel.js +32 -90
  101. package/dist/lib/structures/PrivateThreadChannel.d.ts +2 -13
  102. package/dist/lib/structures/PrivateThreadChannel.js +4 -15
  103. package/dist/lib/structures/PublicThreadChannel.d.ts +2 -12
  104. package/dist/lib/structures/PublicThreadChannel.js +4 -14
  105. package/dist/lib/structures/Role.d.ts +2 -4
  106. package/dist/lib/structures/Role.js +15 -8
  107. package/dist/lib/structures/StageChannel.d.ts +14 -38
  108. package/dist/lib/structures/StageChannel.js +48 -42
  109. package/dist/lib/structures/StageInstance.d.ts +2 -2
  110. package/dist/lib/structures/StageInstance.js +8 -5
  111. package/dist/lib/structures/Team.js +6 -3
  112. package/dist/lib/structures/TextChannel.d.ts +9 -21
  113. package/dist/lib/structures/TextChannel.js +12 -23
  114. package/dist/lib/structures/TextableChannel.d.ts +47 -168
  115. package/dist/lib/structures/TextableChannel.js +96 -189
  116. package/dist/lib/structures/ThreadChannel.d.ts +33 -112
  117. package/dist/lib/structures/ThreadChannel.js +75 -137
  118. package/dist/lib/structures/User.d.ts +3 -10
  119. package/dist/lib/structures/User.js +10 -12
  120. package/dist/lib/structures/VoiceChannel.d.ts +40 -133
  121. package/dist/lib/structures/VoiceChannel.js +91 -149
  122. package/dist/lib/structures/VoiceState.d.ts +5 -3
  123. package/dist/lib/structures/VoiceState.js +15 -9
  124. package/dist/lib/structures/Webhook.d.ts +25 -91
  125. package/dist/lib/structures/Webhook.js +36 -75
  126. package/dist/lib/types/application-commands.d.ts +13 -0
  127. package/dist/lib/types/audit-log.d.ts +6 -2
  128. package/dist/lib/types/auto-moderation.d.ts +28 -8
  129. package/dist/lib/types/channels.d.ts +221 -47
  130. package/dist/lib/types/client.d.ts +57 -10
  131. package/dist/lib/types/gateway.d.ts +100 -3
  132. package/dist/lib/types/guild-template.d.ts +4 -0
  133. package/dist/lib/types/guilds.d.ts +132 -5
  134. package/dist/lib/types/interactions.d.ts +45 -10
  135. package/dist/lib/types/json.d.ts +32 -15
  136. package/dist/lib/types/oauth.d.ts +25 -1
  137. package/dist/lib/types/scheduled-events.d.ts +26 -9
  138. package/dist/lib/types/users.d.ts +4 -0
  139. package/dist/lib/types/webhooks.d.ts +13 -0
  140. package/dist/lib/util/Collection.d.ts +1 -2
  141. package/dist/lib/util/Collection.js +7 -9
  142. package/dist/lib/util/InteractionOptionsWrapper.d.ts +182 -0
  143. package/dist/lib/util/InteractionOptionsWrapper.js +167 -0
  144. package/dist/lib/util/Properties.d.ts +1 -1
  145. package/dist/lib/util/Properties.js +5 -5
  146. package/dist/lib/util/Util.d.ts +5 -2
  147. package/dist/lib/util/Util.js +126 -8
  148. package/dist/lib/voice/VoiceConnectionManager.d.ts +1 -1
  149. package/dist/lib/voice/VoiceConnectionManager.js +3 -7
  150. package/dist/package.json +5 -12
  151. package/esm.mjs +7 -3
  152. package/examples/intents.js +4 -2
  153. package/package.json +5 -12
  154. package/dist/lib/routes/BaseRoute.d.ts +0 -6
  155. package/dist/lib/routes/BaseRoute.js +0 -16
  156. package/dist/lib/structures/ScheduledEvent.js +0 -137
  157. package/dist/lib/util/Debug.d.ts +0 -1
  158. package/dist/lib/util/Debug.js +0 -13
  159. package/favicon.ico +0 -0
  160. package/typedoc.json +0 -26
@@ -0,0 +1,12 @@
1
+ name: Build Code
2
+ on: [push, pull_request]
3
+
4
+ jobs:
5
+ build:
6
+ runs-on: ubuntu-latest
7
+ steps:
8
+ - uses: actions/checkout@v2
9
+ - name: Install Dependencies
10
+ run: npm i
11
+ - name: Build
12
+ run: npm run prepare
@@ -0,0 +1,13 @@
1
+ name: Lint
2
+ on: [push, pull_request]
3
+
4
+
5
+ jobs:
6
+ build:
7
+ runs-on: ubuntu-latest
8
+ steps:
9
+ - uses: actions/checkout@v2
10
+ - name: Install Dependencies
11
+ run: npm i
12
+ - name: Run ESLint
13
+ run: npm run lint
package/README.md CHANGED
@@ -1,5 +1,4 @@
1
- # Oceanic
2
- <!--[![NPM version](https://img.shields.io/npm/v/oceanic.svg?style=flat-square&color=informational)](https://npmjs.com/package/oceanic)-->
1
+ # Oceanic [![NPM version](https://img.shields.io/npm/v/oceanic.js.svg?style=flat-square&color=informational)](https://npmjs.com/package/oceanic.js)
3
2
  A NodeJS Library for Discord.
4
3
 
5
4
  <hr>
@@ -7,12 +6,21 @@ A NodeJS Library for Discord.
7
6
  ## Installation
8
7
  NodeJS **16.16.0** or higher is required.
9
8
 
9
+ **Do note we are currently in the alpha stage. Releases will be made when I see fit. See [Install From Github](#install-from-github) 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)**
10
+
10
11
  ```sh
11
12
  npm i oceanic.js
12
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
16
 
17
+ #### Install From Github
18
+ ```sh
19
+ npm i OceanicJS/Oceanic
20
+ ```
21
+
22
+ The documentation is always for the latest commit. If something isn't working that's in the documentaion, you're likely using an outdated version.
23
+
16
24
  <hr>
17
25
 
18
26
  ## Links
package/build.js ADDED
@@ -0,0 +1,7 @@
1
+ const { execSync } = require("child_process");
2
+ const { rmSync, readFileSync, writeFileSync, existsSync, cpSync } = require("fs");
3
+ if(existsSync(`${__dirname}/dist`) && !existsSync(`${__dirname}/.git`)) process.exit(0);
4
+ if(existsSync(`${__dirname}/dist`)) rmSync(`${__dirname}/dist`, { recursive: true });
5
+ execSync("tsc", { stdio: "inherit" });
6
+ writeFileSync(`${__dirname}/dist/lib/index.js`, readFileSync(`${__dirname}/dist/lib/index.js`).toString().replace(/__exportStar\(require\("\.\/types\/index"\), exports\);\r?\n/, ""))
7
+ cpSync(`${__dirname}/lib/types`, `${__dirname}/dist/lib/types`, { recursive: true });
@@ -18,8 +18,8 @@ import type ExtendedUser from "./structures/ExtendedUser";
18
18
  import Util from "./util/Util";
19
19
  /** The primary class for interfacing with Discord. */
20
20
  export default class Client extends TypedEmitter<ClientEvents> {
21
- /** The client's partial application (only set when using a gateway connection, at least one shard must be READY for this to be set). */
22
- application: ClientApplication;
21
+ private _application?;
22
+ private _user?;
23
23
  channelGuildMap: Record<string, string>;
24
24
  gatewayURL: string;
25
25
  groupChannels: Collection<string, RawGroupChannel, GroupChannel>;
@@ -33,90 +33,35 @@ export default class Client extends TypedEmitter<ClientEvents> {
33
33
  startTime: number;
34
34
  threadGuildMap: Record<string, string>;
35
35
  unavailableGuilds: Collection<string, RawUnavailableGuild, UnavailableGuild>;
36
- /** The client's user (only set when using a gateway connection, at least one shard must be READY for this to be set). */
37
- user: ExtendedUser;
38
36
  users: Collection<string, RawUser, User>;
39
37
  util: Util;
40
38
  voiceConnections: VoiceConnectionManager;
41
39
  /**
42
40
  * @constructor
43
- * @param {Object} [options]
44
- * @param {Object} [options.allowedMentions] - The default allowed mentions object.
45
- * @param {Boolean} [options.allowedMentions.everyone=false] - If `@everyone`/`@here` mentions should be allowed.
46
- * @param {Boolean} [options.allowedMentions.repliedUser=false] - If the replied user (`messageReference`) should be mentioned.
47
- * @param {(Boolean | String[])} [options.allowedMentions.roles=true] - An array of role ids that are allowed to be mentioned, or a boolean value to allow all or none.
48
- * @param {(Boolean | String[])} [options.allowedMentions.users=true] - An array of user ids that are allowed to be mentioned, or a boolean value to allow all or none.
49
- * @param {String?} [options.auth] - Fully qualified authorization string (e.x. Bot [TOKEN]) - you MUST prefix it yourself
50
- * @param {ImageFormat} [options.defaultImageFormat="png"] - The default image format to use.
51
- * @param {Number} [options.defaultImageSize=4096] - The default image size to use.
52
- * @param {Object} [options.gateway] - The gateway options.
53
- * @param {Boolean} [options.gateway.autoReconnect=true] - If dropped connections should be automatically reconnected.
54
- * @param {Number} [options.gateway.compress] - If packets to and from Discord should be compressed.
55
- * @param {(Number | "auto")} [options.gateway.concurrency] - The concurrency for shard connections. If you don't know what this is, don't mess with it. Only bots in >150,000 servers can use any non-default value.
56
- * @param {Object} [options.gateway.connectionProperties] - The `properties` used when identifying.
57
- * @param {String} [options.gateway.connectionProperties.browser="Oceanic"] - The browser of the client.
58
- * @param {String} [options.gateway.connectionProperties.device="Oceanic"] - The device of the client.
59
- * @param {String} [options.gateway.connectionProperties.os=process.platform] - The operating system of the client.
60
- * @param {Number} [options.gateway.connectionTimeout=30000] - The maximum amount of time in milliseconds to wait for a connection to be established.
61
- * @param {Number} [options.gateway.firstShardID=0] - The ID of the first shard to run for this client. Mutually exclusive with `shardIDs`.
62
- * @param {Number} [options.gateway.getAllUsers=false] - The ID of the first shard to run for this client. Mutually exclusive with `shardIDs`.
63
- * @param {Number} [options.gateway.guildCreateTimeout=2000] - The number of milliseconds to wait before considering guild creations to be new guilds.
64
- * @param {(Number | IntentNames[] | Number[])} [options.gateway.intents] - The [intents](https://discord.com/developers/docs/topics/gateway#list-of-intents) to use. Either a number, array of intent names, array of numbers, or "ALL". All non privileged intents are used by default.
65
- * @param {Number} [options.gateway.largeThreshold=250] - The threshold at which guilds are considered "large" (after which offline members will not be loaded).
66
- * @param {Number} [options.gateway.lastShardID=maxShards - 1] - The ID of the last shard to run for this client. Mutually exclusive with `shardIDs`.
67
- * @param {Number} [options.gateway.maxReconnectAttempts=Infinity] - The maximum number of attempts to reconnect.
68
- * @param {Number} [options.gateway.maxResumeAttempts=10] - The maximum number of attempts to resume.
69
- * @param {(Number | "auto")} [options.gateway.maxShards=1] - The total number of shards across all running clients. Limit the number of shards per client via `firstShardID` & `lastShardID`.
70
- * @param {Object} [options.gateway.presence] - The intiial presence to use when connecting.
71
- * @param {Object[]} [options.gateway.presence.activities]
72
- * @param {String} options.gateway.presence.activities[].name - The name of the activity.
73
- * @param {BotActivityTypes} options.gateway.presence.activities[].type - The name of the activity.
74
- * @param {String} [options.gateway.presence.activities[].url] - The name of the activity.
75
- * @param {Boolean} [options.gateway.presence.afk] - If the client is afk.
76
- * @param {SendStatuses} [options.gateway.presence.status] - The [status](https://discord.com/developers/docs/topics/gateway#update-presence-status-types) to use..
77
- * @param {Function} [options.gateway.reconnectDelay] - A function to calculate the delay between reconnect attempts.
78
- * @param {Boolean} [options.gateway.seedVoiceConnections=false] - If exisitng voice connections should be populated. This will disconnect connections from other sessions.
79
- * @param {Number[]} [option.gateway.shardIDs=[]] - An array of shard IDs to run for this client. Mutually exclusive with `firstShardID` & `lastShardID`.
80
- * @param {Object} [options.gateway.ws] - The options to pass to constructed websockets.
81
- * @param {Object} [options.rest] - The options for the request handler.
82
- * @param {Agent?} [options.rest.agent=null] - The agent to use for requests.
83
- * @param {String} [options.rest.baseURL="https://discordapp.com/api/v\{REST_VERSION\}"] - The base URL to use for requests - must be a fully qualified url.
84
- * @param {Boolean} [options.rest.disableLatencyCompensation] - If the built in latency compensator should be disabled
85
- * @param {String} [options.rest.host="discord.com"] - The `Host` header to use for requests. By default, this is parsed from `baseURL`.
86
- * @param {Number} [options.rest.latencyThreshold=30000] - In milliseconds, the average request latency at which to start emitting latency errors.
87
- * @param {Number} [options.rest.ratelimiterOffset=0] - In milliseconds, the time to offset ratelimit calculations by.
88
- * @param {Number} [options.rest.requestTimeout=15000] - In milliseconds, how long to wait until a request is timed out.
89
- * @param {String} [options.rest.userAgent="Oceanic/\{VERSION\} (https://github.com/DonovanDMC/Oceanic)"] - The `User-Agent` header to use for requests.
41
+ * @param options The options to create the client with.
90
42
  */
91
43
  constructor(options?: ClientOptions);
44
+ /** The client's partial application. This will throw an error if not using a gateway connection or no shard is READY. **/
45
+ get application(): ClientApplication;
46
+ /** The client's user application. This will throw an error if not using a gateway connection or no shard is READY. **/
47
+ get user(): ExtendedUser;
92
48
  connect(): Promise<void>;
93
49
  /**
94
50
  * Edit the client's status across all shards.
95
- *
96
- * @param {SendStatuses} status - The status.
97
- * @param {BotActivity[]} [activities] - An array of activities.
98
- * @param {BotActivityTypes} [activities[].type] - The activity type.
99
- * @param {String} [activities[].name] - The activity name.
100
- * @param {String} [activities[].url] - The activity url.
101
- * @returns
51
+ * @param status The status.
52
+ * @param activities An array of activities.
102
53
  */
103
54
  editStatus(status: SendStatuses, activities?: Array<BotActivity>): Promise<void>;
104
55
  getChannel<T extends AnyChannel = AnyChannel>(id: string): T | undefined;
105
56
  /**
106
57
  * Join a voice channel.
107
- *
108
- * @param {String?} channelID - The ID of the voice channel to join. Null to disconnect.
109
- * @param {Object} [options]
110
- * @param {Boolean} [options.selfDeaf] - If the client should join deafened.
111
- * @param {Boolean} [options.selfMute] - If the client should join muted.
112
- * @returns {Promise<void>}
58
+ * @param channelID The ID of the voice channel to join. Null to disconnect.
59
+ * @param options The options for joining the voice channel.
113
60
  */
114
61
  joinVoiceChannel(channelID: string, options?: UpdateVoiceStateOptions): Promise<void>;
115
62
  /**
116
63
  * Leave a voice channel.
117
- *
118
- * @param {String} channelID - The ID of the voice channel to leave.
119
- * @returns {Promise<void>}
64
+ * @param channelID The ID of the voice channel to leave.
120
65
  */
121
66
  leaveVoiceChannel(channelID: string): Promise<void>;
122
67
  }
@@ -3,7 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const Properties_1 = __importDefault(require("./util/Properties"));
7
6
  const Constants_1 = require("./Constants");
8
7
  const RESTManager_1 = __importDefault(require("./rest/RESTManager"));
9
8
  const Collection_1 = __importDefault(require("./util/Collection"));
@@ -25,8 +24,8 @@ catch { }
25
24
  /* eslint-enable */
26
25
  /** The primary class for interfacing with Discord. */
27
26
  class Client extends TypedEmitter_1.default {
28
- /** The client's partial application (only set when using a gateway connection, at least one shard must be READY for this to be set). */
29
- application;
27
+ _application;
28
+ _user;
30
29
  channelGuildMap;
31
30
  gatewayURL;
32
31
  groupChannels;
@@ -34,71 +33,22 @@ class Client extends TypedEmitter_1.default {
34
33
  guilds;
35
34
  options;
36
35
  privateChannels;
37
- ready = false;
36
+ ready;
38
37
  rest;
39
38
  shards;
40
39
  startTime = 0;
41
40
  threadGuildMap;
42
41
  unavailableGuilds;
43
- /** The client's user (only set when using a gateway connection, at least one shard must be READY for this to be set). */
44
- user;
45
42
  users;
46
43
  util;
47
44
  voiceConnections;
48
45
  /**
49
46
  * @constructor
50
- * @param {Object} [options]
51
- * @param {Object} [options.allowedMentions] - The default allowed mentions object.
52
- * @param {Boolean} [options.allowedMentions.everyone=false] - If `@everyone`/`@here` mentions should be allowed.
53
- * @param {Boolean} [options.allowedMentions.repliedUser=false] - If the replied user (`messageReference`) should be mentioned.
54
- * @param {(Boolean | String[])} [options.allowedMentions.roles=true] - An array of role ids that are allowed to be mentioned, or a boolean value to allow all or none.
55
- * @param {(Boolean | String[])} [options.allowedMentions.users=true] - An array of user ids that are allowed to be mentioned, or a boolean value to allow all or none.
56
- * @param {String?} [options.auth] - Fully qualified authorization string (e.x. Bot [TOKEN]) - you MUST prefix it yourself
57
- * @param {ImageFormat} [options.defaultImageFormat="png"] - The default image format to use.
58
- * @param {Number} [options.defaultImageSize=4096] - The default image size to use.
59
- * @param {Object} [options.gateway] - The gateway options.
60
- * @param {Boolean} [options.gateway.autoReconnect=true] - If dropped connections should be automatically reconnected.
61
- * @param {Number} [options.gateway.compress] - If packets to and from Discord should be compressed.
62
- * @param {(Number | "auto")} [options.gateway.concurrency] - The concurrency for shard connections. If you don't know what this is, don't mess with it. Only bots in >150,000 servers can use any non-default value.
63
- * @param {Object} [options.gateway.connectionProperties] - The `properties` used when identifying.
64
- * @param {String} [options.gateway.connectionProperties.browser="Oceanic"] - The browser of the client.
65
- * @param {String} [options.gateway.connectionProperties.device="Oceanic"] - The device of the client.
66
- * @param {String} [options.gateway.connectionProperties.os=process.platform] - The operating system of the client.
67
- * @param {Number} [options.gateway.connectionTimeout=30000] - The maximum amount of time in milliseconds to wait for a connection to be established.
68
- * @param {Number} [options.gateway.firstShardID=0] - The ID of the first shard to run for this client. Mutually exclusive with `shardIDs`.
69
- * @param {Number} [options.gateway.getAllUsers=false] - The ID of the first shard to run for this client. Mutually exclusive with `shardIDs`.
70
- * @param {Number} [options.gateway.guildCreateTimeout=2000] - The number of milliseconds to wait before considering guild creations to be new guilds.
71
- * @param {(Number | IntentNames[] | Number[])} [options.gateway.intents] - The [intents](https://discord.com/developers/docs/topics/gateway#list-of-intents) to use. Either a number, array of intent names, array of numbers, or "ALL". All non privileged intents are used by default.
72
- * @param {Number} [options.gateway.largeThreshold=250] - The threshold at which guilds are considered "large" (after which offline members will not be loaded).
73
- * @param {Number} [options.gateway.lastShardID=maxShards - 1] - The ID of the last shard to run for this client. Mutually exclusive with `shardIDs`.
74
- * @param {Number} [options.gateway.maxReconnectAttempts=Infinity] - The maximum number of attempts to reconnect.
75
- * @param {Number} [options.gateway.maxResumeAttempts=10] - The maximum number of attempts to resume.
76
- * @param {(Number | "auto")} [options.gateway.maxShards=1] - The total number of shards across all running clients. Limit the number of shards per client via `firstShardID` & `lastShardID`.
77
- * @param {Object} [options.gateway.presence] - The intiial presence to use when connecting.
78
- * @param {Object[]} [options.gateway.presence.activities]
79
- * @param {String} options.gateway.presence.activities[].name - The name of the activity.
80
- * @param {BotActivityTypes} options.gateway.presence.activities[].type - The name of the activity.
81
- * @param {String} [options.gateway.presence.activities[].url] - The name of the activity.
82
- * @param {Boolean} [options.gateway.presence.afk] - If the client is afk.
83
- * @param {SendStatuses} [options.gateway.presence.status] - The [status](https://discord.com/developers/docs/topics/gateway#update-presence-status-types) to use..
84
- * @param {Function} [options.gateway.reconnectDelay] - A function to calculate the delay between reconnect attempts.
85
- * @param {Boolean} [options.gateway.seedVoiceConnections=false] - If exisitng voice connections should be populated. This will disconnect connections from other sessions.
86
- * @param {Number[]} [option.gateway.shardIDs=[]] - An array of shard IDs to run for this client. Mutually exclusive with `firstShardID` & `lastShardID`.
87
- * @param {Object} [options.gateway.ws] - The options to pass to constructed websockets.
88
- * @param {Object} [options.rest] - The options for the request handler.
89
- * @param {Agent?} [options.rest.agent=null] - The agent to use for requests.
90
- * @param {String} [options.rest.baseURL="https://discordapp.com/api/v\{REST_VERSION\}"] - The base URL to use for requests - must be a fully qualified url.
91
- * @param {Boolean} [options.rest.disableLatencyCompensation] - If the built in latency compensator should be disabled
92
- * @param {String} [options.rest.host="discord.com"] - The `Host` header to use for requests. By default, this is parsed from `baseURL`.
93
- * @param {Number} [options.rest.latencyThreshold=30000] - In milliseconds, the average request latency at which to start emitting latency errors.
94
- * @param {Number} [options.rest.ratelimiterOffset=0] - In milliseconds, the time to offset ratelimit calculations by.
95
- * @param {Number} [options.rest.requestTimeout=15000] - In milliseconds, how long to wait until a request is timed out.
96
- * @param {String} [options.rest.userAgent="Oceanic/\{VERSION\} (https://github.com/DonovanDMC/Oceanic)"] - The `User-Agent` header to use for requests.
47
+ * @param options The options to create the client with.
97
48
  */
98
49
  constructor(options) {
99
50
  super();
100
- Properties_1.default.new(this)
101
- .define("options", {
51
+ this.options = {
102
52
  allowedMentions: options?.allowedMentions || {
103
53
  everyone: false,
104
54
  repliedUser: false,
@@ -108,23 +58,38 @@ class Client extends TypedEmitter_1.default {
108
58
  auth: options?.auth || null,
109
59
  defaultImageFormat: options?.defaultImageFormat || "png",
110
60
  defaultImageSize: options?.defaultImageSize || 4096
111
- })
112
- .define("channelGuildMap", {})
113
- .define("groupChannels", new Collection_1.default(GroupChannel_1.default, this))
114
- .define("guilds", new Collection_1.default(Guild_1.default, this))
115
- .define("privateChannels", new Collection_1.default(PrivateChannel_1.default, this))
116
- .define("guildShardMap", {})
117
- .define("rest", new RESTManager_1.default(this, options?.rest))
118
- .define("shards", new ShardManager_1.default(this, options?.gateway))
119
- .define("threadGuildMap", {})
120
- .define("unavailableGuilds", new Collection_1.default(UnavailableGuild_1.default, this))
121
- .define("users", new Collection_1.default(User_1.default, this))
122
- .define("util", new Util_1.default(this))
123
- .define("voiceConnections", new VoiceConnectionManager_1.default(this));
61
+ };
62
+ this.channelGuildMap = {};
63
+ this.groupChannels = new Collection_1.default(GroupChannel_1.default, this);
64
+ this.guilds = new Collection_1.default(Guild_1.default, this);
65
+ this.privateChannels = new Collection_1.default(PrivateChannel_1.default, this);
66
+ this.ready = false;
67
+ this.guildShardMap = {};
68
+ this.rest = new RESTManager_1.default(this, options?.rest);
69
+ this.shards = new ShardManager_1.default(this, options?.gateway);
70
+ this.threadGuildMap = {};
71
+ this.unavailableGuilds = new Collection_1.default(UnavailableGuild_1.default, this);
72
+ this.users = new Collection_1.default(User_1.default, this);
73
+ this.util = new Util_1.default(this);
74
+ this.voiceConnections = new VoiceConnectionManager_1.default(this);
75
+ }
76
+ /** The client's partial application. This will throw an error if not using a gateway connection or no shard is READY. **/
77
+ get application() {
78
+ if (!this._application)
79
+ throw new Error("Cannot access `client.application` without having at least one shard marked as READY.");
80
+ else
81
+ return this._application;
82
+ }
83
+ /** The client's user application. This will throw an error if not using a gateway connection or no shard is READY. **/
84
+ get user() {
85
+ if (!this._user)
86
+ throw new Error("Cannot access `client.user` without having at least one shard marked as READY.");
87
+ else
88
+ return this._user;
124
89
  }
125
90
  async connect() {
126
91
  if (!this.options.auth || !this.options.auth.startsWith("Bot "))
127
- throw new Error("You must provide a bot token to connect.");
92
+ throw new Error("You must provide a bot token to connect. Make sure it has been prefixed with `Bot `.");
128
93
  let url, data;
129
94
  try {
130
95
  if (this.shards.options.maxShards === -1 || this.shards.options.concurrency === -1) {
@@ -170,13 +135,8 @@ class Client extends TypedEmitter_1.default {
170
135
  }
171
136
  /**
172
137
  * Edit the client's status across all shards.
173
- *
174
- * @param {SendStatuses} status - The status.
175
- * @param {BotActivity[]} [activities] - An array of activities.
176
- * @param {BotActivityTypes} [activities[].type] - The activity type.
177
- * @param {String} [activities[].name] - The activity name.
178
- * @param {String} [activities[].url] - The activity url.
179
- * @returns
138
+ * @param status The status.
139
+ * @param activities An array of activities.
180
140
  */
181
141
  async editStatus(status, activities = []) {
182
142
  return this.shards.forEach(shard => shard.editStatus(status, activities));
@@ -188,12 +148,8 @@ class Client extends TypedEmitter_1.default {
188
148
  }
189
149
  /**
190
150
  * Join a voice channel.
191
- *
192
- * @param {String?} channelID - The ID of the voice channel to join. Null to disconnect.
193
- * @param {Object} [options]
194
- * @param {Boolean} [options.selfDeaf] - If the client should join deafened.
195
- * @param {Boolean} [options.selfMute] - If the client should join muted.
196
- * @returns {Promise<void>}
151
+ * @param channelID The ID of the voice channel to join. Null to disconnect.
152
+ * @param options The options for joining the voice channel.
197
153
  */
198
154
  async joinVoiceChannel(channelID, options) {
199
155
  const channel = this.getChannel(channelID);
@@ -206,9 +162,7 @@ class Client extends TypedEmitter_1.default {
206
162
  }
207
163
  /**
208
164
  * Leave a voice channel.
209
- *
210
- * @param {String} channelID - The ID of the voice channel to leave.
211
- * @returns {Promise<void>}
165
+ * @param channelID The ID of the voice channel to leave.
212
166
  */
213
167
  async leaveVoiceChannel(channelID) {
214
168
  const channel = this.getChannel(channelID);
@@ -218,4 +172,4 @@ class Client extends TypedEmitter_1.default {
218
172
  }
219
173
  }
220
174
  exports.default = Client;
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL0NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1FQUEyQztBQUUzQywyQ0FBeUU7QUFDekUscUVBQTZDO0FBQzdDLG1FQUEyQztBQUMzQyxpRkFBeUQ7QUFDekQsNkVBQXFEO0FBQ3JELDZEQUFxQztBQUNyQywrREFBdUM7QUFLdkMsdUVBQStDO0FBRS9DLDBFQUFrRDtBQVFsRCxxRkFBNkQ7QUFDN0QsNEZBQW9FO0FBSXBFLHVEQUErQjtBQUcvQixvQkFBb0I7QUFDcEIsSUFBSSxPQUE2QyxDQUFDO0FBQ2xELElBQUk7SUFDQSxPQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0NBQ2hDO0FBQUMsTUFBTSxHQUFFO0FBQ1YsbUJBQW1CO0FBRW5CLHNEQUFzRDtBQUN0RCxNQUFxQixNQUFPLFNBQVEsc0JBQTBCO0lBQzFELHdJQUF3STtJQUN4SSxXQUFXLENBQW9CO0lBQy9CLGVBQWUsQ0FBeUI7SUFDeEMsVUFBVSxDQUFTO0lBQ25CLGFBQWEsQ0FBb0Q7SUFDakUsYUFBYSxDQUF5QjtJQUN0QyxNQUFNLENBQXNDO0lBQzVDLE9BQU8sQ0FBd0I7SUFDL0IsZUFBZSxDQUF3RDtJQUN2RSxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ2QsSUFBSSxDQUFjO0lBQ2xCLE1BQU0sQ0FBZTtJQUNyQixTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsY0FBYyxDQUF5QjtJQUN2QyxpQkFBaUIsQ0FBNEQ7SUFDN0UseUhBQXlIO0lBQ3pILElBQUksQ0FBZTtJQUNuQixLQUFLLENBQW9DO0lBQ3pDLElBQUksQ0FBTztJQUNYLGdCQUFnQixDQUF5QjtJQUN6Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQWlERztJQUNILFlBQVksT0FBdUI7UUFDL0IsS0FBSyxFQUFFLENBQUM7UUFDUixvQkFBVSxDQUFDLEdB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
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL0NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDJDQUE0RDtBQUM1RCxxRUFBNkM7QUFDN0MsbUVBQTJDO0FBQzNDLGlGQUF5RDtBQUN6RCw2RUFBcUQ7QUFDckQsNkRBQXFDO0FBQ3JDLCtEQUF1QztBQUt2Qyx1RUFBK0M7QUFFL0MsMEVBQWtEO0FBRWxELHFGQUE2RDtBQUM3RCw0RkFBb0U7QUFJcEUsdURBQStCO0FBRS9CLG9CQUFvQjtBQUNwQixJQUFJLE9BQTZDLENBQUM7QUFDbEQsSUFBSTtJQUNBLE9BQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7Q0FDaEM7QUFBQyxNQUFNLEdBQUU7QUFDVixtQkFBbUI7QUFFbkIsc0RBQXNEO0FBQ3RELE1BQXFCLE1BQU8sU0FBUSxzQkFBMEI7SUFDbEQsWUFBWSxDQUFxQjtJQUNqQyxLQUFLLENBQWdCO0lBQzdCLGVBQWUsQ0FBeUI7SUFDeEMsVUFBVSxDQUFVO0lBQ3BCLGFBQWEsQ0FBb0Q7SUFDakUsYUFBYSxDQUF5QjtJQUN0QyxNQUFNLENBQXNDO0lBQzVDLE9BQU8sQ0FBd0I7SUFDL0IsZUFBZSxDQUF3RDtJQUN2RSxLQUFLLENBQVU7SUFDZixJQUFJLENBQWM7SUFDbEIsTUFBTSxDQUFlO0lBQ3JCLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDZCxjQUFjLENBQXlCO0lBQ3ZDLGlCQUFpQixDQUE0RDtJQUM3RSxLQUFLLENBQW9DO0lBQ3pDLElBQUksQ0FBTztJQUNYLGdCQUFnQixDQUF5QjtJQUN6Qzs7O09BR0c7SUFDSCxZQUFZLE9BQXVCO1FBQy9CLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNYLGVBQWUsRUFBRSxPQUFPLEVBQUUsZUFBZSxJQUFJO2dCQUN6QyxRQUFRLEVBQUssS0FBSztnQkFDbEIsV0FBVyxFQUFFLEtBQUs7Z0JBQ2xCLEtB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
@@ -30,11 +30,13 @@ export declare enum UserFlags {
30
30
  HYPESQUAD_BALANCE = 256,
31
31
  EARLY_SUPPORTER = 512,
32
32
  PSUEDO_TEAM_USER = 1024,
33
+ SYSTEM = 4096,
33
34
  BUG_HUNTER_LEVEL_2 = 16384,
34
35
  VERIFIED_BOT = 65536,
35
36
  VERIFIED_DEVELOPER = 131072,
36
37
  CERTIFIED_MODERATOR = 262144,
37
- BOT_HTTP_INTERACTIONS = 524288
38
+ BOT_HTTP_INTERACTIONS = 524288,
39
+ SPAMMER = 1048576
38
40
  }
39
41
  export declare enum ApplicationFlags {
40
42
  EMBEDDED_RELEASED = 2,
@@ -51,7 +53,7 @@ export declare enum ApplicationFlags {
51
53
  EMBEDDED_FIRST_PARTY = 1048576,
52
54
  APPLICATION_COMMAND_BADGE = 2097152
53
55
  }
54
- export declare const GuildFeatures: readonly ["ANIMATED_BANNER", "ANIMATED_ICON", "BANNER", "COMMERCE", "COMMUNITY", "CREATOR_MONETIZABLE", "CREATOR_MONETIZABLE_DISABLED", "DISCOVERABLE", "DISCOVERABLE_DISABLED", "ENABLED_DISCOVERABLE_BEFORE", "FEATURABLE", "GUILD_HOME_TEST", "HAS_DIRECTORY_ENTRY", "HUB", "INVITE_SPLASH", "LINKED_TO_HUB", "MEMBER_VERIFICATION_GATE_ENABLED", "MONETIZATION_ENABLED", "MORE_EMOJI", "MORE_EMOJIS", "MORE_STICKERS", "NEWS", "NEW_THREAD_PERMISSIONS", "PARTNERED", "PREVIEW_ENABLED", "PREVIOUSLY_DISCOVERABLE", "PRIVATE_THREADS", "ROLE_ICONS", "ROLE_SUBSCRIPTIONS_AVAILABLE_FOR_PURCHASE", "ROLE_SUBSCRIPTIONS_ENABLED", "SEVEN_DAY_THREAD_ARCHIVE", "TEXT_IN_VOICE_ENABLED", "THREADS_ENABLED", "THREADS_ENABLED_TESTING", "THREE_DAY_THREAD_ARCHIVE", "THREADS_ENABLED", "TICKETED_EVENTS_ENABLED", "VANITY_URL", "VERIFIED", "VIP_REGIONS", "WELCOME_SCREEN_ENABLED"];
56
+ export declare const GuildFeatures: readonly ["AUTO_MODERATION", "ANIMATED_BANNER", "ANIMATED_ICON", "BANNER", "COMMERCE", "COMMUNITY", "CREATOR_MONETIZABLE", "CREATOR_MONETIZABLE_DISABLED", "DISCOVERABLE", "DISCOVERABLE_DISABLED", "ENABLED_DISCOVERABLE_BEFORE", "FEATURABLE", "GUILD_HOME_TEST", "HAS_DIRECTORY_ENTRY", "HUB", "INVITE_SPLASH", "LINKED_TO_HUB", "MEMBER_VERIFICATION_GATE_ENABLED", "MONETIZATION_ENABLED", "MORE_EMOJI", "MORE_EMOJIS", "MORE_STICKERS", "NEWS", "NEW_THREAD_PERMISSIONS", "PARTNERED", "PREVIEW_ENABLED", "PREVIOUSLY_DISCOVERABLE", "PRIVATE_THREADS", "ROLE_ICONS", "ROLE_SUBSCRIPTIONS_AVAILABLE_FOR_PURCHASE", "ROLE_SUBSCRIPTIONS_ENABLED", "SEVEN_DAY_THREAD_ARCHIVE", "TEXT_IN_VOICE_ENABLED", "THREADS_ENABLED", "THREADS_ENABLED_TESTING", "THREE_DAY_THREAD_ARCHIVE", "THREADS_ENABLED", "TICKETED_EVENTS_ENABLED", "VANITY_URL", "VERIFIED", "VIP_REGIONS", "WELCOME_SCREEN_ENABLED"];
55
57
  export declare type GuildFeature = typeof GuildFeatures[number];
56
58
  export declare enum DefaultMessageNotificationLevels {
57
59
  ALL_MESSAGES = 0,
@@ -114,7 +116,7 @@ export declare enum ChannelTypes {
114
116
  GUILD_DIRECTORY = 14,
115
117
  GUILD_FORUM = 15
116
118
  }
117
- export declare type NotImplementedChannelTypes = ChannelTypes.GUILD_DIRECTORY | ChannelTypes.GUILD_FORUM;
119
+ export declare type NotImplementedChannelTypes = ChannelTypes.GUILD_DIRECTORY;
118
120
  export declare type PrivateChannelTypes = ChannelTypes.DM | ChannelTypes.GROUP_DM;
119
121
  export declare type GuildChannelTypes = Exclude<ChannelTypes, PrivateChannelTypes | NotImplementedChannelTypes>;
120
122
  export declare type GuildChannelTypesWithoutThreads = Exclude<GuildChannelTypes, ThreadChannelTypes>;
@@ -194,7 +196,10 @@ export declare const AllTextPermissions: bigint;
194
196
  export declare const AllVoicePermissions: bigint;
195
197
  export declare const AllPermissions: bigint;
196
198
  export declare enum ChannelFlags {
197
- PINNED = 2
199
+ /** For threads, if this thread is pinned in a forum channel. */
200
+ PINNED = 2,
201
+ /** For forums, if tags are required when creating threads. */
202
+ FORUM_TAG_REQUIRED = 16
198
203
  }
199
204
  export declare enum TeamMembershipState {
200
205
  INVITED = 1,
@@ -331,16 +336,18 @@ export declare enum InviteTargetTypes {
331
336
  STREAM = 1,
332
337
  EMBEDDED_APPLICATION = 2
333
338
  }
334
- export declare enum ScheduledEventPrivacyLevels {
339
+ export declare enum GuildScheduledEventPrivacyLevels {
340
+ /** @deprecated */
341
+ PUBLIC = 1,
335
342
  GUILD_ONLY = 2
336
343
  }
337
- export declare enum ScheduledEventStatuses {
344
+ export declare enum GuildScheduledEventStatuses {
338
345
  SCHEDULED = 1,
339
346
  ACTIVE = 2,
340
347
  COMPLETED = 3,
341
- CANCELLED = 4
348
+ CANCELED = 4
342
349
  }
343
- export declare enum ScheduledEventEntityTypes {
350
+ export declare enum GuildScheduledEventEntityTypes {
344
351
  STAGE_INSTANCE = 1,
345
352
  VOICE = 2,
346
353
  EXTERNAL = 3
@@ -556,3 +563,9 @@ export declare enum ActivityFlags {
556
563
  PARTY_PRIVACY_VOICE_CHANNEL = 128,
557
564
  EMBEDDED = 256
558
565
  }
566
+ export declare enum ThreadMemberFlags {
567
+ HAS_INTERACTED = 1,
568
+ ALL_MESSAGES = 2,
569
+ ONLY_MENTIONS = 4,
570
+ NO_MESSAGES = 8
571
+ }