From 2efb496bf75be15adf0fed2b07da57d027e40631 Mon Sep 17 00:00:00 2001
From: Elysia <71698422+aiko-chan-ai@users.noreply.github.com>
Date: Wed, 24 Jul 2024 20:22:47 +0700
Subject: [PATCH] release: v3.3.0
---
README.md | 4 ++--
docs/main.json | 2 +-
package.json | 2 +-
src/client/voice/dispatcher/VideoDispatcher.js | 1 -
typings/index.d.ts | 5 ++++-
5 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/README.md b/README.md
index e66b7ea7..a6ee21de 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@
## About
-Welcome to `discord.js-selfbot-v13@v3.2`, based on `discord.js@13.17`
+Welcome to `discord.js-selfbot-v13@v3.3`, based on `discord.js@13.17`
- discord.js-selfbot-v13 is a [Node.js](https://nodejs.org) module that allows user accounts to interact with the Discord API v9.
@@ -38,7 +38,7 @@
- [X] Interactions: Slash Commands, Buttons, Menu, Modal
- [X] Captcha Handler (2captcha, capmonster, custom)
- [X] Documentation
-- [x] Voice & [Video stream](https://github.com/aiko-chan-ai/discord.js-selfbot-v13/issues/293)
+- [x] Voice & Video stream
- [ ] Everything
## Installation
diff --git a/docs/main.json b/docs/main.json
index a666d7a8..4116d9ce 100644
--- a/docs/main.json
+++ b/docs/main.json
@@ -1 +1 @@
-{"meta":{"generator":"0.11.1","format":20,"date":1721824917950},"custom":{"general":{"name":"General","files":{"welcome":{"name":"Welcome","type":"md","content":"
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n## About\r\n\r\nWelcome to `discord.js-selfbot-v13@v3.2`, based on `discord.js@13.17`\r\n\r\n- discord.js-selfbot-v13 is a [Node.js](https://nodejs.org) module that allows user accounts to interact with the Discord API v9.\r\n\r\n\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n### I don't take any responsibility for blocked Discord accounts that used this module.\r\n### Using this on a user account is prohibited by the [Discord TOS](https://discord.com/terms) and can lead to the account block.\r\n\r\n## Project Status\r\n\r\n`discord.js-selfbot-v13` is currently in maintenance mode. New features are not actively being added but existing features and new versions of discord are supported as possible. There are some major architectural changes which need to be added to improve the stability and security of the project. I don't have as much spare time as I did when I started this project, so there is not currently any plan for these improvements.\r\n\r\n### [Document Website](https://discordjs-self-v13.netlify.app/)\r\n\r\n### [Example Code](https://github.com/aiko-chan-ai/discord.js-selfbot-v13/tree/main/examples)\r\n\r\n## Features (User)\r\n- [x] Message: Embeds (WebEmbed)\r\n- [x] User: Status, Activity, RemoteAuth, etc.\r\n- [X] Guild: Fetch Members, Join / Leave, Top emojis, ...\r\n- [X] Interactions: Slash Commands, Buttons, Menu, Modal\r\n- [X] Captcha Handler (2captcha, capmonster, custom)\r\n- [X] Documentation\r\n- [x] Voice & [Video stream](https://github.com/aiko-chan-ai/discord.js-selfbot-v13/issues/293)\r\n- [ ] Everything\r\n\r\n## Installation\r\n\r\n**Node.js 16.6.0 or newer is required**\r\n\r\n> Recommended Node.js version: 18+ (LTS)\r\n\r\n```sh-session\r\nnpm install discord.js-selfbot-v13@latest\r\n```\r\n\r\n## Example\r\n\r\n```js\r\nconst { Client } = require('discord.js-selfbot-v13');\r\nconst client = new Client();\r\n\r\nclient.on('ready', async () => {\r\n console.log(`${client.user.username} is ready!`);\r\n})\r\n\r\nclient.login('token');\r\n```\r\n\r\n## Get Token ?\r\n\r\nRun code (Discord Console - [Ctrl + Shift + I])\r\n\r\n```js\r\nwindow.webpackChunkdiscord_app.push([\r\n [Math.random()],\r\n {},\r\n req => {\r\n if (!req.c) return;\r\n for (const m of Object.keys(req.c)\r\n .map(x => req.c[x].exports)\r\n .filter(x => x)) {\r\n if (m.default && m.default.getToken !== undefined) {\r\n return copy(m.default.getToken());\r\n }\r\n if (m.getToken !== undefined) {\r\n return copy(m.getToken());\r\n }\r\n }\r\n },\r\n]);\r\nconsole.log('%cWorked!', 'font-size: 50px');\r\nconsole.log(`%cYou now have your token in the clipboard!`, 'font-size: 16px');\r\n```\r\n\r\n## Contributing\r\n\r\n- Before creating an issue, please ensure that it hasn't already been reported/suggested, and double-check the\r\n[documentation](https://discordjs-self-v13.netlify.app/). \r\n- See [the contribution guide](https://github.com/discordjs/discord.js/blob/main/.github/CONTRIBUTING.md) if you'd like to submit a PR.\r\n\r\n## Need help?\r\nGithub Discussion: [Here](https://github.com/aiko-chan-ai/discord.js-selfbot-v13/discussions)\r\n\r\n## Credits\r\n- [Discord.js](https://github.com/discordjs/discord.js)\r\n\r\n## Other project(s)\r\n\r\n- 📘 [***aiko-chan-ai/DiscordBotClient***](https://github.com/aiko-chan-ai/DiscordBotClient)
\r\n A patched version of discord, with bot login support\r\n\r\n## Star History\r\n\r\n[![Star History Chart](https://api.star-history.com/svg?repos=aiko-chan-ai/discord.js-selfbot-v13&type=Date)](https://star-history.com/#aiko-chan-ai/discord.js-selfbot-v13&Date)\r\n\r\n\r\n# From Github with love 💕\r\n","path":"README.md"}}}},"classes":[{"name":"BaseClient","description":"The base class for all clients.","extends":[[["EventEmitter"]]],"props":[{"name":"options","description":"The options the client was instantiated with","type":[[["ClientOptions"]]],"meta":{"line":25,"file":"BaseClient.js","path":"src/client"}},{"name":"rest","description":"The REST manager of the client","access":"private","type":[[["RESTManager"]]],"meta":{"line":32,"file":"BaseClient.js","path":"src/client"}},{"name":"api","description":"API shortcut","access":"private","readonly":true,"type":[[["Object"]]],"meta":{"line":41,"file":"BaseClient.js","path":"src/client"}}],"methods":[{"name":"destroy","description":"Destroys all assets used by the base client.","returns":[[["void"]]],"meta":{"line":49,"file":"BaseClient.js","path":"src/client"}},{"name":"incrementMaxListeners","description":"Increments max listeners by one, if they are not zero.","access":"private","meta":{"line":57,"file":"BaseClient.js","path":"src/client"}},{"name":"decrementMaxListeners","description":"Decrements max listeners by one, if they are not zero.","access":"private","meta":{"line":68,"file":"BaseClient.js","path":"src/client"}}],"events":[{"name":"debug","description":"Emitted for general debugging information.","params":[{"name":"info","description":"The debug information","type":[[["string"]]]}],"meta":{"line":82,"file":"BaseClient.js","path":"src/client"}},{"name":"rateLimit","description":"Emitted when the client hits a rate limit while making a request","params":[{"name":"rateLimitData","description":"Object containing the rate limit info","type":[[["RateLimitData"]]]}],"meta":{"line":138,"file":"RequestHandler.js","path":"src/rest"}},{"name":"apiRequest","description":"Emitted before every API request.\nThis event can emit several times for the same request, e.g. when hitting a rate limit.\nThis is an informational event that is emitted quite frequently,\nit is highly recommended to check `request.path` to filter the data.","params":[{"name":"request","description":"The request that is about to be sent","type":[[["APIRequest"]]]}],"meta":{"line":189,"file":"RequestHandler.js","path":"src/rest"}},{"name":"apiResponse","description":"Emitted after every API request has received a response.\nThis event does not necessarily correlate to completion of the request, e.g. when hitting a rate limit.\nThis is an informational event that is emitted quite frequently,\nit is highly recommended to check `request.path` to filter the data.","params":[{"name":"request","description":"The request that triggered this response","type":[[["APIRequest"]]]},{"name":"response","description":"The response received from the Discord API","type":[[["Response"]]]}],"meta":{"line":221,"file":"RequestHandler.js","path":"src/rest"}},{"name":"invalidRequestWarning","description":"Emitted periodically when the process sends invalid requests to let users avoid the\n10k invalid requests in 10 minutes threshold that causes a ban","params":[{"name":"invalidRequestWarningData","description":"Object containing the invalid request info","type":[[["InvalidRequestWarningData"]]]}],"meta":{"line":298,"file":"RequestHandler.js","path":"src/rest"}}],"meta":{"line":13,"file":"BaseClient.js","path":"src/client"}},{"name":"Client","description":"The main hub for interacting with the Discord API, and the starting point for any bot.","extends":[[["BaseClient"]]],"construct":{"name":"Client","params":[{"name":"options","description":"Options for the client","optional":true,"type":[[["ClientOptions"]]]}]},"props":[{"name":"_cleanups","description":"Functions called when a cache is garbage collected or the Client is destroyed","access":"private","type":[[["Set","<"],["function","()>"]]],"meta":{"line":58,"file":"Client.js","path":"src/client"}},{"name":"_finalizers","description":"The finalizers used to cleanup items.","access":"private","type":[[["FinalizationRegistry"]]],"meta":{"line":65,"file":"Client.js","path":"src/client"}},{"name":"ws","description":"The WebSocket manager of the client","type":[[["WebSocketManager"]]],"meta":{"line":71,"file":"Client.js","path":"src/client"}},{"name":"actions","description":"The action manager of the client","access":"private","type":[[["ActionsManager"]]],"meta":{"line":78,"file":"Client.js","path":"src/client"}},{"name":"voice","description":"The voice manager of the client","type":[[["ClientVoiceManager"]]],"meta":{"line":84,"file":"Client.js","path":"src/client"}},{"name":"voiceStates","description":"A manager of the voice states of this client (Support DM / Group DM)","type":[[["VoiceStateManager"]]],"meta":{"line":90,"file":"Client.js","path":"src/client"}},{"name":"shard","description":"Shard helpers for the client (only if the process was spawned from a {@link ShardingManager})","nullable":true,"type":[[["ShardClientUtil"]]],"meta":{"line":96,"file":"Client.js","path":"src/client"}},{"name":"users","description":"All of the {@link User} objects that have been cached at any point, mapped by their ids","type":[[["UserManager"]]],"meta":{"line":104,"file":"Client.js","path":"src/client"}},{"name":"guilds","description":"All of the guilds the client is currently handling, mapped by their ids -\nas long as sharding isn't being used, this will be *every* guild the bot is a member of","type":[[["GuildManager"]]],"meta":{"line":111,"file":"Client.js","path":"src/client"}},{"name":"channels","description":"All of the {@link Channel}s that the client is currently handling, mapped by their ids -\nas long as sharding isn't being used, this will be *every* channel in *every* guild the bot\nis a member of. Note that DM channels will not be initially cached, and thus not be present\nin the Manager without their explicit fetching or use.","type":[[["ChannelManager"]]],"meta":{"line":120,"file":"Client.js","path":"src/client"}},{"name":"sweepers","description":"The sweeping functions and their intervals used to periodically sweep caches","type":[[["Sweepers"]]],"meta":{"line":126,"file":"Client.js","path":"src/client"}},{"name":"presence","description":"The presence of the Client","access":"private","type":[[["ClientPresence"]]],"meta":{"line":133,"file":"Client.js","path":"src/client"}},{"name":"presences","description":"A manager of the presences belonging to this client","type":[[["PresenceManager"]]],"meta":{"line":139,"file":"Client.js","path":"src/client"}},{"name":"notes","description":"All of the note that have been cached at any point, mapped by their ids","type":[[["UserManager"]]],"meta":{"line":145,"file":"Client.js","path":"src/client"}},{"name":"relationships","description":"All of the relationships {@link User}","type":[[["RelationshipManager"]]],"meta":{"line":151,"file":"Client.js","path":"src/client"}},{"name":"billing","description":"Manages the API methods","type":[[["BillingManager"]]],"meta":{"line":157,"file":"Client.js","path":"src/client"}},{"name":"settings","description":"All of the settings {@link Object}","type":[[["ClientUserSettingManager"]]],"meta":{"line":163,"file":"Client.js","path":"src/client"}},{"name":"token","description":"Authorization token for the logged in bot.\nIf present, this defaults to `process.env.DISCORD_TOKEN` when instantiating the client\nThis should be kept private at all times.","nullable":true,"type":[[["string"]]],"meta":{"line":173,"file":"Client.js","path":"src/client"}},{"name":"user","description":"User that the client is logged in as","nullable":true,"type":[[["ClientUser"]]],"meta":{"line":182,"file":"Client.js","path":"src/client"}},{"name":"readyAt","description":"Time at which the client was last regarded as being in the `READY` state\n(each time the client disconnects and successfully reconnects, this will be overwritten)","nullable":true,"type":[[["Date"]]],"meta":{"line":189,"file":"Client.js","path":"src/client"}},{"name":"emojis","description":"All custom emojis that the client has access to, mapped by their ids","readonly":true,"type":[[["BaseGuildEmojiManager"]]],"meta":{"line":208,"file":"Client.js","path":"src/client"}},{"name":"readyTimestamp","description":"Timestamp of the time the client was last `READY` at","readonly":true,"nullable":true,"type":[[["number"]]],"meta":{"line":221,"file":"Client.js","path":"src/client"}},{"name":"uptime","description":"How long it has been since the client last entered the `READY` state in milliseconds","readonly":true,"nullable":true,"type":[[["number"]]],"meta":{"line":230,"file":"Client.js","path":"src/client"}},{"name":"sessionId","description":"The current session id of the shard","nullable":true,"type":[[["string"]]],"meta":{"line":548,"file":"Client.js","path":"src/client"}},{"name":"options","description":"The options the client was instantiated with","type":[[["ClientOptions"]]],"meta":{"line":25,"file":"BaseClient.js","path":"src/client"}},{"name":"rest","description":"The REST manager of the client","access":"private","type":[[["RESTManager"]]],"meta":{"line":32,"file":"BaseClient.js","path":"src/client"}},{"name":"api","description":"API shortcut","access":"private","readonly":true,"type":[[["Object"]]],"meta":{"line":41,"file":"BaseClient.js","path":"src/client"}}],"methods":[{"name":"login","description":"Logs the client in, establishing a WebSocket connection to Discord.","examples":["client.login('my token');"],"params":[{"name":"token","description":"Token of the account to log in with","optional":true,"default":"this.token","type":[[["string"]]]}],"async":true,"returns":{"types":[[["Promise","<"],["string",">"]]],"description":"Token of the account used"},"meta":{"line":241,"file":"Client.js","path":"src/client"}},{"name":"passLogin","description":"Logs the client in, establishing a WebSocket connection to Discord.","examples":["client.passLogin(\"test@gmail.com\", \"SuperSecretPa$$word\", 1234)"],"params":[{"name":"email","description":"The email associated with the account","type":[[["string"]]]},{"name":"password","description":"The password assicated with the account","type":[[["string"]]]},{"name":"code","description":"The mfa code if you have it enabled","optional":true,"default":null,"type":[[["string"]],[["number"]]]}],"async":true,"returns":{"types":[[["string"]],[["null"]]],"description":"Token of the account used"},"meta":{"line":291,"file":"Client.js","path":"src/client"}},{"name":"isReady","description":"Returns whether the client has logged in, indicative of being able to access\nproperties such as `user` and `application`.","returns":[[["boolean"]]],"meta":{"line":319,"file":"Client.js","path":"src/client"}},{"name":"destroy","description":"Logs out, terminates the connection to Discord, and destroys the client.","returns":[[["void"]]],"meta":{"line":327,"file":"Client.js","path":"src/client"}},{"name":"logout","description":"Logs out, terminates the connection to Discord, destroys the client and destroys the token.","async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":344,"file":"Client.js","path":"src/client"}},{"name":"fetchInvite","description":"Obtains an invite from Discord.","examples":["client.fetchInvite('https://discord.gg/djs')\n .then(invite => console.log(`Obtained invite with code: ${invite.code}`))\n .catch(console.error);"],"params":[{"name":"invite","description":"Invite code or URL","type":[[["InviteResolvable"]]]},{"name":"options","description":"Options for fetching the invite","optional":true,"type":[[["ClientFetchInviteOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Invite",">"]]],"meta":{"line":371,"file":"Client.js","path":"src/client"}},{"name":"fetchGuildTemplate","description":"Obtains a template from Discord.","examples":["client.fetchGuildTemplate('https://discord.new/FKvmczH2HyUf')\n .then(template => console.log(`Obtained template with code: ${template.code}`))\n .catch(console.error);"],"params":[{"name":"template","description":"Template code or URL","type":[[["GuildTemplateResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["GuildTemplate",">"]]],"meta":{"line":388,"file":"Client.js","path":"src/client"}},{"name":"fetchWebhook","description":"Obtains a webhook from Discord.","examples":["client.fetchWebhook('id', 'token')\n .then(webhook => console.log(`Obtained webhook with name: ${webhook.name}`))\n .catch(console.error);"],"params":[{"name":"id","description":"The webhook's id","type":[[["Snowflake"]]]},{"name":"token","description":"Token for the webhook","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Webhook",">"]]],"meta":{"line":404,"file":"Client.js","path":"src/client"}},{"name":"fetchVoiceRegions","description":"Obtains the available voice regions from Discord.","examples":["client.fetchVoiceRegions()\n .then(regions => console.log(`Available regions are: ${regions.map(region => region.name).join(', ')}`))\n .catch(console.error);"],"async":true,"returns":[[["Promise","<"],["Collection","<"],["string",", "],["VoiceRegion",">>"]]],"meta":{"line":417,"file":"Client.js","path":"src/client"}},{"name":"fetchSticker","description":"Obtains a sticker from Discord.","examples":["client.fetchSticker('id')\n .then(sticker => console.log(`Obtained sticker with name: ${sticker.name}`))\n .catch(console.error);"],"params":[{"name":"id","description":"The sticker's id","type":[[["Snowflake"]]]}],"async":true,"returns":[[["Promise","<"],["Sticker",">"]]],"meta":{"line":433,"file":"Client.js","path":"src/client"}},{"name":"fetchPremiumStickerPacks","description":"Obtains the list of sticker packs available to Nitro subscribers from Discord.","examples":["client.fetchPremiumStickerPacks()\n .then(packs => console.log(`Available sticker packs are: ${packs.map(pack => pack.name).join(', ')}`))\n .catch(console.error);"],"async":true,"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["StickerPack",">>"]]],"meta":{"line":446,"file":"Client.js","path":"src/client"}},{"name":"_finalize","description":"A last ditch cleanup function for garbage collection.","access":"private","params":[{"name":"options.cleanup","description":"The function called to GC","type":[[["function"]]]},{"name":"options.message","description":"The message to send after a successful GC","optional":true,"type":[[["string"]]]},{"name":"options.name","description":"The name of the item being GCed","optional":true,"type":[[["string"]]]}],"meta":{"line":457,"file":"Client.js","path":"src/client"}},{"name":"sweepMessages","description":"Sweeps all text-based channels' messages and removes the ones older than the max message lifetime.\nIf the message has been edited, the time of the edit is used rather than the time of the original message.","examples":["// Remove all messages older than 1800 seconds from the messages cache\nconst amount = client.sweepMessages(1800);\nconsole.log(`Successfully removed ${amount} messages from the cache.`);"],"params":[{"name":"lifetime","description":"Messages that are older than this (in seconds)\nwill be removed from the caches. The default is based on {@link ClientOptions#messageCacheLifetime}","optional":true,"default":"this.options.messageCacheLifetime","type":[[["number"]]]}],"returns":{"types":[[["number"]]],"description":"Amount of messages that were removed from the caches,\nor -1 if the message cache lifetime is unlimited"},"meta":{"line":481,"file":"Client.js","path":"src/client"}},{"name":"fetchGuildPreview","description":"Obtains a guild preview from Discord, available for all guilds the bot is in and all Discoverable guilds.","params":[{"name":"guild","description":"The guild to fetch the preview for","type":[[["GuildResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["GuildPreview",">"]]],"meta":{"line":500,"file":"Client.js","path":"src/client"}},{"name":"fetchGuildWidget","description":"Obtains the widget data of a guild from Discord, available for guilds with the widget enabled.","params":[{"name":"guild","description":"The guild to fetch the widget data for","type":[[["GuildResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["Widget",">"]]],"meta":{"line":512,"file":"Client.js","path":"src/client"}},{"name":"sleep","description":"The sleep function in JavaScript returns a promise that resolves after a specified timeout.","params":[{"name":"timeout","description":"The timeout parameter is the amount of time, in milliseconds, that the sleep\nfunction will wait before resolving the promise and continuing execution.","type":[[["number"]]]}],"returns":{"types":[[["void"]]],"description":"The `sleep` function is returning a Promise."},"meta":{"line":534,"file":"Client.js","path":"src/client"}},{"name":"acceptInvite","description":"Join this Guild / GroupDMChannel using this invite","examples":["await client.acceptInvite('https://discord.gg/genshinimpact', { bypassOnboarding: true, bypassVerify: true })"],"params":[{"name":"invite","description":"Invite code or URL","type":[[["InviteResolvable"]]]},{"name":"options","description":"Options","optional":true,"type":[[["AcceptInviteOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Guild","|"],["DMChannel","|"],["GroupDMChannel",")>"]]],"meta":{"line":567,"file":"Client.js","path":"src/client"}},{"name":"redeemNitro","description":"Redeem nitro from code or url.","params":[{"name":"nitro","description":"Nitro url or code","type":[[["string"]]]},{"name":"channel","description":"Channel that the code was sent in","optional":true,"type":[[["TextChannelResolvable"]]]},{"name":"paymentSourceId","description":"Payment source id","optional":true,"type":[[["Snowflake"]]]}],"returns":[[["Promise","<"],["any",">"]]],"meta":{"line":654,"file":"Client.js","path":"src/client"}},{"name":"authorizeURL","description":"Authorize an application.","examples":["client.authorizeURL(`https://discord.com/api/oauth2/authorize?client_id=botID&permissions=8&scope=applications.commands%20bot`, {\n guild_id: \"guildID\",\n permissions: \"62221393\", // your permissions\n authorize: true\n })"],"params":[{"name":"url","description":"Discord Auth URL","type":[[["string"]]]},{"name":"options","description":"Oauth2 options","type":[[["OAuth2AuthorizeOptions"]]]}],"returns":[[["Promise","<"],["any",">"]]],"meta":{"line":689,"file":"Client.js","path":"src/client"}},{"name":"installUserApps","description":"Install User Apps","params":[{"name":"applicationId","description":"Discord Application id","type":[[["Snowflake"]]]}],"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":713,"file":"Client.js","path":"src/client"}},{"name":"deauthorize","description":"Deauthorize an application.","params":[{"name":"applicationId","description":"Discord Application id","type":[[["Snowflake"]]]}],"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":746,"file":"Client.js","path":"src/client"}},{"name":"_eval","description":"Calls {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval} on a script\nwith the client as `this`.","access":"private","params":[{"name":"script","description":"Script to eval","type":[[["string"]]]}],"returns":[["*"]],"meta":{"line":760,"file":"Client.js","path":"src/client"}},{"name":"_validateOptions","description":"Validates the client options.","access":"private","params":[{"name":"options","description":"Options to validate","optional":true,"default":"this.options","type":[[["ClientOptions"]]]}],"meta":{"line":769,"file":"Client.js","path":"src/client"}},{"name":"incrementMaxListeners","description":"Increments max listeners by one, if they are not zero.","access":"private","inherits":"BaseClient#incrementMaxListeners","inherited":true,"meta":{"line":57,"file":"BaseClient.js","path":"src/client"}},{"name":"decrementMaxListeners","description":"Decrements max listeners by one, if they are not zero.","access":"private","inherits":"BaseClient#decrementMaxListeners","inherited":true,"meta":{"line":68,"file":"BaseClient.js","path":"src/client"}}],"events":[{"name":"applicationCommandPermissionsUpdate","description":"Emitted whenever permissions for an application command in a guild were updated.\nThis includes permission updates for other applications in addition to the logged in client,\ncheck `data.applicationId` to verify which application the update is for","params":[{"name":"data","description":"The updated permissions","type":[[["ApplicationCommandPermissionsUpdateData"]]]}],"meta":{"line":18,"file":"ApplicationCommandPermissionsUpdate.js","path":"src/client/actions"}},{"name":"autoModerationActionExecution","description":"Emitted whenever an auto moderation rule is triggered.\nThis event requires the {@link Permissions.FLAGS.MANAGE_GUILD} permission.","deprecated":"This event is not received by user accounts.","params":[{"name":"autoModerationActionExecution","description":"The data of the execution","type":[[["AutoModerationActionExecution"]]]}],"meta":{"line":13,"file":"AutoModerationActionExecution.js","path":"src/client/actions"}},{"name":"autoModerationRuleCreate","description":"Emitted whenever an auto moderation rule is created.\nThis event requires the {@link Permissions.FLAGS.MANAGE_GUILD} permission.","deprecated":"This event is not received by user accounts.","params":[{"name":"autoModerationRule","description":"The created auto moderation rule","type":[[["AutoModerationRule"]]]}],"meta":{"line":14,"file":"AutoModerationRuleCreate.js","path":"src/client/actions"}},{"name":"autoModerationRuleDelete","description":"Emitted whenever an auto moderation rule is deleted.\nThis event requires the {@link Permissions.FLAGS.MANAGE_GUILD} permission.","deprecated":"This event is not received by user accounts.","params":[{"name":"autoModerationRule","description":"The deleted auto moderation rule","type":[[["AutoModerationRule"]]]}],"meta":{"line":17,"file":"AutoModerationRuleDelete.js","path":"src/client/actions"}},{"name":"autoModerationRuleUpdate","description":"Emitted whenever an auto moderation rule gets updated.\nThis event requires the {@link Permissions.FLAGS.MANAGE_GUILD} permission.","deprecated":"This event is not received by user accounts.","params":[{"name":"oldAutoModerationRule","description":"The auto moderation rule before the update","nullable":true,"type":[[["AutoModerationRule"]]]},{"name":"newAutoModerationRule","description":"The auto moderation rule after the update","type":[[["AutoModerationRule"]]]}],"meta":{"line":15,"file":"AutoModerationRuleUpdate.js","path":"src/client/actions"}},{"name":"channelCreate","description":"Emitted whenever a guild channel is created.","params":[{"name":"channel","description":"The channel that was created","type":[[["GuildChannel"]]]}],"meta":{"line":12,"file":"ChannelCreate.js","path":"src/client/actions"}},{"name":"channelDelete","description":"Emitted whenever a channel is deleted.","params":[{"name":"channel","description":"The channel that was deleted","type":[[["DMChannel"]],[["GuildChannel"]]]}],"meta":{"line":27,"file":"ChannelDelete.js","path":"src/client/actions"}},{"name":"guildAuditLogEntryCreate","description":"Emitted whenever a guild audit log entry is created.","params":[{"name":"auditLogEntry","description":"The entry that was created","type":[[["GuildAuditLogsEntry"]]]},{"name":"guild","description":"The guild where the entry was created","type":[[["Guild"]]]}],"meta":{"line":16,"file":"GuildAuditLogEntryCreate.js","path":"src/client/actions"}},{"name":"guildBanAdd","description":"Emitted whenever a member is banned from a guild.","params":[{"name":"ban","description":"The ban that occurred","type":[[["GuildBan"]]]}],"meta":{"line":11,"file":"GuildBanAdd.js","path":"src/client/actions"}},{"name":"guildBanRemove","description":"Emitted whenever a member is unbanned from a guild.","params":[{"name":"ban","description":"The ban that was removed","type":[[["GuildBan"]]]}],"meta":{"line":12,"file":"GuildBanRemove.js","path":"src/client/actions"}},{"name":"guildUnavailable","description":"Emitted whenever a guild becomes unavailable, likely due to a server outage.","params":[{"name":"guild","description":"The guild that has become unavailable","type":[[["Guild"]]]}],"meta":{"line":23,"file":"GuildDelete.js","path":"src/client/actions"}},{"name":"guildDelete","description":"Emitted whenever a guild kicks the client or the guild is deleted/left.","params":[{"name":"guild","description":"The guild that was deleted","type":[[["Guild"]]]}],"meta":{"line":44,"file":"GuildDelete.js","path":"src/client/actions"}},{"name":"emojiCreate","description":"Emitted whenever a custom emoji is created in a guild.","params":[{"name":"emoji","description":"The emoji that was created","type":[[["GuildEmoji"]]]}],"meta":{"line":10,"file":"GuildEmojiCreate.js","path":"src/client/actions"}},{"name":"emojiDelete","description":"Emitted whenever a custom emoji is deleted in a guild.","params":[{"name":"emoji","description":"The emoji that was deleted","type":[[["GuildEmoji"]]]}],"meta":{"line":11,"file":"GuildEmojiDelete.js","path":"src/client/actions"}},{"name":"emojiUpdate","description":"Emitted whenever a custom emoji is updated in a guild.","params":[{"name":"oldEmoji","description":"The old emoji","type":[[["GuildEmoji"]]]},{"name":"newEmoji","description":"The new emoji","type":[[["GuildEmoji"]]]}],"meta":{"line":9,"file":"GuildEmojiUpdate.js","path":"src/client/actions"}},{"name":"guildIntegrationsUpdate","description":"Emitted whenever a guild integration is updated","params":[{"name":"guild","description":"The guild whose integrations were updated","type":[[["Guild"]]]}],"meta":{"line":10,"file":"GuildIntegrationsUpdate.js","path":"src/client/actions"}},{"name":"guildMemberRemove","description":"Emitted whenever a member leaves a guild, or is kicked.","deprecated":"See {@link https://github.com/aiko-chan-ai/discord.js-selfbot-v13/issues/197 this issue} for more information.","params":[{"name":"member","description":"The member that has left/been kicked from the guild","type":[[["GuildMember"]]]}],"meta":{"line":18,"file":"GuildMemberRemove.js","path":"src/client/actions"}},{"name":"guildMemberUpdate","description":"Emitted whenever a guild member changes - i.e. new role, removed role, nickname.","deprecated":"See {@link https://github.com/aiko-chan-ai/discord.js-selfbot-v13/issues/197 this issue} for more information.","params":[{"name":"oldMember","description":"The member before the update","type":[[["GuildMember"]]]},{"name":"newMember","description":"The member after the update","type":[[["GuildMember"]]]}],"meta":{"line":23,"file":"GuildMemberUpdate.js","path":"src/client/actions"}},{"name":"guildMemberAvailable","description":"Emitted whenever a member becomes available.","params":[{"name":"member","description":"The member that became available","type":[[["GuildMember"]]]}],"meta":{"line":33,"file":"GuildMemberUpdate.js","path":"src/client/actions"}},{"name":"roleCreate","description":"Emitted whenever a role is created.","params":[{"name":"role","description":"The role that was created","type":[[["Role"]]]}],"meta":{"line":14,"file":"GuildRoleCreate.js","path":"src/client/actions"}},{"name":"roleDelete","description":"Emitted whenever a guild role is deleted.","params":[{"name":"role","description":"The role that was deleted","type":[[["Role"]]]}],"meta":{"line":18,"file":"GuildRoleDelete.js","path":"src/client/actions"}},{"name":"roleUpdate","description":"Emitted whenever a guild role is updated.","params":[{"name":"oldRole","description":"The role before the update","type":[[["Role"]]]},{"name":"newRole","description":"The role after the update","type":[[["Role"]]]}],"meta":{"line":17,"file":"GuildRoleUpdate.js","path":"src/client/actions"}},{"name":"guildScheduledEventCreate","description":"Emitted whenever a guild scheduled event is created.","params":[{"name":"guildScheduledEvent","description":"The created guild scheduled event","type":[[["GuildScheduledEvent"]]]}],"meta":{"line":13,"file":"GuildScheduledEventCreate.js","path":"src/client/actions"}},{"name":"guildScheduledEventDelete","description":"Emitted whenever a guild scheduled event is deleted.","params":[{"name":"guildScheduledEvent","description":"The deleted guild scheduled event","type":[[["GuildScheduledEvent"]]]}],"meta":{"line":16,"file":"GuildScheduledEventDelete.js","path":"src/client/actions"}},{"name":"guildScheduledEventUpdate","description":"Emitted whenever a guild scheduled event gets updated.","params":[{"name":"oldGuildScheduledEvent","description":"The guild scheduled event object before the update","nullable":true,"type":[[["GuildScheduledEvent"]]]},{"name":"newGuildScheduledEvent","description":"The guild scheduled event object after the update","type":[[["GuildScheduledEvent"]]]}],"meta":{"line":15,"file":"GuildScheduledEventUpdate.js","path":"src/client/actions"}},{"name":"guildScheduledEventUserAdd","description":"Emitted whenever a user subscribes to a guild scheduled event","params":[{"name":"guildScheduledEvent","description":"The guild scheduled event","type":[[["GuildScheduledEvent"]]]},{"name":"user","description":"The user who subscribed","type":[[["User"]]]}],"meta":{"line":16,"file":"GuildScheduledEventUserAdd.js","path":"src/client/actions"}},{"name":"guildScheduledEventUserRemove","description":"Emitted whenever a user unsubscribes from a guild scheduled event","params":[{"name":"guildScheduledEvent","description":"The guild scheduled event","type":[[["GuildScheduledEvent"]]]},{"name":"user","description":"The user who unsubscribed","type":[[["User"]]]}],"meta":{"line":16,"file":"GuildScheduledEventUserRemove.js","path":"src/client/actions"}},{"name":"stickerCreate","description":"Emitted whenever a custom sticker is created in a guild.","params":[{"name":"sticker","description":"The sticker that was created","type":[[["Sticker"]]]}],"meta":{"line":10,"file":"GuildStickerCreate.js","path":"src/client/actions"}},{"name":"stickerDelete","description":"Emitted whenever a custom sticker is deleted in a guild.","params":[{"name":"sticker","description":"The sticker that was deleted","type":[[["Sticker"]]]}],"meta":{"line":11,"file":"GuildStickerDelete.js","path":"src/client/actions"}},{"name":"stickerUpdate","description":"Emitted whenever a custom sticker is updated in a guild.","params":[{"name":"oldSticker","description":"The old sticker","type":[[["Sticker"]]]},{"name":"newSticker","description":"The new sticker","type":[[["Sticker"]]]}],"meta":{"line":9,"file":"GuildStickerUpdate.js","path":"src/client/actions"}},{"name":"guildUpdate","description":"Emitted whenever a guild is updated - e.g. name change.","params":[{"name":"oldGuild","description":"The guild before the update","type":[[["Guild"]]]},{"name":"newGuild","description":"The guild after the update","type":[[["Guild"]]]}],"meta":{"line":13,"file":"GuildUpdate.js","path":"src/client/actions"}},{"name":"inviteCreate","description":"Emitted when an invite is created.\n This event only triggers if the client has `MANAGE_GUILD` permissions for the guild,\nor `MANAGE_CHANNELS` permissions for the channel.","params":[{"name":"invite","description":"The invite that was created","type":[[["Invite"]]]}],"meta":{"line":16,"file":"InviteCreate.js","path":"src/client/actions"}},{"name":"inviteDelete","description":"Emitted when an invite is deleted.\n This event only triggers if the client has `MANAGE_GUILD` permissions for the guild,\nor `MANAGE_CHANNELS` permissions for the channel.","params":[{"name":"invite","description":"The invite that was deleted","type":[[["Invite"]]]}],"meta":{"line":18,"file":"InviteDelete.js","path":"src/client/actions"}},{"name":"messageCreate","description":"Emitted whenever a message is created.","params":[{"name":"message","description":"The created message","type":[[["Message"]]]}],"meta":{"line":21,"file":"MessageCreate.js","path":"src/client/actions"}},{"name":"message","description":"Emitted whenever a message is created.","deprecated":"Use {@link Client#event:messageCreate} instead","params":[{"name":"message","description":"The created message","type":[[["Message"]]]}],"meta":{"line":28,"file":"MessageCreate.js","path":"src/client/actions"}},{"name":"messageDelete","description":"Emitted whenever a message is deleted.","params":[{"name":"message","description":"The deleted message","type":[[["Message"]]]}],"meta":{"line":19,"file":"MessageDelete.js","path":"src/client/actions"}},{"name":"messageDeleteBulk","description":"Emitted whenever messages are deleted in bulk.","params":[{"name":"messages","description":"The deleted messages, mapped by their id","type":[[["Collection","<"],["Snowflake",", "],["Message",">"]]]}],"meta":{"line":34,"file":"MessageDeleteBulk.js","path":"src/client/actions"}},{"name":"messageReactionAdd","description":"Emitted whenever a reaction is added to a cached message.","params":[{"name":"messageReaction","description":"The reaction object","type":[[["MessageReaction"]]]},{"name":"user","description":"The user that applied the guild or reaction emoji","type":[[["User"]]]}],"meta":{"line":44,"file":"MessageReactionAdd.js","path":"src/client/actions"}},{"name":"messageReactionRemove","description":"Emitted whenever a reaction is removed from a cached message.","params":[{"name":"messageReaction","description":"The reaction object","type":[[["MessageReaction"]]]},{"name":"user","description":"The user whose emoji or reaction emoji was removed","type":[[["User"]]]}],"meta":{"line":33,"file":"MessageReactionRemove.js","path":"src/client/actions"}},{"name":"messageReactionRemoveAll","description":"Emitted whenever all reactions are removed from a cached message.","params":[{"name":"message","description":"The message the reactions were removed from","type":[[["Message"]]]},{"name":"reactions","description":"The cached message reactions that were removed.","type":[[["Collection","<("],["string","|"],["Snowflake","), "],["MessageReaction",">"]]]}],"meta":{"line":26,"file":"MessageReactionRemoveAll.js","path":"src/client/actions"}},{"name":"messageReactionRemoveEmoji","description":"Emitted when a bot removes an emoji reaction from a cached message.","params":[{"name":"reaction","description":"The reaction that was removed","type":[[["MessageReaction"]]]}],"meta":{"line":18,"file":"MessageReactionRemoveEmoji.js","path":"src/client/actions"}},{"name":"presenceUpdate","description":"Emitted whenever a guild member's presence (e.g. status, activity) is changed.","params":[{"name":"oldPresence","description":"The presence before the update, if one at all","nullable":true,"type":[[["Presence"]]]},{"name":"newPresence","description":"The presence after the update","type":[[["Presence"]]]}],"meta":{"line":35,"file":"PresenceUpdate.js","path":"src/client/actions"}},{"name":"stageInstanceCreate","description":"Emitted whenever a stage instance is created.","params":[{"name":"stageInstance","description":"The created stage instance","type":[[["StageInstance"]]]}],"meta":{"line":14,"file":"StageInstanceCreate.js","path":"src/client/actions"}},{"name":"stageInstanceDelete","description":"Emitted whenever a stage instance is deleted.","params":[{"name":"stageInstance","description":"The deleted stage instance","type":[[["StageInstance"]]]}],"meta":{"line":18,"file":"StageInstanceDelete.js","path":"src/client/actions"}},{"name":"stageInstanceUpdate","description":"Emitted whenever a stage instance gets updated - e.g. change in topic or privacy level","params":[{"name":"oldStageInstance","description":"The stage instance before the update","nullable":true,"type":[[["StageInstance"]]]},{"name":"newStageInstance","description":"The stage instance after the update","type":[[["StageInstance"]]]}],"meta":{"line":15,"file":"StageInstanceUpdate.js","path":"src/client/actions"}},{"name":"threadCreate","description":"Emitted whenever a thread is created or when the client user is added to a thread.","params":[{"name":"thread","description":"The thread that was created","type":[[["ThreadChannel"]]]},{"name":"newlyCreated","description":"Whether the thread was newly created","type":[[["boolean"]]]}],"meta":{"line":12,"file":"ThreadCreate.js","path":"src/client/actions"}},{"name":"threadDelete","description":"Emitted whenever a thread is deleted.","params":[{"name":"thread","description":"The thread that was deleted","type":[[["ThreadChannel"]]]}],"meta":{"line":20,"file":"ThreadDelete.js","path":"src/client/actions"}},{"name":"threadListSync","description":"Emitted whenever the client user gains access to a text or news channel that contains threads","params":[{"name":"threads","description":"The threads that were synced","type":[[["Collection","<"],["Snowflake",", "],["ThreadChannel",">"]]]}],"meta":{"line":38,"file":"ThreadListSync.js","path":"src/client/actions"}},{"name":"threadMembersUpdate","description":"Emitted whenever members are added or removed from a thread. Requires `GUILD_MEMBERS` privileged intent","params":[{"name":"oldMembers","description":"The members before the update","type":[[["Collection","<"],["Snowflake",", "],["ThreadMember",">"]]]},{"name":"newMembers","description":"The members after the update","type":[[["Collection","<"],["Snowflake",", "],["ThreadMember",">"]]]}],"meta":{"line":22,"file":"ThreadMembersUpdate.js","path":"src/client/actions"}},{"name":"threadMemberUpdate","description":"Emitted whenever the client user's thread member is updated.","params":[{"name":"oldMember","description":"The member before the update","type":[[["ThreadMember"]]]},{"name":"newMember","description":"The member after the update","type":[[["ThreadMember"]]]}],"meta":{"line":18,"file":"ThreadMemberUpdate.js","path":"src/client/actions"}},{"name":"typingStart","description":"Emitted whenever a user starts typing in a channel.","params":[{"name":"typing","description":"The typing state","type":[[["Typing"]]]}],"meta":{"line":19,"file":"TypingStart.js","path":"src/client/actions"}},{"name":"userUpdate","description":"Emitted whenever a user's details (e.g. username) are changed.\nTriggered by the Discord gateway events USER_UPDATE, GUILD_MEMBER_UPDATE, and PRESENCE_UPDATE.","params":[{"name":"oldUser","description":"The user before the update","type":[[["User"]]]},{"name":"newUser","description":"The user after the update","type":[[["User"]]]}],"meta":{"line":14,"file":"UserUpdate.js","path":"src/client/actions"}},{"name":"voiceStateUpdate","description":"Emitted whenever a member changes voice state - e.g. joins/leaves a channel, mutes/unmutes.","params":[{"name":"oldState","description":"The voice state before the update","type":[[["VoiceState"]]]},{"name":"newState","description":"The voice state after the update","type":[[["VoiceState"]]]}],"meta":{"line":32,"file":"VoiceStateUpdate.js","path":"src/client/actions"}},{"name":"webhookUpdate","description":"Emitted whenever a channel has its webhooks changed.","params":[{"name":"channel","description":"The channel that had a webhook update","type":[[["TextChannel"]],[["NewsChannel"]],[["VoiceChannel"]],[["StageChannel"]],[["ForumChannel"]]]}],"meta":{"line":10,"file":"WebhooksUpdate.js","path":"src/client/actions"}},{"name":"warn","description":"Emitted for general warnings.","params":[{"name":"info","description":"The warning","type":[[["string"]]]}],"meta":{"line":827,"file":"Client.js","path":"src/client"}},{"name":"guildMemberSpeaking","description":"Emitted once a guild member changes speaking state.","params":[{"name":"member","description":"The member that started/stopped speaking","type":[[["GuildMember"]]]},{"name":"speaking","description":"The speaking state of the member","type":[[["Readonly","<"],["Speaking",">"]]]}],"meta":{"line":599,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"applicationCommandCreate","description":"Emitted when a guild application command is created.","deprecated":"See {@link https://github.com/discord/discord-api-docs/issues/3690 this issue} for more information.","params":[{"name":"command","description":"The command which was created","type":[[["ApplicationCommand"]]]}],"meta":{"line":11,"file":"APPLICATION_COMMAND_CREATE.js","path":"src/client/websocket/handlers"}},{"name":"applicationCommandDelete","description":"Emitted when a guild application command is deleted.","deprecated":"See {@link https://github.com/discord/discord-api-docs/issues/3690 this issue} for more information.","params":[{"name":"command","description":"The command which was deleted","type":[[["ApplicationCommand"]]]}],"meta":{"line":13,"file":"APPLICATION_COMMAND_DELETE.js","path":"src/client/websocket/handlers"}},{"name":"applicationCommandUpdate","description":"Emitted when a guild application command is updated.","deprecated":"See {@link https://github.com/discord/discord-api-docs/issues/3690 this issue} for more information.","params":[{"name":"oldCommand","description":"The command before the update","nullable":true,"type":[[["ApplicationCommand"]]]},{"name":"newCommand","description":"The command after the update","type":[[["ApplicationCommand"]]]}],"meta":{"line":12,"file":"APPLICATION_COMMAND_UPDATE.js","path":"src/client/websocket/handlers"}},{"name":"callCreate","description":"Emitted whenever received a call","params":[{"name":"call","description":"Call","type":[[["CallState"]]]}],"meta":{"line":8,"file":"CALL_CREATE.js","path":"src/client/websocket/handlers"}},{"name":"callDelete","description":"Emitted whenever delete a call","params":[{"name":"call","description":"Call","type":[[["Call"]]]}],"meta":{"line":5,"file":"CALL_DELETE.js","path":"src/client/websocket/handlers"}},{"name":"callUpdate","description":"Emitted whenever update a call","params":[{"name":"call","description":"Call","type":[[["Call"]]]}],"meta":{"line":5,"file":"CALL_UPDATE.js","path":"src/client/websocket/handlers"}},{"name":"channelPinsUpdate","description":"Emitted whenever the pins of a channel are updated. Due to the nature of the WebSocket event,\nnot much information can be provided easily here - you need to manually check the pins yourself.","params":[{"name":"channel","description":"The channel that the pins update occurred in","type":[[["TextBasedChannels"]]]},{"name":"time","description":"The time of the pins update","type":[[["Date"]]]}],"meta":{"line":13,"file":"CHANNEL_PINS_UPDATE.js","path":"src/client/websocket/handlers"}},{"name":"channelRecipientAdd","description":"Emitted whenever a recipient is added from a group DM.","params":[{"name":"channel","description":"Group DM channel","type":[[["GroupDMChannel"]]]},{"name":"user","description":"User","type":[[["User"]]]}],"meta":{"line":10,"file":"CHANNEL_RECIPIENT_ADD.js","path":"src/client/websocket/handlers"}},{"name":"channelRecipientRemove","description":"Emitted whenever a recipient is removed from a group DM.","params":[{"name":"channel","description":"Group DM channel","type":[[["GroupDMChannel"]]]},{"name":"user","description":"User","type":[[["User"]]]}],"meta":{"line":8,"file":"CHANNEL_RECIPIENT_REMOVE.js","path":"src/client/websocket/handlers"}},{"name":"channelUpdate","description":"Emitted whenever a channel is updated - e.g. name change, topic change, channel type change.","params":[{"name":"oldChannel","description":"The channel before the update","type":[[["DMChannel"]],[["GuildChannel"]]]},{"name":"newChannel","description":"The channel after the update","type":[[["DMChannel"]],[["GuildChannel"]]]}],"meta":{"line":8,"file":"CHANNEL_UPDATE.js","path":"src/client/websocket/handlers"}},{"name":"guildAvailable","description":"Emitted whenever a guild becomes available.","params":[{"name":"guild","description":"The guild that became available","type":[[["Guild"]]]}],"meta":{"line":31,"file":"GUILD_CREATE.js","path":"src/client/websocket/handlers"}},{"name":"guildCreate","description":"Emitted whenever the client joins a guild.","params":[{"name":"guild","description":"The created guild","type":[[["Guild"]]]}],"meta":{"line":43,"file":"GUILD_CREATE.js","path":"src/client/websocket/handlers"}},{"name":"guildMemberAdd","description":"Emitted whenever a user joins a guild.","deprecated":"See {@link https://github.com/aiko-chan-ai/discord.js-selfbot-v13/issues/197 this issue} for more information.","params":[{"name":"member","description":"The member that has joined a guild","type":[[["GuildMember"]]]}],"meta":{"line":11,"file":"GUILD_MEMBER_ADD.js","path":"src/client/websocket/handlers"}},{"name":"guildMembersChunk","description":"Emitted whenever a chunk of guild members is received (all members come from the same guild).","params":[{"name":"members","description":"The members in the chunk","type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]]},{"name":"guild","description":"The guild related to the member chunk","type":[[["Guild"]]]},{"name":"chunk","description":"Properties of the received chunk","type":[[["GuildMembersChunk"]]]}],"meta":{"line":26,"file":"GUILD_MEMBERS_CHUNK.js","path":"src/client/websocket/handlers"}},{"name":"interactionModalCreate","description":"Emitted whenever client user receive interaction.showModal()","params":[{"name":"modal","description":"The modal (extended)","type":[[["Modal"]]]}],"meta":{"line":6,"file":"INTERACTION_MODAL_CREATE.js","path":"src/client/websocket/handlers"}},{"name":"messagePollVoteAdd","description":"Emitted when a user votes on a poll. If the poll allows multiple selection, one event will be sent per answer.","params":[{"name":"data","description":"Raw data","type":[[["MessagePollUserVote"]]]}],"meta":{"line":16,"file":"MESSAGE_POLL_VOTE_ADD.js","path":"src/client/websocket/handlers"}},{"name":"messagePollVoteRemove","description":"Emitted when a user removes their vote on a poll. If the poll allows for multiple selections, one event will be sent per answer.","params":[{"name":"data","description":"Raw data","type":[[["MessagePollUserVote"]]]}],"meta":{"line":6,"file":"MESSAGE_POLL_VOTE_REMOVE.js","path":"src/client/websocket/handlers"}},{"name":"messageUpdate","description":"Emitted whenever a message is updated - e.g. embed or content change.","params":[{"name":"oldMessage","description":"The message before the update","type":[[["Message"]]]},{"name":"newMessage","description":"The message after the update","type":[[["Message"]]]}],"meta":{"line":8,"file":"MESSAGE_UPDATE.js","path":"src/client/websocket/handlers"}},{"name":"relationshipAdd","description":"Emitted when a relationship is created, relevant to the current user.","params":[{"name":"user","description":"Target userId","type":[[["Snowflake"]]]},{"name":"shouldNotify","description":"Whether the client should notify the user of this relationship's creation","type":[[["boolean"]]]}],"meta":{"line":12,"file":"RELATIONSHIP_ADD.js","path":"src/client/websocket/handlers"}},{"name":"relationshipRemove","description":"Emitted when a relationship is removed, relevant to the current user.","params":[{"name":"user","description":"The userID that was updated","type":[[["Snowflake"]]]},{"name":"type","description":"The type of the old relationship","type":[[["RelationshipType"]]]},{"name":"nickname","description":"The nickname of the user in this relationship (1-32 characters)","type":[[["string"]],[["null"]]]}],"meta":{"line":9,"file":"RELATIONSHIP_REMOVE.js","path":"src/client/websocket/handlers"}},{"name":"relationshipUpdate","description":"Emitted when a relationship is updated, relevant to the current user (e.g. friend nickname changed).\nThis is not sent when the type of a relationship changes; see {@link Client#relationshipAdd} and {@link Client#relationshipRemove} for that.","params":[{"name":"user","description":"The userID that was updated","type":[[["Snowflake"]]]},{"name":"oldData","description":"Old data","type":[[["RelationshipUpdateObject"]]]},{"name":"newData","description":"New data","type":[[["RelationshipUpdateObject"]]]}],"meta":{"line":12,"file":"RELATIONSHIP_UPDATE.js","path":"src/client/websocket/handlers"}},{"name":"shardResume","description":"Emitted when a shard resumes successfully.","params":[{"name":"id","description":"The shard id that resumed","type":[[["number"]]]},{"name":"replayedEvents","description":"The amount of replayed events","type":[[["number"]]]}],"meta":{"line":7,"file":"RESUMED.js","path":"src/client/websocket/handlers"}},{"name":"threadUpdate","description":"Emitted whenever a thread is updated - e.g. name change, archive state change, locked state change.","params":[{"name":"oldThread","description":"The thread before the update","type":[[["ThreadChannel"]]]},{"name":"newThread","description":"The thread after the update","type":[[["ThreadChannel"]]]}],"meta":{"line":8,"file":"THREAD_UPDATE.js","path":"src/client/websocket/handlers"}},{"name":"shardReady","description":"Emitted when a shard turns ready.","params":[{"name":"id","description":"The shard id that turned ready","type":[[["number"]]]},{"name":"unavailableGuilds","description":"Set of unavailable guild ids, if any","nullable":true,"type":[[["Set","<"],["Snowflake",">"]]]}],"meta":{"line":179,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"shardDisconnect","description":"Emitted when a shard's WebSocket disconnects and will no longer reconnect.","params":[{"name":"event","description":"The WebSocket close event","type":[[["CloseEvent"]]]},{"name":"id","description":"The shard id that disconnected","type":[[["number"]]]}],"meta":{"line":193,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"shardReconnecting","description":"Emitted when a shard is attempting to reconnect or re-identify.","params":[{"name":"id","description":"The shard id that is attempting to reconnect","type":[[["number"]]]}],"meta":{"line":209,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"invalidated","description":"Emitted when the client's session becomes invalidated.\nYou are expected to handle closing the process gracefully and preventing a boot loop\nif you are listening to this event.","meta":{"line":283,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"unhandledPacket","description":"Emitted whenever a packet isn't handled.","params":[{"name":"packet","description":"The packet (t: EVENT_NAME, d: any)","type":[[["Object"]]]},{"name":"shard","description":"The shard that received the packet (Shard 0)","type":[[["Number"]]]}],"meta":{"line":347,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"ready","description":"Emitted when the client becomes ready to start working.","params":[{"name":"client","description":"The client","type":[[["Client"]]]}],"meta":{"line":381,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"shardError","description":"Emitted whenever a shard's WebSocket encounters a connection error.","params":[{"name":"error","description":"The encountered error","type":[[["Error"]]]},{"name":"shardId","description":"The shard that encountered this error","type":[[["number"]]]}],"meta":{"line":344,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"error","description":"Emitted when the client encounters an error.","params":[{"name":"error","description":"The error encountered","type":[[["Error"]]]}],"meta":{"line":211,"file":"ShardClientUtil.js","path":"src/sharding"}},{"name":"debug","description":"Emitted for general debugging information.","params":[{"name":"info","description":"The debug information","type":[[["string"]]]}],"meta":{"line":82,"file":"BaseClient.js","path":"src/client"}},{"name":"rateLimit","description":"Emitted when the client hits a rate limit while making a request","params":[{"name":"rateLimitData","description":"Object containing the rate limit info","type":[[["RateLimitData"]]]}],"meta":{"line":138,"file":"RequestHandler.js","path":"src/rest"}},{"name":"apiRequest","description":"Emitted before every API request.\nThis event can emit several times for the same request, e.g. when hitting a rate limit.\nThis is an informational event that is emitted quite frequently,\nit is highly recommended to check `request.path` to filter the data.","params":[{"name":"request","description":"The request that is about to be sent","type":[[["APIRequest"]]]}],"meta":{"line":189,"file":"RequestHandler.js","path":"src/rest"}},{"name":"apiResponse","description":"Emitted after every API request has received a response.\nThis event does not necessarily correlate to completion of the request, e.g. when hitting a rate limit.\nThis is an informational event that is emitted quite frequently,\nit is highly recommended to check `request.path` to filter the data.","params":[{"name":"request","description":"The request that triggered this response","type":[[["APIRequest"]]]},{"name":"response","description":"The response received from the Discord API","type":[[["Response"]]]}],"meta":{"line":221,"file":"RequestHandler.js","path":"src/rest"}},{"name":"invalidRequestWarning","description":"Emitted periodically when the process sends invalid requests to let users avoid the\n10k invalid requests in 10 minutes threshold that causes a ban","params":[{"name":"invalidRequestWarningData","description":"Object containing the invalid request info","type":[[["InvalidRequestWarningData"]]]}],"meta":{"line":298,"file":"RequestHandler.js","path":"src/rest"}}],"meta":{"line":44,"file":"Client.js","path":"src/client"}},{"name":"ClientVoiceManager","description":"Manages voice connections for the client\nFeat: Support both lib & djs/voice","props":[{"name":"client","description":"The client that instantiated this voice manager","readonly":true,"type":[[["Client"]]],"meta":{"line":14,"file":"ClientVoiceManager.js","path":"src/client/voice"}},{"name":"connections","description":"A collection mapping connection IDs to the Connection objects","type":[[["Collection","<"],["Snowflake",", "],["VoiceConnection",">"]]],"meta":{"line":26,"file":"ClientVoiceManager.js","path":"src/client/voice"}},{"name":"adapters","description":"Maps guild ids to voice adapters created for use with @discordjs/voice.","type":[[["Map","<"],["Snowflake",", "],["Object",">"]]],"meta":{"line":32,"file":"ClientVoiceManager.js","path":"src/client/voice"}}],"methods":[{"name":"joinChannel","description":"Sets up a request to join a voice channel.","params":[{"name":"channel","description":"The voice channel to join","type":[[["VoiceChannel"]],[["StageChannel"]],[["DMChannel"]],[["GroupDMChannel"]]]},{"name":"config","description":"Config to join voice channel","type":[[["JoinChannelConfig"]]]}],"returns":[[["Promise","<"],["VoiceConnection",">"]]],"meta":{"line":102,"file":"ClientVoiceManager.js","path":"src/client/voice"}}],"meta":{"line":12,"file":"ClientVoiceManager.js","path":"src/client/voice"}},{"name":"AudioDispatcher","description":"The class that sends voice packet data to the voice connection.\n```js\n// Obtained using:\nclient.voice.joinChannel(channel).then(connection => {\n // You can play a file or a stream here:\n const dispatcher = connection.playAudio('/home/hydrabolt/audio.mp3');\n});\n```","extends":[[["BaseDispatcher"]]],"implements":[[["VolumeInterface"]]],"props":[{"name":"bitrateEditable","description":"Whether or not the Opus bitrate of this stream is editable","readonly":true,"type":[[["boolean"]]],"meta":{"line":83,"file":"AudioDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"volumeEditable","description":"Whether or not the volume of this stream is editable","readonly":true,"type":[[["boolean"]]],"meta":{"line":21,"file":"VolumeInterface.js","path":"src/client/voice/util"}},{"name":"volume","description":"The current volume of the stream","readonly":true,"type":[[["number"]]],"meta":{"line":30,"file":"VolumeInterface.js","path":"src/client/voice/util"}},{"name":"volumeDecibels","description":"The current volume of the stream in decibels","readonly":true,"type":[[["number"]]],"meta":{"line":39,"file":"VolumeInterface.js","path":"src/client/voice/util"}},{"name":"volumeLogarithmic","description":"The current volume of the stream from a logarithmic scale","readonly":true,"type":[[["number"]]],"meta":{"line":48,"file":"VolumeInterface.js","path":"src/client/voice/util"}},{"name":"player","description":"The Audio Player that controls this dispatcher","type":[[["MediaPlayer"]]],"meta":{"line":33,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"pausedSince","description":"The time that the stream was paused at (null if not paused)","nullable":true,"type":[[["number"]]],"meta":{"line":44,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"fps","description":"Video FPS","type":[[["number"]]],"meta":{"line":58,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"paused","description":"Whether or not playback is paused","readonly":true,"type":[[["boolean"]]],"meta":{"line":181,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"pausedTime","description":"Total time that this dispatcher has been paused in milliseconds","readonly":true,"type":[[["number"]]],"meta":{"line":190,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"totalStreamTime","description":"The time (in milliseconds) that the dispatcher has been playing audio for, taking into account skips and pauses","readonly":true,"type":[[["number"]]],"meta":{"line":220,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}}],"methods":[{"name":"setBitrate","description":"Set the bitrate of the current Opus encoder if using a compatible Opus stream.","params":[{"name":"value","description":"New bitrate, in kbps\nIf set to 'auto', the voice channel's bitrate will be used","type":[[["number"]]]}],"returns":{"types":[[["boolean"]]],"description":"true if the bitrate has been successfully changed."},"meta":{"line":45,"file":"AudioDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"setPLP","description":"Sets the expected packet loss percentage if using a compatible Opus stream.","params":[{"name":"value","description":"between 0 and 1","type":[[["number"]]]}],"returns":{"types":[[["boolean"]]],"description":"Returns true if it was successfully set."},"meta":{"line":57,"file":"AudioDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"setFEC","description":"Enables or disables forward error correction if using a compatible Opus stream.","params":[{"name":"enabled","description":"true to enable","type":[[["boolean"]]]}],"returns":{"types":[[["boolean"]]],"description":"Returns true if it was successfully set."},"meta":{"line":68,"file":"AudioDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"setVolume","description":"Sets the volume relative to the input stream - i.e. 1 is normal, 0.5 is half, 2 is double.","implements":["VolumeInterface#setVolume"],"params":[{"name":"volume","description":"The volume that you want to set","type":[[["number"]]]}],"meta":{"line":70,"file":"VolumeInterface.js","path":"src/client/voice/util"}},{"name":"setVolumeDecibels","description":"Sets the volume in decibels.","implements":["VolumeInterface#setVolumeDecibels"],"params":[{"name":"db","description":"The decibels","type":[[["number"]]]}],"meta":{"line":85,"file":"VolumeInterface.js","path":"src/client/voice/util"}},{"name":"setVolumeLogarithmic","description":"Sets the volume so that a perceived value of 0.5 is half the perceived volume etc.","implements":["VolumeInterface#setVolumeLogarithmic"],"params":[{"name":"value","description":"The value for the volume","type":[[["number"]]]}],"meta":{"line":93,"file":"VolumeInterface.js","path":"src/client/voice/util"}},{"name":"pause","description":"Pauses playback","inherits":"BaseDispatcher#pause","inherited":true,"params":[{"name":"silence","description":"Whether to play silence while paused to prevent audio glitches","optional":true,"default":false,"type":[[["boolean"]]]}],"meta":{"line":157,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"resume","description":"Resumes playback","inherits":"BaseDispatcher#resume","inherited":true,"meta":{"line":197,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"createHeaderExtension","description":"Creates a single extension of type playout-delay\nDiscord seems to send this extension on every video packet","see":["https://webrtc.googlesource.com/src/+/refs/heads/main/docs/native-code/rtp-hdrext/playout-delay"],"access":"private","inherits":"BaseDispatcher#createHeaderExtension","inherited":true,"returns":{"types":[[["Buffer"]]],"description":"playout-delay extension"},"meta":{"line":260,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}}],"events":[{"name":"volumeChange","description":"Emitted when the volume of this dispatcher changes.","params":[{"name":"oldVolume","description":"The old volume of this dispatcher","type":[[["number"]]]},{"name":"newVolume","description":"The new volume of this dispatcher","type":[[["number"]]]}],"meta":{"line":94,"file":"AudioDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"speaking","description":"Emitted when the dispatcher starts/stops speaking.","params":[{"name":"value","description":"Whether or not the dispatcher is speaking","type":[[["boolean"]]]}],"meta":{"line":371,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"error","description":"Emitted when the dispatcher encounters an error.","meta":{"line":63,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"start","description":"Emitted once the stream has started to play.","meta":{"line":116,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"debug","description":"Emitted whenever the dispatcher has debug information.","params":[{"name":"info","description":"The debug info","type":[[["string"]]]}],"meta":{"line":337,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}}],"meta":{"line":24,"file":"AudioDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"BaseDispatcher","extends":[[["Writable"]]],"props":[{"name":"player","description":"The Audio Player that controls this dispatcher","type":[[["MediaPlayer"]]],"meta":{"line":33,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"pausedSince","description":"The time that the stream was paused at (null if not paused)","nullable":true,"type":[[["number"]]],"meta":{"line":44,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"fps","description":"Video FPS","type":[[["number"]]],"meta":{"line":58,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"paused","description":"Whether or not playback is paused","readonly":true,"type":[[["boolean"]]],"meta":{"line":181,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"pausedTime","description":"Total time that this dispatcher has been paused in milliseconds","readonly":true,"type":[[["number"]]],"meta":{"line":190,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"totalStreamTime","description":"The time (in milliseconds) that the dispatcher has been playing audio for, taking into account skips and pauses","readonly":true,"type":[[["number"]]],"meta":{"line":220,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}}],"methods":[{"name":"pause","description":"Pauses playback","params":[{"name":"silence","description":"Whether to play silence while paused to prevent audio glitches","optional":true,"default":false,"type":[[["boolean"]]]}],"meta":{"line":157,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"resume","description":"Resumes playback","meta":{"line":197,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"createHeaderExtension","description":"Creates a single extension of type playout-delay\nDiscord seems to send this extension on every video packet","see":["https://webrtc.googlesource.com/src/+/refs/heads/main/docs/native-code/rtp-hdrext/playout-delay"],"access":"private","returns":{"types":[[["Buffer"]]],"description":"playout-delay extension"},"meta":{"line":260,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}}],"events":[{"name":"error","description":"Emitted when the dispatcher encounters an error.","meta":{"line":63,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"start","description":"Emitted once the stream has started to play.","meta":{"line":116,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"debug","description":"Emitted whenever the dispatcher has debug information.","params":[{"name":"info","description":"The debug info","type":[[["string"]]]}],"meta":{"line":337,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}}],"meta":{"line":23,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"VideoDispatcher","description":"The class that sends video packet data to the voice connection.\n```js\n// Obtained using:\nclient.voice.joinChannel(channel).then(connection => {\n // You can play a file or a stream here:\n const dispatcher = connection.playVideo('/home/hydrabolt/video.mp4', { fps: 60, preset: 'ultrafast' });\n});\n```","extends":[[["BaseDispatcher"]]],"implements":[[["VolumeInterface"]]],"props":[{"name":"player","description":"The Audio Player that controls this dispatcher","type":[[["MediaPlayer"]]],"meta":{"line":33,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"pausedSince","description":"The time that the stream was paused at (null if not paused)","nullable":true,"type":[[["number"]]],"meta":{"line":44,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"fps","description":"Video FPS","type":[[["number"]]],"meta":{"line":58,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"paused","description":"Whether or not playback is paused","readonly":true,"type":[[["boolean"]]],"meta":{"line":181,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"pausedTime","description":"Total time that this dispatcher has been paused in milliseconds","readonly":true,"type":[[["number"]]],"meta":{"line":190,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"totalStreamTime","description":"The time (in milliseconds) that the dispatcher has been playing audio for, taking into account skips and pauses","readonly":true,"type":[[["number"]]],"meta":{"line":220,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}}],"methods":[{"name":"setFPSSource","description":"Set FPS","params":[{"name":"value","description":"fps","type":[[["number"]]]}],"meta":{"line":27,"file":"VideoDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"pause","description":"Pauses playback","inherits":"BaseDispatcher#pause","inherited":true,"params":[{"name":"silence","description":"Whether to play silence while paused to prevent audio glitches","optional":true,"default":false,"type":[[["boolean"]]]}],"meta":{"line":157,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"resume","description":"Resumes playback","inherits":"BaseDispatcher#resume","inherited":true,"meta":{"line":197,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"createHeaderExtension","description":"Creates a single extension of type playout-delay\nDiscord seems to send this extension on every video packet","see":["https://webrtc.googlesource.com/src/+/refs/heads/main/docs/native-code/rtp-hdrext/playout-delay"],"access":"private","inherits":"BaseDispatcher#createHeaderExtension","inherited":true,"returns":{"types":[[["Buffer"]]],"description":"playout-delay extension"},"meta":{"line":260,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}}],"events":[{"name":"videoStatus","description":"Emitted when the dispatcher starts/stops video.","params":[{"name":"value","description":"Whether or not the dispatcher is enable video","type":[[["boolean"]]]}],"meta":{"line":383,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"streamStatus","description":"Emitted when the dispatcher starts/stops video.","params":[{"name":"isPaused","description":"Whether or not the dispatcher is pause video","type":[[["boolean"]]]}],"meta":{"line":395,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"error","description":"Emitted when the dispatcher encounters an error.","meta":{"line":63,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"start","description":"Emitted once the stream has started to play.","meta":{"line":116,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"debug","description":"Emitted whenever the dispatcher has debug information.","params":[{"name":"info","description":"The debug info","type":[[["string"]]]}],"meta":{"line":337,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}}],"meta":{"line":17,"file":"VideoDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"VoiceConnectionUDPClient","description":"Represents a UDP client for a Voice Connection.","extends":[[["EventEmitter"]]],"access":"private","props":[{"name":"voiceConnection","description":"The voice connection that this UDP client serves","type":[[["VoiceConnection"]]],"meta":{"line":23,"file":"VoiceUDPClient.js","path":"src/client/voice/networking"}},{"name":"socket","description":"The UDP socket","nullable":true,"type":[[["Socket"]]],"meta":{"line":29,"file":"VoiceUDPClient.js","path":"src/client/voice/networking"}},{"name":"discordAddress","description":"The address of the Discord voice server","nullable":true,"type":[[["string"]]],"meta":{"line":35,"file":"VoiceUDPClient.js","path":"src/client/voice/networking"}},{"name":"localAddress","description":"The local IP address","nullable":true,"type":[[["string"]]],"meta":{"line":41,"file":"VoiceUDPClient.js","path":"src/client/voice/networking"}},{"name":"localPort","description":"The local port","nullable":true,"type":[[["string"]]],"meta":{"line":47,"file":"VoiceUDPClient.js","path":"src/client/voice/networking"}},{"name":"discordPort","description":"The port of the Discord voice server","readonly":true,"type":[[["number"]]],"meta":{"line":69,"file":"VoiceUDPClient.js","path":"src/client/voice/networking"}}],"methods":[{"name":"send","description":"Send a packet to the UDP client.","params":[{"name":"packet","description":"The packet to send","type":[[["Object"]]]}],"returns":[[["Promise","<"],["Object",">"]]],"meta":{"line":78,"file":"VoiceUDPClient.js","path":"src/client/voice/networking"}}],"meta":{"line":15,"file":"VoiceUDPClient.js","path":"src/client/voice/networking"}},{"name":"VoiceWebSocket","description":"Represents a Voice Connection's WebSocket.","extends":[[["EventEmitter"]]],"access":"private","props":[{"name":"connection","description":"The Voice Connection that this WebSocket serves","type":[[["VoiceConnection"]]],"meta":{"line":21,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"attempts","description":"How many connection attempts have been made","type":[[["number"]]],"meta":{"line":27,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"client","description":"The client of this voice WebSocket","readonly":true,"type":[[["Client"]]],"meta":{"line":38,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"ws","description":"The actual WebSocket used to connect to the Voice WebSocket Server.","type":[[["WebSocket"]]],"meta":{"line":78,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}}],"methods":[{"name":"reset","description":"Resets the current WebSocket.","meta":{"line":51,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"connect","description":"Starts connecting to the Voice WebSocket Server.","meta":{"line":63,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"send","description":"Sends data to the WebSocket if it is open.","params":[{"name":"data","description":"The data to send to the WebSocket","type":[[["string"]]]}],"returns":[[["Promise","<"],["string",">"]]],"meta":{"line":91,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"sendPacket","description":"JSON.stringify's a packet and then sends it to the WebSocket Server.","params":[{"name":"packet","description":"The packet to send","type":[[["Object"]]]}],"returns":[[["Promise","<"],["string",">"]]],"meta":{"line":107,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"onOpen","description":"Called whenever the WebSocket opens.","meta":{"line":119,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"onMessage","description":"Called whenever a message is received from the WebSocket.","params":[{"name":"event","description":"The message event that was received","type":[[["MessageEvent"]]]}],"returns":[[["void"]]],"meta":{"line":141,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"onClose","description":"Called whenever the connection to the WebSocket server is lost.","meta":{"line":152,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"onError","description":"Called whenever an error occurs with the WebSocket.","params":[{"name":"error","description":"The error that occurred","type":[[["Error"]]]}],"meta":{"line":161,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"onPacket","description":"Called whenever a valid packet is received from the WebSocket.","params":[{"name":"packet","description":"The received packet","type":[[["Object"]]]}],"meta":{"line":170,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"setHeartbeat","description":"Sets an interval at which to send a heartbeat packet to the WebSocket.","params":[{"name":"interval","description":"The interval at which to send a heartbeat packet","type":[[["number"]]]}],"meta":{"line":232,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"clearHeartbeat","description":"Clears a heartbeat interval, if one exists.","meta":{"line":252,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"sendHeartbeat","description":"Sends a heartbeat packet.","meta":{"line":264,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}}],"events":[{"name":"ready","description":"Emitted once the voice WebSocket receives the ready packet.","params":[{"name":"packet","description":"The received packet","type":[[["Object"]]]}],"meta":{"line":177,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"sessionDescription","description":"Emitted once the Voice Websocket receives a description of this voice session.","params":[{"name":"packet","description":"The received packet","type":[[["Object"]]]}],"meta":{"line":188,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"startSpeaking","description":"Emitted whenever a speaking packet is received.","params":[{"name":"data","type":[[["Object"]]]}],"meta":{"line":210,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"unknownPacket","description":"Emitted when an unhandled packet is received.","params":[{"name":"packet","type":[[["Object"]]]}],"meta":{"line":218,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"warn","description":"Emitted whenever the voice WebSocket encounters a non-fatal error.","params":[{"name":"warn","description":"The warning","type":[[["string"]]]}],"meta":{"line":238,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}}],"meta":{"line":14,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"MediaPlayer","description":"Player for a Voice Connection.","extends":[[["EventEmitter"]]],"access":"private","props":[{"name":"voiceConnection","description":"The voice connection that the player serves","type":[[["VoiceConnection"]]],"meta":{"line":47,"file":"MediaPlayer.js","path":"src/client/voice/player"}}],"methods":[{"name":"createVideoDispatcher","description":"Create","access":"private","params":[{"name":"options","description":"any","type":[[["Object"]]]},{"name":"streams","description":"any","type":[[["Object"]]]}],"returns":[[["VideoDispatcher"]]],"meta":{"line":244,"file":"MediaPlayer.js","path":"src/client/voice/player"}}],"meta":{"line":36,"file":"MediaPlayer.js","path":"src/client/voice/player"}},{"name":"VoiceReceiver","description":"Receives audio packets from a voice connection.","methods":[{"name":"createStream","description":"Creates a new audio receiving stream. If a stream already exists for a user, then that stream will be returned\nrather than generating a new one.","params":[{"name":"user","description":"The user to start listening to.","type":[[["UserResolvable"]]]},{"name":"options","description":"Options.","type":[[["ReceiveStreamOptions"]]]}],"returns":[[["ReadableStream"]]],"meta":{"line":45,"file":"Receiver.js","path":"src/client/voice/receiver"}}],"events":[{"name":"debug","description":"Emitted whenever there is a warning","params":[{"name":"error","description":"The error or message to debug","type":[[["Error"]],[["string"]]]}],"meta":{"line":20,"file":"Receiver.js","path":"src/client/voice/receiver"}}],"meta":{"line":15,"file":"Receiver.js","path":"src/client/voice/receiver"}},{"name":"PlayInterface","description":"An interface class to allow you to play audio over VoiceConnections.","methods":[{"name":"playAudio","description":"Play an audio resource.","examples":["// Play a local audio file\nconnection.playAudio('/home/hydrabolt/audio.mp3', { volume: 0.5 });","// Play a ReadableStream\nconnection.playAudio(ytdl('https://www.youtube.com/watch?v=ZlAU_w7-Xp8', { quality: 'highestaudio' }));","// Using different protocols: https://ffmpeg.org/ffmpeg-protocols.html\nconnection.playAudio('http://www.sample-videos.com/audio/mp3/wave.mp3');"],"params":[{"name":"resource","description":"The resource to play.","type":[[["ReadableStream"]],[["string"]]]},{"name":"options","description":"The options to play.","optional":true,"type":[[["StreamOptions"]]]}],"returns":[[["AudioDispatcher"]]],"meta":{"line":57,"file":"PlayInterface.js","path":"src/client/voice/util"}},{"name":"playVideo","description":"Play an video resource.","examples":["// Play a local video file\nconnection.playVideo('/home/hydrabolt/video.mp4');","// Using different protocols: https://ffmpeg.org/ffmpeg-protocols.html\nconnection.playVideo('http://www.sample-videos.com/video/mp4/wave.mp4');"],"params":[{"name":"resource","description":"The resource to play.","type":[[["ReadableStream"]],[["string"]]]},{"name":"options","description":"The options to play.","optional":true,"type":[[["VideoOptions"]]]}],"returns":[[["VideoDispatcher"]]],"meta":{"line":107,"file":"PlayInterface.js","path":"src/client/voice/util"}}],"meta":{"line":37,"file":"PlayInterface.js","path":"src/client/voice/util"}},{"name":"VolumeInterface","description":"An interface class for volume transformation.","extends":[[["EventEmitter"]]],"props":[{"name":"volumeEditable","description":"Whether or not the volume of this stream is editable","readonly":true,"type":[[["boolean"]]],"meta":{"line":21,"file":"VolumeInterface.js","path":"src/client/voice/util"}},{"name":"volume","description":"The current volume of the stream","readonly":true,"type":[[["number"]]],"meta":{"line":30,"file":"VolumeInterface.js","path":"src/client/voice/util"}},{"name":"volumeDecibels","description":"The current volume of the stream in decibels","readonly":true,"type":[[["number"]]],"meta":{"line":39,"file":"VolumeInterface.js","path":"src/client/voice/util"}},{"name":"volumeLogarithmic","description":"The current volume of the stream from a logarithmic scale","readonly":true,"type":[[["number"]]],"meta":{"line":48,"file":"VolumeInterface.js","path":"src/client/voice/util"}}],"methods":[{"name":"setVolume","description":"Sets the volume relative to the input stream - i.e. 1 is normal, 0.5 is half, 2 is double.","params":[{"name":"volume","description":"The volume that you want to set","type":[[["number"]]]}],"meta":{"line":70,"file":"VolumeInterface.js","path":"src/client/voice/util"}},{"name":"setVolumeDecibels","description":"Sets the volume in decibels.","params":[{"name":"db","description":"The decibels","type":[[["number"]]]}],"meta":{"line":85,"file":"VolumeInterface.js","path":"src/client/voice/util"}},{"name":"setVolumeLogarithmic","description":"Sets the volume so that a perceived value of 0.5 is half the perceived volume etc.","params":[{"name":"value","description":"The value for the volume","type":[[["number"]]]}],"meta":{"line":93,"file":"VolumeInterface.js","path":"src/client/voice/util"}}],"events":[{"name":"volumeChange","description":"Emitted when the volume of this interface changes.","params":[{"name":"oldVolume","description":"The old volume of this interface","type":[[["number"]]]},{"name":"newVolume","description":"The new volume of this interface","type":[[["number"]]]}],"meta":{"line":71,"file":"VolumeInterface.js","path":"src/client/voice/util"}}],"meta":{"line":10,"file":"VolumeInterface.js","path":"src/client/voice/util"}},{"name":"VoiceConnection","description":"Represents a connection to a guild's voice server.\n```js\n// Obtained using:\nclient.voice.joinChannel(channel)\n .then(connection => {\n\n });\n```","extends":[[["EventEmitter"]]],"implements":[[["PlayInterface"]]],"props":[{"name":"voiceManager","description":"The voice manager that instantiated this connection","type":[[["ClientVoiceManager"]]],"meta":{"line":48,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"channel","description":"The voice channel this connection is currently serving","type":[[["VoiceChannel"]]],"meta":{"line":54,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"status","description":"The current status of the voice connection","type":[[["VoiceStatus"]]],"meta":{"line":60,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"speaking","description":"Our current speaking state","type":[[["Readonly","<"],["Speaking",">"]]],"meta":{"line":66,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"videoStatus","description":"Our current video state","type":[[["boolean"]]],"meta":{"line":72,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"authentication","description":"The authentication data needed to connect to the voice server","access":"private","type":[[["Object"]]],"meta":{"line":79,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"player","description":"The audio player for this voice connection","type":[[["MediaPlayer"]]],"meta":{"line":85,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"ssrcMap","description":"Map SSRC values to user IDs","access":"private","type":[[["Map","<"],["number",", "],["Snowflake",">"]]],"meta":{"line":112,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"_speaking","description":"Tracks which users are talking","access":"private","type":[[["Map","<"],["Snowflake",", "],["Readonly","<"],["Speaking",">>"]]],"meta":{"line":119,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"sockets","description":"Object that wraps contains the `ws` and `udp` sockets of this voice connection","access":"private","type":[[["Object"]]],"meta":{"line":126,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"receiver","description":"The voice receiver of this connection","type":[[["VoiceReceiver"]]],"meta":{"line":132,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"videoCodec","description":"The voice receiver of this connection","type":[[["VideoCodec"]]],"meta":{"line":147,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"streamConnection","description":"Create a stream connection ?","nullable":true,"type":[[["StreamConnection"]]],"meta":{"line":153,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"client","description":"The client that instantiated this connection","readonly":true,"type":[[["Client"]]],"meta":{"line":161,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"dispatcher","description":"The current audio dispatcher (if any)","readonly":true,"nullable":true,"type":[[["AudioDispatcher"]]],"meta":{"line":170,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"videoDispatcher","description":"The current video dispatcher (if any)","readonly":true,"nullable":true,"type":[[["VideoDispatcher"]]],"meta":{"line":179,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"voice","description":"The voice state of this connection","nullable":true,"type":[[["VoiceState"]]],"meta":{"line":259,"file":"VoiceConnection.js","path":"src/client/voice"}}],"methods":[{"name":"setSpeaking","description":"Sets whether the voice connection should display as \"speaking\", \"soundshare\" or \"none\".","params":[{"name":"value","description":"The new speaking state","type":[[["BitFieldResolvable"]]]}],"meta":{"line":187,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"setVideoCodec","description":"Set video codec before select protocol","params":[{"name":"value","description":"Codec","type":[[["VideoCodec"]]]}],"returns":[[["VoiceConnection"]]],"meta":{"line":210,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"setVideoStatus","description":"Sets video status","params":[{"name":"value","description":"Video on or off","type":[[["boolean"]]]}],"meta":{"line":220,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"sendVoiceStateUpdate","description":"Sends a request to the main gateway to join a voice channel.","access":"private","params":[{"name":"options","description":"The options to provide","optional":true,"type":[[["Object"]]]}],"returns":[[["Promise","<"],["Shard",">"]]],"meta":{"line":269,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"setTokenAndEndpoint","description":"Set the token and endpoint required to connect to the voice servers.","access":"private","params":[{"name":"token","description":"The voice token","type":[[["string"]]]},{"name":"endpoint","description":"The voice endpoint","type":[[["string"]]]}],"returns":[[["void"]]],"meta":{"line":297,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"setSessionId","description":"Sets the Session ID for the connection.","access":"private","params":[{"name":"sessionId","description":"The voice session ID","type":[[["string"]]]}],"meta":{"line":331,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"checkAuthenticated","description":"Checks whether the voice connection is authenticated.","access":"private","meta":{"line":356,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"authenticateFailed","description":"Invoked when we fail to initiate a voice connection.","access":"private","params":[{"name":"reason","description":"The reason for failure","type":[[["string"]]]}],"meta":{"line":375,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"updateChannel","description":"Move to a different voice channel in the same guild.","access":"private","params":[{"name":"channel","description":"The channel to move to","type":[[["VoiceChannel"]]]}],"meta":{"line":401,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"authenticate","description":"Attempts to authenticate to the voice server.","access":"private","params":[{"name":"options","description":"Join config","type":[[["Object"]]]}],"meta":{"line":411,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"reconnect","description":"Attempts to reconnect to the voice server (typically after a region change).","access":"private","params":[{"name":"token","description":"The voice token","type":[[["string"]]]},{"name":"endpoint","description":"The voice endpoint","type":[[["string"]]]}],"meta":{"line":422,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"disconnect","description":"Disconnects the voice connection, causing a disconnect and closing event to be emitted.","meta":{"line":439,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"_disconnect","description":"Internally disconnects (doesn't send disconnect packet).","access":"private","meta":{"line":455,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"cleanup","description":"Cleans up after disconnect.","access":"private","meta":{"line":469,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"connect","description":"Connect the voice connection.","access":"private","meta":{"line":494,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"onReady","description":"Invoked when the voice websocket is ready.","access":"private","params":[{"name":"data","description":"The received data","type":[[["Object"]]]}],"meta":{"line":525,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"onSessionDescription","description":"Invoked when a session description is received.","access":"private","params":[{"name":"data","description":"The received data","type":[[["Object"]]]}],"meta":{"line":542,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"onSpeaking","description":"Invoked when a speaking event is received.","access":"private","params":[{"name":"data","description":"The received data","type":[[["Object"]]]}],"meta":{"line":577,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"createStreamConnection","description":"Create new connection to screenshare stream","returns":[[["Promise","<"],["StreamConnection",">"]]],"meta":{"line":617,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"playAudio","description":"Play an audio resource.","implements":["PlayInterface#playAudio"],"examples":["// Play a local audio file\nconnection.playAudio('/home/hydrabolt/audio.mp3', { volume: 0.5 });","// Play a ReadableStream\nconnection.playAudio(ytdl('https://www.youtube.com/watch?v=ZlAU_w7-Xp8', { quality: 'highestaudio' }));","// Using different protocols: https://ffmpeg.org/ffmpeg-protocols.html\nconnection.playAudio('http://www.sample-videos.com/audio/mp3/wave.mp3');"],"params":[{"name":"resource","description":"The resource to play.","type":[[["ReadableStream"]],[["string"]]]},{"name":"options","description":"The options to play.","optional":true,"type":[[["StreamOptions"]]]}],"returns":[[["AudioDispatcher"]]],"meta":{"line":57,"file":"PlayInterface.js","path":"src/client/voice/util"}},{"name":"playVideo","description":"Play an video resource.","implements":["PlayInterface#playVideo"],"examples":["// Play a local video file\nconnection.playVideo('/home/hydrabolt/video.mp4');","// Using different protocols: https://ffmpeg.org/ffmpeg-protocols.html\nconnection.playVideo('http://www.sample-videos.com/video/mp4/wave.mp4');"],"params":[{"name":"resource","description":"The resource to play.","type":[[["ReadableStream"]],[["string"]]]},{"name":"options","description":"The options to play.","optional":true,"type":[[["VideoOptions"]]]}],"returns":[[["VideoDispatcher"]]],"meta":{"line":107,"file":"PlayInterface.js","path":"src/client/voice/util"}}],"events":[{"name":"debug","description":"Debug info from the connection.","params":[{"name":"message","description":"The debug message","type":[[["string"]]]}],"meta":{"line":88,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"warn","description":"Warning info from the connection.","params":[{"name":"warning","description":"The warning","type":[[["string"]],[["Error"]]]}],"meta":{"line":97,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"newSession","description":"Emitted when a new session ID is received.","meta":{"line":343,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"authenticated","description":"Emitted when we successfully initiate a voice connection.","meta":{"line":361,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"failed","description":"Emitted when we fail to initiate a voice connection.","params":[{"name":"error","description":"The encountered error","type":[[["Error"]]]}],"meta":{"line":379,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"error","description":"Emitted whenever the connection encounters an error.","params":[{"name":"error","description":"The encountered error","type":[[["Error"]]]}],"meta":{"line":386,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"reconnecting","description":"Emitted when the voice connection is reconnecting (typically after a region change).","meta":{"line":428,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"disconnect","description":"Emitted when the voice connection disconnects.","meta":{"line":458,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"ready","description":"Emitted once the connection is ready, when a promise to join a voice channel resolves,\nthe connection will already be ready.","meta":{"line":548,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"speaking","description":"Emitted whenever a user changes speaking state.","params":[{"name":"user","description":"The user that has changed speaking state","type":[[["User"]]]},{"name":"speaking","description":"The speaking state of the user","type":[[["Readonly","<"],["Speaking",">"]]]}],"meta":{"line":583,"file":"VoiceConnection.js","path":"src/client/voice"}}],"meta":{"line":40,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"StreamConnection","description":"Represents a connection to a guild's voice server.\n```js\n// Obtained using:\nclient.voice.joinChannel(channel)\n .then(connection => connection.createStreamConnection())\n .then(connection => {\n\n });\n```","extends":[[["VoiceConnection"]]],"construct":{"name":"StreamConnection","params":[{"name":"voiceManager","description":"Voice manager","type":[[["ClientVoiceManager"]]]},{"name":"channel","description":"any channel (joinable)","type":[[["Channel"]]]},{"name":"voiceConnection","description":"parent","type":[[["VoiceConnection"]]]}]},"props":[{"name":"voiceConnection","description":"Current voice connection","type":[[["VoiceConnection"]]],"meta":{"line":716,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"serverId","description":"Server Id","type":[[["string"]],[["null"]]],"meta":{"line":727,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"isPaused","description":"Stream state","type":[[["boolean"]]],"meta":{"line":733,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"streamKey","description":"Current stream key","type":[[["string"]]],"meta":{"line":812,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"voiceManager","description":"The voice manager that instantiated this connection","type":[[["ClientVoiceManager"]]],"meta":{"line":48,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"channel","description":"The voice channel this connection is currently serving","type":[[["VoiceChannel"]]],"meta":{"line":54,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"status","description":"The current status of the voice connection","type":[[["VoiceStatus"]]],"meta":{"line":60,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"speaking","description":"Our current speaking state","type":[[["Readonly","<"],["Speaking",">"]]],"meta":{"line":66,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"videoStatus","description":"Our current video state","type":[[["boolean"]]],"meta":{"line":72,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"authentication","description":"The authentication data needed to connect to the voice server","access":"private","type":[[["Object"]]],"meta":{"line":79,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"player","description":"The audio player for this voice connection","type":[[["MediaPlayer"]]],"meta":{"line":85,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"ssrcMap","description":"Map SSRC values to user IDs","access":"private","type":[[["Map","<"],["number",", "],["Snowflake",">"]]],"meta":{"line":112,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"_speaking","description":"Tracks which users are talking","access":"private","type":[[["Map","<"],["Snowflake",", "],["Readonly","<"],["Speaking",">>"]]],"meta":{"line":119,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"sockets","description":"Object that wraps contains the `ws` and `udp` sockets of this voice connection","access":"private","type":[[["Object"]]],"meta":{"line":126,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"receiver","description":"The voice receiver of this connection","type":[[["VoiceReceiver"]]],"meta":{"line":132,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"videoCodec","description":"The voice receiver of this connection","type":[[["VideoCodec"]]],"meta":{"line":147,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"streamConnection","description":"Create a stream connection ?","nullable":true,"type":[[["StreamConnection"]]],"meta":{"line":153,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"client","description":"The client that instantiated this connection","readonly":true,"type":[[["Client"]]],"meta":{"line":161,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"dispatcher","description":"The current audio dispatcher (if any)","readonly":true,"nullable":true,"type":[[["AudioDispatcher"]]],"meta":{"line":170,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"videoDispatcher","description":"The current video dispatcher (if any)","readonly":true,"nullable":true,"type":[[["VideoDispatcher"]]],"meta":{"line":179,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"voice","description":"The voice state of this connection","nullable":true,"type":[[["VoiceState"]]],"meta":{"line":259,"file":"VoiceConnection.js","path":"src/client/voice"}}],"methods":[{"name":"sendSignalScreenshare","description":"Create new stream connection (WS packet)","returns":[[["void"]]],"meta":{"line":762,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"sendScreenshareState","description":"Send screenshare state... (WS)","params":[{"name":"isPaused","description":"screenshare paused ?","default":false,"type":[[["boolean"]]]}],"returns":[[["void"]]],"meta":{"line":781,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"sendStopScreenshare","description":"Stop screenshare, delete this connection (WS)","access":"private","returns":[[["void"]]],"meta":{"line":798,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"setSpeaking","description":"Sets whether the voice connection should display as \"speaking\", \"soundshare\" or \"none\".","inherits":"VoiceConnection#setSpeaking","inherited":true,"params":[{"name":"value","description":"The new speaking state","type":[[["BitFieldResolvable"]]]}],"meta":{"line":187,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"setVideoCodec","description":"Set video codec before select protocol","inherits":"VoiceConnection#setVideoCodec","inherited":true,"params":[{"name":"value","description":"Codec","type":[[["VideoCodec"]]]}],"returns":[[["VoiceConnection"]]],"meta":{"line":210,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"setVideoStatus","description":"Sets video status","inherits":"VoiceConnection#setVideoStatus","inherited":true,"params":[{"name":"value","description":"Video on or off","type":[[["boolean"]]]}],"meta":{"line":220,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"sendVoiceStateUpdate","description":"Sends a request to the main gateway to join a voice channel.","access":"private","inherits":"VoiceConnection#sendVoiceStateUpdate","inherited":true,"params":[{"name":"options","description":"The options to provide","optional":true,"type":[[["Object"]]]}],"returns":[[["Promise","<"],["Shard",">"]]],"meta":{"line":269,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"setTokenAndEndpoint","description":"Set the token and endpoint required to connect to the voice servers.","access":"private","inherits":"VoiceConnection#setTokenAndEndpoint","inherited":true,"params":[{"name":"token","description":"The voice token","type":[[["string"]]]},{"name":"endpoint","description":"The voice endpoint","type":[[["string"]]]}],"returns":[[["void"]]],"meta":{"line":297,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"setSessionId","description":"Sets the Session ID for the connection.","access":"private","inherits":"VoiceConnection#setSessionId","inherited":true,"params":[{"name":"sessionId","description":"The voice session ID","type":[[["string"]]]}],"meta":{"line":331,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"checkAuthenticated","description":"Checks whether the voice connection is authenticated.","access":"private","inherits":"VoiceConnection#checkAuthenticated","inherited":true,"meta":{"line":356,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"authenticateFailed","description":"Invoked when we fail to initiate a voice connection.","access":"private","inherits":"VoiceConnection#authenticateFailed","inherited":true,"params":[{"name":"reason","description":"The reason for failure","type":[[["string"]]]}],"meta":{"line":375,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"updateChannel","description":"Move to a different voice channel in the same guild.","access":"private","inherits":"VoiceConnection#updateChannel","inherited":true,"params":[{"name":"channel","description":"The channel to move to","type":[[["VoiceChannel"]]]}],"meta":{"line":401,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"authenticate","description":"Attempts to authenticate to the voice server.","access":"private","inherits":"VoiceConnection#authenticate","inherited":true,"params":[{"name":"options","description":"Join config","type":[[["Object"]]]}],"meta":{"line":411,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"reconnect","description":"Attempts to reconnect to the voice server (typically after a region change).","access":"private","inherits":"VoiceConnection#reconnect","inherited":true,"params":[{"name":"token","description":"The voice token","type":[[["string"]]]},{"name":"endpoint","description":"The voice endpoint","type":[[["string"]]]}],"meta":{"line":422,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"disconnect","description":"Disconnects the voice connection, causing a disconnect and closing event to be emitted.","inherits":"VoiceConnection#disconnect","inherited":true,"meta":{"line":439,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"_disconnect","description":"Internally disconnects (doesn't send disconnect packet).","access":"private","inherits":"VoiceConnection#_disconnect","inherited":true,"meta":{"line":455,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"cleanup","description":"Cleans up after disconnect.","access":"private","inherits":"VoiceConnection#cleanup","inherited":true,"meta":{"line":469,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"connect","description":"Connect the voice connection.","access":"private","inherits":"VoiceConnection#connect","inherited":true,"meta":{"line":494,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"onReady","description":"Invoked when the voice websocket is ready.","access":"private","inherits":"VoiceConnection#onReady","inherited":true,"params":[{"name":"data","description":"The received data","type":[[["Object"]]]}],"meta":{"line":525,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"onSessionDescription","description":"Invoked when a session description is received.","access":"private","inherits":"VoiceConnection#onSessionDescription","inherited":true,"params":[{"name":"data","description":"The received data","type":[[["Object"]]]}],"meta":{"line":542,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"onSpeaking","description":"Invoked when a speaking event is received.","access":"private","inherits":"VoiceConnection#onSpeaking","inherited":true,"params":[{"name":"data","description":"The received data","type":[[["Object"]]]}],"meta":{"line":577,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"createStreamConnection","description":"Create new connection to screenshare stream","inherits":"VoiceConnection#createStreamConnection","inherited":true,"returns":[[["Promise","<"],["StreamConnection",">"]]],"meta":{"line":617,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"playAudio","description":"Play an audio resource.","inherits":"VoiceConnection#playAudio","inherited":true,"implements":["PlayInterface#playAudio"],"examples":["// Play a local audio file\nconnection.playAudio('/home/hydrabolt/audio.mp3', { volume: 0.5 });","// Play a ReadableStream\nconnection.playAudio(ytdl('https://www.youtube.com/watch?v=ZlAU_w7-Xp8', { quality: 'highestaudio' }));","// Using different protocols: https://ffmpeg.org/ffmpeg-protocols.html\nconnection.playAudio('http://www.sample-videos.com/audio/mp3/wave.mp3');"],"params":[{"name":"resource","description":"The resource to play.","type":[[["ReadableStream"]],[["string"]]]},{"name":"options","description":"The options to play.","optional":true,"type":[[["StreamOptions"]]]}],"returns":[[["AudioDispatcher"]]],"meta":{"line":57,"file":"PlayInterface.js","path":"src/client/voice/util"}},{"name":"playVideo","description":"Play an video resource.","inherits":"VoiceConnection#playVideo","inherited":true,"implements":["PlayInterface#playVideo"],"examples":["// Play a local video file\nconnection.playVideo('/home/hydrabolt/video.mp4');","// Using different protocols: https://ffmpeg.org/ffmpeg-protocols.html\nconnection.playVideo('http://www.sample-videos.com/video/mp4/wave.mp4');"],"params":[{"name":"resource","description":"The resource to play.","type":[[["ReadableStream"]],[["string"]]]},{"name":"options","description":"The options to play.","optional":true,"type":[[["VideoOptions"]]]}],"returns":[[["VideoDispatcher"]]],"meta":{"line":107,"file":"PlayInterface.js","path":"src/client/voice/util"}}],"events":[{"name":"debug","description":"Debug info from the connection.","params":[{"name":"message","description":"The debug message","type":[[["string"]]]}],"meta":{"line":88,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"warn","description":"Warning info from the connection.","params":[{"name":"warning","description":"The warning","type":[[["string"]],[["Error"]]]}],"meta":{"line":97,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"newSession","description":"Emitted when a new session ID is received.","meta":{"line":343,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"authenticated","description":"Emitted when we successfully initiate a voice connection.","meta":{"line":361,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"failed","description":"Emitted when we fail to initiate a voice connection.","params":[{"name":"error","description":"The encountered error","type":[[["Error"]]]}],"meta":{"line":379,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"error","description":"Emitted whenever the connection encounters an error.","params":[{"name":"error","description":"The encountered error","type":[[["Error"]]]}],"meta":{"line":386,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"reconnecting","description":"Emitted when the voice connection is reconnecting (typically after a region change).","meta":{"line":428,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"disconnect","description":"Emitted when the voice connection disconnects.","meta":{"line":458,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"ready","description":"Emitted once the connection is ready, when a promise to join a voice channel resolves,\nthe connection will already be ready.","meta":{"line":548,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"speaking","description":"Emitted whenever a user changes speaking state.","params":[{"name":"user","description":"The user that has changed speaking state","type":[[["User"]]]},{"name":"speaking","description":"The speaking state of the user","type":[[["Readonly","<"],["Speaking",">"]]]}],"meta":{"line":583,"file":"VoiceConnection.js","path":"src/client/voice"}}],"meta":{"line":702,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"WebhookClient","description":"The webhook client.","extends":[[["BaseClient"]]],"implements":[[["Webhook"]]],"construct":{"name":"WebhookClient","params":[{"name":"data","description":"The data of the webhook","type":[[["WebhookClientData"]]]},{"name":"options","description":"Options for the client","optional":true,"type":[[["ClientOptions"]]]}]},"props":[{"name":"id","description":"The webhook's id","type":[[["Snowflake"]]],"meta":{"line":55,"file":"Webhook.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the webhook was created at","readonly":true,"type":[[["number"]]],"meta":{"line":400,"file":"Webhook.js","path":"src/structures"}},{"name":"createdAt","description":"The time the webhook was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":409,"file":"Webhook.js","path":"src/structures"}},{"name":"url","description":"The URL of this webhook","readonly":true,"type":[[["string"]]],"meta":{"line":418,"file":"Webhook.js","path":"src/structures"}},{"name":"options","description":"The options the client was instantiated with","type":[[["ClientOptions"]]],"meta":{"line":25,"file":"BaseClient.js","path":"src/client"}},{"name":"rest","description":"The REST manager of the client","access":"private","type":[[["RESTManager"]]],"meta":{"line":32,"file":"BaseClient.js","path":"src/client"}},{"name":"api","description":"API shortcut","access":"private","readonly":true,"type":[[["Object"]]],"meta":{"line":41,"file":"BaseClient.js","path":"src/client"}}],"methods":[{"name":"send","description":"Sends a message with this webhook.","implements":["Webhook#send"],"examples":["// Send a basic message\nwebhook.send('hello!')\n .then(message => console.log(`Sent message: ${message.content}`))\n .catch(console.error);","// Send a basic message in a thread\nwebhook.send({ content: 'hello!', threadId: '836856309672348295' })\n .then(message => console.log(`Sent message: ${message.content}`))\n .catch(console.error);","// Send a remote file\nwebhook.send({\n files: ['https://cdn.discordapp.com/icons/222078108977594368/6e1019b3179d71046e463a75915e7244.png?size=2048']\n})\n .then(console.log)\n .catch(console.error);","// Send a local file\nwebhook.send({\n files: [{\n attachment: 'entire/path/to/file.jpg',\n name: 'file.jpg'\n }]\n})\n .then(console.log)\n .catch(console.error);","// Send an embed with a local image inside\nwebhook.send({\n content: 'This is an embed',\n embeds: [{\n thumbnail: {\n url: 'attachment://file.jpg'\n }\n }],\n files: [{\n attachment: 'entire/path/to/file.jpg',\n name: 'file.jpg'\n }]\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["WebhookMessageOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":185,"file":"Webhook.js","path":"src/structures"}},{"name":"sendSlackMessage","description":"Sends a raw slack message with this webhook.","see":["{@link https://api.slack.com/messaging/webhooks}"],"implements":["Webhook#sendSlackMessage"],"examples":["// Send a slack message\nwebhook.sendSlackMessage({\n 'username': 'Wumpus',\n 'attachments': [{\n 'pretext': 'this looks pretty cool',\n 'color': '#F0F',\n 'footer_icon': 'http://snek.s3.amazonaws.com/topSnek.png',\n 'footer': 'Powered by sneks',\n 'ts': Date.now() / 1_000\n }]\n}).catch(console.error);"],"params":[{"name":"body","description":"The raw body to send","type":[[["Object"]]]}],"async":true,"returns":[[["Promise","<"],["boolean",">"]]],"meta":{"line":225,"file":"Webhook.js","path":"src/structures"}},{"name":"edit","description":"Edits this webhook.","implements":["Webhook#edit"],"params":[{"name":"options","description":"Options for editing the webhook","type":[[["WebhookEditData"]]]},{"name":"reason","description":"Reason for editing the webhook","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Webhook",">"]]],"meta":{"line":252,"file":"Webhook.js","path":"src/structures"}},{"name":"fetchMessage","description":"Gets a message that was sent by this webhook.","implements":["Webhook#fetchMessage"],"params":[{"name":"message","description":"The id of the message to fetch","type":[[["Snowflake"]],[["original","'"]]]},{"name":"cacheOrOptions","description":"The options to provide to fetch the message.\nA **deprecated** boolean may be passed instead to specify whether to cache the message.","optional":true,"default":"{}","type":[[["WebhookFetchMessageOptions"]],[["boolean"]]]}],"async":true,"returns":{"types":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"description":"Returns the raw message data if the webhook was instantiated as a\n{@link WebhookClient} or if the channel is uncached, otherwise a {@link Message} will be returned"},"meta":{"line":286,"file":"Webhook.js","path":"src/structures"}},{"name":"editMessage","description":"Edits a message that was sent by this webhook.","implements":["Webhook#editMessage"],"params":[{"name":"message","description":"The message to edit","type":[[["MessageResolvable"]],[["original","'"]]]},{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["WebhookEditMessageOptions"]]]}],"async":true,"returns":{"types":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"description":"Returns the raw message data if the webhook was instantiated as a\n{@link WebhookClient} or if the channel is uncached, otherwise a {@link Message} will be returned"},"meta":{"line":322,"file":"Webhook.js","path":"src/structures"}},{"name":"delete","description":"Deletes the webhook.","implements":["Webhook#delete"],"params":[{"name":"reason","description":"Reason for deleting this webhook","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":361,"file":"Webhook.js","path":"src/structures"}},{"name":"deleteMessage","description":"Delete a message that was sent by this webhook.","implements":["Webhook#deleteMessage"],"params":[{"name":"message","description":"The message to delete","type":[[["MessageResolvable"]],[["original","'"]]]},{"name":"threadId","description":"The id of the thread this message belongs to","optional":true,"type":[[["Snowflake"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":371,"file":"Webhook.js","path":"src/structures"}},{"name":"destroy","description":"Destroys all assets used by the base client.","inherits":"BaseClient#destroy","inherited":true,"returns":[[["void"]]],"meta":{"line":49,"file":"BaseClient.js","path":"src/client"}},{"name":"incrementMaxListeners","description":"Increments max listeners by one, if they are not zero.","access":"private","inherits":"BaseClient#incrementMaxListeners","inherited":true,"meta":{"line":57,"file":"BaseClient.js","path":"src/client"}},{"name":"decrementMaxListeners","description":"Decrements max listeners by one, if they are not zero.","access":"private","inherits":"BaseClient#decrementMaxListeners","inherited":true,"meta":{"line":68,"file":"BaseClient.js","path":"src/client"}}],"events":[{"name":"debug","description":"Emitted for general debugging information.","params":[{"name":"info","description":"The debug information","type":[[["string"]]]}],"meta":{"line":82,"file":"BaseClient.js","path":"src/client"}},{"name":"rateLimit","description":"Emitted when the client hits a rate limit while making a request","params":[{"name":"rateLimitData","description":"Object containing the rate limit info","type":[[["RateLimitData"]]]}],"meta":{"line":138,"file":"RequestHandler.js","path":"src/rest"}},{"name":"apiRequest","description":"Emitted before every API request.\nThis event can emit several times for the same request, e.g. when hitting a rate limit.\nThis is an informational event that is emitted quite frequently,\nit is highly recommended to check `request.path` to filter the data.","params":[{"name":"request","description":"The request that is about to be sent","type":[[["APIRequest"]]]}],"meta":{"line":189,"file":"RequestHandler.js","path":"src/rest"}},{"name":"apiResponse","description":"Emitted after every API request has received a response.\nThis event does not necessarily correlate to completion of the request, e.g. when hitting a rate limit.\nThis is an informational event that is emitted quite frequently,\nit is highly recommended to check `request.path` to filter the data.","params":[{"name":"request","description":"The request that triggered this response","type":[[["APIRequest"]]]},{"name":"response","description":"The response received from the Discord API","type":[[["Response"]]]}],"meta":{"line":221,"file":"RequestHandler.js","path":"src/rest"}},{"name":"invalidRequestWarning","description":"Emitted periodically when the process sends invalid requests to let users avoid the\n10k invalid requests in 10 minutes threshold that causes a ban","params":[{"name":"invalidRequestWarningData","description":"Object containing the invalid request info","type":[[["InvalidRequestWarningData"]]]}],"meta":{"line":298,"file":"RequestHandler.js","path":"src/rest"}}],"meta":{"line":12,"file":"WebhookClient.js","path":"src/client"}},{"name":"WebSocketManager","description":"The WebSocket manager for this client.\nThis class forwards raw dispatch events,\nread more about it here {@link https://discord.com/developers/docs/topics/gateway}","extends":[[["EventEmitter"]]],"props":[{"name":"client","description":"The client that instantiated this WebSocketManager","readonly":true,"type":[[["Client"]]],"meta":{"line":40,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"gateway","description":"The gateway this manager uses","nullable":true,"type":[[["string"]]],"meta":{"line":52,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"totalShards","description":"The amount of shards this manager handles","access":"private","type":[[["number"]]],"meta":{"line":59,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"shards","description":"A collection of all shards this manager handles","type":[[["Collection","<"],["number",", "],["WebSocketShard",">"]]],"meta":{"line":65,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"shardQueue","description":"An array of shards to be connected or that need to reconnect","access":"private","type":[[["Set","<"],["WebSocketShard",">"]]],"meta":{"line":67,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"packetQueue","description":"An array of queued events before this WebSocketManager became ready","access":"private","type":[[["Array","<"],["Object",">"]]],"meta":{"line":75,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"status","description":"The current status of this WebSocketManager","type":[[["Status"]]],"meta":{"line":87,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"destroyed","description":"If this manager was destroyed. It will prevent shards from reconnecting","access":"private","type":[[["boolean"]]],"meta":{"line":94,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"reconnecting","description":"If this manager is currently reconnecting one or multiple shards","access":"private","type":[[["boolean"]]],"meta":{"line":101,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"ping","description":"The average ping of all WebSocketShards","readonly":true,"type":[[["number"]]],"meta":{"line":109,"file":"WebSocketManager.js","path":"src/client/websocket"}}],"methods":[{"name":"debug","description":"Emits a debug message.","access":"private","params":[{"name":"message","description":"The debug message","type":[[["string"]]]},{"name":"shard","description":"The shard that emitted this message, if any","optional":true,"nullable":true,"type":[[["WebSocketShard"]]]}],"meta":{"line":120,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"connect","description":"Connects this manager to the gateway.","access":"private","async":true,"meta":{"line":128,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"createShards","description":"Handles the creation of a shard.","access":"private","async":true,"returns":[[["Promise","<"],["boolean",">"]]],"meta":{"line":169,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"reconnect","description":"Handles reconnects for this manager.","access":"private","async":true,"returns":[[["Promise","<"],["boolean",">"]]],"meta":{"line":268,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"broadcast","description":"Broadcasts a packet to every shard this manager handles.","access":"private","params":[{"name":"packet","description":"The packet to send","type":[[["Object"]]]}],"meta":{"line":306,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"destroy","description":"Destroys this manager and all its shards.","access":"private","meta":{"line":314,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"handlePacket","description":"Processes a packet and queues it if this WebSocketManager is not ready.","access":"private","params":[{"name":"packet","description":"The packet to be handled","optional":true,"type":[[["Object"]]]},{"name":"shard","description":"The shard that will handle this packet","optional":true,"type":[[["WebSocketShard"]]]}],"returns":[[["boolean"]]],"meta":{"line":329,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"checkShardsReady","description":"Checks whether the client is ready to be marked as ready.","access":"private","meta":{"line":363,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"triggerClientReady","description":"Causes the client to be marked as ready and emits the ready event.","access":"private","meta":{"line":376,"file":"WebSocketManager.js","path":"src/client/websocket"}}],"meta":{"line":36,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"WebSocketShard","description":"Represents a Shard's WebSocket connection","extends":[[["EventEmitter"]]],"props":[{"name":"manager","description":"The WebSocketManager of the shard","type":[[["WebSocketManager"]]],"meta":{"line":31,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"id","description":"The shard's id","type":[[["number"]]],"meta":{"line":37,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"resumeURL","description":"The resume URL for this shard","access":"private","nullable":true,"type":[[["string"]]],"meta":{"line":44,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"status","description":"The current status of the shard","type":[[["Status"]]],"meta":{"line":50,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"sequence","description":"The current sequence of the shard","access":"private","type":[[["number"]]],"meta":{"line":57,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"closeSequence","description":"The sequence of the shard after close","access":"private","type":[[["number"]]],"meta":{"line":64,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"sessionId","description":"The current session id of the shard","access":"private","nullable":true,"type":[[["string"]]],"meta":{"line":71,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"ping","description":"The previous heartbeat ping of the shard","type":[[["number"]]],"meta":{"line":77,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"lastPingTimestamp","description":"The last time a ping was sent (a timestamp)","access":"private","type":[[["number"]]],"meta":{"line":84,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"lastHeartbeatAcked","description":"If we received a heartbeat ack back. Used to identify zombie connections","access":"private","type":[[["boolean"]]],"meta":{"line":91,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"closeEmitted","description":"Used to prevent calling {@link WebSocketShard#event:close} twice while closing or terminating the WebSocket.","access":"private","type":[[["boolean"]]],"meta":{"line":98,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"ratelimit","description":"Contains the rate limit queue and metadata","access":"private","type":[[["Object"]]],"meta":{"line":100,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"connection","description":"The WebSocket connection for the current shard","access":"private","nullable":true,"type":[[["WebSocket"]]],"meta":{"line":116,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"inflate","description":"The compression to use","access":"private","nullable":true,"type":[[["Inflate"]]],"meta":{"line":129,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"helloTimeout","description":"The HELLO timeout","access":"private","nullable":true,"type":[[["NodeJSTimeout"]]],"meta":{"line":137,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"wsCloseTimeout","description":"The WebSocket timeout.","access":"private","nullable":true,"type":[[["NodeJSTimeout"]]],"meta":{"line":145,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"eventsAttached","description":"If the manager attached its event handlers on the shard","access":"private","type":[[["boolean"]]],"meta":{"line":153,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"expectedGuilds","description":"A set of guild ids this shard expects to receive","access":"private","nullable":true,"type":[[["Set","<"],["string",">"]]],"meta":{"line":161,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"readyTimeout","description":"The ready timeout","access":"private","nullable":true,"type":[[["NodeJSTimeout"]]],"meta":{"line":169,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"connectedAt","description":"Time when the WebSocket connection was opened","access":"private","type":[[["number"]]],"meta":{"line":177,"file":"WebSocketShard.js","path":"src/client/websocket"}}],"methods":[{"name":"debug","description":"Emits a debug event.","access":"private","params":[{"name":"message","description":"The debug message","type":[[["string"]]]}],"meta":{"line":191,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"connect","description":"Connects the shard to the gateway.","access":"private","returns":{"types":[[["Promise","<"],["void",">"]]],"description":"A promise that will resolve if the shard turns ready successfully,\nor reject if we couldn't connect"},"meta":{"line":201,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"onOpen","description":"Called whenever a connection is opened to the gateway.","access":"private","meta":{"line":299,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"onMessage","description":"Called whenever a message is received.","access":"private","params":[{"name":"event","description":"Event received","type":[[["MessageEvent"]]]}],"meta":{"line":309,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"onError","description":"Called whenever an error occurs with the WebSocket.","access":"private","params":[{"name":"event","description":"The error that occurred","type":[[["ErrorEvent"]]]}],"meta":{"line":340,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"onClose","description":"Called whenever a connection to the gateway is closed.","access":"private","params":[{"name":"event","description":"Close event that was received","type":[[["CloseEvent"]]]}],"meta":{"line":373,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"emitClose","description":"This method is responsible to emit close event for this shard.\nThis method helps the shard reconnect.","params":[{"name":"event","description":"Close event that was received","optional":true,"type":[[["CloseEvent"]]]}],"meta":{"line":396,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"onPacket","description":"Called whenever a packet is received.","access":"private","params":[{"name":"packet","description":"The received packet","type":[[["Object"]]]}],"meta":{"line":421,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"checkReady","description":"Checks if the shard can be marked as ready","access":"private","meta":{"line":510,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"setHelloTimeout","description":"Sets the HELLO packet timeout.","access":"private","params":[{"name":"time","description":"If set to -1, it will clear the hello timeout","optional":true,"type":[[["number"]]]}],"meta":{"line":564,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"setWsCloseTimeout","description":"Sets the WebSocket Close timeout.\nThis method is responsible for detecting any zombie connections if the WebSocket fails to close properly.","access":"private","params":[{"name":"time","description":"If set to -1, it will clear the timeout","optional":true,"type":[[["number"]]]}],"meta":{"line":586,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"setHeartbeatTimer","description":"Sets the heartbeat timer for this shard.","access":"private","params":[{"name":"time","description":"If -1, clears the interval, any other number sets an interval","type":[[["number"]]]}],"meta":{"line":626,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"sendHeartbeat","description":"Sends a heartbeat to the WebSocket.\nIf this shard didn't receive a heartbeat last time, it will destroy it and reconnect","access":"private","params":[{"name":"tag","description":"What caused this heartbeat to be sent","optional":true,"default":"'HeartbeatTimer'","type":[[["string"]]]},{"name":"ignoreHeartbeatAck","description":"If we should send the heartbeat forcefully.","optional":true,"type":[[["boolean"]]]}],"meta":{"line":648,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"ackHeartbeat","description":"Acknowledges a heartbeat.","access":"private","meta":{"line":675,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"identify","description":"Identifies the client on the connection.","access":"private","returns":[[["void"]]],"meta":{"line":687,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"identifyNew","description":"Identifies as a new connection on the gateway.","access":"private","meta":{"line":695,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"identifyResume","description":"Resumes a session on the gateway.","access":"private","meta":{"line":729,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"send","description":"Adds a packet to the queue to be sent to the gateway.\nIf you use this method, make sure you understand that you need to provide\na full [Payload](https://discord.com/developers/docs/topics/gateway-events#payload-structure).\nDo not use this method if you don't know what you're doing.","params":[{"name":"data","description":"The full packet to send","type":[[["Object"]]]},{"name":"important","description":"If this packet should be added first in queue","optional":true,"default":false,"type":[[["boolean"]]]}],"meta":{"line":757,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"_send","description":"Sends data, bypassing the queue.","access":"private","params":[{"name":"data","description":"Packet to send","type":[[["Object"]]]}],"returns":[[["void"]]],"meta":{"line":768,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"processQueue","description":"Processes the current WebSocket queue.","access":"private","returns":[[["void"]]],"meta":{"line":785,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"destroy","description":"Destroys this shard and closes its WebSocket connection.","access":"private","params":[{"name":"options","description":"Options for destroying the shard","optional":true,"default":"{ closeCode: 1000, reset: false, emit: true, log: true }","type":[[["Object"]]]}],"meta":{"line":807,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"_cleanupConnection","description":"Cleans up the WebSocket connection listeners.","access":"private","meta":{"line":887,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"_emitDestroyed","description":"Emits the DESTROYED event on the shard","access":"private","meta":{"line":896,"file":"WebSocketShard.js","path":"src/client/websocket"}}],"events":[{"name":"close","description":"Emitted when a shard's WebSocket closes.","params":[{"name":"event","description":"The received event","type":[[["CloseEvent"]]]}],"meta":{"line":407,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"ready","description":"Emitted when the shard receives the READY payload and is now waiting for guilds","meta":{"line":429,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"resumed","description":"Emitted when the shard resumes successfully","meta":{"line":444,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"invalidSession","description":"Emitted when the session has been invalidated.","meta":{"line":485,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"allReady","description":"Emitted when the shard is fully ready.\nThis event is emitted if:\n* all guilds were received by this shard\n* the ready timeout expired, and some guilds are unavailable","params":[{"name":"unavailableGuilds","description":"Set of unavailable guilds, if any","nullable":true,"type":[[["Set","<"],["string",">"]]]}],"meta":{"line":521,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"destroyed","description":"Emitted when a shard is destroyed, but no WebSocket connection was present.","meta":{"line":897,"file":"WebSocketShard.js","path":"src/client/websocket"}}],"meta":{"line":23,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"ApplicationCommandManager","description":"Manages API methods for application commands and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"permissions","description":"The manager for permissions of arbitrary commands on arbitrary guilds","type":[[["ApplicationCommandPermissionsManager"]]],"meta":{"line":24,"file":"ApplicationCommandManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of this manager","type":[[["Collection","<"],["Snowflake",", "],["ApplicationCommand",">"]]],"meta":{"line":27,"file":"ApplicationCommandManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"commandPath","description":"The APIRouter path to the commands","access":"private","params":[{"name":"options.id","description":"The application command's id","optional":true,"type":[[["Snowflake"]]]},{"name":"options.guildId","description":"The guild's id to use in the path,\nignored when using a {@link GuildApplicationCommandManager}","optional":true,"type":[[["Snowflake"]]]}],"returns":[[["Object"]]],"meta":{"line":45,"file":"ApplicationCommandManager.js","path":"src/managers"}},{"name":"fetch","description":"Obtains one or multiple application commands from Discord, or the cache if it's already available.","examples":["// Fetch a single command\nclient.application.commands.fetch('123456789012345678')\n .then(command => console.log(`Fetched command ${command.name}`))\n .catch(console.error);","// Fetch all commands\nguild.commands.fetch()\n .then(commands => console.log(`Fetched ${commands.size} commands`))\n .catch(console.error);"],"params":[{"name":"id","description":"The application command's id","optional":true,"type":[[["Snowflake"]]]},{"name":"options","description":"Additional options for this fetch","optional":true,"type":[[["FetchApplicationCommandOptions"]]]}],"async":true,"returns":[[["Promise","<("],["ApplicationCommand","|"],["Collection","<"],["Snowflake",", "],["ApplicationCommand",">)>"]]],"meta":{"line":96,"file":"ApplicationCommandManager.js","path":"src/managers"}},{"name":"create","description":"Creates an application command.","examples":["// Create a new command\nclient.application.commands.create({\n name: 'test',\n description: 'A test command',\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"command","description":"The command","type":[[["ApplicationCommandDataResolvable"]]]},{"name":"guildId","description":"The guild's id to create this command in,\nignored when using a {@link GuildApplicationCommandManager}","optional":true,"type":[[["Snowflake"]]]}],"async":true,"returns":[[["Promise","<"],["ApplicationCommand",">"]]],"meta":{"line":132,"file":"ApplicationCommandManager.js","path":"src/managers"}},{"name":"set","description":"Sets all the commands for this application or guild.","examples":["// Set all commands to just this one\nclient.application.commands.set([\n {\n name: 'test',\n description: 'A test command',\n },\n])\n .then(console.log)\n .catch(console.error);","// Remove all commands\nguild.commands.set([])\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"commands","description":"The commands","type":[[["Array","<"],["ApplicationCommandDataResolvable",">"]]]},{"name":"guildId","description":"The guild's id to create the commands in,\nignored when using a {@link GuildApplicationCommandManager}","optional":true,"type":[[["Snowflake"]]]}],"async":true,"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["ApplicationCommand",">>"]]],"meta":{"line":161,"file":"ApplicationCommandManager.js","path":"src/managers"}},{"name":"edit","description":"Edits an application command.","examples":["// Edit an existing command\nclient.application.commands.edit('123456789012345678', {\n description: 'New description',\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"command","description":"The command to edit","type":[[["ApplicationCommandResolvable"]]]},{"name":"data","description":"The data to update the command with","type":[[["Partial","<"],["ApplicationCommandDataResolvable",">"]]]},{"name":"guildId","description":"The guild's id where the command registered,\nignored when using a {@link GuildApplicationCommandManager}","optional":true,"type":[[["Snowflake"]]]}],"async":true,"returns":[[["Promise","<"],["ApplicationCommand",">"]]],"meta":{"line":183,"file":"ApplicationCommandManager.js","path":"src/managers"}},{"name":"delete","description":"Deletes an application command.","examples":["// Delete a command\nguild.commands.delete('123456789012345678')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"command","description":"The command to delete","type":[[["ApplicationCommandResolvable"]]]},{"name":"guildId","description":"The guild's id where the command is registered,\nignored when using a {@link GuildApplicationCommandManager}","optional":true,"type":[[["Snowflake"]]]}],"async":true,"returns":[[["Promise",""],["ApplicationCommand",">"]]],"meta":{"line":205,"file":"ApplicationCommandManager.js","path":"src/managers"}},{"name":"resolve","description":"Resolves a data entry to a data Object.","inherits":"DataManager#resolve","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Object"]]],"description":"An instance from this Manager","nullable":true},"meta":{"line":39,"file":"DataManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a data entry to an instance id.","inherits":"DataManager#resolveId","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":50,"file":"DataManager.js","path":"src/managers"}},{"name":"transformCommand","description":"Transforms an {@link ApplicationCommandData} object into something that can be used with the API.","scope":"static","access":"private","params":[{"name":"command","description":"The command to transform","type":[[["ApplicationCommandDataResolvable"]]]}],"returns":[[["APIApplicationCommand"]]],"meta":{"line":222,"file":"ApplicationCommandManager.js","path":"src/managers"}}],"meta":{"line":16,"file":"ApplicationCommandManager.js","path":"src/managers"}},{"name":"ApplicationCommandPermissionsManager","description":"Manages API methods for permissions of Application Commands.","extends":[[["BaseManager"]]],"props":[{"name":"manager","description":"The manager or command that this manager belongs to","access":"private","type":[[["ApplicationCommandManager"]],[["ApplicationCommand"]]],"meta":{"line":21,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"guild","description":"The guild that this manager acts on","nullable":true,"type":[[["Guild"]]],"meta":{"line":27,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"guildId","description":"The id of the guild that this manager acts on","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":33,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"commandId","description":"The id of the command this manager acts on","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":39,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"permissionsPath","description":"The APIRouter path to the commands","access":"private","params":[{"name":"guildId","description":"The guild's id to use in the path,","type":[[["Snowflake"]]]},{"name":"commandId","description":"The application command's id","optional":true,"type":[[["Snowflake"]]]}],"returns":[[["Object"]]],"meta":{"line":49,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"fetch","description":"Fetches the permissions for one or multiple commands.","examples":["// Fetch permissions for one command\nguild.commands.permissions.fetch({ command: '123456789012345678' })\n .then(perms => console.log(`Fetched permissions for ${perms.length} users`))\n .catch(console.error);","// Fetch permissions for all commands in a guild\nclient.application.commands.permissions.fetch({ guild: '123456789012345678' })\n .then(perms => console.log(`Fetched permissions for ${perms.size} commands`))\n .catch(console.error);"],"params":[{"name":"options","description":"Options used to fetch permissions","optional":true,"type":[[["BaseApplicationCommandPermissionsOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Array","<"],["ApplicationCommandPermissions",">|"],["Collection","<"],["Snowflake",", "],["Array","<"],["ApplicationCommandPermissions",">>)>"]]],"meta":{"line":95,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"set","description":"Sets the permissions for one or more commands.","examples":["// Set the permissions for one command\nclient.application.commands.permissions.set({ guild: '892455839386304532', command: '123456789012345678',\n permissions: [\n {\n id: '876543210987654321',\n type: 'USER',\n permission: false,\n },\n]})\n .then(console.log)\n .catch(console.error);","// Set the permissions for all commands\nguild.commands.permissions.set({ fullPermissions: [\n {\n id: '123456789012345678',\n permissions: [{\n id: '876543210987654321',\n type: 'USER',\n permission: false,\n }],\n },\n]})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options used to set permissions","type":[[["SetApplicationCommandPermissionsOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Array","<"],["ApplicationCommandPermissions",">|"],["Collection","<"],["Snowflake",", "],["Array","<"],["ApplicationCommandPermissions",">>)>"]]],"meta":{"line":161,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"add","description":"Add permissions to a command.","examples":["// Block a role from the command permissions\nguild.commands.permissions.add({ command: '123456789012345678', permissions: [\n {\n id: '876543211234567890',\n type: 'ROLE',\n permission: false\n },\n]})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options used to add permissions","type":[[["AddApplicationCommandPermissionsOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Array","<"],["ApplicationCommandPermissions",">>"]]],"meta":{"line":222,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"remove","description":"Remove permissions from a command.","examples":["// Remove a user permission from this command\nguild.commands.permissions.remove({ command: '123456789012345678', users: '876543210123456789' })\n .then(console.log)\n .catch(console.error);","// Remove multiple roles from this command\nguild.commands.permissions.remove({\n command: '123456789012345678', roles: ['876543210123456789', '765432101234567890']\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options used to remove permissions","type":[[["RemoveApplicationCommandPermissionsOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Array","<"],["ApplicationCommandPermissions",">>"]]],"meta":{"line":273,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"has","description":"Check whether a permission exists for a user or role","examples":["// Check whether a user has permission to use a command\nguild.commands.permissions.has({ command: '123456789012345678', permissionId: '876543210123456789' })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options used to check permissions","type":[[["AddApplicationCommandPermissionsOptions"]]]}],"async":true,"returns":[[["Promise","<"],["boolean",">"]]],"meta":{"line":348,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"transformPermissions","description":"Transforms an {@link ApplicationCommandPermissionData} object into something that can be used with the API.","scope":"static","access":"private","params":[{"name":"permissions","description":"The permissions to transform","type":[[["ApplicationCommandPermissionData"]]]},{"name":"received","description":"Whether these permissions have been received from Discord","optional":true,"type":[[["boolean"]]]}],"returns":[[["APIApplicationCommandPermissions"]]],"meta":{"line":399,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}}],"meta":{"line":12,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"AutoModerationRuleManager","description":"Manages API methods for auto moderation rules and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"guild","description":"The guild this manager belongs to.","type":[[["Guild"]]],"meta":{"line":25,"file":"AutoModerationRuleManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of items for this manager.","abstract":true,"type":[[["Collection"]]],"meta":{"line":49,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"resolve","description":"Resolves an {@link AutoModerationRuleResolvable} to an {@link AutoModerationRule} object.","params":[{"name":"autoModerationRule","description":"The AutoModerationRule resolvable to resolve","type":[[["AutoModerationRuleResolvable"]]]}],"returns":{"types":[[["AutoModerationRule"]]],"nullable":true},"meta":{"line":28,"file":"AutoModerationRuleManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves an {@link AutoModerationRuleResolvable} to a {@link AutoModerationRule} id.","params":[{"name":"autoModerationRule","description":"The AutoModerationRule resolvable to resolve","type":[[["AutoModerationRuleResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":37,"file":"AutoModerationRuleManager.js","path":"src/managers"}},{"name":"create","description":"Creates a new auto moderation rule.","params":[{"name":"options","description":"Options for creating the auto moderation rule","type":[[["AutoModerationRuleCreateOptions"]]]}],"async":true,"returns":[[["Promise","<"],["AutoModerationRule",">"]]],"meta":{"line":108,"file":"AutoModerationRuleManager.js","path":"src/managers"}},{"name":"edit","description":"Edits an auto moderation rule.","params":[{"name":"autoModerationRule","description":"The auto moderation rule to edit","type":[[["AutoModerationRuleResolvable"]]]},{"name":"options","description":"Options for editing the auto moderation rule","type":[[["AutoModerationRuleEditOptions"]]]}],"async":true,"returns":[[["Promise","<"],["AutoModerationRule",">"]]],"meta":{"line":174,"file":"AutoModerationRuleManager.js","path":"src/managers"}},{"name":"fetch","description":"Fetches auto moderation rules from Discord.","examples":["// Fetch all auto moderation rules from a guild without caching\nguild.autoModerationRules.fetch({ cache: false })\n .then(console.log)\n .catch(console.error);","// Fetch a single auto moderation rule\nguild.autoModerationRules.fetch('979083472868098119')\n .then(console.log)\n .catch(console.error);","// Fetch a single auto moderation rule without checking cache and without caching\nguild.autoModerationRules.fetch({ autoModerationRule: '979083472868098119', cache: false, force: true })\n .then(console.log)\n .catch(console.error)"],"params":[{"name":"options","description":"Options for fetching auto moderation rule(s)","optional":true,"type":[[["AutoModerationRuleResolvable"]],[["FetchAutoModerationRuleOptions"]],[["FetchAutoModerationRulesOptions"]]]}],"returns":[[["Promise","<("],["AutoModerationRule","|"],["Collection","<"],["Snowflake",", "],["AutoModerationRule",">)>"]]],"meta":{"line":255,"file":"AutoModerationRuleManager.js","path":"src/managers"}},{"name":"delete","description":"Deletes an auto moderation rule.","params":[{"name":"autoModerationRule","description":"The auto moderation rule to delete","type":[[["AutoModerationRuleResolvable"]]]},{"name":"reason","description":"The reason for deleting the auto moderation rule","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":290,"file":"AutoModerationRuleManager.js","path":"src/managers"}}],"meta":{"line":17,"file":"AutoModerationRuleManager.js","path":"src/managers"}},{"name":"BaseGuildEmojiManager","description":"Holds methods to resolve GuildEmojis and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"cache","description":"The cache of GuildEmojis","type":[[["Collection","<"],["Snowflake",", "],["GuildEmoji",">"]]],"meta":{"line":17,"file":"BaseGuildEmojiManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"resolve","description":"Resolves an EmojiResolvable to an Emoji object.","params":[{"name":"emoji","description":"The Emoji resolvable to identify","type":[[["EmojiResolvable"]]]}],"returns":{"types":[[["GuildEmoji"]]],"nullable":true},"meta":{"line":36,"file":"BaseGuildEmojiManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves an EmojiResolvable to an Emoji id string.","params":[{"name":"emoji","description":"The Emoji resolvable to identify","type":[[["EmojiResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":46,"file":"BaseGuildEmojiManager.js","path":"src/managers"}},{"name":"resolveIdentifier","description":"Resolves an EmojiResolvable to an emoji identifier.","params":[{"name":"emoji","description":"The emoji resolvable to resolve","type":[[["EmojiIdentifierResolvable"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":64,"file":"BaseGuildEmojiManager.js","path":"src/managers"}}],"meta":{"line":12,"file":"BaseGuildEmojiManager.js","path":"src/managers"}},{"name":"BaseManager","description":"Manages the API methods of a data model.","abstract":true,"props":[{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"meta":{"line":7,"file":"BaseManager.js","path":"src/managers"}},{"name":"BillingManager","description":"Manages the API methods of a data model.","extends":[[["CachedManager"]]],"props":[{"name":"paymentSources","description":"All the payment sources of the client","type":[[["Collection","<"],["Snowflake",", "],["Object",">"]]],"meta":{"line":18,"file":"BillingManager.js","path":"src/managers"}},{"name":"guildBoosts","description":"All the guild boosts of the client","type":[[["Collection","<"],["Snowflake",", "],["GuildBoost",">"]]],"meta":{"line":23,"file":"BillingManager.js","path":"src/managers"}},{"name":"currentSubscription","description":"The current subscription of the client","type":[[["Collection","<"],["Snowflake",", "],["Object",">"]]],"meta":{"line":28,"file":"BillingManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of items for this manager.","abstract":true,"type":[[["Collection"]]],"meta":{"line":49,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"fetchPaymentSources","description":"Fetches all the payment sources of the client","async":true,"returns":[[["Collection","<"],["Snowflake",", "],["Object",">"]]],"meta":{"line":35,"file":"BillingManager.js","path":"src/managers"}},{"name":"fetchGuildBoosts","description":"Fetches all the guild boosts of the client","async":true,"returns":[[["Collection","<"],["Snowflake",", "],["GuildBoost",">"]]],"meta":{"line":47,"file":"BillingManager.js","path":"src/managers"}},{"name":"fetchCurrentSubscription","description":"Fetches the current subscription of the client","async":true,"returns":[[["Collection","<"],["Snowflake",", "],["Object",">"]]],"meta":{"line":58,"file":"BillingManager.js","path":"src/managers"}},{"name":"resolve","description":"Resolves a data entry to a data Object.","inherits":"DataManager#resolve","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Object"]]],"description":"An instance from this Manager","nullable":true},"meta":{"line":39,"file":"DataManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a data entry to an instance id.","inherits":"DataManager#resolveId","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":50,"file":"DataManager.js","path":"src/managers"}}],"meta":{"line":11,"file":"BillingManager.js","path":"src/managers"}},{"name":"CachedManager","description":"Manages the API methods of a data model with a mutable cache of instances.","extends":[[["DataManager"]]],"abstract":true,"props":[{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of items for this manager.","abstract":true,"type":[[["Collection"]]],"meta":{"line":49,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"resolve","description":"Resolves a data entry to a data Object.","inherits":"DataManager#resolve","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Object"]]],"description":"An instance from this Manager","nullable":true},"meta":{"line":39,"file":"DataManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a data entry to an instance id.","inherits":"DataManager#resolveId","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":50,"file":"DataManager.js","path":"src/managers"}}],"meta":{"line":11,"file":"CachedManager.js","path":"src/managers"}},{"name":"ChannelManager","description":"A manager of channels belonging to a client","extends":[[["CachedManager"]]],"props":[{"name":"cache","description":"The cache of Channels","type":[[["Collection","<"],["Snowflake",", "],["Channel",">"]]],"meta":{"line":30,"file":"ChannelManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"resolve","description":"Resolves a ChannelResolvable to a Channel object.","params":[{"name":"channel","description":"The channel resolvable to resolve","type":[[["ChannelResolvable"]]]}],"returns":{"types":[[["Channel"]]],"nullable":true},"meta":{"line":73,"file":"ChannelManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a ChannelResolvable to a channel id string.","params":[{"name":"channel","description":"The channel resolvable to resolve","type":[[["ChannelResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":82,"file":"ChannelManager.js","path":"src/managers"}},{"name":"fetch","description":"Obtains a channel from Discord, or the channel cache if it's already available.","examples":["// Fetch a channel by its id\nclient.channels.fetch('222109930545610754')\n .then(channel => console.log(channel.name))\n .catch(console.error);"],"params":[{"name":"id","description":"The channel's id","type":[[["Snowflake"]]]},{"name":"options","description":"Additional options for this fetch","optional":true,"type":[[["FetchChannelOptions"]]]}],"async":true,"returns":[[["Promise",""],["Channel",">"]]],"meta":{"line":109,"file":"ChannelManager.js","path":"src/managers"}},{"name":"createGroupDM","description":"Create Group DM","params":[{"name":"recipients","description":"Array of recipients","type":[[["Array","<"],["UserResolvable",">"]]]}],"async":true,"returns":{"types":[[["Promise","<"],["GroupDMChannel",">"]]],"description":"Channel"},"meta":{"line":124,"file":"ChannelManager.js","path":"src/managers"}}],"meta":{"line":14,"file":"ChannelManager.js","path":"src/managers"}},{"name":"ClientUserSettingManager","description":"Manages API methods for users and stores their cache.","see":["{@link https://luna.gitlab.io/discord-unofficial-docs/user_settings.html}"],"extends":[[["BaseManager"]]],"props":[{"name":"addFriendFrom","description":"WHO CAN ADD YOU AS A FRIEND ?","see":["{@link https://luna.gitlab.io/discord-unofficial-docs/user_settings.html#friend-source-flags-structure}"],"nullable":true,"type":[[["object"]]],"meta":{"line":23,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"locale","description":"The user's chosen language option","see":["{@link https://discord.com/developers/docs/reference#locales}"],"nullable":true,"type":[[["string"]]],"meta":{"line":44,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"activityDisplay","description":"Show playing status for detected/added games\nSetting => ACTIVITY SETTINGS => Activity Status => Display current activity as a status message","nullable":true,"type":[[["boolean"]]],"meta":{"line":52,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"allowDMsFromGuild","description":"Allow DMs from guild members by default on guild join","nullable":true,"type":[[["boolean"]]],"meta":{"line":59,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"displayImage","description":"Display images and video when uploaded directly","nullable":true,"type":[[["boolean"]]],"meta":{"line":66,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"linkedImageDisplay","description":"Display images and video when linked","nullable":true,"type":[[["boolean"]]],"meta":{"line":73,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"autoplayGIF","description":"Play GIFs without hovering over them\nSetting => APP SETTINGS => Accessibility => Automatically play GIFs when Discord is focused.","nullable":true,"type":[[["boolean"]]],"meta":{"line":81,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"previewLink","description":"Show embeds and preview website links pasted into chat","nullable":true,"type":[[["boolean"]]],"meta":{"line":88,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"animatedEmoji","description":"Play animated emoji without hovering over them\nSetting => APP SETTINGS => Accessibility => Play Animated Emojis","nullable":true,"type":[[["boolean"]]],"meta":{"line":96,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"allowTTS","description":"Enable /tts command and playback\nSetting => APP SETTINGS => Accessibility => Text-to-speech => Allow playback","nullable":true,"type":[[["boolean"]]],"meta":{"line":104,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"compactMode","description":"Use compact mode\nSetting => APP SETTINGS => Appearance => Message Display => Compact Mode","nullable":true,"type":[[["boolean"]]],"meta":{"line":112,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"convertEmoticons","description":"Convert \"old fashioned\" emoticons to emojis\nSetting => APP SETTINGS => Text & Images => Emoji => Convert Emoticons","nullable":true,"type":[[["boolean"]]],"meta":{"line":120,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"DMScanLevel","description":"Content filter level\n\n* `0`: Off\n* `1`: Friends excluded\n* `2`: Scan everyone\n","nullable":true,"type":[[["number"]]],"meta":{"line":132,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"theme","description":"Client theme\nSetting => APP SETTINGS => Appearance => Theme\n* `dark`\n* `light`\n","nullable":true,"type":[[["string"]]],"meta":{"line":143,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"developerMode","description":"Show the option to copy ids in right click menus","nullable":true,"type":[[["boolean"]]],"meta":{"line":150,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"afkTimeout","description":"How many seconds being idle before the user is marked as \"AFK\"; this handles when push notifications are sent","nullable":true,"type":[[["number"]]],"meta":{"line":157,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"stickerAnimationMode","description":"When stickers animate\n\n* `0`: Always\n* `1`: On hover/focus\n* `2`: Never\n","nullable":true,"type":[[["number"]]],"meta":{"line":169,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"showEmojiReactions","description":"Display reactions\nSetting => APP SETTINGS => Text & Images => Emoji => Show emoji reactions","nullable":true,"type":[[["boolean"]]],"meta":{"line":177,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"disableDMfromGuilds","description":"Disable Direct Message from servers","type":[[["Collection","<"],["Snowflake",", "],["Guild",">"]]],"meta":{"line":214,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"raw","description":"Raw data","type":[[["Object"]]],"meta":{"line":224,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"_patch","description":"Patch data file\nhttps://luna.gitlab.io/discord-unofficial-docs/docs/user_settings","access":"private","params":[{"name":"data","description":"Raw Data to patch","type":[[["Object"]]]}],"meta":{"line":35,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"edit","description":"Edit data","params":[{"name":"data","description":"Data to edit","type":[[["any"]]]}],"async":true,"meta":{"line":238,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"toggleCompactMode","description":"Toggle compact mode","returns":[[["Promise","<"],["this",">"]]],"meta":{"line":248,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"setTheme","description":"Discord Theme","params":[{"name":"value","description":"Theme to set (dark | light)","type":[[["string"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":256,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"setCustomStatus","description":"Set custom status","params":[{"name":"options","description":"CustomStatus","type":[[["CustomStatus"]],[["CustomStatusOption"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":278,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"restrictedGuilds","description":"Restricted guilds setting","params":[{"name":"status","description":"Restricted status","type":[[["boolean"]]]}],"returns":[[["Promise"]]],"meta":{"line":337,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"addRestrictedGuild","description":"Add a guild to the list of restricted guilds.","params":[{"name":"guildId","description":"The guild to add","type":[[["GuildIDResolve"]]]}],"returns":[[["Promise"]]],"meta":{"line":351,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"removeRestrictedGuild","description":"Remove a guild from the list of restricted guilds.","params":[{"name":"guildId","description":"The guild to remove","type":[[["GuildIDResolve"]]]}],"returns":[[["Promise"]]],"meta":{"line":366,"file":"ClientUserSettingManager.js","path":"src/managers"}}],"meta":{"line":14,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"DataManager","description":"Manages the API methods of a data model along with a collection of instances.","extends":[[["BaseManager"]]],"abstract":true,"props":[{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of items for this manager.","abstract":true,"type":[[["Collection"]]],"meta":{"line":30,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"resolve","description":"Resolves a data entry to a data Object.","params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Object"]]],"description":"An instance from this Manager","nullable":true},"meta":{"line":39,"file":"DataManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a data entry to an instance id.","params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":50,"file":"DataManager.js","path":"src/managers"}}],"meta":{"line":11,"file":"DataManager.js","path":"src/managers"}},{"name":"GuildBanManager","description":"Manages API methods for GuildBans and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"guild","description":"The guild this Manager belongs to","type":[[["Guild"]]],"meta":{"line":24,"file":"GuildBanManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of this Manager","type":[[["Collection","<"],["Snowflake",", "],["GuildBan",">"]]],"meta":{"line":27,"file":"GuildBanManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"resolve","description":"Resolves a GuildBanResolvable to a GuildBan object.","params":[{"name":"ban","description":"The ban that is in the guild","type":[[["GuildBanResolvable"]]]}],"returns":{"types":[[["GuildBan"]]],"nullable":true},"meta":{"line":49,"file":"GuildBanManager.js","path":"src/managers"}},{"name":"fetch","description":"Fetches ban(s) from Discord.","examples":["// Fetch multiple bans from a guild\nguild.bans.fetch()\n .then(console.log)\n .catch(console.error);","// Fetch a maximum of 5 bans from a guild without caching\nguild.bans.fetch({ limit: 5, cache: false })\n .then(console.log)\n .catch(console.error);","// Fetch a single ban\nguild.bans.fetch('351871113346809860')\n .then(console.log)\n .catch(console.error);","// Fetch a single ban without checking cache\nguild.bans.fetch({ user, force: true })\n .then(console.log)\n .catch(console.error)","// Fetch a single ban without caching\nguild.bans.fetch({ user, cache: false })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for fetching guild ban(s)","optional":true,"type":[[["UserResolvable"]],[["FetchBanOptions"]],[["FetchBansOptions"]]]}],"returns":[[["Promise","<("],["GuildBan","|"],["Collection","<"],["Snowflake",", "],["GuildBan",">)>"]]],"meta":{"line":98,"file":"GuildBanManager.js","path":"src/managers"}},{"name":"create","description":"Bans a user from the guild.","examples":["// Ban a user by id (or with a user/guild member object)\nguild.bans.create('84484653687267328')\n .then(banInfo => console.log(`Banned ${banInfo.user?.tag ?? banInfo.tag ?? banInfo}`))\n .catch(console.error);"],"params":[{"name":"user","description":"The user to ban","type":[[["UserResolvable"]]]},{"name":"options","description":"Options for the ban","optional":true,"type":[[["BanOptions"]]]}],"async":true,"returns":{"types":[[["Promise","<("],["GuildMember","|"],["User","|"],["Snowflake",")>"]]],"description":"Result object will be resolved as specifically as possible.\nIf the GuildMember cannot be resolved, the User will instead be attempted to be resolved. If that also cannot\nbe resolved, the user id will be the result."},"meta":{"line":151,"file":"GuildBanManager.js","path":"src/managers"}},{"name":"remove","description":"Unbans a user from the guild.","examples":["// Unban a user by id (or with a user/guild member object)\nguild.bans.remove('84484653687267328')\n .then(user => console.log(`Unbanned ${user.username} from ${guild.name}`))\n .catch(console.error);"],"params":[{"name":"user","description":"The user to unban","type":[[["UserResolvable"]]]},{"name":"reason","description":"Reason for unbanning user","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise",""],["User",">"]]],"meta":{"line":196,"file":"GuildBanManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a data entry to an instance id.","inherits":"DataManager#resolveId","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":50,"file":"DataManager.js","path":"src/managers"}}],"meta":{"line":16,"file":"GuildBanManager.js","path":"src/managers"}},{"name":"GuildChannelManager","description":"Manages API methods for GuildChannels and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"guild","description":"The guild this Manager belongs to","type":[[["Guild"]]],"meta":{"line":49,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"channelCountWithoutThreads","description":"The number of channels in this managers cache excluding thread channels\nthat do not count towards a guild's maximum channels restriction.","readonly":true,"type":[[["number"]]],"meta":{"line":58,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of this Manager","type":[[["Collection","<"],["Snowflake",", ("],["GuildChannel","|"],["ThreadChannel",")>"]]],"meta":{"line":65,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"resolve","description":"Resolves a GuildChannelResolvable to a Channel object.","params":[{"name":"channel","description":"The GuildChannel resolvable to resolve","type":[[["GuildChannelResolvable"]]]}],"returns":{"types":[[["GuildChannel"]],[["ThreadChannel"]]],"nullable":true},"meta":{"line":91,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a GuildChannelResolvable to a channel id.","params":[{"name":"channel","description":"The GuildChannel resolvable to resolve","type":[[["GuildChannelResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":101,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"create","description":"Creates a new channel in the guild.","examples":["// Create a new text channel\nguild.channels.create('new-general', { reason: 'Needed a cool new channel' })\n .then(console.log)\n .catch(console.error);","// Create a new channel with permission overwrites\nguild.channels.create('new-voice', {\n type: 'GUILD_VOICE',\n permissionOverwrites: [\n {\n id: message.author.id,\n deny: [Permissions.FLAGS.VIEW_CHANNEL],\n },\n ],\n})"],"params":[{"name":"name","description":"The name of the new channel","type":[[["string"]]]},{"name":"options","description":"Options for creating the new channel","optional":true,"default":"{}","type":[[["GuildChannelCreateOptions"]]]}],"async":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":134,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"createWebhook","description":"Creates a webhook for the channel.","examples":["// Create a webhook for the current channel\nguild.channels.createWebhook('222197033908436994', 'Snek', {\n avatar: 'https://i.imgur.com/mI8XcpG.jpg',\n reason: 'Needed a cool new Webhook'\n})\n .then(console.log)\n .catch(console.error)"],"params":[{"name":"channel","description":"The channel to create the webhook for","type":[[["GuildChannelResolvable"]]]},{"name":"name","description":"The name of the webhook","type":[[["string"]]]},{"name":"options","description":"Options for creating the webhook","optional":true,"type":[[["ChannelWebhookCreateOptions"]]]}],"async":true,"returns":{"types":[[["Promise","<"],["Webhook",">"]]],"description":"Returns the created Webhook"},"meta":{"line":216,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"addFollower","description":"Adds the target channel to a channel's followers.","params":[{"name":"channel","description":"The channel to follow","type":[[["NewsChannel"]],[["Snowflake"]]]},{"name":"targetChannel","description":"The channel where published announcements will be posted at","type":[[["TextChannelResolvable"]]]},{"name":"reason","description":"Reason for creating the webhook","optional":true,"type":[[["string"]]]}],"async":true,"returns":{"types":[[["Promise","<"],["Snowflake",">"]]],"description":"Returns created target webhook id."},"meta":{"line":239,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"edit","description":"Edits the channel.","examples":["// Edit a channel\nguild.channels.edit('222197033908436994', { name: 'new-channel' })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"channel","description":"The channel to edit","type":[[["GuildChannelResolvable"]]]},{"name":"data","description":"The new data for the channel","type":[[["ChannelData"]]]},{"name":"reason","description":"Reason for editing this channel","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":289,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"setPosition","description":"Sets a new position for the guild channel.","examples":["// Set a new channel position\nguild.channels.setPosition('222078374472843266', 2)\n .then(newChannel => console.log(`Channel's new position is ${newChannel.position}`))\n .catch(console.error);"],"params":[{"name":"channel","description":"The channel to set the position for","type":[[["GuildChannelResolvable"]]]},{"name":"position","description":"The new position for the guild channel","type":[[["number"]]]},{"name":"options","description":"Options for setting position","optional":true,"type":[[["SetChannelPositionOptions"]]]}],"async":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":358,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"fetch","description":"Obtains one or more guild channels from Discord, or the channel cache if they're already available.","examples":["// Fetch all channels from the guild (excluding threads)\nmessage.guild.channels.fetch()\n .then(channels => console.log(`There are ${channels.size} channels.`))\n .catch(console.error);","// Fetch a single channel\nmessage.guild.channels.fetch('222197033908436994')\n .then(channel => console.log(`The channel name is: ${channel.name}`))\n .catch(console.error);"],"params":[{"name":"id","description":"The channel's id","optional":true,"type":[[["Snowflake"]]]},{"name":"options","description":"Additional options for this fetch","optional":true,"type":[[["BaseFetchOptions"]]]}],"async":true,"returns":[[["Promise","<(?"],["GuildChannel","|"],["ThreadChannel","|"],["Collection","<"],["Snowflake",", ?"],["GuildChannel",">)>"]]],"meta":{"line":393,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"fetchWebhooks","description":"Fetches all webhooks for the channel.","examples":["// Fetch webhooks\nguild.channels.fetchWebhooks('769862166131245066')\n .then(hooks => console.log(`This channel has ${hooks.size} hooks`))\n .catch(console.error);"],"params":[{"name":"channel","description":"The channel to fetch webhooks for","type":[[["GuildChannelResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Webhook",">>"]]],"meta":{"line":422,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"setPositions","description":"Batch-updates the guild's channels' positions.\nOnly one channel's parent can be changed at a time","examples":["guild.channels.setPositions([{ channel: channelId, position: newChannelIndex }])\n .then(guild => console.log(`Updated channel positions for ${guild}`))\n .catch(console.error);"],"params":[{"name":"channelPositions","description":"Channel positions to update","type":[[["Array","<"],["ChannelPosition",">"]]]}],"async":true,"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":455,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"delete","description":"Deletes the channel.","examples":["// Delete the channel\nguild.channels.delete('858850993013260338', 'making room for new channels')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"channel","description":"The channel to delete","type":[[["GuildChannelResolvable"]]]},{"name":"reason","description":"Reason for deleting this channel","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":481,"file":"GuildChannelManager.js","path":"src/managers"}}],"meta":{"line":30,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"GuildEmojiManager","description":"Manages API methods for GuildEmojis and stores their cache.","extends":[[["BaseGuildEmojiManager"]]],"props":[{"name":"guild","description":"The guild this manager belongs to","type":[[["Guild"]]],"meta":{"line":21,"file":"GuildEmojiManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of GuildEmojis","type":[[["Collection","<"],["Snowflake",", "],["GuildEmoji",">"]]],"meta":{"line":17,"file":"BaseGuildEmojiManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"create","description":"Creates a new custom emoji in the guild.","examples":["// Create a new emoji from a URL\nguild.emojis.create('https://i.imgur.com/w3duR07.png', 'rip')\n .then(emoji => console.log(`Created new emoji with name ${emoji.name}!`))\n .catch(console.error);","// Create a new emoji from a file on your computer\nguild.emojis.create('./memes/banana.png', 'banana')\n .then(emoji => console.log(`Created new emoji with name ${emoji.name}!`))\n .catch(console.error);"],"params":[{"name":"attachment","description":"The image for the emoji","type":[[["BufferResolvable"]],[["Base64Resolvable"]]]},{"name":"name","description":"The name for the emoji","type":[[["string"]]]},{"name":"options","description":"Options for creating the emoji","optional":true,"type":[[["GuildEmojiCreateOptions"]]]}],"async":true,"returns":{"types":[[["Promise","<"],["Emoji",">"]]],"description":"The created emoji"},"meta":{"line":52,"file":"GuildEmojiManager.js","path":"src/managers"}},{"name":"fetch","description":"Obtains one or more emojis from Discord, or the emoji cache if they're already available.","examples":["// Fetch all emojis from the guild\nmessage.guild.emojis.fetch()\n .then(emojis => console.log(`There are ${emojis.size} emojis.`))\n .catch(console.error);","// Fetch a single emoji\nmessage.guild.emojis.fetch('222078108977594368')\n .then(emoji => console.log(`The emoji name is: ${emoji.name}`))\n .catch(console.error);"],"params":[{"name":"id","description":"The emoji's id","optional":true,"type":[[["Snowflake"]]]},{"name":"options","description":"Additional options for this fetch","optional":true,"type":[[["BaseFetchOptions"]]]}],"async":true,"returns":[[["Promise","<("],["GuildEmoji","|"],["Collection","<"],["Snowflake",", "],["GuildEmoji",">)>"]]],"meta":{"line":89,"file":"GuildEmojiManager.js","path":"src/managers"}},{"name":"delete","description":"Deletes an emoji.","params":[{"name":"emoji","description":"The Emoji resolvable to delete","type":[[["EmojiResolvable"]]]},{"name":"reason","description":"Reason for deleting the emoji","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":111,"file":"GuildEmojiManager.js","path":"src/managers"}},{"name":"edit","description":"Edits an emoji.","params":[{"name":"emoji","description":"The Emoji resolvable to edit","type":[[["EmojiResolvable"]]]},{"name":"data","description":"The new data for the emoji","type":[[["GuildEmojiEditData"]]]},{"name":"reason","description":"Reason for editing this emoji","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildEmoji",">"]]],"meta":{"line":124,"file":"GuildEmojiManager.js","path":"src/managers"}},{"name":"fetchAuthor","description":"Fetches the author for this emoji","params":[{"name":"emoji","description":"The emoji to fetch the author of","type":[[["EmojiResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["User",">"]]],"meta":{"line":152,"file":"GuildEmojiManager.js","path":"src/managers"}},{"name":"resolve","description":"Resolves an EmojiResolvable to an Emoji object.","inherits":"BaseGuildEmojiManager#resolve","inherited":true,"params":[{"name":"emoji","description":"The Emoji resolvable to identify","type":[[["EmojiResolvable"]]]}],"returns":{"types":[[["GuildEmoji"]]],"nullable":true},"meta":{"line":36,"file":"BaseGuildEmojiManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves an EmojiResolvable to an Emoji id string.","inherits":"BaseGuildEmojiManager#resolveId","inherited":true,"params":[{"name":"emoji","description":"The Emoji resolvable to identify","type":[[["EmojiResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":46,"file":"BaseGuildEmojiManager.js","path":"src/managers"}},{"name":"resolveIdentifier","description":"Resolves an EmojiResolvable to an emoji identifier.","inherits":"BaseGuildEmojiManager#resolveIdentifier","inherited":true,"params":[{"name":"emoji","description":"The emoji resolvable to resolve","type":[[["EmojiIdentifierResolvable"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":64,"file":"BaseGuildEmojiManager.js","path":"src/managers"}}],"meta":{"line":13,"file":"GuildEmojiManager.js","path":"src/managers"}},{"name":"GuildEmojiRoleManager","description":"Manages API methods for roles belonging to emojis and stores their cache.","extends":[[["DataManager"]]],"props":[{"name":"emoji","description":"The emoji belonging to this manager","type":[[["GuildEmoji"]]],"meta":{"line":20,"file":"GuildEmojiRoleManager.js","path":"src/managers"}},{"name":"guild","description":"The guild belonging to this manager","type":[[["Guild"]]],"meta":{"line":25,"file":"GuildEmojiRoleManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of roles belonging to this emoji","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["Role",">"]]],"meta":{"line":33,"file":"GuildEmojiRoleManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"add","description":"Adds a role (or multiple roles) to the list of roles that can use this emoji.","params":[{"name":"roleOrRoles","description":"The role or roles to add","type":[[["RoleResolvable"]],[["Array","<"],["RoleResolvable",">"]],[["Collection","<"],["Snowflake",", "],["Role",">"]]]}],"returns":[[["Promise","<"],["GuildEmoji",">"]]],"meta":{"line":42,"file":"GuildEmojiRoleManager.js","path":"src/managers"}},{"name":"remove","description":"Removes a role (or multiple roles) from the list of roles that can use this emoji.","params":[{"name":"roleOrRoles","description":"The role or roles to remove","type":[[["RoleResolvable"]],[["Array","<"],["RoleResolvable",">"]],[["Collection","<"],["Snowflake",", "],["Role",">"]]]}],"returns":[[["Promise","<"],["GuildEmoji",">"]]],"meta":{"line":63,"file":"GuildEmojiRoleManager.js","path":"src/managers"}},{"name":"set","description":"Sets the role(s) that can use this emoji.","examples":["// Set the emoji's roles to a single role\nguildEmoji.roles.set(['391156570408615936'])\n .then(console.log)\n .catch(console.error);","// Remove all roles from an emoji\nguildEmoji.roles.set([])\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"roles","description":"The roles or role ids to apply","type":[[["Collection","<"],["Snowflake",", "],["Role",">"]],[["Array","<"],["RoleResolvable",">"]]]}],"returns":[[["Promise","<"],["GuildEmoji",">"]]],"meta":{"line":94,"file":"GuildEmojiRoleManager.js","path":"src/managers"}},{"name":"_patch","description":"Patches the roles for this manager's cache","access":"private","params":[{"name":"roles","description":"The new roles","type":[[["Array","<"],["Snowflake",">"]]]}],"meta":{"line":109,"file":"GuildEmojiRoleManager.js","path":"src/managers"}},{"name":"resolve","description":"Resolves a data entry to a data Object.","inherits":"DataManager#resolve","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Object"]]],"description":"An instance from this Manager","nullable":true},"meta":{"line":39,"file":"DataManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a data entry to an instance id.","inherits":"DataManager#resolveId","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":50,"file":"DataManager.js","path":"src/managers"}}],"meta":{"line":12,"file":"GuildEmojiRoleManager.js","path":"src/managers"}},{"name":"GuildForumThreadManager","description":"Manages API methods for threads in forum channels and stores their cache.","extends":[[["ThreadManager"]]],"props":[{"name":"channel","description":"The channel this Manager belongs to","type":[[["ForumChannel"]]],"meta":{"line":13,"file":"GuildForumThreadManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of this Manager","type":[[["Collection","<"],["Snowflake",", "],["ThreadChannel",">"]]],"meta":{"line":22,"file":"ThreadManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"create","description":"Creates a new thread in the channel.","examples":["// Create a new forum post\nforum.threads\n .create({\n name: 'Food Talk',\n autoArchiveDuration: 60,\n message: {\n content: 'Discuss your favorite food!',\n },\n reason: 'Needed a separate thread for food',\n })\n .then(threadChannel => console.log(threadChannel))\n .catch(console.error);"],"params":[{"name":"options","description":"Options to create a new thread","optional":true,"type":[[["GuildForumThreadCreateOptions"]]]}],"async":true,"returns":[[["Promise","<"],["ThreadChannel",">"]]],"meta":{"line":51,"file":"GuildForumThreadManager.js","path":"src/managers"}},{"name":"resolve","description":"Resolves a {@link ThreadChannelResolvable} to a {@link ThreadChannel} object.","inherits":"ThreadManager#resolve","inherited":true,"params":[{"name":"thread","description":"The ThreadChannel resolvable to resolve","type":[[["ThreadChannelResolvable"]]]}],"returns":{"types":[[["ThreadChannel"]]],"nullable":true},"meta":{"line":42,"file":"ThreadManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a {@link ThreadChannelResolvable} to a {@link ThreadChannel} id.","inherits":"ThreadManager#resolveId","inherited":true,"params":[{"name":"thread","description":"The ThreadChannel resolvable to resolve","type":[[["ThreadChannelResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":51,"file":"ThreadManager.js","path":"src/managers"}},{"name":"fetch","description":"Obtains a thread from Discord, or the channel cache if it's already available.","inherits":"ThreadManager#fetch","inherited":true,"examples":["// Fetch a thread by its id\nchannel.threads.fetch('831955138126104859')\n .then(channel => console.log(channel.name))\n .catch(console.error);"],"params":[{"name":"options","description":"The options to fetch threads. If it is a\nThreadChannelResolvable then the specified thread will be fetched. Fetches all active threads if `undefined`","optional":true,"type":[[["ThreadChannelResolvable"]],[["FetchChannelThreadsOptions"]],[["FetchThreadsOptions"]]]},{"name":"cacheOptions","description":"Additional options for this fetch. The `force` field gets ignored\nif `options` is not a {@link ThreadChannelResolvable}","optional":true,"type":[[["BaseFetchOptions"]]]}],"returns":[[["Promise","("],["ThreadChannel","|"],["FetchedThreads",")>"]]],"meta":{"line":79,"file":"ThreadManager.js","path":"src/managers"}},{"name":"fetchArchived","description":"Obtains a set of archived threads from Discord, requires `READ_MESSAGE_HISTORY` in the parent channel.","inherits":"ThreadManager#fetchArchived","inherited":true,"params":[{"name":"options","description":"The options to fetch archived threads","optional":true,"type":[[["FetchChannelThreadsOptions"]]]},{"name":"cache","description":"Whether to cache the new thread objects if they aren't already","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["FetchedThreads",">"]]],"meta":{"line":121,"file":"ThreadManager.js","path":"src/managers"}},{"name":"fetchActive","description":"Obtains the accessible active threads from Discord, requires `READ_MESSAGE_HISTORY` in the parent channel.","inherits":"ThreadManager#fetchActive","inherited":true,"params":[{"name":"cache","description":"Whether to cache the new thread objects if they aren't already","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"options","description":"Options for self-bots where advanced users can specify further options","optional":true,"type":[[["FetchChannelThreadsOptions"]]]}],"async":true,"returns":[[["Promise","<"],["FetchedThreads",">"]]],"meta":{"line":141,"file":"ThreadManager.js","path":"src/managers"}}],"meta":{"line":12,"file":"GuildForumThreadManager.js","path":"src/managers"}},{"name":"GuildInviteManager","description":"Manages API methods for GuildInvites and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"guild","description":"The guild this Manager belongs to","type":[[["Guild"]]],"meta":{"line":21,"file":"GuildInviteManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of this Manager","type":[[["Collection","<"],["string",", "],["Invite",">"]]],"meta":{"line":24,"file":"GuildInviteManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"resolve","description":"Resolves an InviteResolvable to an Invite object.","params":[{"name":"invite","description":"The invite resolvable to resolve","type":[[["InviteResolvable"]]]}],"returns":{"types":[[["Invite"]]],"nullable":true},"meta":{"line":53,"file":"GuildInviteManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves an InviteResolvable to an invite code string.","params":[{"name":"invite","description":"The invite resolvable to resolve","type":[[["InviteResolvable"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":62,"file":"GuildInviteManager.js","path":"src/managers"}},{"name":"fetch","description":"Fetches invite(s) from Discord.","examples":["// Fetch all invites from a guild\nguild.invites.fetch()\n .then(console.log)\n .catch(console.error);","// Fetch all invites from a guild without caching\nguild.invites.fetch({ cache: false })\n .then(console.log)\n .catch(console.error);","// Fetch all invites from a channel\nguild.invites.fetch({ channelId: '222197033908436994' })\n .then(console.log)\n .catch(console.error);","// Fetch a single invite\nguild.invites.fetch('bRCvFy9')\n .then(console.log)\n .catch(console.error);","// Fetch a single invite without checking cache\nguild.invites.fetch({ code: 'bRCvFy9', force: true })\n .then(console.log)\n .catch(console.error)","// Fetch a single invite without caching\nguild.invites.fetch({ code: 'bRCvFy9', cache: false })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for fetching guild invite(s)","optional":true,"type":[[["InviteResolvable"]],[["FetchInviteOptions"]],[["FetchInvitesOptions"]]]}],"returns":[[["Promise","<("],["Invite","|"],["Collection","<"],["string",", "],["Invite",">)>"]]],"meta":{"line":122,"file":"GuildInviteManager.js","path":"src/managers"}},{"name":"create","description":"Create an invite to the guild from the provided channel.","examples":["// Create an invite to a selected channel\nguild.invites.create('599942732013764608')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"channel","description":"The options for creating the invite from a channel.","type":[[["GuildInvitableChannelResolvable"]]]},{"name":"options","description":"The options for creating the invite from a channel.","optional":true,"default":"{}","type":[[["CreateInviteOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Invite",">"]]],"meta":{"line":178,"file":"GuildInviteManager.js","path":"src/managers"}},{"name":"delete","description":"Deletes an invite.","params":[{"name":"invite","description":"The invite to delete","type":[[["InviteResolvable"]]]},{"name":"reason","description":"Reason for deleting the invite","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":206,"file":"GuildInviteManager.js","path":"src/managers"}}],"meta":{"line":13,"file":"GuildInviteManager.js","path":"src/managers"}},{"name":"GuildManager","description":"Manages API methods for Guilds and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"cache","description":"The cache of this Manager","type":[[["Collection","<"],["Snowflake",", "],["Guild",">"]]],"meta":{"line":46,"file":"GuildManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"resolve","description":"Resolves a GuildResolvable to a Guild object.","params":[{"name":"guild","description":"The guild resolvable to identify","type":[[["GuildResolvable"]]]}],"returns":{"types":[[["Guild"]]],"nullable":true},"meta":{"line":104,"file":"GuildManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a {@link GuildResolvable} to a {@link Guild} id string.","params":[{"name":"guild","description":"The guild resolvable to identify","type":[[["GuildResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":125,"file":"GuildManager.js","path":"src/managers"}},{"name":"create","description":"Creates a guild.","params":[{"name":"name","description":"The name of the guild","type":[[["string"]]]},{"name":"options","description":"Options for creating the guild","optional":true,"type":[[["GuildCreateOptions"]]]}],"async":true,"returns":{"types":[[["Promise","<"],["Guild",">"]]],"description":"The guild that was created"},"meta":{"line":169,"file":"GuildManager.js","path":"src/managers"}},{"name":"fetch","description":"Obtains one or multiple guilds from Discord, or the guild cache if it's already available.","params":[{"name":"options","description":"The guild's id or options","optional":true,"type":[[["GuildResolvable"]],[["FetchGuildOptions"]],[["FetchGuildsOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Guild","|"],["Collection","<"],["Snowflake",", "],["OAuth2Guild",">)>"]]],"meta":{"line":286,"file":"GuildManager.js","path":"src/managers"}}],"meta":{"line":34,"file":"GuildManager.js","path":"src/managers"}},{"name":"GuildMemberManager","description":"Manages API methods for GuildMembers and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"guild","description":"The guild this manager belongs to","type":[[["Guild"]]],"meta":{"line":30,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of this Manager","type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]],"meta":{"line":33,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"me","description":"The client user as a GuildMember of this guild","readonly":true,"nullable":true,"type":[[["GuildMember"]]],"meta":{"line":130,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"resolve","description":"Resolves a {@link GuildMemberResolvable} to a {@link GuildMember} object.","params":[{"name":"member","description":"The user that is part of the guild","type":[[["GuildMemberResolvable"]]]}],"returns":{"types":[[["GuildMember"]]],"nullable":true},"meta":{"line":55,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a {@link GuildMemberResolvable} to a member id.","params":[{"name":"member","description":"The user that is part of the guild","type":[[["GuildMemberResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":68,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"add","description":"Adds a user to the guild using OAuth2. Requires the `CREATE_INSTANT_INVITE` permission.","params":[{"name":"user","description":"The user to add to the guild","type":[[["UserResolvable"]]]},{"name":"options","description":"Options for adding the user to the guild","type":[[["AddGuildMemberOptions"]]]}],"async":true,"returns":[[["Promise","<("],["GuildMember","|"],["null",")>"]]],"meta":{"line":95,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"fetch","description":"Fetches member(s) from Discord, even if they're offline.","examples":["// Fetch all members from a guild\nguild.members.fetch()\n .then(console.log)\n .catch(console.error);","// Fetch a single member\nguild.members.fetch('66564597481480192')\n .then(console.log)\n .catch(console.error);","// Fetch a single member without checking cache\nguild.members.fetch({ user, force: true })\n .then(console.log)\n .catch(console.error)","// Fetch a single member without caching\nguild.members.fetch({ user, cache: false })\n .then(console.log)\n .catch(console.error);","// Fetch by an array of users including their presences\nguild.members.fetch({ user: ['66564597481480192', '191615925336670208'], withPresences: true })\n .then(console.log)\n .catch(console.error);","// Fetch by query\nguild.members.fetch({ query: 'hydra', limit: 1 })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"If a UserResolvable, the user to fetch.\nIf undefined, fetches all members.\nIf a query, it limits the results to users with similar usernames.","optional":true,"type":[[["UserResolvable"]],[["FetchMemberOptions"]],[["FetchMembersOptions"]]]}],"returns":[[["Promise","<("],["GuildMember","|"],["Collection","<"],["Snowflake",", "],["GuildMember",">)>"]]],"meta":{"line":194,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"fetchMe","description":"Fetches the client user as a GuildMember of the guild.","params":[{"name":"options","description":"The options for fetching the member","optional":true,"type":[[["BaseFetchOptions"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":225,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"search","description":"Searches for members in the guild based on a query.","params":[{"name":"options","description":"Options for searching members","type":[[["GuildSearchMembersOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["GuildMember",">>"]]],"meta":{"line":242,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"list","description":"Lists up to 1000 members of the guild.","params":[{"name":"options","description":"Options for listing members","optional":true,"type":[[["GuildListMembersOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["GuildMember",">>"]]],"meta":{"line":260,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"edit","description":"Edits a member of the guild.\nThe user must be a member of the guild","params":[{"name":"user","description":"The member to edit","type":[[["UserResolvable"]]]},{"name":"data","description":"The data to edit the member with","type":[[["GuildMemberEditData"]]]},{"name":"reason","description":"Reason for editing this user","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":290,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"prune","description":"Prunes members from the guild based on how long they have been inactive.","examples":["// See how many members will be pruned\nguild.members.prune({ dry: true })\n .then(pruned => console.log(`This will prune ${pruned} people!`))\n .catch(console.error);","// Actually prune the members\nguild.members.prune({ days: 1, reason: 'too many people!' })\n .then(pruned => console.log(`I just pruned ${pruned} people!`))\n .catch(console.error);","// Include members with a specified role\nguild.members.prune({ days: 7, roles: ['657259391652855808'] })\n .then(pruned => console.log(`I just pruned ${pruned} people!`))\n .catch(console.error);"],"params":[{"name":"options","description":"Options for pruning","optional":true,"type":[[["GuildPruneMembersOptions"]]]}],"async":true,"returns":{"types":[[["Promise","<("],["number","|"],["null",")>"]]],"description":"The number of members that were/will be kicked"},"meta":{"line":372,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"kick","description":"Kicks a user from the guild.\nThe user must be a member of the guild","examples":["// Kick a user by id (or with a user/guild member object)\nguild.members.kick('84484653687267328')\n .then(kickInfo => console.log(`Kicked ${kickInfo.user?.tag ?? kickInfo.tag ?? kickInfo}`))\n .catch(console.error);"],"params":[{"name":"user","description":"The member to kick","type":[[["UserResolvable"]]]},{"name":"reason","description":"Reason for kicking","optional":true,"type":[[["string"]]]}],"async":true,"returns":{"types":[[["Promise","<("],["GuildMember","|"],["User","|"],["Snowflake",")>"]]],"description":"Result object will be resolved as specifically as possible.\nIf the GuildMember cannot be resolved, the User will instead be attempted to be resolved. If that also cannot\nbe resolved, the user's id will be the result."},"meta":{"line":413,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"ban","description":"Bans a user from the guild.","examples":["// Ban a user by id (or with a user/guild member object)\nguild.members.ban('84484653687267328')\n .then(banInfo => console.log(`Banned ${banInfo.user?.tag ?? banInfo.tag ?? banInfo}`))\n .catch(console.error);"],"params":[{"name":"user","description":"The user to ban","type":[[["UserResolvable"]]]},{"name":"options","description":"Options for the ban","optional":true,"type":[[["BanOptions"]]]}],"returns":{"types":[[["Promise","<("],["GuildMember","|"],["User","|"],["Snowflake",")>"]]],"description":"Result object will be resolved as specifically as possible.\nIf the GuildMember cannot be resolved, the User will instead be attempted to be resolved. If that also cannot\nbe resolved, the user id will be the result.\nInternally calls the GuildBanManager#create method."},"meta":{"line":436,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"unban","description":"Unbans a user from the guild. Internally calls the {@link GuildBanManager#remove} method.","examples":["// Unban a user by id (or with a user/guild member object)\nguild.members.unban('84484653687267328')\n .then(user => console.log(`Unbanned ${user.username} from ${guild.name}`))\n .catch(console.error);"],"params":[{"name":"user","description":"The user to unban","type":[[["UserResolvable"]]]},{"name":"reason","description":"Reason for unbanning user","optional":true,"type":[[["string"]]]}],"returns":{"types":[[["Promise",""],["User",">"]]],"description":"The user that was unbanned"},"meta":{"line":451,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"addRole","description":"Adds a role to a member.","params":[{"name":"user","description":"The user to add the role from","type":[[["GuildMemberResolvable"]]]},{"name":"role","description":"The role to add","type":[[["RoleResolvable"]]]},{"name":"reason","description":"Reason for adding the role","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<("],["GuildMember","|"],["User","|"],["Snowflake",")>"]]],"meta":{"line":472,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"removeRole","description":"Removes a role from a member.","params":[{"name":"user","description":"The user to remove the role from","type":[[["UserResolvable"]]]},{"name":"role","description":"The role to remove","type":[[["RoleResolvable"]]]},{"name":"reason","description":"Reason for removing the role","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<("],["GuildMember","|"],["User","|"],["Snowflake",")>"]]],"meta":{"line":488,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"fetchByMemberSafety","description":"Experimental method to fetch members from the guild.\nLists up to 10000 members of the guild.","params":[{"name":"timeout","description":"Timeout for receipt of members in ms","optional":true,"default":"15_000","type":[[["number"]]]}],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["GuildMember",">>"]]],"meta":{"line":503,"file":"GuildMemberManager.js","path":"src/managers"}}],"meta":{"line":22,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"GuildMemberRoleManager","description":"Manages API methods for roles of a GuildMember and stores their cache.","extends":[[["DataManager"]]],"props":[{"name":"member","description":"The GuildMember this manager belongs to","type":[[["GuildMember"]]],"meta":{"line":20,"file":"GuildMemberRoleManager.js","path":"src/managers"}},{"name":"guild","description":"The Guild this manager belongs to","type":[[["Guild"]]],"meta":{"line":26,"file":"GuildMemberRoleManager.js","path":"src/managers"}},{"name":"cache","description":"The roles of this member","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["Role",">"]]],"meta":{"line":34,"file":"GuildMemberRoleManager.js","path":"src/managers"}},{"name":"hoist","description":"The role of the member used to hoist them in a separate category in the users list","readonly":true,"nullable":true,"type":[[["Role"]]],"meta":{"line":44,"file":"GuildMemberRoleManager.js","path":"src/managers"}},{"name":"icon","description":"The role of the member used to set their role icon","readonly":true,"nullable":true,"type":[[["Role"]]],"meta":{"line":55,"file":"GuildMemberRoleManager.js","path":"src/managers"}},{"name":"color","description":"The role of the member used to set their color","readonly":true,"nullable":true,"type":[[["Role"]]],"meta":{"line":66,"file":"GuildMemberRoleManager.js","path":"src/managers"}},{"name":"highest","description":"The role of the member with the highest position","readonly":true,"type":[[["Role"]]],"meta":{"line":77,"file":"GuildMemberRoleManager.js","path":"src/managers"}},{"name":"premiumSubscriberRole","description":"The premium subscriber role of the guild, if present on the member","readonly":true,"nullable":true,"type":[[["Role"]]],"meta":{"line":86,"file":"GuildMemberRoleManager.js","path":"src/managers"}},{"name":"botRole","description":"The managed role this member created when joining the guild, if any\nOnly ever available on bots","readonly":true,"nullable":true,"type":[[["Role"]]],"meta":{"line":96,"file":"GuildMemberRoleManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"add","description":"Adds a role (or multiple roles) to the member.","params":[{"name":"roleOrRoles","description":"The role or roles to add","type":[[["RoleResolvable"]],[["Array","<"],["RoleResolvable",">"]],[["Collection","<"],["Snowflake",", "],["Role",">"]]]},{"name":"reason","description":"Reason for adding the role(s)","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":107,"file":"GuildMemberRoleManager.js","path":"src/managers"}},{"name":"remove","description":"Removes a role (or multiple roles) from the member.","params":[{"name":"roleOrRoles","description":"The role or roles to remove","type":[[["RoleResolvable"]],[["Array","<"],["RoleResolvable",">"]],[["Collection","<"],["Snowflake",", "],["Role",">"]]]},{"name":"reason","description":"Reason for removing the role(s)","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":138,"file":"GuildMemberRoleManager.js","path":"src/managers"}},{"name":"set","description":"Sets the roles applied to the member.","examples":["// Set the member's roles to a single role\nguildMember.roles.set(['391156570408615936'])\n .then(console.log)\n .catch(console.error);","// Remove all the roles from a member\nguildMember.roles.set([])\n .then(member => console.log(`Member roles is now of ${member.roles.cache.size} size`))\n .catch(console.error);"],"params":[{"name":"roles","description":"The roles or role ids to apply","type":[[["Collection","<"],["Snowflake",", "],["Role",">"]],[["Array","<"],["RoleResolvable",">"]]]},{"name":"reason","description":"Reason for applying the roles","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":180,"file":"GuildMemberRoleManager.js","path":"src/managers"}},{"name":"resolve","description":"Resolves a data entry to a data Object.","inherits":"DataManager#resolve","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Object"]]],"description":"An instance from this Manager","nullable":true},"meta":{"line":39,"file":"DataManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a data entry to an instance id.","inherits":"DataManager#resolveId","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":50,"file":"DataManager.js","path":"src/managers"}}],"meta":{"line":12,"file":"GuildMemberRoleManager.js","path":"src/managers"}},{"name":"GuildScheduledEventManager","description":"Manages API methods for GuildScheduledEvents and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"guild","description":"The guild this manager belongs to","type":[[["Guild"]]],"meta":{"line":22,"file":"GuildScheduledEventManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of this manager","type":[[["Collection","<"],["Snowflake",", "],["GuildScheduledEvent",">"]]],"meta":{"line":25,"file":"GuildScheduledEventManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"create","description":"Creates a new guild scheduled event.","params":[{"name":"options","description":"Options for creating the guild scheduled event","type":[[["GuildScheduledEventCreateOptions"]]]}],"async":true,"returns":[[["Promise","<"],["GuildScheduledEvent",">"]]],"meta":{"line":69,"file":"GuildScheduledEventManager.js","path":"src/managers"}},{"name":"fetch","description":"Obtains one or more guild scheduled events from Discord, or the guild cache if it's already available.","params":[{"name":"options","description":"The id of the guild scheduled event or options","optional":true,"type":[[["GuildScheduledEventResolvable"]],[["FetchGuildScheduledEventOptions"]],[["FetchGuildScheduledEventsOptions"]]]}],"async":true,"returns":[[["Promise","<("],["GuildScheduledEvent","|"],["Collection","<"],["Snowflake",", "],["GuildScheduledEvent",">)>"]]],"meta":{"line":136,"file":"GuildScheduledEventManager.js","path":"src/managers"}},{"name":"edit","description":"Edits a guild scheduled event.","params":[{"name":"guildScheduledEvent","description":"The guild scheduled event to edit","type":[[["GuildScheduledEventResolvable"]]]},{"name":"options","description":"Options to edit the guild scheduled event","type":[[["GuildScheduledEventEditOptions"]]]}],"async":true,"returns":[[["Promise","<"],["GuildScheduledEvent",">"]]],"meta":{"line":189,"file":"GuildScheduledEventManager.js","path":"src/managers"}},{"name":"delete","description":"Deletes a guild scheduled event.","params":[{"name":"guildScheduledEvent","description":"The guild scheduled event to delete","type":[[["GuildScheduledEventResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":243,"file":"GuildScheduledEventManager.js","path":"src/managers"}},{"name":"fetchSubscribers","description":"Fetches subscribers of a guild scheduled event.","params":[{"name":"guildScheduledEvent","description":"The guild scheduled event to fetch subscribers of","type":[[["GuildScheduledEventResolvable"]]]},{"name":"options","description":"Options for fetching the subscribers","optional":true,"default":"{}","type":[[["FetchGuildScheduledEventSubscribersOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["GuildScheduledEventUser",">>"]]],"meta":{"line":274,"file":"GuildScheduledEventManager.js","path":"src/managers"}},{"name":"resolve","description":"Resolves a data entry to a data Object.","inherits":"DataManager#resolve","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Object"]]],"description":"An instance from this Manager","nullable":true},"meta":{"line":39,"file":"DataManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a data entry to an instance id.","inherits":"DataManager#resolveId","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":50,"file":"DataManager.js","path":"src/managers"}}],"meta":{"line":14,"file":"GuildScheduledEventManager.js","path":"src/managers"}},{"name":"GuildSettingManager","description":"Manages API methods for users and stores their cache.","see":["{@link https://luna.gitlab.io/discord-unofficial-docs/user_settings.html}"],"extends":[[["BaseManager"]]],"props":[{"name":"guildId","description":"Guild Id","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":17,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"raw","description":"Raw data","type":[[["Object"]]],"meta":{"line":24,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"guild","description":"Get the guild","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":33,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"suppressEveryone","description":"Notification setting > Suppress `@everyone` and `@here`","nullable":true,"type":[[["boolean"]]],"meta":{"line":50,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"suppressRoles","description":"Notification setting > Suppress all role `@mention`","nullable":true,"type":[[["boolean"]]],"meta":{"line":57,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"muteScheduledEvents","description":"Notification setting > Mute new events","nullable":true,"type":[[["boolean"]]],"meta":{"line":64,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"messageNotifications","description":"Notification setting > Message notifications\n* `0`: All messages\n* `1`: Only @mentions\n* `2`: Nothing","nullable":true,"type":[[["number"]]],"meta":{"line":74,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"flags","description":"Flags (unknown)","nullable":true,"type":[[["number"]]],"meta":{"line":81,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"mobilePush","description":"Notification setting > Mobile push notifications","nullable":true,"type":[[["boolean"]]],"meta":{"line":88,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"muted","description":"Mute server","nullable":true,"type":[[["boolean"]]],"meta":{"line":95,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"muteConfig","description":"Mute config (muted = true)\n* `muteConfig.endTime`: End time (Date)\n* `muteConfig.selectedTimeWindow`: Selected time window (seconds) (number)","nullable":true,"type":[[["Object"]]],"meta":{"line":104,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"hideMutedChannels","description":"Hide muted channels","nullable":true,"type":[[["boolean"]]],"meta":{"line":116,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"channelOverrides","description":"Channel overrides (unknown)","nullable":true,"type":[[["Array"]]],"meta":{"line":123,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"notifyHighlights","description":"Notification setting > Suppress highlights\n* `0`: ??? (unknown)\n* `1`: Enable\n* `2`: Disable","nullable":true,"type":[[["number"]]],"meta":{"line":133,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"version","description":"Version (unknown)","nullable":true,"type":[[["number"]]],"meta":{"line":140,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"_patch","description":"Patch data file","access":"private","params":[{"name":"data","description":"Raw Data to patch","type":[[["Object"]]]}],"meta":{"line":42,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"edit","description":"Edit guild settings","params":[{"name":"data","description":"Data to edit","type":[[["Object"]]]}],"async":true,"returns":[[["Promise","<"],["GuildSettingManager",">"]]],"meta":{"line":148,"file":"GuildSettingManager.js","path":"src/managers"}}],"meta":{"line":9,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"GuildStickerManager","description":"Manages API methods for Guild Stickers and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"guild","description":"The guild this manager belongs to","type":[[["Guild"]]],"meta":{"line":21,"file":"GuildStickerManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of Guild Stickers","type":[[["Collection","<"],["Snowflake",", "],["Sticker",">"]]],"meta":{"line":24,"file":"GuildStickerManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"create","description":"Creates a new custom sticker in the guild.","examples":["// Create a new sticker from a URL\nguild.stickers.create('https://i.imgur.com/w3duR07.png', 'rip', 'headstone')\n .then(sticker => console.log(`Created new sticker with name ${sticker.name}!`))\n .catch(console.error);","// Create a new sticker from a file on your computer\nguild.stickers.create('./memes/banana.png', 'banana', 'banana')\n .then(sticker => console.log(`Created new sticker with name ${sticker.name}!`))\n .catch(console.error);"],"params":[{"name":"file","description":"The file for the sticker","type":[[["BufferResolvable"]],[["Stream"]],[["FileOptions"]],[["MessageAttachment"]]]},{"name":"name","description":"The name for the sticker","type":[[["string"]]]},{"name":"tags","description":"The Discord name of a unicode emoji representing the sticker's expression","type":[[["string"]]]},{"name":"options","description":"Options","optional":true,"type":[[["GuildStickerCreateOptions"]]]}],"async":true,"returns":{"types":[[["Promise","<"],["Sticker",">"]]],"description":"The created sticker"},"meta":{"line":59,"file":"GuildStickerManager.js","path":"src/managers"}},{"name":"resolve","description":"Resolves a StickerResolvable to a Sticker object.","params":[{"name":"sticker","description":"The Sticker resolvable to identify","type":[[["StickerResolvable"]]]}],"returns":{"types":[[["Sticker"]]],"nullable":true},"meta":{"line":79,"file":"GuildStickerManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a StickerResolvable to a Sticker id string.","params":[{"name":"sticker","description":"The Sticker resolvable to identify","type":[[["StickerResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":88,"file":"GuildStickerManager.js","path":"src/managers"}},{"name":"edit","description":"Edits a sticker.","params":[{"name":"sticker","description":"The sticker to edit","type":[[["StickerResolvable"]]]},{"name":"data","description":"The new data for the sticker","optional":true,"type":[[["GuildStickerEditData"]]]},{"name":"reason","description":"Reason for editing this sticker","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Sticker",">"]]],"meta":{"line":104,"file":"GuildStickerManager.js","path":"src/managers"}},{"name":"delete","description":"Deletes a sticker.","params":[{"name":"sticker","description":"The sticker to delete","type":[[["StickerResolvable"]]]},{"name":"reason","description":"Reason for deleting this sticker","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":128,"file":"GuildStickerManager.js","path":"src/managers"}},{"name":"fetch","description":"Obtains one or more stickers from Discord, or the sticker cache if they're already available.","examples":["// Fetch all stickers from the guild\nmessage.guild.stickers.fetch()\n .then(stickers => console.log(`There are ${stickers.size} stickers.`))\n .catch(console.error);","// Fetch a single sticker\nmessage.guild.stickers.fetch('222078108977594368')\n .then(sticker => console.log(`The sticker name is: ${sticker.name}`))\n .catch(console.error);"],"params":[{"name":"id","description":"The Sticker's id","optional":true,"type":[[["Snowflake"]]]},{"name":"options","description":"Additional options for this fetch","optional":true,"type":[[["BaseFetchOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Sticker","|"],["Collection","<"],["Snowflake",", "],["Sticker",">)>"]]],"meta":{"line":151,"file":"GuildStickerManager.js","path":"src/managers"}},{"name":"fetchUser","description":"Fetches the user who uploaded this sticker, if this is a guild sticker.","params":[{"name":"sticker","description":"The sticker to fetch the user for","type":[[["StickerResolvable"]]]}],"async":true,"returns":[[["Promise",""],["User",">"]]],"meta":{"line":170,"file":"GuildStickerManager.js","path":"src/managers"}}],"meta":{"line":13,"file":"GuildStickerManager.js","path":"src/managers"}},{"name":"GuildTextThreadManager","description":"Manages API methods for {@link ThreadChannel} objects and stores their cache.","extends":[[["ThreadManager"]]],"props":[{"name":"channel","description":"The channel this Manager belongs to","type":[[["TextChannel"]],[["NewsChannel"]]],"meta":{"line":13,"file":"GuildTextThreadManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of this Manager","type":[[["Collection","<"],["Snowflake",", "],["ThreadChannel",">"]]],"meta":{"line":22,"file":"ThreadManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"create","description":"Creates a new thread in the channel.","examples":["// Create a new public thread\nchannel.threads\n .create({\n name: 'food-talk',\n autoArchiveDuration: 60,\n reason: 'Needed a separate thread for food',\n })\n .then(threadChannel => console.log(threadChannel))\n .catch(console.error);","// Create a new private thread\nchannel.threads\n .create({\n name: 'mod-talk',\n autoArchiveDuration: 60,\n type: 'GUILD_PRIVATE_THREAD',\n reason: 'Needed a separate thread for moderation',\n })\n .then(threadChannel => console.log(threadChannel))\n .catch(console.error);"],"params":[{"name":"options","description":"Options to create a new thread","optional":true,"type":[[["GuildTextThreadCreateOptions"]]]}],"async":true,"returns":[[["Promise","<"],["ThreadChannel",">"]]],"meta":{"line":58,"file":"GuildTextThreadManager.js","path":"src/managers"}},{"name":"resolve","description":"Resolves a {@link ThreadChannelResolvable} to a {@link ThreadChannel} object.","inherits":"ThreadManager#resolve","inherited":true,"params":[{"name":"thread","description":"The ThreadChannel resolvable to resolve","type":[[["ThreadChannelResolvable"]]]}],"returns":{"types":[[["ThreadChannel"]]],"nullable":true},"meta":{"line":42,"file":"ThreadManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a {@link ThreadChannelResolvable} to a {@link ThreadChannel} id.","inherits":"ThreadManager#resolveId","inherited":true,"params":[{"name":"thread","description":"The ThreadChannel resolvable to resolve","type":[[["ThreadChannelResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":51,"file":"ThreadManager.js","path":"src/managers"}},{"name":"fetch","description":"Obtains a thread from Discord, or the channel cache if it's already available.","inherits":"ThreadManager#fetch","inherited":true,"examples":["// Fetch a thread by its id\nchannel.threads.fetch('831955138126104859')\n .then(channel => console.log(channel.name))\n .catch(console.error);"],"params":[{"name":"options","description":"The options to fetch threads. If it is a\nThreadChannelResolvable then the specified thread will be fetched. Fetches all active threads if `undefined`","optional":true,"type":[[["ThreadChannelResolvable"]],[["FetchChannelThreadsOptions"]],[["FetchThreadsOptions"]]]},{"name":"cacheOptions","description":"Additional options for this fetch. The `force` field gets ignored\nif `options` is not a {@link ThreadChannelResolvable}","optional":true,"type":[[["BaseFetchOptions"]]]}],"returns":[[["Promise","("],["ThreadChannel","|"],["FetchedThreads",")>"]]],"meta":{"line":79,"file":"ThreadManager.js","path":"src/managers"}},{"name":"fetchArchived","description":"Obtains a set of archived threads from Discord, requires `READ_MESSAGE_HISTORY` in the parent channel.","inherits":"ThreadManager#fetchArchived","inherited":true,"params":[{"name":"options","description":"The options to fetch archived threads","optional":true,"type":[[["FetchChannelThreadsOptions"]]]},{"name":"cache","description":"Whether to cache the new thread objects if they aren't already","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["FetchedThreads",">"]]],"meta":{"line":121,"file":"ThreadManager.js","path":"src/managers"}},{"name":"fetchActive","description":"Obtains the accessible active threads from Discord, requires `READ_MESSAGE_HISTORY` in the parent channel.","inherits":"ThreadManager#fetchActive","inherited":true,"params":[{"name":"cache","description":"Whether to cache the new thread objects if they aren't already","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"options","description":"Options for self-bots where advanced users can specify further options","optional":true,"type":[[["FetchChannelThreadsOptions"]]]}],"async":true,"returns":[[["Promise","<"],["FetchedThreads",">"]]],"meta":{"line":141,"file":"ThreadManager.js","path":"src/managers"}}],"meta":{"line":12,"file":"GuildTextThreadManager.js","path":"src/managers"}},{"name":"InteractionManager","description":"Manages API methods for InteractionResponse and holds their cache.","extends":[[["CachedManager"]]],"props":[{"name":"channel","description":"The channel that the messages belong to","type":[[["TextBasedChannels"]]],"meta":{"line":18,"file":"InteractionManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of InteractionResponse","type":[[["Collection","<"],["Snowflake",", "],["InteractionResponse",">"]]],"meta":{"line":21,"file":"InteractionManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"resolve","description":"Resolves a data entry to a data Object.","inherits":"DataManager#resolve","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Object"]]],"description":"An instance from this Manager","nullable":true},"meta":{"line":39,"file":"DataManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a data entry to an instance id.","inherits":"DataManager#resolveId","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":50,"file":"DataManager.js","path":"src/managers"}}],"meta":{"line":10,"file":"InteractionManager.js","path":"src/managers"}},{"name":"MessageManager","description":"Manages API methods for Messages and holds their cache.","extends":[[["CachedManager"]]],"props":[{"name":"channel","description":"The channel that the messages belong to","type":[[["TextBasedChannels"]]],"meta":{"line":22,"file":"MessageManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of Messages","type":[[["Collection","<"],["Snowflake",", "],["Message",">"]]],"meta":{"line":25,"file":"MessageManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"fetch","description":"Gets a message, or messages, from this channel.\nThe returned Collection does not contain reaction users of the messages if they were not cached.\nThose need to be fetched separately in such a case.","examples":["// Get message\nchannel.messages.fetch('99539446449315840')\n .then(message => console.log(message.content))\n .catch(console.error);","// Get messages\nchannel.messages.fetch({ limit: 10 })\n .then(messages => console.log(`Received ${messages.size} messages`))\n .catch(console.error);","// Get messages and filter by user id\nchannel.messages.fetch()\n .then(messages => console.log(`${messages.filter(m => m.author.id === '84484653687267328').size} messages`))\n .catch(console.error);"],"params":[{"name":"message","description":"The id of the message to fetch, or query parameters.","optional":true,"type":[[["Snowflake"]],[["ChannelLogsQueryOptions"]]]},{"name":"options","description":"Additional options for this fetch","optional":true,"type":[[["BaseFetchOptions"]]]}],"returns":[[["Promise","<("],["Message","|"],["Collection","<"],["Snowflake",", "],["Message",">)>"]]],"meta":{"line":68,"file":"MessageManager.js","path":"src/managers"}},{"name":"fetchPinned","description":"Fetches the pinned messages of this channel and returns a collection of them.\nThe returned Collection does not contain any reaction data of the messages.\nThose need to be fetched separately.","examples":["// Get pinned messages\nchannel.messages.fetchPinned()\n .then(messages => console.log(`Received ${messages.size} messages`))\n .catch(console.error);"],"params":[{"name":"cache","description":"Whether to cache the message(s)","optional":true,"default":true,"type":[[["boolean"]]]}],"async":true,"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Message",">>"]]],"meta":{"line":84,"file":"MessageManager.js","path":"src/managers"}},{"name":"resolve","description":"Resolves a {@link MessageResolvable} to a {@link Message} object.","params":[{"name":"message","description":"The message resolvable to resolve","type":[[["MessageResolvable"]]]}],"returns":{"types":[[["Message"]]],"nullable":true},"meta":{"line":98,"file":"MessageManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a {@link MessageResolvable} to a {@link Message} id.","params":[{"name":"message","description":"The message resolvable to resolve","type":[[["MessageResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":107,"file":"MessageManager.js","path":"src/managers"}},{"name":"edit","description":"Edits a message, even if it's not cached.","params":[{"name":"message","description":"The message to edit","type":[[["MessageResolvable"]]]},{"name":"options","description":"The options to edit the message","type":[[["string"]],[["MessageEditOptions"]],[["MessagePayload"]]]}],"async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":122,"file":"MessageManager.js","path":"src/managers"}},{"name":"crosspost","description":"Publishes a message in an announcement channel to all channels following it, even if it's not cached.","params":[{"name":"message","description":"The message to publish","type":[[["MessageResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":167,"file":"MessageManager.js","path":"src/managers"}},{"name":"pin","description":"Pins a message to the channel's pinned messages, even if it's not cached.","params":[{"name":"message","description":"The message to pin","type":[[["MessageResolvable"]]]},{"name":"reason","description":"Reason for pinning","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":181,"file":"MessageManager.js","path":"src/managers"}},{"name":"unpin","description":"Unpins a message from the channel's pinned messages, even if it's not cached.","params":[{"name":"message","description":"The message to unpin","type":[[["MessageResolvable"]]]},{"name":"reason","description":"Reason for unpinning","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":194,"file":"MessageManager.js","path":"src/managers"}},{"name":"react","description":"Adds a reaction to a message, even if it's not cached.","params":[{"name":"message","description":"The message to react to","type":[[["MessageResolvable"]]]},{"name":"emoji","description":"The emoji to react with","type":[[["EmojiIdentifierResolvable"]]]},{"name":"burst","description":"Super Reactions (Discord Nitro only)","optional":true,"default":false,"type":[[["boolean"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":208,"file":"MessageManager.js","path":"src/managers"}},{"name":"delete","description":"Deletes a message, even if it's not cached.","params":[{"name":"message","description":"The message to delete","type":[[["MessageResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":236,"file":"MessageManager.js","path":"src/managers"}},{"name":"search","description":"Search Messages in the channel.","params":[{"name":"options","description":"Performs a search within the channel.","type":[[["MessageSearchOptions"]]]}],"async":true,"returns":[[["MessageSearchResult"]]],"meta":{"line":295,"file":"MessageManager.js","path":"src/managers"}}],"meta":{"line":14,"file":"MessageManager.js","path":"src/managers"}},{"name":"PermissionOverwriteManager","description":"Manages API methods for guild channel permission overwrites and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"channel","description":"The channel of the permission overwrite this manager belongs to","type":[[["GuildChannel"]]],"meta":{"line":32,"file":"PermissionOverwriteManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of this Manager","type":[[["Collection","<"],["Snowflake",", "],["PermissionOverwrites",">"]]],"meta":{"line":41,"file":"PermissionOverwriteManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"set","description":"Replaces the permission overwrites in this channel.","examples":["message.channel.permissionOverwrites.set([\n {\n id: message.author.id,\n deny: [Permissions.FLAGS.VIEW_CHANNEL],\n },\n], 'Needed to change permissions');"],"params":[{"name":"overwrites","description":"Permission overwrites the channel gets updated with","type":[[["Array","<"],["OverwriteResolvable",">"]],[["Collection","<"],["Snowflake",", "],["OverwriteResolvable",">"]]]},{"name":"reason","description":"Reason for updating the channel overwrites","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":65,"file":"PermissionOverwriteManager.js","path":"src/managers"}},{"name":"upsert","description":"Creates or edits permission overwrites for a user or role in this channel.","access":"private","params":[{"name":"userOrRole","description":"The user or role to update","type":[[["RoleResolvable"]],[["UserResolvable"]]]},{"name":"options","description":"The options for the update","type":[[["PermissionOverwriteOptions"]]]},{"name":"overwriteOptions","description":"The extra information for the update","optional":true,"type":[[["GuildChannelOverwriteOptions"]]]},{"name":"existing","description":"The existing overwrites to merge with this update","optional":true,"type":[[["PermissionOverwrites"]]]}],"async":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":91,"file":"PermissionOverwriteManager.js","path":"src/managers"}},{"name":"create","description":"Creates permission overwrites for a user or role in this channel, or replaces them if already present.","examples":["// Create or Replace permission overwrites for a message author\nmessage.channel.permissionOverwrites.create(message.author, {\n SEND_MESSAGES: false\n})\n .then(channel => console.log(channel.permissionOverwrites.cache.get(message.author.id)))\n .catch(console.error);"],"params":[{"name":"userOrRole","description":"The user or role to update","type":[[["RoleResolvable"]],[["UserResolvable"]]]},{"name":"options","description":"The options for the update","type":[[["PermissionOverwriteOptions"]]]},{"name":"overwriteOptions","description":"The extra information for the update","optional":true,"type":[[["GuildChannelOverwriteOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":126,"file":"PermissionOverwriteManager.js","path":"src/managers"}},{"name":"edit","description":"Edits permission overwrites for a user or role in this channel, or creates an entry if not already present.","examples":["// Edit or Create permission overwrites for a message author\nmessage.channel.permissionOverwrites.edit(message.author, {\n SEND_MESSAGES: false\n})\n .then(channel => console.log(channel.permissionOverwrites.cache.get(message.author.id)))\n .catch(console.error);"],"params":[{"name":"userOrRole","description":"The user or role to update","type":[[["RoleResolvable"]],[["UserResolvable"]]]},{"name":"options","description":"The options for the update","type":[[["PermissionOverwriteOptions"]]]},{"name":"overwriteOptions","description":"The extra information for the update","optional":true,"type":[[["GuildChannelOverwriteOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":144,"file":"PermissionOverwriteManager.js","path":"src/managers"}},{"name":"delete","description":"Deletes permission overwrites for a user or role in this channel.","params":[{"name":"userOrRole","description":"The user or role to delete","type":[[["UserResolvable"]],[["RoleResolvable"]]]},{"name":"reason","description":"The reason for deleting the overwrite","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":157,"file":"PermissionOverwriteManager.js","path":"src/managers"}},{"name":"resolve","description":"Resolves a data entry to a data Object.","inherits":"DataManager#resolve","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Object"]]],"description":"An instance from this Manager","nullable":true},"meta":{"line":39,"file":"DataManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a data entry to an instance id.","inherits":"DataManager#resolveId","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":50,"file":"DataManager.js","path":"src/managers"}}],"meta":{"line":17,"file":"PermissionOverwriteManager.js","path":"src/managers"}},{"name":"PresenceManager","description":"Manages API methods for Presences and holds their cache.","extends":[[["CachedManager"]]],"props":[{"name":"cache","description":"The cache of Presences","type":[[["Collection","<"],["Snowflake",", "],["Presence",">"]]],"meta":{"line":15,"file":"PresenceManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"resolve","description":"Resolves a {@link PresenceResolvable} to a {@link Presence} object.","params":[{"name":"presence","description":"The presence resolvable to resolve","type":[[["PresenceResolvable"]]]}],"returns":{"types":[[["Presence"]]],"nullable":true},"meta":{"line":38,"file":"PresenceManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a {@link PresenceResolvable} to a {@link Presence} id.","params":[{"name":"presence","description":"The presence resolvable to resolve","type":[[["PresenceResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":50,"file":"PresenceManager.js","path":"src/managers"}}],"meta":{"line":10,"file":"PresenceManager.js","path":"src/managers"}},{"name":"ReactionManager","description":"Manages API methods for reactions and holds their cache.","extends":[[["CachedManager"]]],"props":[{"name":"message","description":"The message that this manager belongs to","type":[[["Message"]]],"meta":{"line":18,"file":"ReactionManager.js","path":"src/managers"}},{"name":"cache","description":"The reaction cache of this manager","type":[[["Collection","<("],["string","|"],["Snowflake","), "],["MessageReaction",">"]]],"meta":{"line":25,"file":"ReactionManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"resolve","description":"Resolves a {@link MessageReactionResolvable} to a {@link MessageReaction} object.","params":[{"name":"reaction","description":"The MessageReaction to resolve","type":[[["MessageReactionResolvable"]]]}],"returns":{"types":[[["MessageReaction"]]],"nullable":true},"meta":{"line":39,"file":"ReactionManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a {@link MessageReactionResolvable} to a {@link MessageReaction} id.","params":[{"name":"reaction","description":"The MessageReaction to resolve","type":[[["MessageReactionResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":48,"file":"ReactionManager.js","path":"src/managers"}},{"name":"removeAll","description":"Removes all reactions from a message.","async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":61,"file":"ReactionManager.js","path":"src/managers"}}],"meta":{"line":10,"file":"ReactionManager.js","path":"src/managers"}},{"name":"ReactionUserManager","description":"Manages API methods for users who reacted to a reaction and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"reaction","description":"The reaction that this manager belongs to","type":[[["MessageReaction"]]],"meta":{"line":20,"file":"ReactionUserManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of this manager","type":[[["Collection","<"],["Snowflake",", "],["User",">"]]],"meta":{"line":23,"file":"ReactionUserManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"fetch","description":"Fetches all the users that gave this reaction. Resolves with a collection of users, mapped by their ids.","params":[{"name":"options","description":"Options for fetching the users","optional":true,"type":[[["FetchReactionUsersOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["User",">>"]]],"meta":{"line":41,"file":"ReactionUserManager.js","path":"src/managers"}},{"name":"remove","description":"Removes a user from this reaction.","params":[{"name":"user","description":"The user to remove the reaction of","optional":true,"default":"this.client.user","type":[[["UserResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["MessageReaction",">"]]],"meta":{"line":60,"file":"ReactionUserManager.js","path":"src/managers"}},{"name":"resolve","description":"Resolves a data entry to a data Object.","inherits":"DataManager#resolve","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Object"]]],"description":"An instance from this Manager","nullable":true},"meta":{"line":39,"file":"DataManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a data entry to an instance id.","inherits":"DataManager#resolveId","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":50,"file":"DataManager.js","path":"src/managers"}}],"meta":{"line":12,"file":"ReactionUserManager.js","path":"src/managers"}},{"name":"RelationshipManager","description":"Manages API methods for Relationships and stores their cache.","props":[{"name":"cache","description":"A collection of users this manager is caching. (Type: Number)","type":[[["Collection","<"],["Snowflake",", "],["RelationshipType",">"]]],"meta":{"line":21,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"friendNicknames","type":[[["Collection","<"],["Snowflake",", "],["string",">"]]],"meta":{"line":25,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"sinceCache","type":[[["Collection","<"],["Snowflake",", "],["Date",">"]]],"meta":{"line":29,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"friendCache","description":"Get all friends","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["User",">"]]],"meta":{"line":38,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"blockedCache","description":"Get all blocked users","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["User",">"]]],"meta":{"line":50,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"incomingCache","description":"Get all incoming friend requests","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["User",">"]]],"meta":{"line":62,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"outgoingCache","description":"Get all outgoing friend requests","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["User",">"]]],"meta":{"line":74,"file":"RelationshipManager.js","path":"src/managers"}}],"methods":[{"name":"toJSON","description":"Return array of cache","returns":[[["Array","<"],["RelationshipJSONData",">"]]],"meta":{"line":93,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"_setup","access":"private","params":[{"name":"users","description":"An array of users to add to the cache","type":[[["Array","<"],["User",">"]]]}],"returns":[[["void"]]],"meta":{"line":107,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a {@link UserResolvable} to a {@link User} id.","params":[{"name":"user","description":"The UserResolvable to identify","type":[[["UserResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":121,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"fetch","description":"Obtains a user from Discord, or the user cache if it's already available.","params":[{"name":"user","description":"The user to fetch","optional":true,"type":[[["UserResolvable"]]]},{"name":"options","description":"Additional options for this fetch","optional":true,"type":[[["BaseFetchOptions"]]]}],"async":true,"returns":[[["Promise","<("],["RelationshipType","|"],["RelationshipManager",")>"]]],"meta":{"line":135,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"deleteRelationship","description":"Deletes a friend / blocked relationship with a client user or cancels a friend request.","params":[{"name":"user","description":"Target","type":[[["UserResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["boolean",">"]]],"meta":{"line":157,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"sendFriendRequest","description":"Sends a friend request.","params":[{"name":"options","description":"Target","type":[[["FriendRequestOptions"]]]}],"async":true,"returns":[[["Promise","<"],["boolean",">"]]],"meta":{"line":184,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"addFriend","description":"Accepts a friend request.","params":[{"name":"user","description":"The user to add as a friend","type":[[["UserResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["boolean",">"]]],"meta":{"line":209,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"setNickname","description":"Changes the nickname of a friend.","params":[{"name":"user","description":"The user to change the nickname","type":[[["UserResolvable"]]]},{"name":"nickname","description":"New nickname","default":null,"nullable":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["boolean",">"]]],"meta":{"line":230,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"addBlocked","description":"Blocks a user.","params":[{"name":"user","description":"User to block","type":[[["UserResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["boolean",">"]]],"meta":{"line":251,"file":"RelationshipManager.js","path":"src/managers"}}],"meta":{"line":14,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"RoleManager","description":"Manages API methods for roles and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"guild","description":"The guild belonging to this manager","type":[[["Guild"]]],"meta":{"line":34,"file":"RoleManager.js","path":"src/managers"}},{"name":"cache","description":"The role cache of this manager","type":[[["Collection","<"],["Snowflake",", "],["Role",">"]]],"meta":{"line":37,"file":"RoleManager.js","path":"src/managers"}},{"name":"everyone","description":"The `@everyone` role of the guild","readonly":true,"type":[[["Role"]]],"meta":{"line":329,"file":"RoleManager.js","path":"src/managers"}},{"name":"premiumSubscriberRole","description":"The premium subscriber role of the guild, if any","readonly":true,"nullable":true,"type":[[["Role"]]],"meta":{"line":338,"file":"RoleManager.js","path":"src/managers"}},{"name":"highest","description":"The role with the highest position in the cache","readonly":true,"type":[[["Role"]]],"meta":{"line":347,"file":"RoleManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"fetch","description":"Obtains a role from Discord, or the role cache if they're already available.","examples":["// Fetch all roles from the guild\nmessage.guild.roles.fetch()\n .then(roles => console.log(`There are ${roles.size} roles.`))\n .catch(console.error);","// Fetch a single role\nmessage.guild.roles.fetch('222078108977594368')\n .then(role => console.log(`The role color is: ${role.color}`))\n .catch(console.error);"],"params":[{"name":"id","description":"The role's id","optional":true,"type":[[["Snowflake"]]]},{"name":"options","description":"Additional options for this fetch","optional":true,"type":[[["BaseFetchOptions"]]]}],"async":true,"returns":[[["Promise","<(?"],["Role","|"],["Collection","<"],["Snowflake",", "],["Role",">)>"]]],"meta":{"line":63,"file":"RoleManager.js","path":"src/managers"}},{"name":"resolve","description":"Resolves a {@link RoleResolvable} to a {@link Role} object.","params":[{"name":"role","description":"The role resolvable to resolve","type":[[["RoleResolvable"]]]}],"returns":{"types":[[["Role"]]],"nullable":true},"meta":{"line":83,"file":"RoleManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a {@link RoleResolvable} to a {@link Role} id.","params":[{"name":"role","description":"The role resolvable to resolve","type":[[["RoleResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":92,"file":"RoleManager.js","path":"src/managers"}},{"name":"create","description":"Creates a new role in the guild with given information.\nThe position will silently reset to 1 if an invalid one is provided, or none.","examples":["// Create a new role\nguild.roles.create()\n .then(console.log)\n .catch(console.error);","// Create a new role with data and a reason\nguild.roles.create({\n name: 'Super Cool Blue People',\n color: 'BLUE',\n reason: 'we needed a role for Super Cool People',\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for creating the new role","optional":true,"type":[[["CreateRoleOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Role",">"]]],"meta":{"line":137,"file":"RoleManager.js","path":"src/managers"}},{"name":"edit","description":"Edits a role of the guild.","examples":["// Edit a role\nguild.roles.edit('222079219327434752', { name: 'buddies' })\n .then(updated => console.log(`Edited role name to ${updated.name}`))\n .catch(console.error);"],"params":[{"name":"role","description":"The role to edit","type":[[["RoleResolvable"]]]},{"name":"data","description":"The new data for the role","type":[[["RoleData"]]]},{"name":"reason","description":"Reason for editing this role","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Role",">"]]],"meta":{"line":179,"file":"RoleManager.js","path":"src/managers"}},{"name":"delete","description":"Deletes a role.","examples":["// Delete a role\nguild.roles.delete('222079219327434752', 'The role needed to go')\n .then(() => console.log('Deleted the role.'))\n .catch(console.error);"],"params":[{"name":"role","description":"The role to delete","type":[[["RoleResolvable"]]]},{"name":"reason","description":"Reason for deleting the role","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":220,"file":"RoleManager.js","path":"src/managers"}},{"name":"setPosition","description":"Sets the new position of the role.","examples":["// Set the position of the role\nguild.roles.setPosition('222197033908436994', 1)\n .then(updated => console.log(`Role position: ${updated.position}`))\n .catch(console.error);"],"params":[{"name":"role","description":"The role to change the position of","type":[[["RoleResolvable"]]]},{"name":"position","description":"The new position for the role","type":[[["number"]]]},{"name":"options","description":"Options for setting the position","optional":true,"type":[[["SetRolePositionOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Role",">"]]],"meta":{"line":238,"file":"RoleManager.js","path":"src/managers"}},{"name":"setPositions","description":"Batch-updates the guild's role positions","examples":["guild.roles.setPositions([{ role: roleId, position: updatedRoleIndex }])\n .then(guild => console.log(`Role positions updated for ${guild}`))\n .catch(console.error);"],"params":[{"name":"rolePositions","description":"Role positions to update","type":[[["Array","<"],["GuildRolePosition",">"]]]}],"async":true,"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":273,"file":"RoleManager.js","path":"src/managers"}},{"name":"comparePositions","description":"Compares the positions of two roles.","params":[{"name":"role1","description":"First role to compare","type":[[["RoleResolvable"]]]},{"name":"role2","description":"Second role to compare","type":[[["RoleResolvable"]]]}],"returns":{"types":[[["number"]]],"description":"Negative number if the first role's position is lower (second role's is higher),\npositive number if the first's is higher (second's is lower), 0 if equal"},"meta":{"line":297,"file":"RoleManager.js","path":"src/managers"}},{"name":"botRoleFor","description":"Gets the managed role a user created when joining the guild, if any\nOnly ever available for bots","params":[{"name":"user","description":"The user to access the bot role for","type":[[["UserResolvable"]]]}],"returns":{"types":[[["Role"]]],"nullable":true},"meta":{"line":318,"file":"RoleManager.js","path":"src/managers"}}],"meta":{"line":19,"file":"RoleManager.js","path":"src/managers"}},{"name":"StageInstanceManager","description":"Manages API methods for {@link StageInstance} objects and holds their cache.","extends":[[["CachedManager"]]],"props":[{"name":"guild","description":"The guild this manager belongs to","type":[[["Guild"]]],"meta":{"line":20,"file":"StageInstanceManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of this Manager","type":[[["Collection","<"],["Snowflake",", "],["StageInstance",">"]]],"meta":{"line":23,"file":"StageInstanceManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"create","description":"Creates a new stage instance.","examples":["// Create a stage instance\nguild.stageInstances.create('1234567890123456789', {\n topic: 'A very creative topic',\n privacyLevel: 'GUILD_ONLY'\n})\n .then(stageInstance => console.log(stageInstance))\n .catch(console.error);"],"params":[{"name":"channel","description":"The stage channel to associate the created stage instance to","type":[[["StageChannelResolvable"]]]},{"name":"options","description":"The options to create the stage instance","type":[[["StageInstanceCreateOptions"]]]}],"async":true,"returns":[[["Promise","<"],["StageInstance",">"]]],"meta":{"line":60,"file":"StageInstanceManager.js","path":"src/managers"}},{"name":"fetch","description":"Fetches the stage instance associated with a stage channel, if it exists.","examples":["// Fetch a stage instance\nguild.stageInstances.fetch('1234567890123456789')\n .then(stageInstance => console.log(stageInstance))\n .catch(console.error);"],"params":[{"name":"channel","description":"The stage channel whose associated stage instance is to be fetched","type":[[["StageChannelResolvable"]]]},{"name":"options","description":"Additional options for this fetch","optional":true,"type":[[["BaseFetchOptions"]]]}],"async":true,"returns":[[["Promise","<"],["StageInstance",">"]]],"meta":{"line":93,"file":"StageInstanceManager.js","path":"src/managers"}},{"name":"edit","description":"Edits an existing stage instance.","examples":["// Edit a stage instance\nguild.stageInstances.edit('1234567890123456789', { topic: 'new topic' })\n .then(stageInstance => console.log(stageInstance))\n .catch(console.error);"],"params":[{"name":"channel","description":"The stage channel whose associated stage instance is to be edited","type":[[["StageChannelResolvable"]]]},{"name":"options","description":"The options to edit the stage instance","type":[[["StageInstanceEditOptions"]]]}],"async":true,"returns":[[["Promise","<"],["StageInstance",">"]]],"meta":{"line":124,"file":"StageInstanceManager.js","path":"src/managers"}},{"name":"delete","description":"Deletes an existing stage instance.","params":[{"name":"channel","description":"The stage channel whose associated stage instance is to be deleted","type":[[["StageChannelResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":154,"file":"StageInstanceManager.js","path":"src/managers"}},{"name":"resolve","description":"Resolves a data entry to a data Object.","inherits":"DataManager#resolve","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Object"]]],"description":"An instance from this Manager","nullable":true},"meta":{"line":39,"file":"DataManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a data entry to an instance id.","inherits":"DataManager#resolveId","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":50,"file":"DataManager.js","path":"src/managers"}}],"meta":{"line":12,"file":"StageInstanceManager.js","path":"src/managers"}},{"name":"ThreadManager","description":"Manages API methods for {@link ThreadChannel} objects and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"channel","description":"The channel this Manager belongs to","type":[[["NewsChannel"]],[["TextChannel"]]],"meta":{"line":19,"file":"ThreadManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of this Manager","type":[[["Collection","<"],["Snowflake",", "],["ThreadChannel",">"]]],"meta":{"line":22,"file":"ThreadManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"resolve","description":"Resolves a {@link ThreadChannelResolvable} to a {@link ThreadChannel} object.","params":[{"name":"thread","description":"The ThreadChannel resolvable to resolve","type":[[["ThreadChannelResolvable"]]]}],"returns":{"types":[[["ThreadChannel"]]],"nullable":true},"meta":{"line":42,"file":"ThreadManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a {@link ThreadChannelResolvable} to a {@link ThreadChannel} id.","params":[{"name":"thread","description":"The ThreadChannel resolvable to resolve","type":[[["ThreadChannelResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":51,"file":"ThreadManager.js","path":"src/managers"}},{"name":"fetch","description":"Obtains a thread from Discord, or the channel cache if it's already available.","examples":["// Fetch a thread by its id\nchannel.threads.fetch('831955138126104859')\n .then(channel => console.log(channel.name))\n .catch(console.error);"],"params":[{"name":"options","description":"The options to fetch threads. If it is a\nThreadChannelResolvable then the specified thread will be fetched. Fetches all active threads if `undefined`","optional":true,"type":[[["ThreadChannelResolvable"]],[["FetchChannelThreadsOptions"]],[["FetchThreadsOptions"]]]},{"name":"cacheOptions","description":"Additional options for this fetch. The `force` field gets ignored\nif `options` is not a {@link ThreadChannelResolvable}","optional":true,"type":[[["BaseFetchOptions"]]]}],"returns":[[["Promise","("],["ThreadChannel","|"],["FetchedThreads",")>"]]],"meta":{"line":79,"file":"ThreadManager.js","path":"src/managers"}},{"name":"fetchArchived","description":"Obtains a set of archived threads from Discord, requires `READ_MESSAGE_HISTORY` in the parent channel.","params":[{"name":"options","description":"The options to fetch archived threads","optional":true,"type":[[["FetchChannelThreadsOptions"]]]},{"name":"cache","description":"Whether to cache the new thread objects if they aren't already","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["FetchedThreads",">"]]],"meta":{"line":121,"file":"ThreadManager.js","path":"src/managers"}},{"name":"fetchActive","description":"Obtains the accessible active threads from Discord, requires `READ_MESSAGE_HISTORY` in the parent channel.","params":[{"name":"cache","description":"Whether to cache the new thread objects if they aren't already","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"options","description":"Options for self-bots where advanced users can specify further options","optional":true,"type":[[["FetchChannelThreadsOptions"]]]}],"async":true,"returns":[[["Promise","<"],["FetchedThreads",">"]]],"meta":{"line":141,"file":"ThreadManager.js","path":"src/managers"}}],"meta":{"line":11,"file":"ThreadManager.js","path":"src/managers"}},{"name":"ThreadMemberManager","description":"Manages API methods for GuildMembers and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"thread","description":"The thread this manager belongs to","type":[[["ThreadChannel"]]],"meta":{"line":23,"file":"ThreadMemberManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of this Manager","type":[[["Collection","<"],["Snowflake",", "],["ThreadMember",">"]]],"meta":{"line":26,"file":"ThreadMemberManager.js","path":"src/managers"}},{"name":"me","description":"The client user as a ThreadMember of this ThreadChannel","readonly":true,"nullable":true,"type":[[["ThreadMember"]]],"meta":{"line":56,"file":"ThreadMemberManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"fetchMe","description":"Fetches the client user as a ThreadMember of the thread.","params":[{"name":"options","description":"The options for fetching the member","optional":true,"type":[[["BaseFetchOptions"]]]}],"returns":[[["Promise","<"],["ThreadMember",">"]]],"meta":{"line":47,"file":"ThreadMemberManager.js","path":"src/managers"}},{"name":"resolve","description":"Resolves a {@link ThreadMemberResolvable} to a {@link ThreadMember} object.","params":[{"name":"member","description":"The user that is part of the thread","type":[[["ThreadMemberResolvable"]]]}],"returns":{"types":[[["GuildMember"]]],"nullable":true},"meta":{"line":72,"file":"ThreadMemberManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a {@link ThreadMemberResolvable} to a {@link ThreadMember} id string.","params":[{"name":"member","description":"The user that is part of the guild","type":[[["ThreadMemberResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":85,"file":"ThreadMemberManager.js","path":"src/managers"}},{"name":"add","description":"Adds a member to the thread.","params":[{"name":"member","description":"The member to add","type":[[["UserResolvable"]],[["me","'"]]]},{"name":"reason","description":"The reason for adding this member","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Snowflake",">"]]],"meta":{"line":98,"file":"ThreadMemberManager.js","path":"src/managers"}},{"name":"remove","description":"Remove a user from the thread.","params":[{"name":"id","description":"The id of the member to remove","type":[[["Snowflake"]],[["me","'"]]]},{"name":"reason","description":"The reason for removing this member from the thread","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Snowflake",">"]]],"meta":{"line":111,"file":"ThreadMemberManager.js","path":"src/managers"}},{"name":"fetch","description":"Fetches member(s) for the thread from Discord.","params":[{"name":"member","description":"The member to fetch. If `undefined`, all members\nin the thread are fetched, and will be cached based on `options.cache`.","optional":true,"type":[[["UserResolvable"]],[["FetchThreadMembersOptions"]],[["boolean"]]]},{"name":"options","description":"Additional options for this fetch","optional":true,"type":[[["FetchThreadMemberOptions"]],[["FetchThreadMembersOptions"]]]}],"returns":[[["Promise","<("],["ThreadMember","|"],["Collection","<"],["Snowflake",", "],["ThreadMember",">)>"]]],"meta":{"line":171,"file":"ThreadMemberManager.js","path":"src/managers"}}],"meta":{"line":15,"file":"ThreadMemberManager.js","path":"src/managers"}},{"name":"UserManager","description":"Manages API methods for users and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"cache","description":"The cache of this manager","type":[[["Collection","<"],["Snowflake",", "],["User",">"]]],"meta":{"line":19,"file":"UserManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"dmChannel","description":"The DM between the client's user and a user","access":"private","params":[{"name":"userId","description":"The user id","type":[[["Snowflake"]]]}],"returns":{"types":[[["DMChannel"]]],"nullable":true},"meta":{"line":41,"file":"UserManager.js","path":"src/managers"}},{"name":"createDM","description":"Creates a {@link DMChannel} between the client and a user.","params":[{"name":"user","description":"The UserResolvable to identify","type":[[["UserResolvable"]]]},{"name":"options","description":"Additional options for this fetch","optional":true,"type":[[["BaseFetchOptions"]]]}],"async":true,"returns":[[["Promise","<"],["DMChannel",">"]]],"meta":{"line":51,"file":"UserManager.js","path":"src/managers"}},{"name":"deleteDM","description":"Deletes a {@link DMChannel} (if one exists) between the client and a user. Resolves with the channel if successful.","params":[{"name":"user","description":"The UserResolvable to identify","type":[[["UserResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["DMChannel",">"]]],"meta":{"line":76,"file":"UserManager.js","path":"src/managers"}},{"name":"fetch","description":"Obtains a user from Discord, or the user cache if it's already available.","params":[{"name":"user","description":"The user to fetch","type":[[["UserResolvable"]]]},{"name":"options","description":"Additional options for this fetch","optional":true,"type":[[["BaseFetchOptions"]]]}],"async":true,"returns":[[["Promise","<"],["User",">"]]],"meta":{"line":91,"file":"UserManager.js","path":"src/managers"}},{"name":"fetchFlags","description":"Fetches a user's flags.","params":[{"name":"user","description":"The UserResolvable to identify","type":[[["UserResolvable"]]]},{"name":"options","description":"Additional options for this fetch","optional":true,"type":[[["BaseFetchOptions"]]]}],"async":true,"returns":[[["Promise","<"],["UserFlags",">"]]],"meta":{"line":108,"file":"UserManager.js","path":"src/managers"}},{"name":"send","description":"Sends a message to a user.","params":[{"name":"user","description":"The UserResolvable to identify","type":[[["UserResolvable"]]]},{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["MessageOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":118,"file":"UserManager.js","path":"src/managers"}},{"name":"resolve","description":"Resolves a {@link UserResolvable} to a {@link User} object.","params":[{"name":"user","description":"The UserResolvable to identify","type":[[["UserResolvable"]]]}],"returns":{"types":[[["User"]]],"nullable":true},"meta":{"line":127,"file":"UserManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a {@link UserResolvable} to a {@link User} id.","params":[{"name":"user","description":"The UserResolvable to identify","type":[[["UserResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":138,"file":"UserManager.js","path":"src/managers"}}],"meta":{"line":14,"file":"UserManager.js","path":"src/managers"}},{"name":"UserNoteManager","description":"Manages API methods for Client and stores their cache.","extends":[[["BaseManager"]]],"props":[{"name":"cache","description":"Cache User Note","type":[[["Collection","<"],["Snowflake",", "],["string",">"]]],"meta":{"line":17,"file":"UserNoteManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"fetch","description":"Obtains a user from Discord, or the user cache if it's already available.","params":[{"name":"user","description":"The user to fetch","type":[[["UserResolvable"]]]},{"name":"options","description":"Additional options for this fetch","optional":true,"type":[[["BaseFetchOptions"]]]}],"async":true,"returns":[[["Promise","<"],["string",">"]]],"meta":{"line":38,"file":"UserNoteManager.js","path":"src/managers"}}],"meta":{"line":10,"file":"UserNoteManager.js","path":"src/managers"}},{"name":"VoiceStateManager","description":"Manages API methods for VoiceStates and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"guild","description":"The guild this manager belongs to","type":[[["Guild"]]],"meta":{"line":18,"file":"VoiceStateManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of this manager","type":[[["Collection","<"],["Snowflake",", "],["VoiceState",">"]]],"meta":{"line":21,"file":"VoiceStateManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"resolve","description":"Resolves a data entry to a data Object.","inherits":"DataManager#resolve","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Object"]]],"description":"An instance from this Manager","nullable":true},"meta":{"line":39,"file":"DataManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a data entry to an instance id.","inherits":"DataManager#resolveId","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":50,"file":"DataManager.js","path":"src/managers"}}],"meta":{"line":10,"file":"VoiceStateManager.js","path":"src/managers"}},{"name":"DiscordAPIError","description":"Represents an error from the Discord API.","extends":[[["Error"]]],"props":[{"name":"method","description":"The HTTP method used for the request","type":[[["string"]]],"meta":{"line":18,"file":"DiscordAPIError.js","path":"src/rest"}},{"name":"path","description":"The path of the request relative to the HTTP endpoint","type":[[["string"]]],"meta":{"line":24,"file":"DiscordAPIError.js","path":"src/rest"}},{"name":"code","description":"HTTP error code returned by Discord","type":[[["number"]]],"meta":{"line":30,"file":"DiscordAPIError.js","path":"src/rest"}},{"name":"httpStatus","description":"The HTTP status code","type":[[["number"]]],"meta":{"line":36,"file":"DiscordAPIError.js","path":"src/rest"}},{"name":"requestData","description":"The data associated with the request that caused this error","type":[[["HTTPErrorData"]]],"meta":{"line":42,"file":"DiscordAPIError.js","path":"src/rest"}},{"name":"retries","description":"The number of times this request has been retried","type":[[["number"]]],"meta":{"line":52,"file":"DiscordAPIError.js","path":"src/rest"}},{"name":"captcha","description":"Captcha response data if the request requires a captcha","type":[[["Captcha"]],[["null"]]],"meta":{"line":67,"file":"DiscordAPIError.js","path":"src/rest"}}],"methods":[{"name":"flattenErrors","description":"Flattens an errors object returned from the API into an array.","scope":"static","access":"private","params":[{"name":"obj","description":"Discord errors object","type":[[["APIError"]]]},{"name":"key","description":"Used internally to determine key names of nested fields","optional":true,"type":[[["string"]]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":77,"file":"DiscordAPIError.js","path":"src/rest"}}],"meta":{"line":7,"file":"DiscordAPIError.js","path":"src/rest"}},{"name":"HTTPError","description":"Represents an HTTP error from a request.","extends":[[["Error"]]],"props":[{"name":"name","description":"The name of the error","type":[[["string"]]],"meta":{"line":15,"file":"HTTPError.js","path":"src/rest"}},{"name":"code","description":"HTTP error code returned from the request","type":[[["number"]]],"meta":{"line":21,"file":"HTTPError.js","path":"src/rest"}},{"name":"method","description":"The HTTP method used for the request","type":[[["string"]]],"meta":{"line":27,"file":"HTTPError.js","path":"src/rest"}},{"name":"path","description":"The path of the request relative to the HTTP endpoint","type":[[["string"]]],"meta":{"line":33,"file":"HTTPError.js","path":"src/rest"}},{"name":"requestData","description":"The data associated with the request that caused this error","type":[[["HTTPErrorData"]]],"meta":{"line":54,"file":"HTTPError.js","path":"src/rest"}}],"meta":{"line":7,"file":"HTTPError.js","path":"src/rest"}},{"name":"RateLimitError","description":"Represents a RateLimit error from a request.","extends":[[["Error"]]],"props":[{"name":"name","description":"The name of the error","type":[[["string"]]],"meta":{"line":15,"file":"RateLimitError.js","path":"src/rest"}},{"name":"timeout","description":"Time until this rate limit ends, in milliseconds","type":[[["number"]]],"meta":{"line":21,"file":"RateLimitError.js","path":"src/rest"}},{"name":"method","description":"The HTTP method used for the request","type":[[["string"]]],"meta":{"line":27,"file":"RateLimitError.js","path":"src/rest"}},{"name":"path","description":"The path of the request relative to the HTTP endpoint","type":[[["string"]]],"meta":{"line":33,"file":"RateLimitError.js","path":"src/rest"}},{"name":"route","description":"The route of the request relative to the HTTP endpoint","type":[[["string"]]],"meta":{"line":39,"file":"RateLimitError.js","path":"src/rest"}},{"name":"global","description":"Whether this rate limit is global","type":[[["boolean"]]],"meta":{"line":45,"file":"RateLimitError.js","path":"src/rest"}},{"name":"limit","description":"The maximum amount of requests of this endpoint","type":[[["number"]]],"meta":{"line":51,"file":"RateLimitError.js","path":"src/rest"}}],"meta":{"line":7,"file":"RateLimitError.js","path":"src/rest"}},{"name":"Shard","description":"A self-contained shard created by the {@link ShardingManager}. Each one has a {@link ChildProcess} that contains\nan instance of the bot and its {@link Client}. When its child process/worker exits for any reason, the shard will\nspawn a new one to replace it as necessary.","extends":[[["EventEmitter"]]],"props":[{"name":"manager","description":"Manager that created the shard","type":[[["ShardingManager"]]],"meta":{"line":30,"file":"Shard.js","path":"src/sharding"}},{"name":"id","description":"The shard's id in the manager","type":[[["number"]]],"meta":{"line":36,"file":"Shard.js","path":"src/sharding"}},{"name":"args","description":"Arguments for the shard's process (only when {@link ShardingManager#mode} is `process`)","type":[[["Array","<"],["string",">"]]],"meta":{"line":42,"file":"Shard.js","path":"src/sharding"}},{"name":"execArgv","description":"Arguments for the shard's process executable (only when {@link ShardingManager#mode} is `process`)","type":[[["Array","<"],["string",">"]]],"meta":{"line":48,"file":"Shard.js","path":"src/sharding"}},{"name":"env","description":"Environment variables for the shard's process, or workerData for the shard's worker","type":[[["Object"]]],"meta":{"line":54,"file":"Shard.js","path":"src/sharding"}},{"name":"ready","description":"Whether the shard's {@link Client} is ready","type":[[["boolean"]]],"meta":{"line":65,"file":"Shard.js","path":"src/sharding"}},{"name":"process","description":"Process of the shard (if {@link ShardingManager#mode} is `process`)","nullable":true,"type":[[["ChildProcess"]]],"meta":{"line":71,"file":"Shard.js","path":"src/sharding"}},{"name":"worker","description":"Worker of the shard (if {@link ShardingManager#mode} is `worker`)","nullable":true,"type":[[["Worker"]]],"meta":{"line":77,"file":"Shard.js","path":"src/sharding"}},{"name":"_evals","description":"Ongoing promises for calls to {@link Shard#eval}, mapped by the `script` they were called with","access":"private","type":[[["Map","<"],["string",", "],["Promise",">"]]],"meta":{"line":84,"file":"Shard.js","path":"src/sharding"}},{"name":"_fetches","description":"Ongoing promises for calls to {@link Shard#fetchClientValue}, mapped by the `prop` they were called with","access":"private","type":[[["Map","<"],["string",", "],["Promise",">"]]],"meta":{"line":91,"file":"Shard.js","path":"src/sharding"}},{"name":"_exitListener","description":"Listener function for the {@link ChildProcess}' `exit` event","access":"private","type":[[["function"]]],"meta":{"line":98,"file":"Shard.js","path":"src/sharding"}}],"methods":[{"name":"spawn","description":"Forks a child process or creates a worker thread for the shard.\nYou should not need to call this manually.","params":[{"name":"timeout","description":"The amount in milliseconds to wait until the {@link Client} has become ready\nbefore resolving (`-1` or `Infinity` for no wait)","optional":true,"default":30000,"type":[[["number"]]]}],"returns":[[["Promise","<"],["ChildProcess",">"]]],"meta":{"line":108,"file":"Shard.js","path":"src/sharding"}},{"name":"kill","description":"Immediately kills the shard's process/worker and does not restart it.","meta":{"line":179,"file":"Shard.js","path":"src/sharding"}},{"name":"respawn","description":"Kills and restarts the shard's process/worker.","params":[{"name":"options","description":"Options for respawning the shard","optional":true,"type":[[["ShardRespawnOptions"]]]}],"async":true,"returns":[[["Promise","<"],["ChildProcess",">"]]],"meta":{"line":205,"file":"Shard.js","path":"src/sharding"}},{"name":"send","description":"Sends a message to the shard's process/worker.","params":[{"name":"message","description":"Message to send to the shard","type":[["*"]]}],"returns":[[["Promise","<"],["Shard",">"]]],"meta":{"line":216,"file":"Shard.js","path":"src/sharding"}},{"name":"fetchClientValue","description":"Fetches a client property value of the shard.","examples":["shard.fetchClientValue('guilds.cache.size')\n .then(count => console.log(`${count} guilds in shard ${shard.id}`))\n .catch(console.error);"],"params":[{"name":"prop","description":"Name of the client property to get, using periods for nesting","type":[[["string"]]]}],"returns":[[["Promise","<"],["*",">"]]],"meta":{"line":239,"file":"Shard.js","path":"src/sharding"}},{"name":"eval","description":"Evaluates a script or function on the shard, in the context of the {@link Client}.","params":[{"name":"script","description":"JavaScript to run on the shard","type":[[["string"]],[["function"]]]},{"name":"context","description":"The context for the eval","optional":true,"type":[["*"]]}],"returns":{"types":[[["Promise","<"],["*",">"]]],"description":"Result of the script execution"},"meta":{"line":279,"file":"Shard.js","path":"src/sharding"}},{"name":"_handleMessage","description":"Handles a message received from the child process/worker.","access":"private","params":[{"name":"message","description":"Message received","type":[["*"]]}],"meta":{"line":321,"file":"Shard.js","path":"src/sharding"}},{"name":"_handleExit","description":"Handles the shard's process/worker exiting.","access":"private","params":[{"name":"respawn","description":"Whether to spawn the shard again","optional":true,"default":"this.manager.respawn","type":[[["boolean"]]]},{"name":"timeout","description":"The amount in milliseconds to wait until the {@link Client}\nhas become ready (`-1` or `Infinity` for no wait)","optional":true,"type":[[["number"]]]}],"meta":{"line":401,"file":"Shard.js","path":"src/sharding"}},{"name":"incrementMaxListeners","description":"Increments max listeners by one for a given emitter, if they are not zero.","access":"private","params":[{"name":"emitter","description":"The emitter that emits the events.","type":[[["EventEmitter"]],[["process"]]]}],"meta":{"line":423,"file":"Shard.js","path":"src/sharding"}},{"name":"decrementMaxListeners","description":"Decrements max listeners by one for a given emitter, if they are not zero.","access":"private","params":[{"name":"emitter","description":"The emitter that emits the events.","type":[[["EventEmitter"]],[["process"]]]}],"meta":{"line":435,"file":"Shard.js","path":"src/sharding"}}],"events":[{"name":"spawn","description":"Emitted upon the creation of the shard's child process/worker.","params":[{"name":"process","description":"Child process/worker that was created","type":[[["ChildProcess"]],[["Worker"]]]}],"meta":{"line":133,"file":"Shard.js","path":"src/sharding"}},{"name":"ready","description":"Emitted upon the shard's {@link Client#event:shardReady} event.","meta":{"line":326,"file":"Shard.js","path":"src/sharding"}},{"name":"disconnect","description":"Emitted upon the shard's {@link Client#event:shardDisconnect} event.","meta":{"line":337,"file":"Shard.js","path":"src/sharding"}},{"name":"reconnecting","description":"Emitted upon the shard's {@link Client#event:shardReconnecting} event.","meta":{"line":348,"file":"Shard.js","path":"src/sharding"}},{"name":"message","description":"Emitted upon receiving a message from the child process/worker.","params":[{"name":"message","description":"Message that was received","type":[["*"]]}],"meta":{"line":386,"file":"Shard.js","path":"src/sharding"}},{"name":"death","description":"Emitted upon the shard's child process/worker exiting.","params":[{"name":"process","description":"Child process/worker that exited","type":[[["ChildProcess"]],[["Worker"]]]}],"meta":{"line":402,"file":"Shard.js","path":"src/sharding"}}],"meta":{"line":19,"file":"Shard.js","path":"src/sharding"}},{"name":"ShardClientUtil","description":"Helper class for sharded clients spawned as a child process/worker, such as from a {@link ShardingManager}.\nUtilises IPC to send and receive data to/from the master process and other shards.","props":[{"name":"client","description":"Client for the shard","type":[[["Client"]]],"meta":{"line":18,"file":"ShardClientUtil.js","path":"src/sharding"}},{"name":"mode","description":"Mode the shard was spawned with","type":[[["ShardingManagerMode"]]],"meta":{"line":24,"file":"ShardClientUtil.js","path":"src/sharding"}},{"name":"parentPort","description":"Message port for the master process (only when {@link ShardClientUtil#mode} is `worker`)","nullable":true,"type":[[["MessagePort"]]],"meta":{"line":30,"file":"ShardClientUtil.js","path":"src/sharding"}},{"name":"ids","description":"Array of shard ids of this client","readonly":true,"type":[[["Array","<"],["number",">"]]],"meta":{"line":63,"file":"ShardClientUtil.js","path":"src/sharding"}},{"name":"count","description":"Total number of shards","readonly":true,"type":[[["number"]]],"meta":{"line":72,"file":"ShardClientUtil.js","path":"src/sharding"}}],"methods":[{"name":"send","description":"Sends a message to the master process.","emits":["Shard#event:message"],"params":[{"name":"message","description":"Message to send","type":[["*"]]}],"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":82,"file":"ShardClientUtil.js","path":"src/sharding"}},{"name":"fetchClientValues","description":"Fetches a client property value of each shard, or a given shard.","see":["{@link ShardingManager#fetchClientValues}"],"examples":["client.shard.fetchClientValues('guilds.cache.size')\n .then(results => console.log(`${results.reduce((prev, val) => prev + val, 0)} total guilds`))\n .catch(console.error);"],"params":[{"name":"prop","description":"Name of the client property to get, using periods for nesting","type":[[["string"]]]},{"name":"shard","description":"Shard to fetch property from, all if undefined","optional":true,"type":[[["number"]]]}],"returns":[[["Promise","<("],["*","|"],["Array","<"],["*",">)>"]]],"meta":{"line":107,"file":"ShardClientUtil.js","path":"src/sharding"}},{"name":"broadcastEval","description":"Evaluates a script or function on all shards, or a given shard, in the context of the {@link Client}s.","see":["{@link ShardingManager#broadcastEval}"],"examples":["client.shard.broadcastEval(client => client.guilds.cache.size)\n .then(results => console.log(`${results.reduce((prev, val) => prev + val, 0)} total guilds`))\n .catch(console.error);"],"params":[{"name":"script","description":"JavaScript to run on each shard","type":[[["function"]]]},{"name":"options","description":"The options for the broadcast","optional":true,"default":"{}","type":[[["BroadcastEvalOptions"]]]}],"returns":{"types":[[["Promise","<("],["*","|"],["Array","<"],["*",">)>"]]],"description":"Results of the script execution"},"meta":{"line":140,"file":"ShardClientUtil.js","path":"src/sharding"}},{"name":"respawnAll","description":"Requests a respawn of all shards.","see":["{@link ShardingManager#respawnAll}"],"params":[{"name":"options","description":"Options for respawning shards","optional":true,"type":[[["MultipleShardRespawnOptions"]]]}],"returns":{"types":[[["Promise","<"],["void",">"]]],"description":"Resolves upon the message being sent"},"meta":{"line":172,"file":"ShardClientUtil.js","path":"src/sharding"}},{"name":"_handleMessage","description":"Handles an IPC message.","access":"private","params":[{"name":"message","description":"Message received","type":[["*"]]}],"async":true,"meta":{"line":181,"file":"ShardClientUtil.js","path":"src/sharding"}},{"name":"_respond","description":"Sends a message to the master process, emitting an error from the client upon failure.","access":"private","params":[{"name":"type","description":"Type of response to send","type":[[["string"]]]},{"name":"message","description":"Message to send","type":[["*"]]}],"meta":{"line":207,"file":"ShardClientUtil.js","path":"src/sharding"}},{"name":"incrementMaxListeners","description":"Increments max listeners by one for a given emitter, if they are not zero.","access":"private","params":[{"name":"emitter","description":"The emitter that emits the events.","type":[[["EventEmitter"]],[["process"]]]}],"meta":{"line":255,"file":"ShardClientUtil.js","path":"src/sharding"}},{"name":"decrementMaxListeners","description":"Decrements max listeners by one for a given emitter, if they are not zero.","access":"private","params":[{"name":"emitter","description":"The emitter that emits the events.","type":[[["EventEmitter"]],[["process"]]]}],"meta":{"line":267,"file":"ShardClientUtil.js","path":"src/sharding"}},{"name":"singleton","description":"Creates/gets the singleton of this class.","scope":"static","params":[{"name":"client","description":"The client to use","type":[[["Client"]]]},{"name":"mode","description":"Mode the shard was spawned with","type":[[["ShardingManagerMode"]]]}],"returns":[[["ShardClientUtil"]]],"meta":{"line":226,"file":"ShardClientUtil.js","path":"src/sharding"}},{"name":"shardIdForGuildId","description":"Get the shard id for a given guild id.","scope":"static","params":[{"name":"guildId","description":"Snowflake guild id to get shard id for","type":[[["Snowflake"]]]},{"name":"shardCount","description":"Number of shards","type":[[["number"]]]}],"returns":[[["number"]]],"meta":{"line":244,"file":"ShardClientUtil.js","path":"src/sharding"}}],"meta":{"line":12,"file":"ShardClientUtil.js","path":"src/sharding"}},{"name":"ShardingManager","description":"This is a utility class that makes multi-process sharding of a bot an easy and painless experience.\nIt works by spawning a self-contained {@link ChildProcess} or {@link Worker} for each individual shard, each\ncontaining its own instance of your bot's {@link Client}. They all have a line of communication with the master\nprocess, and there are several useful methods that utilise it in order to simplify tasks that are normally difficult\nwith sharding. It can spawn a specific number of shards or the amount that Discord suggests for the bot, and takes a\npath to your main bot script to launch for each one.","extends":[[["EventEmitter"]]],"construct":{"name":"ShardingManager","params":[{"name":"file","description":"Path to your shard script file","type":[[["string"]]]},{"name":"options","description":"Options for the sharding manager","optional":true,"type":[[["ShardingManagerOptions"]]]}]},"props":[{"name":"file","description":"Path to the shard script file","type":[[["string"]]],"meta":{"line":66,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"shardList","description":"List of shards this sharding manager spawns","type":[[["string"]],[["Array","<"],["number",">"]]],"meta":{"line":76,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"totalShards","description":"Amount of shards that all sharding managers spawn in total","type":[[["number"]]],"meta":{"line":96,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"mode","description":"Mode for shards to spawn with","type":[[["ShardingManagerMode"]]],"meta":{"line":111,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"respawn","description":"Whether shards should automatically respawn upon exiting","type":[[["boolean"]]],"meta":{"line":120,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"shardArgs","description":"An array of arguments to pass to shards (only when {@link ShardingManager#mode} is `process`)","type":[[["Array","<"],["string",">"]]],"meta":{"line":126,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"execArgv","description":"An array of arguments to pass to the executable (only when {@link ShardingManager#mode} is `process`)","type":[[["Array","<"],["string",">"]]],"meta":{"line":132,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"token","description":"Token to use for obtaining the automatic shard count, and passing to shards","nullable":true,"type":[[["string"]]],"meta":{"line":138,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"shards","description":"A collection of shards that this manager has spawned","type":[[["Collection","<"],["number",", "],["Shard",">"]]],"meta":{"line":144,"file":"ShardingManager.js","path":"src/sharding"}}],"methods":[{"name":"createShard","description":"Creates a single shard.\nUsing this method is usually not necessary if you use the spawn method.","params":[{"name":"id","description":"Id of the shard to create\nThis is usually not necessary to manually specify.","optional":true,"default":"this.shards.size","type":[[["number"]]]}],"returns":{"types":[[["Shard"]]],"description":"Note that the created shard needs to be explicitly spawned using its spawn method."},"meta":{"line":158,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"spawn","description":"Spawns multiple shards.","params":[{"name":"options","description":"Options for spawning shards","optional":true,"type":[[["MultipleShardSpawnOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Collection","<"],["number",", "],["Shard",">>"]]],"meta":{"line":183,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"broadcast","description":"Sends a message to all shards.","params":[{"name":"message","description":"Message to be sent to the shards","type":[["*"]]}],"returns":[[["Promise","<"],["Array","<"],["Shard",">>"]]],"meta":{"line":231,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"broadcastEval","description":"Evaluates a script on all shards, or a given shard, in the context of the {@link Client}s.","params":[{"name":"script","description":"JavaScript to run on each shard","type":[[["function"]]]},{"name":"options","description":"The options for the broadcast","optional":true,"default":"{}","type":[[["BroadcastEvalOptions"]]]}],"returns":{"types":[[["Promise","<("],["*","|"],["Array","<"],["*",">)>"]]],"description":"Results of the script execution"},"meta":{"line":250,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"fetchClientValues","description":"Fetches a client property value of each shard, or a given shard.","examples":["manager.fetchClientValues('guilds.cache.size')\n .then(results => console.log(`${results.reduce((prev, val) => prev + val, 0)} total guilds`))\n .catch(console.error);"],"params":[{"name":"prop","description":"Name of the client property to get, using periods for nesting","type":[[["string"]]]},{"name":"shard","description":"Shard to fetch property from, all if undefined","optional":true,"type":[[["number"]]]}],"returns":[[["Promise","<("],["*","|"],["Array","<"],["*",">)>"]]],"meta":{"line":265,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"_performOnShards","description":"Runs a method with given arguments on all shards, or a given shard.","access":"private","params":[{"name":"method","description":"Method name to run on each shard","type":[[["string"]]]},{"name":"args","description":"Arguments to pass through to the method call","type":[[["Array","<"],["*",">"]]]},{"name":"shard","description":"Shard to run on, all if undefined","optional":true,"type":[[["number"]]]}],"returns":{"types":[[["Promise","<("],["*","|"],["Array","<"],["*",">)>"]]],"description":"Results of the method execution"},"meta":{"line":277,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"respawnAll","description":"Kills all running shards and respawns them.","params":[{"name":"options","description":"Options for respawning shards","optional":true,"type":[[["MultipleShardRespawnOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Collection","<"],["number",", "],["Shard",">>"]]],"meta":{"line":307,"file":"ShardingManager.js","path":"src/sharding"}}],"events":[{"name":"shardCreate","description":"Emitted upon creating a shard.","params":[{"name":"shard","description":"Shard that was created","type":[[["Shard"]]]}],"meta":{"line":161,"file":"ShardingManager.js","path":"src/sharding"}}],"meta":{"line":22,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"AnonymousGuild","description":"Bundles common attributes and methods between {@link Guild} and {@link InviteGuild}","extends":[[["BaseGuild"]]],"abstract":true,"props":[{"name":"splash","description":"The hash of the guild invite splash image","nullable":true,"type":[[["string"]]],"meta":{"line":25,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"banner","description":"The hash of the guild banner","nullable":true,"type":[[["string"]]],"meta":{"line":33,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"description","description":"The description of the guild, if any","nullable":true,"type":[[["string"]]],"meta":{"line":41,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"verificationLevel","description":"The verification level of the guild","type":[[["VerificationLevel"]]],"meta":{"line":49,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"vanityURLCode","description":"The vanity invite code of the guild, if any","nullable":true,"type":[[["string"]]],"meta":{"line":57,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"nsfwLevel","description":"The NSFW level of this guild","type":[[["NSFWLevel"]]],"meta":{"line":65,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"premiumSubscriptionCount","description":"The total number of boosts for this server","nullable":true,"type":[[["number"]]],"meta":{"line":73,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"id","description":"The guild's id","type":[[["Snowflake"]]],"meta":{"line":19,"file":"BaseGuild.js","path":"src/structures"}},{"name":"name","description":"The name of this guild","type":[[["string"]]],"meta":{"line":25,"file":"BaseGuild.js","path":"src/structures"}},{"name":"icon","description":"The icon hash of this guild","nullable":true,"type":[[["string"]]],"meta":{"line":31,"file":"BaseGuild.js","path":"src/structures"}},{"name":"features","description":"An array of features available to this guild","type":[[["Array","<"],["Features",">"]]],"meta":{"line":37,"file":"BaseGuild.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp this guild was created at","readonly":true,"type":[[["number"]]],"meta":{"line":45,"file":"BaseGuild.js","path":"src/structures"}},{"name":"createdAt","description":"The time this guild was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":54,"file":"BaseGuild.js","path":"src/structures"}},{"name":"nameAcronym","description":"The acronym that shows up in place of a guild icon","readonly":true,"type":[[["string"]]],"meta":{"line":63,"file":"BaseGuild.js","path":"src/structures"}},{"name":"partnered","description":"Whether this guild is partnered","readonly":true,"type":[[["boolean"]]],"meta":{"line":75,"file":"BaseGuild.js","path":"src/structures"}},{"name":"verified","description":"Whether this guild is verified","readonly":true,"type":[[["boolean"]]],"meta":{"line":84,"file":"BaseGuild.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"bannerURL","description":"The URL to this guild's banner.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":84,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"splashURL","description":"The URL to this guild's invite splash image.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":93,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"iconURL","description":"The URL to this guild's icon.","inherits":"BaseGuild#iconURL","inherited":true,"params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["ImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":93,"file":"BaseGuild.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this guild.","inherits":"BaseGuild#fetch","inherited":true,"async":true,"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":102,"file":"BaseGuild.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the guild's name instead of the Guild object.","inherits":"BaseGuild#toString","inherited":true,"returns":[[["string"]]],"meta":{"line":111,"file":"BaseGuild.js","path":"src/structures"}}],"meta":{"line":11,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"ApplicationCommand","description":"Represents an application command.","extends":[[["Base"]]],"props":[{"name":"id","description":"The command's id","type":[[["Snowflake"]]],"meta":{"line":21,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"applicationId","description":"The parent application's id","type":[[["Snowflake"]]],"meta":{"line":27,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"guild","description":"The guild this command is part of","nullable":true,"type":[[["Guild"]]],"meta":{"line":33,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"guildId","description":"The guild's id this command is part of, this may be non-null when `guild` is `null` if the command\nwas fetched from the `ApplicationCommandManager`","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":40,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"permissions","description":"The manager for permissions of this command on its guild or arbitrary guilds when the command is global","type":[[["ApplicationCommandPermissionsManager"]]],"meta":{"line":46,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"type","description":"The type of this application command","type":[[["ApplicationCommandType"]]],"meta":{"line":52,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"name","description":"The name of this command","type":[[["string"]]],"meta":{"line":63,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"nameLocalizations","description":"The name localizations for this command","nullable":true,"type":[[["Object","<"],["Locale",", "],["string",">"]]],"meta":{"line":71,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"nameLocalized","description":"The localized name for this command","nullable":true,"type":[[["string"]]],"meta":{"line":81,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"description","description":"The description of this command","type":[[["string"]]],"meta":{"line":91,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"descriptionLocalizations","description":"The description localizations for this command","nullable":true,"type":[[["Object","<"],["Locale",", "],["string",">"]]],"meta":{"line":99,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"descriptionLocalized","description":"The localized description for this command","nullable":true,"type":[[["string"]]],"meta":{"line":109,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"options","description":"The options of this command","type":[[["Array","<"],["ApplicationCommandOption",">"]]],"meta":{"line":119,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"defaultPermission","description":"Whether the command is enabled by default when the app is added to a guild","deprecated":"Use {@link ApplicationCommand.defaultMemberPermissions} and {@link ApplicationCommand.dmPermission} instead.","type":[[["boolean"]]],"meta":{"line":131,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"defaultMemberPermissions","description":"The default bitfield used to determine whether this command be used in a guild","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":140,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"dmPermission","description":"Whether the command can be used in DMs\nThis property is always `null` on guild commands","nullable":true,"type":[[["boolean"]]],"meta":{"line":153,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"version","description":"Autoincrementing version identifier updated during substantial record changes","type":[[["Snowflake"]]],"meta":{"line":163,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the command was created at","readonly":true,"type":[[["number"]]],"meta":{"line":172,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"createdAt","description":"The time the command was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":181,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"manager","description":"The manager that this command belongs to","readonly":true,"type":[[["ApplicationCommandManager"]]],"meta":{"line":190,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"edit","description":"Edits this application command.","examples":["// Edit the description of this command\ncommand.edit({\n description: 'New description',\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"data","description":"The data to update the command with","type":[[["Partial","<"],["ApplicationCommandData",">"]]]}],"returns":[[["Promise","<"],["ApplicationCommand",">"]]],"meta":{"line":254,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"setName","description":"Edits the name of this ApplicationCommand","params":[{"name":"name","description":"The new name of the command","type":[[["string"]]]}],"returns":[[["Promise","<"],["ApplicationCommand",">"]]],"meta":{"line":263,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"setNameLocalizations","description":"Edits the localized names of this ApplicationCommand","examples":["// Edit the name localizations of this command\ncommand.setLocalizedNames({\n 'en-GB': 'test',\n 'pt-BR': 'teste',\n})\n .then(console.log)\n .catch(console.error)"],"params":[{"name":"nameLocalizations","description":"The new localized names for the command","type":[[["Object","<"],["Locale",", "],["string",">"]]]}],"returns":[[["Promise","<"],["ApplicationCommand",">"]]],"meta":{"line":280,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"setDescription","description":"Edits the description of this ApplicationCommand","params":[{"name":"description","description":"The new description of the command","type":[[["string"]]]}],"returns":[[["Promise","<"],["ApplicationCommand",">"]]],"meta":{"line":289,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"setDescriptionLocalizations","description":"Edits the localized descriptions of this ApplicationCommand","examples":["// Edit the description localizations of this command\ncommand.setLocalizedDescriptions({\n 'en-GB': 'A test command',\n 'pt-BR': 'Um comando de teste',\n})\n .then(console.log)\n .catch(console.error)"],"params":[{"name":"descriptionLocalizations","description":"The new localized descriptions for the command","type":[[["Object","<"],["Locale",", "],["string",">"]]]}],"returns":[[["Promise","<"],["ApplicationCommand",">"]]],"meta":{"line":306,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"setDefaultPermission","description":"Edits the default permission of this ApplicationCommand","deprecated":"Use {@link ApplicationCommand#setDefaultMemberPermissions} and {@link ApplicationCommand#setDMPermission} instead.","params":[{"name":"defaultPermission","description":"The default permission for this command","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["ApplicationCommand",">"]]],"meta":{"line":317,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"setDefaultMemberPermissions","description":"Edits the default member permissions of this ApplicationCommand","params":[{"name":"defaultMemberPermissions","description":"The default member permissions required to run this command","nullable":true,"type":[[["PermissionResolvable"]]]}],"returns":[[["Promise","<"],["ApplicationCommand",">"]]],"meta":{"line":327,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"setDMPermission","description":"Edits the DM permission of this ApplicationCommand","params":[{"name":"dmPermission","description":"Whether the command can be used in DMs","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["ApplicationCommand",">"]]],"meta":{"line":336,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"setOptions","description":"Edits the options of this ApplicationCommand","params":[{"name":"options","description":"The options to set for this command","type":[[["Array","<"],["ApplicationCommandOptionData",">"]]]}],"returns":[[["Promise","<"],["ApplicationCommand",">"]]],"meta":{"line":345,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"delete","description":"Deletes this command.","examples":["// Delete this command\ncommand.delete()\n .then(console.log)\n .catch(console.error);"],"returns":[[["Promise","<"],["ApplicationCommand",">"]]],"meta":{"line":358,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"equals","description":"Whether this command equals another command. It compares all properties, so for most operations\nit is advisable to just compare `command.id === command2.id` as it is much faster and is often\nwhat most users need.","params":[{"name":"command","description":"The command to compare with","type":[[["ApplicationCommand"]],[["ApplicationCommandData"]],[["APIApplicationCommand"]]]},{"name":"enforceOptionOrder","description":"Whether to strictly check that options and choices are in the same\norder in the array The client may not always respect this ordering!","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":[[["boolean"]]],"meta":{"line":371,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"optionsEqual","description":"Recursively checks that all options for an {@link ApplicationCommand} are equal to the provided options.\nIn most cases it is better to compare using {@link ApplicationCommand#equals}","scope":"static","params":[{"name":"existing","description":"The options on the existing command,\nshould be {@link ApplicationCommand#options}","type":[[["Array","<"],["ApplicationCommandOptionData",">"]]]},{"name":"options","description":"The options to compare against","type":[[["Array","<"],["ApplicationCommandOptionData",">"]],[["Array","<"],["APIApplicationCommandOption",">"]]]},{"name":"enforceOptionOrder","description":"Whether to strictly check that options and choices are in the same\norder in the array The client may not always respect this ordering!","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":[[["boolean"]]],"meta":{"line":423,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"_optionEquals","description":"Checks that an option for an {@link ApplicationCommand} is equal to the provided option\nIn most cases it is better to compare using {@link ApplicationCommand#equals}","scope":"static","access":"private","params":[{"name":"existing","description":"The option on the existing command,\nshould be from {@link ApplicationCommand#options}","type":[[["ApplicationCommandOptionData"]]]},{"name":"option","description":"The option to compare against","type":[[["ApplicationCommandOptionData"]],[["APIApplicationCommandOption"]]]},{"name":"enforceOptionOrder","description":"Whether to strictly check that options or choices are in the same\norder in their array The client may not always respect this ordering!","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":[[["boolean"]]],"meta":{"line":447,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"transformOption","description":"Transforms an {@link ApplicationCommandOptionData} object into something that can be used with the API.","scope":"static","access":"private","params":[{"name":"option","description":"The option to transform","type":[[["ApplicationCommandOptionData"]],[["ApplicationCommandOption"]]]},{"name":"received","description":"Whether this option has been received from Discord","optional":true,"type":[[["boolean"]]]}],"returns":[[["APIApplicationCommandOption"]]],"meta":{"line":540,"file":"ApplicationCommand.js","path":"src/structures"}}],"meta":{"line":13,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"ApplicationRoleConnectionMetadata","description":"Role connection metadata object for an application.","props":[{"name":"name","description":"The name of this metadata field","type":[[["string"]]],"meta":{"line":14,"file":"ApplicationRoleConnectionMetadata.js","path":"src/structures"}},{"name":"nameLocalizations","description":"The name localizations for this metadata field","nullable":true,"type":[[["Object","<"],["Locale",", "],["string",">"]]],"meta":{"line":20,"file":"ApplicationRoleConnectionMetadata.js","path":"src/structures"}},{"name":"description","description":"The description of this metadata field","type":[[["string"]]],"meta":{"line":26,"file":"ApplicationRoleConnectionMetadata.js","path":"src/structures"}},{"name":"descriptionLocalizations","description":"The description localizations for this metadata field","nullable":true,"type":[[["Object","<"],["Locale",", "],["string",">"]]],"meta":{"line":32,"file":"ApplicationRoleConnectionMetadata.js","path":"src/structures"}},{"name":"key","description":"The dictionary key for this metadata field","type":[[["string"]]],"meta":{"line":38,"file":"ApplicationRoleConnectionMetadata.js","path":"src/structures"}},{"name":"type","description":"The type of this metadata field","type":[[["ApplicationRoleConnectionMetadataType"]]],"meta":{"line":44,"file":"ApplicationRoleConnectionMetadata.js","path":"src/structures"}}],"meta":{"line":8,"file":"ApplicationRoleConnectionMetadata.js","path":"src/structures"}},{"name":"AutocompleteInteraction","description":"Represents an autocomplete interaction.","extends":[[["Interaction"]]],"props":[{"name":"channelId","description":"The id of the channel this interaction was sent in","type":[[["Snowflake"]]],"meta":{"line":16,"file":"AutocompleteInteraction.js","path":"src/structures"}},{"name":"commandId","description":"The invoked application command's id","type":[[["Snowflake"]]],"meta":{"line":26,"file":"AutocompleteInteraction.js","path":"src/structures"}},{"name":"commandName","description":"The invoked application command's name","type":[[["string"]]],"meta":{"line":32,"file":"AutocompleteInteraction.js","path":"src/structures"}},{"name":"responded","description":"Whether this interaction has already received a response","type":[[["boolean"]]],"meta":{"line":38,"file":"AutocompleteInteraction.js","path":"src/structures"}},{"name":"options","description":"The options passed to the command","type":[[["CommandInteractionOptionResolver"]]],"meta":{"line":44,"file":"AutocompleteInteraction.js","path":"src/structures"}},{"name":"command","description":"The invoked application command, if it was fetched before","nullable":true,"type":[[["ApplicationCommand"]]],"meta":{"line":54,"file":"AutocompleteInteraction.js","path":"src/structures"}},{"name":"type","description":"The interaction's type","type":[[["InteractionType"]]],"meta":{"line":20,"file":"Interaction.js","path":"src/structures"}},{"name":"id","description":"The interaction's id","type":[[["Snowflake"]]],"meta":{"line":26,"file":"Interaction.js","path":"src/structures"}},{"name":"token","description":"The interaction's token","readonly":true,"type":[[["string"]]],"meta":{"line":28,"file":"Interaction.js","path":"src/structures"}},{"name":"applicationId","description":"The application's id","type":[[["Snowflake"]]],"meta":{"line":40,"file":"Interaction.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild this interaction was sent in","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":52,"file":"Interaction.js","path":"src/structures"}},{"name":"user","description":"The user which sent this interaction","type":[[["User"]]],"meta":{"line":58,"file":"Interaction.js","path":"src/structures"}},{"name":"member","description":"If this interaction was sent in a guild, the member which sent it","nullable":true,"type":[[["GuildMember"]],[["APIGuildMember"]]],"meta":{"line":64,"file":"Interaction.js","path":"src/structures"}},{"name":"version","description":"The version","type":[[["number"]]],"meta":{"line":70,"file":"Interaction.js","path":"src/structures"}},{"name":"appPermissions","description":"Set of permissions the application or bot has within the channel the interaction was sent from","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":76,"file":"Interaction.js","path":"src/structures"}},{"name":"memberPermissions","description":"The permissions of the member, if one exists, in the channel this interaction was executed in","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":82,"file":"Interaction.js","path":"src/structures"}},{"name":"locale","description":"The locale of the user who invoked this interaction","type":[[["Locale"]]],"meta":{"line":124,"file":"Interaction.js","path":"src/structures"}},{"name":"guildLocale","description":"The preferred locale from the guild this interaction was sent in","nullable":true,"type":[[["Locale"]]],"meta":{"line":130,"file":"Interaction.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the interaction was created at","readonly":true,"type":[[["number"]]],"meta":{"line":138,"file":"Interaction.js","path":"src/structures"}},{"name":"createdAt","description":"The time the interaction was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":147,"file":"Interaction.js","path":"src/structures"}},{"name":"channel","description":"The channel this interaction was sent in","readonly":true,"nullable":true,"type":[[["TextBasedChannels"]]],"meta":{"line":156,"file":"Interaction.js","path":"src/structures"}},{"name":"guild","description":"The guild this interaction was sent in","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":165,"file":"Interaction.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"transformOption","description":"Transforms an option received from the API.","access":"private","params":[{"name":"option","description":"The received option","type":[[["APIApplicationCommandOption"]]]}],"returns":[[["CommandInteractionOption"]]],"meta":{"line":65,"file":"AutocompleteInteraction.js","path":"src/structures"}},{"name":"respond","description":"Sends results for the autocomplete of this interaction.","examples":["// respond to autocomplete interaction\ninteraction.respond([\n {\n name: 'Option 1',\n value: 'option1',\n },\n])\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the autocomplete","type":[[["Array","<"],["ApplicationCommandOptionChoiceData",">"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":93,"file":"AutocompleteInteraction.js","path":"src/structures"}},{"name":"inGuild","description":"Indicates whether this interaction is received from a guild.","inherits":"Interaction#inGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":173,"file":"Interaction.js","path":"src/structures"}},{"name":"inCachedGuild","description":"Indicates whether or not this interaction is both cached and received from a guild.","inherits":"Interaction#inCachedGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":181,"file":"Interaction.js","path":"src/structures"}},{"name":"inRawGuild","description":"Indicates whether or not this interaction is received from an uncached guild.","inherits":"Interaction#inRawGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":189,"file":"Interaction.js","path":"src/structures"}},{"name":"isApplicationCommand","description":"Indicates whether this interaction is a {@link BaseCommandInteraction}.","inherits":"Interaction#isApplicationCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":197,"file":"Interaction.js","path":"src/structures"}},{"name":"isCommand","description":"Indicates whether this interaction is a {@link CommandInteraction}.","inherits":"Interaction#isCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":205,"file":"Interaction.js","path":"src/structures"}},{"name":"isContextMenu","description":"Indicates whether this interaction is a {@link ContextMenuInteraction}","inherits":"Interaction#isContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":213,"file":"Interaction.js","path":"src/structures"}},{"name":"isModalSubmit","description":"Indicates whether this interaction is a {@link ModalSubmitInteraction}","inherits":"Interaction#isModalSubmit","inherited":true,"returns":[[["boolean"]]],"meta":{"line":221,"file":"Interaction.js","path":"src/structures"}},{"name":"isUserContextMenu","description":"Indicates whether this interaction is a {@link UserContextMenuInteraction}","inherits":"Interaction#isUserContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":229,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageContextMenu","description":"Indicates whether this interaction is a {@link MessageContextMenuInteraction}","inherits":"Interaction#isMessageContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":237,"file":"Interaction.js","path":"src/structures"}},{"name":"isAutocomplete","description":"Indicates whether this interaction is an {@link AutocompleteInteraction}","inherits":"Interaction#isAutocomplete","inherited":true,"returns":[[["boolean"]]],"meta":{"line":245,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageComponent","description":"Indicates whether this interaction is a {@link MessageComponentInteraction}.","inherits":"Interaction#isMessageComponent","inherited":true,"returns":[[["boolean"]]],"meta":{"line":253,"file":"Interaction.js","path":"src/structures"}},{"name":"isButton","description":"Indicates whether this interaction is a {@link ButtonInteraction}.","inherits":"Interaction#isButton","inherited":true,"returns":[[["boolean"]]],"meta":{"line":261,"file":"Interaction.js","path":"src/structures"}},{"name":"isSelectMenu","description":"Indicates whether this interaction is a {@link SelectMenuInteraction}.","inherits":"Interaction#isSelectMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":272,"file":"Interaction.js","path":"src/structures"}},{"name":"isRepliable","description":"Indicates whether this interaction can be replied to.","inherits":"Interaction#isRepliable","inherited":true,"returns":[[["boolean"]]],"meta":{"line":283,"file":"Interaction.js","path":"src/structures"}}],"meta":{"line":12,"file":"AutocompleteInteraction.js","path":"src/structures"}},{"name":"AutoModerationActionExecution","description":"Represents the structure of an executed action when an {@link AutoModerationRule} is triggered.","props":[{"name":"guild","description":"The guild where this action was executed from.","type":[[["Guild"]]],"meta":{"line":14,"file":"AutoModerationActionExecution.js","path":"src/structures"}},{"name":"action","description":"The action that was executed.","type":[[["AutoModerationAction"]]],"meta":{"line":20,"file":"AutoModerationActionExecution.js","path":"src/structures"}},{"name":"ruleId","description":"The id of the auto moderation rule this action belongs to.","type":[[["Snowflake"]]],"meta":{"line":26,"file":"AutoModerationActionExecution.js","path":"src/structures"}},{"name":"ruleTriggerType","description":"The trigger type of the auto moderation rule which was triggered.","type":[[["AutoModerationRuleTriggerType"]]],"meta":{"line":32,"file":"AutoModerationActionExecution.js","path":"src/structures"}},{"name":"userId","description":"The id of the user that triggered this action.","type":[[["Snowflake"]]],"meta":{"line":38,"file":"AutoModerationActionExecution.js","path":"src/structures"}},{"name":"channelId","description":"The id of the channel where this action was triggered from.","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":44,"file":"AutoModerationActionExecution.js","path":"src/structures"}},{"name":"messageId","description":"The id of the message that triggered this action.","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":51,"file":"AutoModerationActionExecution.js","path":"src/structures"}},{"name":"alertSystemMessageId","description":"The id of any system auto moderation messages posted as a result of this action.","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":57,"file":"AutoModerationActionExecution.js","path":"src/structures"}},{"name":"content","description":"The content that triggered this action.\nThis property requires the {@link Intents.FLAGS.MESSAGE_CONTENT} privileged gateway intent.","type":[[["string"]]],"meta":{"line":64,"file":"AutoModerationActionExecution.js","path":"src/structures"}},{"name":"matchedKeyword","description":"The word or phrase configured in the rule that triggered this action.","nullable":true,"type":[[["string"]]],"meta":{"line":70,"file":"AutoModerationActionExecution.js","path":"src/structures"}},{"name":"matchedContent","description":"The substring in content that triggered this action.","nullable":true,"type":[[["string"]]],"meta":{"line":76,"file":"AutoModerationActionExecution.js","path":"src/structures"}},{"name":"autoModerationRule","description":"The auto moderation rule this action belongs to.","readonly":true,"nullable":true,"type":[[["AutoModerationRule"]]],"meta":{"line":84,"file":"AutoModerationActionExecution.js","path":"src/structures"}}],"meta":{"line":8,"file":"AutoModerationActionExecution.js","path":"src/structures"}},{"name":"AutoModerationRule","description":"Represents an auto moderation rule.","extends":[[["Base"]]],"props":[{"name":"id","description":"The id of this auto moderation rule.","type":[[["Snowflake"]]],"meta":{"line":24,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"guild","description":"The guild this auto moderation rule is for.","type":[[["Guild"]]],"meta":{"line":30,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"creatorId","description":"The user that created this auto moderation rule.","type":[[["Snowflake"]]],"meta":{"line":36,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"triggerType","description":"The trigger type of this auto moderation rule.","type":[[["AutoModerationRuleTriggerType"]]],"meta":{"line":42,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"name","description":"The name of this auto moderation rule.","type":[[["string"]]],"meta":{"line":53,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"eventType","description":"The event type of this auto moderation rule.","type":[[["AutoModerationRuleEventType"]]],"meta":{"line":61,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"triggerMetadata","description":"The trigger metadata of the rule.","type":[[["AutoModerationTriggerMetadata"]]],"meta":{"line":83,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"actions","description":"The actions of this auto moderation rule.","type":[[["Array","<"],["AutoModerationAction",">"]]],"meta":{"line":113,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"enabled","description":"Whether this auto moderation rule is enabled.","type":[[["boolean"]]],"meta":{"line":128,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"exemptRoles","description":"The roles exempt by this auto moderation rule.","type":[[["Collection","<"],["Snowflake",", "],["Role",">"]]],"meta":{"line":136,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"exemptChannels","description":"The channels exempt by this auto moderation rule.","type":[[["Collection","<"],["Snowflake",", ("],["GuildChannel","|"],["ThreadChannel",")>"]]],"meta":{"line":146,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"edit","description":"Edits this auto moderation rule.","params":[{"name":"options","description":"Options for editing this auto moderation rule","type":[[["AutoModerationRuleEditOptions"]]]}],"returns":[[["Promise","<"],["AutoModerationRule",">"]]],"meta":{"line":157,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"delete","description":"Deletes this auto moderation rule.","params":[{"name":"reason","description":"The reason for deleting this auto moderation rule","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":166,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"setName","description":"Sets the name for this auto moderation rule.","params":[{"name":"name","description":"The name of this auto moderation rule","type":[[["string"]]]},{"name":"reason","description":"The reason for changing the name of this auto moderation rule","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["AutoModerationRule",">"]]],"meta":{"line":176,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"setEventType","description":"Sets the event type for this auto moderation rule.","params":[{"name":"eventType","description":"The event type of this auto moderation rule","type":[[["AutoModerationRuleEventType"]]]},{"name":"reason","description":"The reason for changing the event type of this auto moderation rule","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["AutoModerationRule",">"]]],"meta":{"line":186,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"setKeywordFilter","description":"Sets the keyword filter for this auto moderation rule.","params":[{"name":"keywordFilter","description":"The keyword filter of this auto moderation rule","type":[[["Array","<"],["string",">"]]]},{"name":"reason","description":"The reason for changing the keyword filter of this auto moderation rule","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["AutoModerationRule",">"]]],"meta":{"line":196,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"setRegexPatterns","description":"Sets the regular expression patterns for this auto moderation rule.","params":[{"name":"regexPatterns","description":"The regular expression patterns of this auto moderation rule\nOnly Rust-flavored regular expressions are supported.","type":[[["Array","<"],["string",">"]]]},{"name":"reason","description":"The reason for changing the regular expression patterns of this auto moderation rule","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["AutoModerationRule",">"]]],"meta":{"line":207,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"setPresets","description":"Sets the presets for this auto moderation rule.","params":[{"name":"presets","description":"The presets of this auto moderation rule","type":[[["Array","<"],["AutoModerationRuleKeywordPresetType",">"]]]},{"name":"reason","description":"The reason for changing the presets of this auto moderation rule","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["AutoModerationRule",">"]]],"meta":{"line":217,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"setAllowList","description":"Sets the allow list for this auto moderation rule.","params":[{"name":"allowList","description":"The allow list of this auto moderation rule","type":[[["Array","<"],["string",">"]]]},{"name":"reason","description":"The reason for changing the allow list of this auto moderation rule","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["AutoModerationRule",">"]]],"meta":{"line":227,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"setMentionTotalLimit","description":"Sets the mention total limit for this auto moderation rule.","params":[{"name":"mentionTotalLimit","description":"The mention total limit of this auto moderation rule","type":[[["number"]]]},{"name":"reason","description":"The reason for changing the mention total limit of this auto moderation rule","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["AutoModerationRule",">"]]],"meta":{"line":237,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"setMentionRaidProtectionEnabled","description":"Sets whether to enable mention raid protection for this auto moderation rule.","params":[{"name":"mentionRaidProtectionEnabled","description":"Whether to enable mention raid protection for this auto moderation rule","type":[[["boolean"]]]},{"name":"reason","description":"The reason for changing the mention raid protection of this auto moderation rule","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["AutoModerationRule",">"]]],"meta":{"line":248,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"setActions","description":"Sets the actions for this auto moderation rule.","params":[{"name":"actions","description":"The actions of this auto moderation rule","type":[[["Array","<"],["AutoModerationActionOptions",">"]]]},{"name":"reason","description":"The reason for changing the actions of this auto moderation rule","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["AutoModerationRule",">"]]],"meta":{"line":258,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"setEnabled","description":"Sets whether this auto moderation rule should be enabled.","params":[{"name":"enabled","description":"Whether to enable this auto moderation rule","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"The reason for enabling or disabling this auto moderation rule","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["AutoModerationRule",">"]]],"meta":{"line":268,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"setExemptRoles","description":"Sets the exempt roles for this auto moderation rule.","params":[{"name":"exemptRoles","description":"The exempt roles of this auto moderation rule","optional":true,"type":[[["Collection","<"],["Snowflake",", "],["Role",">"]],[["Array","<"],["RoleResolvable",">"]]]},{"name":"reason","description":"The reason for changing the exempt roles of this auto moderation rule","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["AutoModerationRule",">"]]],"meta":{"line":278,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"setExemptChannels","description":"Sets the exempt channels for this auto moderation rule.","params":[{"name":"exemptChannels","description":"The exempt channels of this auto moderation rule","optional":true,"type":[[["Collection","<"],["Snowflake",", ("],["GuildChannel","|"],["ThreadChannel",")>"]],[["Array","<"],["GuildChannelResolvable",">"]]]},{"name":"reason","description":"The reason for changing the exempt channels of this auto moderation rule","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["AutoModerationRule",">"]]],"meta":{"line":289,"file":"AutoModerationRule.js","path":"src/structures"}}],"meta":{"line":16,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"Base","description":"Represents a data model that is identifiable by a Snowflake (i.e. Discord API data models).","abstract":true,"props":[{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"meta":{"line":9,"file":"Base.js","path":"src/structures"}},{"name":"BaseCommandInteraction","description":"Represents a command interaction.","extends":[[["Interaction"]]],"implements":[[["InteractionResponses"]]],"abstract":true,"props":[{"name":"channelId","description":"The id of the channel this interaction was sent in","type":[[["Snowflake"]]],"meta":{"line":20,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"commandId","description":"The invoked application command's id","type":[[["Snowflake"]]],"meta":{"line":30,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"commandName","description":"The invoked application command's name","type":[[["string"]]],"meta":{"line":36,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"deferred","description":"Whether the reply to this interaction has been deferred","type":[[["boolean"]]],"meta":{"line":42,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"replied","description":"Whether this interaction has already been replied to","type":[[["boolean"]]],"meta":{"line":48,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"ephemeral","description":"Whether the reply to this interaction is ephemeral","nullable":true,"type":[[["boolean"]]],"meta":{"line":54,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"webhook","description":"An associated interaction webhook, can be used to further interact with this interaction","type":[[["InteractionWebhook"]]],"meta":{"line":60,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"command","description":"The invoked application command, if it was fetched before","nullable":true,"type":[[["ApplicationCommand"]]],"meta":{"line":67,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"type","description":"The interaction's type","type":[[["InteractionType"]]],"meta":{"line":20,"file":"Interaction.js","path":"src/structures"}},{"name":"id","description":"The interaction's id","type":[[["Snowflake"]]],"meta":{"line":26,"file":"Interaction.js","path":"src/structures"}},{"name":"token","description":"The interaction's token","readonly":true,"type":[[["string"]]],"meta":{"line":28,"file":"Interaction.js","path":"src/structures"}},{"name":"applicationId","description":"The application's id","type":[[["Snowflake"]]],"meta":{"line":40,"file":"Interaction.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild this interaction was sent in","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":52,"file":"Interaction.js","path":"src/structures"}},{"name":"user","description":"The user which sent this interaction","type":[[["User"]]],"meta":{"line":58,"file":"Interaction.js","path":"src/structures"}},{"name":"member","description":"If this interaction was sent in a guild, the member which sent it","nullable":true,"type":[[["GuildMember"]],[["APIGuildMember"]]],"meta":{"line":64,"file":"Interaction.js","path":"src/structures"}},{"name":"version","description":"The version","type":[[["number"]]],"meta":{"line":70,"file":"Interaction.js","path":"src/structures"}},{"name":"appPermissions","description":"Set of permissions the application or bot has within the channel the interaction was sent from","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":76,"file":"Interaction.js","path":"src/structures"}},{"name":"memberPermissions","description":"The permissions of the member, if one exists, in the channel this interaction was executed in","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":82,"file":"Interaction.js","path":"src/structures"}},{"name":"locale","description":"The locale of the user who invoked this interaction","type":[[["Locale"]]],"meta":{"line":124,"file":"Interaction.js","path":"src/structures"}},{"name":"guildLocale","description":"The preferred locale from the guild this interaction was sent in","nullable":true,"type":[[["Locale"]]],"meta":{"line":130,"file":"Interaction.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the interaction was created at","readonly":true,"type":[[["number"]]],"meta":{"line":138,"file":"Interaction.js","path":"src/structures"}},{"name":"createdAt","description":"The time the interaction was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":147,"file":"Interaction.js","path":"src/structures"}},{"name":"channel","description":"The channel this interaction was sent in","readonly":true,"nullable":true,"type":[[["TextBasedChannels"]]],"meta":{"line":156,"file":"Interaction.js","path":"src/structures"}},{"name":"guild","description":"The guild this interaction was sent in","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":165,"file":"Interaction.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"transformResolved","description":"Transforms the resolved received from the API.","access":"private","params":[{"name":"resolved","description":"The received resolved objects","type":[[["APIInteractionDataResolved"]]]}],"returns":[[["CommandInteractionResolvedData"]]],"meta":{"line":89,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"transformOption","description":"Transforms an option received from the API.","access":"private","params":[{"name":"option","description":"The received option","type":[[["APIApplicationCommandOption"]]]},{"name":"resolved","description":"The resolved interaction data","type":[[["APIInteractionDataResolved"]]]}],"returns":[[["CommandInteractionOption"]]],"meta":{"line":162,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"deferReply","description":"Defers the reply to this interaction.","implements":["InteractionResponses#deferReply"],"examples":["// Defer the reply to this interaction\ninteraction.deferReply()\n .then(console.log)\n .catch(console.error)","// Defer to send an ephemeral reply later\ninteraction.deferReply({ ephemeral: true })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for deferring the reply to this interaction","optional":true,"type":[[["InteractionDeferReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":58,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"reply","description":"Creates a reply to this interaction.\nUse the `fetchReply` option to get the bot's reply message.","implements":["InteractionResponses#reply"],"examples":["// Reply to the interaction and fetch the response\ninteraction.reply({ content: 'Pong!', fetchReply: true })\n .then((message) => console.log(`Reply sent with content ${message.content}`))\n .catch(console.error);","// Create an ephemeral reply with an embed\nconst embed = new MessageEmbed().setDescription('Pong!');\n\ninteraction.reply({ embeds: [embed], ephemeral: true })\n .then(() => console.log('Reply sent.'))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":93,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"fetchReply","description":"Fetches a reply to this interaction.","see":["Webhook#fetchMessage"],"implements":["InteractionResponses#fetchReply"],"examples":["// Fetch the initial reply to this interaction\ninteraction.fetchReply()\n .then(reply => console.log(`Replied with ${reply.content}`))\n .catch(console.error);"],"params":[{"name":"message","description":"The response to fetch","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":127,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"editReply","description":"Edits a reply to this interaction.","see":["Webhook#editMessage"],"implements":["InteractionResponses#editReply"],"examples":["// Edit the initial reply to this interaction\ninteraction.editReply('New content')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The new options for the message","type":[[["string"]],[["MessagePayload"]],[["InteractionEditReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":148,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"deleteReply","description":"Deletes a reply to this interaction.","see":["Webhook#deleteMessage"],"implements":["InteractionResponses#deleteReply"],"examples":["// Delete the initial reply to this interaction\ninteraction.deleteReply()\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"message","description":"The response to delete","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":166,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"followUp","description":"Send a follow-up message to this interaction.","implements":["InteractionResponses#followUp"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":175,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"showModal","description":"Shows a modal component","implements":["InteractionResponses#showModal"],"params":[{"name":"modal","description":"The modal to show","type":[[["Modal"]],[["ModalOptions"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":243,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"awaitModalSubmit","description":"Collects a single modal submit interaction that passes the filter.\nThe Promise will reject if the time expires.","implements":["InteractionResponses#awaitModalSubmit"],"examples":["// Collect a modal submit interaction\nconst filter = (interaction) => interaction.customId === 'modal';\ninteraction.awaitModalSubmit({ filter, time: 15_000 })\n .then(interaction => console.log(`${interaction.customId} was submitted!`))\n .catch(console.error);"],"params":[{"name":"options","description":"Options to pass to the internal collector","type":[[["AwaitModalSubmitOptions"]]]}],"returns":[[["Promise","<"],["ModalSubmitInteraction",">"]]],"meta":{"line":275,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"inGuild","description":"Indicates whether this interaction is received from a guild.","inherits":"Interaction#inGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":173,"file":"Interaction.js","path":"src/structures"}},{"name":"inCachedGuild","description":"Indicates whether or not this interaction is both cached and received from a guild.","inherits":"Interaction#inCachedGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":181,"file":"Interaction.js","path":"src/structures"}},{"name":"inRawGuild","description":"Indicates whether or not this interaction is received from an uncached guild.","inherits":"Interaction#inRawGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":189,"file":"Interaction.js","path":"src/structures"}},{"name":"isApplicationCommand","description":"Indicates whether this interaction is a {@link BaseCommandInteraction}.","inherits":"Interaction#isApplicationCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":197,"file":"Interaction.js","path":"src/structures"}},{"name":"isCommand","description":"Indicates whether this interaction is a {@link CommandInteraction}.","inherits":"Interaction#isCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":205,"file":"Interaction.js","path":"src/structures"}},{"name":"isContextMenu","description":"Indicates whether this interaction is a {@link ContextMenuInteraction}","inherits":"Interaction#isContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":213,"file":"Interaction.js","path":"src/structures"}},{"name":"isModalSubmit","description":"Indicates whether this interaction is a {@link ModalSubmitInteraction}","inherits":"Interaction#isModalSubmit","inherited":true,"returns":[[["boolean"]]],"meta":{"line":221,"file":"Interaction.js","path":"src/structures"}},{"name":"isUserContextMenu","description":"Indicates whether this interaction is a {@link UserContextMenuInteraction}","inherits":"Interaction#isUserContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":229,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageContextMenu","description":"Indicates whether this interaction is a {@link MessageContextMenuInteraction}","inherits":"Interaction#isMessageContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":237,"file":"Interaction.js","path":"src/structures"}},{"name":"isAutocomplete","description":"Indicates whether this interaction is an {@link AutocompleteInteraction}","inherits":"Interaction#isAutocomplete","inherited":true,"returns":[[["boolean"]]],"meta":{"line":245,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageComponent","description":"Indicates whether this interaction is a {@link MessageComponentInteraction}.","inherits":"Interaction#isMessageComponent","inherited":true,"returns":[[["boolean"]]],"meta":{"line":253,"file":"Interaction.js","path":"src/structures"}},{"name":"isButton","description":"Indicates whether this interaction is a {@link ButtonInteraction}.","inherits":"Interaction#isButton","inherited":true,"returns":[[["boolean"]]],"meta":{"line":261,"file":"Interaction.js","path":"src/structures"}},{"name":"isSelectMenu","description":"Indicates whether this interaction is a {@link SelectMenuInteraction}.","inherits":"Interaction#isSelectMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":272,"file":"Interaction.js","path":"src/structures"}},{"name":"isRepliable","description":"Indicates whether this interaction can be replied to.","inherits":"Interaction#isRepliable","inherited":true,"returns":[[["boolean"]]],"meta":{"line":283,"file":"Interaction.js","path":"src/structures"}}],"meta":{"line":16,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"BaseGuild","description":"The base class for {@link Guild}, {@link OAuth2Guild} and {@link InviteGuild}.","extends":[[["Base"]]],"abstract":true,"props":[{"name":"id","description":"The guild's id","type":[[["Snowflake"]]],"meta":{"line":19,"file":"BaseGuild.js","path":"src/structures"}},{"name":"name","description":"The name of this guild","type":[[["string"]]],"meta":{"line":25,"file":"BaseGuild.js","path":"src/structures"}},{"name":"icon","description":"The icon hash of this guild","nullable":true,"type":[[["string"]]],"meta":{"line":31,"file":"BaseGuild.js","path":"src/structures"}},{"name":"features","description":"An array of features available to this guild","type":[[["Array","<"],["Features",">"]]],"meta":{"line":37,"file":"BaseGuild.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp this guild was created at","readonly":true,"type":[[["number"]]],"meta":{"line":45,"file":"BaseGuild.js","path":"src/structures"}},{"name":"createdAt","description":"The time this guild was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":54,"file":"BaseGuild.js","path":"src/structures"}},{"name":"nameAcronym","description":"The acronym that shows up in place of a guild icon","readonly":true,"type":[[["string"]]],"meta":{"line":63,"file":"BaseGuild.js","path":"src/structures"}},{"name":"partnered","description":"Whether this guild is partnered","readonly":true,"type":[[["boolean"]]],"meta":{"line":75,"file":"BaseGuild.js","path":"src/structures"}},{"name":"verified","description":"Whether this guild is verified","readonly":true,"type":[[["boolean"]]],"meta":{"line":84,"file":"BaseGuild.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"iconURL","description":"The URL to this guild's icon.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["ImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":93,"file":"BaseGuild.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this guild.","async":true,"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":102,"file":"BaseGuild.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the guild's name instead of the Guild object.","returns":[[["string"]]],"meta":{"line":111,"file":"BaseGuild.js","path":"src/structures"}}],"meta":{"line":11,"file":"BaseGuild.js","path":"src/structures"}},{"name":"BaseGuildEmoji","description":"Parent class for {@link GuildEmoji} and {@link GuildPreviewEmoji}.","extends":[[["Emoji"]]],"abstract":true,"props":[{"name":"guild","description":"The guild this emoji is a part of","type":[[["Guild"]],[["GuildPreview"]]],"meta":{"line":18,"file":"BaseGuildEmoji.js","path":"src/structures"}},{"name":"requiresColons","description":"Whether or not this emoji requires colons surrounding it","nullable":true,"type":[[["boolean"]]],"meta":{"line":35,"file":"BaseGuildEmoji.js","path":"src/structures"}},{"name":"managed","description":"Whether this emoji is managed by an external service","nullable":true,"type":[[["boolean"]]],"meta":{"line":43,"file":"BaseGuildEmoji.js","path":"src/structures"}},{"name":"available","description":"Whether this emoji is available","nullable":true,"type":[[["boolean"]]],"meta":{"line":51,"file":"BaseGuildEmoji.js","path":"src/structures"}},{"name":"animated","description":"Whether or not the emoji is animated","nullable":true,"type":[[["boolean"]]],"meta":{"line":34,"file":"Emoji.js","path":"src/structures"}},{"name":"name","description":"The emoji's name","nullable":true,"type":[[["string"]]],"meta":{"line":40,"file":"Emoji.js","path":"src/structures"}},{"name":"id","description":"The emoji's id","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":46,"file":"Emoji.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":54,"file":"Emoji.js","path":"src/structures"}},{"name":"identifier","description":"The identifier of this emoji, used for message reactions","readonly":true,"type":[[["string"]]],"meta":{"line":84,"file":"Emoji.js","path":"src/structures"}},{"name":"url","description":"The URL to the emoji file if it's a custom emoji","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":94,"file":"Emoji.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the emoji was created at, or null if unicode","readonly":true,"nullable":true,"type":[[["number"]]],"meta":{"line":103,"file":"Emoji.js","path":"src/structures"}},{"name":"createdAt","description":"The time the emoji was created at, or null if unicode","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":112,"file":"Emoji.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"toString","description":"When concatenated with a string, this automatically returns the text required to form a graphical emoji on Discord\ninstead of the Emoji object.","inherits":"Emoji#toString","inherited":true,"examples":["// Send a custom emoji from a guild:\nconst emoji = guild.emojis.cache.first();\nmsg.channel.send(`Hello! ${emoji}`);","// Send the emoji used in a reaction to the channel the reaction is part of\nreaction.message.channel.send(`The emoji used was: ${reaction.emoji}`);"],"returns":[[["string"]]],"meta":{"line":128,"file":"Emoji.js","path":"src/structures"}}],"meta":{"line":10,"file":"BaseGuildEmoji.js","path":"src/structures"}},{"name":"BaseGuildTextChannel","description":"Represents a text-based guild channel on Discord.","extends":[[["GuildChannel"]]],"implements":[[["TextBasedChannel"]]],"props":[{"name":"messages","description":"A manager of the messages sent to this channel","type":[[["MessageManager"]]],"meta":{"line":21,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"threads","description":"A manager of the threads belonging to this channel","type":[[["GuildTextThreadManager"]]],"meta":{"line":27,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"nsfw","description":"If the guild considers this channel NSFW","type":[[["boolean"]]],"meta":{"line":33,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"topic","description":"The topic of the text channel","nullable":true,"type":[[["string"]]],"meta":{"line":46,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"lastMessageId","description":"The last message id sent in the channel, if one was sent","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":58,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"lastPinTimestamp","description":"The timestamp when the last pinned message was pinned, if there was one","nullable":true,"type":[[["number"]]],"meta":{"line":66,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"defaultAutoArchiveDuration","description":"The default auto archive duration for newly created threads in this channel","nullable":true,"type":[[["number"]]],"meta":{"line":74,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"defaultThreadRateLimitPerUser","description":"The initial rate limit per user (slowmode) to set on newly created threads in a channel.","nullable":true,"type":[[["number"]]],"meta":{"line":82,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"lastMessage","description":"The Message object of the last message in the channel, if one was sent","readonly":true,"nullable":true,"type":[[["Message"]]],"meta":{"line":50,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"lastPinAt","description":"The date when the last pinned message was pinned, if there was one","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":59,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"guild","description":"The guild the channel is in","type":[[["Guild"]]],"meta":{"line":30,"file":"GuildChannel.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild the channel is in","type":[[["Snowflake"]]],"meta":{"line":36,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionOverwrites","description":"A manager of permission overwrites that belong to this channel","type":[[["PermissionOverwriteManager"]]],"meta":{"line":43,"file":"GuildChannel.js","path":"src/structures"}},{"name":"name","description":"The name of the guild channel","type":[[["string"]]],"meta":{"line":56,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rawPosition","description":"The raw position of the channel from Discord","type":[[["number"]]],"meta":{"line":64,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parentId","description":"The id of the category parent of this channel","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":76,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parent","description":"The category parent of this channel","readonly":true,"nullable":true,"type":[[["CategoryChannel"]]],"meta":{"line":98,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionsLocked","description":"If the permissionOverwrites match the parent channel, null if no parent","readonly":true,"nullable":true,"type":[[["boolean"]]],"meta":{"line":107,"file":"GuildChannel.js","path":"src/structures"}},{"name":"position","description":"The position of the channel","readonly":true,"type":[[["number"]]],"meta":{"line":148,"file":"GuildChannel.js","path":"src/structures"}},{"name":"members","description":"A collection of cached members of this channel, mapped by their ids.\nMembers that can view this channel, if the channel is text-based.\nMembers in the channel, if the channel is voice-based.","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]],"meta":{"line":274,"file":"GuildChannel.js","path":"src/structures"}},{"name":"deletable","description":"Whether the channel is deletable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":416,"file":"GuildChannel.js","path":"src/structures"}},{"name":"manageable","description":"Whether the channel is manageable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":425,"file":"GuildChannel.js","path":"src/structures"}},{"name":"viewable","description":"Whether the channel is viewable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":445,"file":"GuildChannel.js","path":"src/structures"}},{"name":"type","description":"The type of the channel","type":[[["ChannelType"]]],"meta":{"line":41,"file":"Channel.js","path":"src/structures"}},{"name":"id","description":"The channel's id","type":[[["Snowflake"]]],"meta":{"line":51,"file":"Channel.js","path":"src/structures"}},{"name":"flags","description":"The flags that are applied to the channel.","nullable":true,"type":[[["Readonly","<"],["ChannelFlags",">"]]],"meta":{"line":58,"file":"Channel.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the channel was created at","readonly":true,"type":[[["number"]]],"meta":{"line":69,"file":"Channel.js","path":"src/structures"}},{"name":"createdAt","description":"The time the channel was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":78,"file":"Channel.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":87,"file":"Channel.js","path":"src/structures"}},{"name":"partial","description":"Whether this Channel is a partial\nThis is always false outside of DM channels.","readonly":true,"type":[[["boolean"]]],"meta":{"line":118,"file":"Channel.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"setDefaultAutoArchiveDuration","description":"Sets the default auto archive duration for all newly created threads in this channel.","params":[{"name":"defaultAutoArchiveDuration","description":"The new default auto archive duration","type":[[["ThreadAutoArchiveDuration"]]]},{"name":"reason","description":"Reason for changing the channel's default auto archive duration","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["TextChannel",">"]]],"meta":{"line":98,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"setType","description":"Sets the type of this channel (only conversion between text and news is supported)","params":[{"name":"type","description":"The new channel type","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the channel's type","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":108,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"setTopic","description":"Sets a new topic for the guild channel.","examples":["// Set a new channel topic\nchannel.setTopic('needs more rate limiting')\n .then(newChannel => console.log(`Channel's new topic is ${newChannel.topic}`))\n .catch(console.error);"],"params":[{"name":"topic","description":"The new topic for the guild channel","nullable":true,"type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild channel's topic","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":123,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"createInvite","description":"Creates an invite to this guild channel.","examples":["// Create an invite to a channel\nchannel.createInvite()\n .then(invite => console.log(`Created an invite with a code of ${invite.code}`))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for creating the invite","optional":true,"default":"{}","type":[[["CreateInviteOptions"]]]}],"returns":[[["Promise","<"],["Invite",">"]]],"meta":{"line":161,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"fetchInvites","description":"Fetches a collection of invites to this guild channel.\nResolves with a collection mapping invites by their codes.","params":[{"name":"cache","description":"Whether or not to cache the fetched invites","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Collection","<"],["string",", "],["Invite",">>"]]],"meta":{"line":171,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"send","description":"Sends a message to this channel.","implements":["TextBasedChannel#send"],"examples":["// Send a basic message\nchannel.send('hello!')\n .then(message => console.log(`Sent message: ${message.content}`))\n .catch(console.error);","// Send a remote file\nchannel.send({\n files: ['https://cdn.discordapp.com/icons/222078108977594368/6e1019b3179d71046e463a75915e7244.png?size=2048']\n})\n .then(console.log)\n .catch(console.error);","// Send a local file\nchannel.send({\n files: [{\n attachment: 'entire/path/to/file.jpg',\n name: 'file.jpg',\n description: 'A description of the file'\n }]\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["MessageOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":150,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"sendTyping","description":"Sends a typing indicator in the channel.","implements":["TextBasedChannel#sendTyping"],"examples":["// Start typing in a channel\nchannel.sendTyping();"],"async":true,"returns":{"types":[[["Promise","<"],["void",">"]]],"description":"Resolves upon the typing status being sent"},"meta":{"line":355,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createMessageCollector","description":"Creates a Message Collector.","implements":["TextBasedChannel#createMessageCollector"],"examples":["// Create a message collector\nconst filter = m => m.content.includes('discord');\nconst collector = channel.createMessageCollector({ filter, time: 15_000 });\ncollector.on('collect', m => console.log(`Collected ${m.content}`));\ncollector.on('end', collected => console.log(`Collected ${collected.size} items`));"],"params":[{"name":"options","description":"The options to pass to the collector","optional":true,"default":"{}","type":[[["MessageCollectorOptions"]]]}],"returns":[[["MessageCollector"]]],"meta":{"line":370,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"awaitMessages","description":"Similar to createMessageCollector but in promise form.\nResolves with a collection of messages that pass the specified filter.","implements":["TextBasedChannel#awaitMessages"],"examples":["// Await !vote messages\nconst filter = m => m.content.startsWith('!vote');\n// Errors: ['time'] treats ending because of the time limit as an error\nchannel.awaitMessages({ filter, max: 4, time: 60_000, errors: ['time'] })\n .then(collected => console.log(collected.size))\n .catch(collected => console.log(`After a minute, only ${collected.size} out of 4 voted.`));"],"params":[{"name":"options","description":"Optional options to pass to the internal collector","optional":true,"default":"{}","type":[[["AwaitMessagesOptions"]]]}],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Message",">>"]]],"meta":{"line":393,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"fetchWebhooks","description":"Fetches all webhooks for the channel.","implements":["TextBasedChannel#fetchWebhooks"],"examples":["// Fetch webhooks\nchannel.fetchWebhooks()\n .then(hooks => console.log(`This channel has ${hooks.size} hooks`))\n .catch(console.error);"],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Webhook",">>"]]],"meta":{"line":415,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createWebhook","description":"Creates a webhook for the channel.","implements":["TextBasedChannel#createWebhook"],"examples":["// Create a webhook for the current channel\nchannel.createWebhook('Snek', {\n avatar: 'https://i.imgur.com/mI8XcpG.jpg',\n reason: 'Needed a cool new Webhook'\n})\n .then(console.log)\n .catch(console.error)"],"params":[{"name":"name","description":"The name of the webhook","type":[[["string"]]]},{"name":"options","description":"Options for creating the webhook","optional":true,"type":[[["ChannelWebhookCreateOptions"]]]}],"returns":{"types":[[["Promise","<"],["Webhook",">"]]],"description":"Returns the created Webhook"},"meta":{"line":440,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"setRateLimitPerUser","description":"Sets the rate limit per user (slowmode) for this channel.","implements":["TextBasedChannel#setRateLimitPerUser"],"params":[{"name":"rateLimitPerUser","description":"The new rate limit in seconds","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the channel's rate limit","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":450,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"setNSFW","description":"Sets whether this channel is flagged as NSFW.","implements":["TextBasedChannel#setNSFW"],"params":[{"name":"nsfw","description":"Whether the channel should be considered NSFW","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"Reason for changing the channel's NSFW flag","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":460,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"permissionsFor","description":"Gets the overall set of permissions for a member or role in this channel, taking into account channel overwrites.","inherits":"GuildChannel#permissionsFor","inherited":true,"params":[{"name":"memberOrRole","description":"The member or role to obtain the overall permissions for","type":[[["GuildMemberResolvable"]],[["RoleResolvable"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":{"types":[[["Readonly","<"],["Permissions",">"]]],"nullable":true},"meta":{"line":172,"file":"GuildChannel.js","path":"src/structures"}},{"name":"memberPermissions","description":"Gets the overall set of permissions for a member in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#memberPermissions","inherited":true,"params":[{"name":"member","description":"The member to obtain the overall permissions for","type":[[["GuildMember"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","default":true,"type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":212,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rolePermissions","description":"Gets the overall set of permissions for a role in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#rolePermissions","inherited":true,"params":[{"name":"role","description":"The role to obtain the overall permissions for","type":[[["Role"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":241,"file":"GuildChannel.js","path":"src/structures"}},{"name":"lockPermissions","description":"Locks in the permission overwrites from the parent channel.","inherits":"GuildChannel#lockPermissions","inherited":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":261,"file":"GuildChannel.js","path":"src/structures"}},{"name":"edit","description":"Edits the channel.","inherits":"GuildChannel#edit","inherited":true,"examples":["// Edit a channel\nchannel.edit({ name: 'new-channel' })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"data","description":"The new data for the channel","type":[[["ChannelData"]]]},{"name":"reason","description":"Reason for editing this channel","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":289,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setName","description":"Sets a new name for the guild channel.","inherits":"GuildChannel#setName","inherited":true,"examples":["// Set a new channel name\nchannel.setName('not_general')\n .then(newChannel => console.log(`Channel's new name is ${newChannel.name}`))\n .catch(console.error);"],"params":[{"name":"name","description":"The new name for the guild channel","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild channel's name","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":304,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setParent","description":"Sets the parent of this channel.","inherits":"GuildChannel#setParent","inherited":true,"examples":["// Add a parent to a channel\nmessage.channel.setParent('355908108431917066', { lockPermissions: false })\n .then(channel => console.log(`New parent of ${message.channel.name}: ${channel.name}`))\n .catch(console.error);"],"params":[{"name":"channel","description":"The category channel to set as the parent","nullable":true,"type":[[["CategoryChannelResolvable"]]]},{"name":"options","description":"The options for setting the parent","optional":true,"default":"{}","type":[[["SetParentOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":326,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setPosition","description":"Sets a new position for the guild channel.","inherits":"GuildChannel#setPosition","inherited":true,"examples":["// Set a new channel position\nchannel.setPosition(2)\n .then(newChannel => console.log(`Channel's new position is ${newChannel.position}`))\n .catch(console.error);"],"params":[{"name":"position","description":"The new position for the guild channel","type":[[["number"]]]},{"name":"options","description":"Options for setting position","optional":true,"type":[[["SetChannelPositionOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":354,"file":"GuildChannel.js","path":"src/structures"}},{"name":"clone","description":"Clones this channel.","inherits":"GuildChannel#clone","inherited":true,"params":[{"name":"options","description":"The options for cloning this channel","optional":true,"type":[[["GuildChannelCloneOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":369,"file":"GuildChannel.js","path":"src/structures"}},{"name":"equals","description":"Checks if this channel has the same type, topic, position, name, overwrites, and id as another channel.\nIn most cases, a simple `channel.id === channel2.id` will do, and is much faster too.","inherits":"GuildChannel#equals","inherited":true,"params":[{"name":"channel","description":"Channel to compare with","type":[[["GuildChannel"]]]}],"returns":[[["boolean"]]],"meta":{"line":391,"file":"GuildChannel.js","path":"src/structures"}},{"name":"delete","description":"Deletes this channel.","inherits":"GuildChannel#delete","inherited":true,"examples":["// Delete the channel\nchannel.delete('making room for new channels')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"reason","description":"Reason for deleting this channel","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":462,"file":"GuildChannel.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the channel's mention instead of the Channel object.","inherits":"Channel#toString","inherited":true,"examples":["// Logs: Hello from <#123456789012345678>!\nconsole.log(`Hello from ${channel}!`);"],"returns":[[["string"]]],"meta":{"line":129,"file":"Channel.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this channel.","inherits":"Channel#fetch","inherited":true,"params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":152,"file":"Channel.js","path":"src/structures"}},{"name":"isText","description":"Indicates whether this channel is {@link TextBasedChannels text-based}.","inherits":"Channel#isText","inherited":true,"returns":[[["boolean"]]],"meta":{"line":160,"file":"Channel.js","path":"src/structures"}},{"name":"isVoice","description":"Indicates whether this channel is {@link BaseGuildVoiceChannel voice-based}.","inherits":"Channel#isVoice","inherited":true,"returns":[[["boolean"]]],"meta":{"line":168,"file":"Channel.js","path":"src/structures"}},{"name":"isThread","description":"Indicates whether this channel is a {@link ThreadChannel}.","inherits":"Channel#isThread","inherited":true,"returns":[[["boolean"]]],"meta":{"line":176,"file":"Channel.js","path":"src/structures"}},{"name":"isDirectory","description":"Indicates whether this channel is a {@link DirectoryChannel}","inherits":"Channel#isDirectory","inherited":true,"returns":[[["boolean"]]],"meta":{"line":184,"file":"Channel.js","path":"src/structures"}}],"meta":{"line":13,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"BaseGuildVoiceChannel","description":"Represents a voice-based guild channel on Discord.","extends":[[["GuildChannel"]]],"implements":[[["TextBasedChannel"]]],"props":[{"name":"messages","description":"A manager of the messages sent to this channel","type":[[["MessageManager"]]],"meta":{"line":22,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"nsfw","description":"If the guild considers this channel NSFW","type":[[["boolean"]]],"meta":{"line":28,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"bitrate","description":"The bitrate of this voice-based channel","type":[[["number"]]],"meta":{"line":41,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"rtcRegion","description":"The RTC region for this voice-based channel. This region is automatically selected if `null`.","nullable":true,"type":[[["string"]]],"meta":{"line":49,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"userLimit","description":"The maximum amount of users allowed in this channel.","type":[[["number"]]],"meta":{"line":57,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"videoQualityMode","description":"The camera video quality mode of the channel.","nullable":true,"type":[[["VideoQualityMode"]]],"meta":{"line":65,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"lastMessageId","description":"The last message id sent in the channel, if one was sent","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":75,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"rateLimitPerUser","description":"The rate limit per user (slowmode) for this channel in seconds","type":[[["number"]]],"meta":{"line":87,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"status","description":"The status of the voice channel (max 500 characters)","nullable":true,"type":[[["string"]]],"meta":{"line":99,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"members","description":"The members in this voice-based channel","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]],"meta":{"line":108,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"full","description":"Checks if the voice-based channel is full","readonly":true,"type":[[["boolean"]]],"meta":{"line":123,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"joinable","description":"Whether the channel is joinable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":132,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"lastMessage","description":"The Message object of the last message in the channel, if one was sent","readonly":true,"nullable":true,"type":[[["Message"]]],"meta":{"line":50,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"guild","description":"The guild the channel is in","type":[[["Guild"]]],"meta":{"line":30,"file":"GuildChannel.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild the channel is in","type":[[["Snowflake"]]],"meta":{"line":36,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionOverwrites","description":"A manager of permission overwrites that belong to this channel","type":[[["PermissionOverwriteManager"]]],"meta":{"line":43,"file":"GuildChannel.js","path":"src/structures"}},{"name":"name","description":"The name of the guild channel","type":[[["string"]]],"meta":{"line":56,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rawPosition","description":"The raw position of the channel from Discord","type":[[["number"]]],"meta":{"line":64,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parentId","description":"The id of the category parent of this channel","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":76,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parent","description":"The category parent of this channel","readonly":true,"nullable":true,"type":[[["CategoryChannel"]]],"meta":{"line":98,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionsLocked","description":"If the permissionOverwrites match the parent channel, null if no parent","readonly":true,"nullable":true,"type":[[["boolean"]]],"meta":{"line":107,"file":"GuildChannel.js","path":"src/structures"}},{"name":"position","description":"The position of the channel","readonly":true,"type":[[["number"]]],"meta":{"line":148,"file":"GuildChannel.js","path":"src/structures"}},{"name":"deletable","description":"Whether the channel is deletable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":416,"file":"GuildChannel.js","path":"src/structures"}},{"name":"manageable","description":"Whether the channel is manageable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":425,"file":"GuildChannel.js","path":"src/structures"}},{"name":"viewable","description":"Whether the channel is viewable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":445,"file":"GuildChannel.js","path":"src/structures"}},{"name":"type","description":"The type of the channel","type":[[["ChannelType"]]],"meta":{"line":41,"file":"Channel.js","path":"src/structures"}},{"name":"id","description":"The channel's id","type":[[["Snowflake"]]],"meta":{"line":51,"file":"Channel.js","path":"src/structures"}},{"name":"flags","description":"The flags that are applied to the channel.","nullable":true,"type":[[["Readonly","<"],["ChannelFlags",">"]]],"meta":{"line":58,"file":"Channel.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the channel was created at","readonly":true,"type":[[["number"]]],"meta":{"line":69,"file":"Channel.js","path":"src/structures"}},{"name":"createdAt","description":"The time the channel was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":78,"file":"Channel.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":87,"file":"Channel.js","path":"src/structures"}},{"name":"partial","description":"Whether this Channel is a partial\nThis is always false outside of DM channels.","readonly":true,"type":[[["boolean"]]],"meta":{"line":118,"file":"Channel.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"createInvite","description":"Creates an invite to this guild channel.","examples":["// Create an invite to a channel\nchannel.createInvite()\n .then(invite => console.log(`Created an invite with a code of ${invite.code}`))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for creating the invite","optional":true,"default":"{}","type":[[["CreateInviteOptions"]]]}],"returns":[[["Promise","<"],["Invite",">"]]],"meta":{"line":156,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"fetchInvites","description":"Fetches a collection of invites to this guild channel.\nResolves with a collection mapping invites by their codes.","params":[{"name":"cache","description":"Whether or not to cache the fetched invites","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Collection","<"],["string",", "],["Invite",">>"]]],"meta":{"line":166,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"setBitrate","description":"Sets the bitrate of the channel.","examples":["// Set the bitrate of a voice channel\nchannel.setBitrate(48_000)\n .then(channel => console.log(`Set bitrate to ${channel.bitrate}bps for ${channel.name}`))\n .catch(console.error);"],"params":[{"name":"bitrate","description":"The new bitrate","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the channel's bitrate","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["BaseGuildVoiceChannel",">"]]],"meta":{"line":181,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"setRTCRegion","description":"Sets the RTC region of the channel.","examples":["// Set the RTC region to sydney\nchannel.setRTCRegion('sydney');","// Remove a fixed region for this channel - let Discord decide automatically\nchannel.setRTCRegion(null, 'We want to let Discord decide.');"],"params":[{"name":"rtcRegion","description":"The new region of the channel. Set to `null` to remove a specific region for the channel","nullable":true,"type":[[["string"]]]},{"name":"reason","description":"The reason for modifying this region.","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["BaseGuildVoiceChannel",">"]]],"meta":{"line":197,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"setUserLimit","description":"Sets the user limit of the channel.","examples":["// Set the user limit of a voice channel\nchannel.setUserLimit(42)\n .then(channel => console.log(`Set user limit to ${channel.userLimit} for ${channel.name}`))\n .catch(console.error);"],"params":[{"name":"userLimit","description":"The new user limit","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the user limit","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["BaseGuildVoiceChannel",">"]]],"meta":{"line":212,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"setVideoQualityMode","description":"Sets the camera video quality mode of the channel.","params":[{"name":"videoQualityMode","description":"The new camera video quality mode.","type":[[["VideoQualityMode"]],[["number"]]]},{"name":"reason","description":"Reason for changing the camera video quality mode.","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["BaseGuildVoiceChannel",">"]]],"meta":{"line":222,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"send","description":"Sends a message to this channel.","implements":["TextBasedChannel#send"],"examples":["// Send a basic message\nchannel.send('hello!')\n .then(message => console.log(`Sent message: ${message.content}`))\n .catch(console.error);","// Send a remote file\nchannel.send({\n files: ['https://cdn.discordapp.com/icons/222078108977594368/6e1019b3179d71046e463a75915e7244.png?size=2048']\n})\n .then(console.log)\n .catch(console.error);","// Send a local file\nchannel.send({\n files: [{\n attachment: 'entire/path/to/file.jpg',\n name: 'file.jpg',\n description: 'A description of the file'\n }]\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["MessageOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":150,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"sendTyping","description":"Sends a typing indicator in the channel.","implements":["TextBasedChannel#sendTyping"],"examples":["// Start typing in a channel\nchannel.sendTyping();"],"async":true,"returns":{"types":[[["Promise","<"],["void",">"]]],"description":"Resolves upon the typing status being sent"},"meta":{"line":355,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createMessageCollector","description":"Creates a Message Collector.","implements":["TextBasedChannel#createMessageCollector"],"examples":["// Create a message collector\nconst filter = m => m.content.includes('discord');\nconst collector = channel.createMessageCollector({ filter, time: 15_000 });\ncollector.on('collect', m => console.log(`Collected ${m.content}`));\ncollector.on('end', collected => console.log(`Collected ${collected.size} items`));"],"params":[{"name":"options","description":"The options to pass to the collector","optional":true,"default":"{}","type":[[["MessageCollectorOptions"]]]}],"returns":[[["MessageCollector"]]],"meta":{"line":370,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"awaitMessages","description":"Similar to createMessageCollector but in promise form.\nResolves with a collection of messages that pass the specified filter.","implements":["TextBasedChannel#awaitMessages"],"examples":["// Await !vote messages\nconst filter = m => m.content.startsWith('!vote');\n// Errors: ['time'] treats ending because of the time limit as an error\nchannel.awaitMessages({ filter, max: 4, time: 60_000, errors: ['time'] })\n .then(collected => console.log(collected.size))\n .catch(collected => console.log(`After a minute, only ${collected.size} out of 4 voted.`));"],"params":[{"name":"options","description":"Optional options to pass to the internal collector","optional":true,"default":"{}","type":[[["AwaitMessagesOptions"]]]}],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Message",">>"]]],"meta":{"line":393,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"fetchWebhooks","description":"Fetches all webhooks for the channel.","implements":["TextBasedChannel#fetchWebhooks"],"examples":["// Fetch webhooks\nchannel.fetchWebhooks()\n .then(hooks => console.log(`This channel has ${hooks.size} hooks`))\n .catch(console.error);"],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Webhook",">>"]]],"meta":{"line":415,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createWebhook","description":"Creates a webhook for the channel.","implements":["TextBasedChannel#createWebhook"],"examples":["// Create a webhook for the current channel\nchannel.createWebhook('Snek', {\n avatar: 'https://i.imgur.com/mI8XcpG.jpg',\n reason: 'Needed a cool new Webhook'\n})\n .then(console.log)\n .catch(console.error)"],"params":[{"name":"name","description":"The name of the webhook","type":[[["string"]]]},{"name":"options","description":"Options for creating the webhook","optional":true,"type":[[["ChannelWebhookCreateOptions"]]]}],"returns":{"types":[[["Promise","<"],["Webhook",">"]]],"description":"Returns the created Webhook"},"meta":{"line":440,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"setRateLimitPerUser","description":"Sets the rate limit per user (slowmode) for this channel.","implements":["TextBasedChannel#setRateLimitPerUser"],"params":[{"name":"rateLimitPerUser","description":"The new rate limit in seconds","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the channel's rate limit","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":450,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"setNSFW","description":"Sets whether this channel is flagged as NSFW.","implements":["TextBasedChannel#setNSFW"],"params":[{"name":"nsfw","description":"Whether the channel should be considered NSFW","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"Reason for changing the channel's NSFW flag","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":460,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"permissionsFor","description":"Gets the overall set of permissions for a member or role in this channel, taking into account channel overwrites.","inherits":"GuildChannel#permissionsFor","inherited":true,"params":[{"name":"memberOrRole","description":"The member or role to obtain the overall permissions for","type":[[["GuildMemberResolvable"]],[["RoleResolvable"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":{"types":[[["Readonly","<"],["Permissions",">"]]],"nullable":true},"meta":{"line":172,"file":"GuildChannel.js","path":"src/structures"}},{"name":"memberPermissions","description":"Gets the overall set of permissions for a member in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#memberPermissions","inherited":true,"params":[{"name":"member","description":"The member to obtain the overall permissions for","type":[[["GuildMember"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","default":true,"type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":212,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rolePermissions","description":"Gets the overall set of permissions for a role in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#rolePermissions","inherited":true,"params":[{"name":"role","description":"The role to obtain the overall permissions for","type":[[["Role"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":241,"file":"GuildChannel.js","path":"src/structures"}},{"name":"lockPermissions","description":"Locks in the permission overwrites from the parent channel.","inherits":"GuildChannel#lockPermissions","inherited":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":261,"file":"GuildChannel.js","path":"src/structures"}},{"name":"edit","description":"Edits the channel.","inherits":"GuildChannel#edit","inherited":true,"examples":["// Edit a channel\nchannel.edit({ name: 'new-channel' })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"data","description":"The new data for the channel","type":[[["ChannelData"]]]},{"name":"reason","description":"Reason for editing this channel","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":289,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setName","description":"Sets a new name for the guild channel.","inherits":"GuildChannel#setName","inherited":true,"examples":["// Set a new channel name\nchannel.setName('not_general')\n .then(newChannel => console.log(`Channel's new name is ${newChannel.name}`))\n .catch(console.error);"],"params":[{"name":"name","description":"The new name for the guild channel","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild channel's name","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":304,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setParent","description":"Sets the parent of this channel.","inherits":"GuildChannel#setParent","inherited":true,"examples":["// Add a parent to a channel\nmessage.channel.setParent('355908108431917066', { lockPermissions: false })\n .then(channel => console.log(`New parent of ${message.channel.name}: ${channel.name}`))\n .catch(console.error);"],"params":[{"name":"channel","description":"The category channel to set as the parent","nullable":true,"type":[[["CategoryChannelResolvable"]]]},{"name":"options","description":"The options for setting the parent","optional":true,"default":"{}","type":[[["SetParentOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":326,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setPosition","description":"Sets a new position for the guild channel.","inherits":"GuildChannel#setPosition","inherited":true,"examples":["// Set a new channel position\nchannel.setPosition(2)\n .then(newChannel => console.log(`Channel's new position is ${newChannel.position}`))\n .catch(console.error);"],"params":[{"name":"position","description":"The new position for the guild channel","type":[[["number"]]]},{"name":"options","description":"Options for setting position","optional":true,"type":[[["SetChannelPositionOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":354,"file":"GuildChannel.js","path":"src/structures"}},{"name":"clone","description":"Clones this channel.","inherits":"GuildChannel#clone","inherited":true,"params":[{"name":"options","description":"The options for cloning this channel","optional":true,"type":[[["GuildChannelCloneOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":369,"file":"GuildChannel.js","path":"src/structures"}},{"name":"equals","description":"Checks if this channel has the same type, topic, position, name, overwrites, and id as another channel.\nIn most cases, a simple `channel.id === channel2.id` will do, and is much faster too.","inherits":"GuildChannel#equals","inherited":true,"params":[{"name":"channel","description":"Channel to compare with","type":[[["GuildChannel"]]]}],"returns":[[["boolean"]]],"meta":{"line":391,"file":"GuildChannel.js","path":"src/structures"}},{"name":"delete","description":"Deletes this channel.","inherits":"GuildChannel#delete","inherited":true,"examples":["// Delete the channel\nchannel.delete('making room for new channels')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"reason","description":"Reason for deleting this channel","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":462,"file":"GuildChannel.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the channel's mention instead of the Channel object.","inherits":"Channel#toString","inherited":true,"examples":["// Logs: Hello from <#123456789012345678>!\nconsole.log(`Hello from ${channel}!`);"],"returns":[[["string"]]],"meta":{"line":129,"file":"Channel.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this channel.","inherits":"Channel#fetch","inherited":true,"params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":152,"file":"Channel.js","path":"src/structures"}},{"name":"isText","description":"Indicates whether this channel is {@link TextBasedChannels text-based}.","inherits":"Channel#isText","inherited":true,"returns":[[["boolean"]]],"meta":{"line":160,"file":"Channel.js","path":"src/structures"}},{"name":"isVoice","description":"Indicates whether this channel is {@link BaseGuildVoiceChannel voice-based}.","inherits":"Channel#isVoice","inherited":true,"returns":[[["boolean"]]],"meta":{"line":168,"file":"Channel.js","path":"src/structures"}},{"name":"isThread","description":"Indicates whether this channel is a {@link ThreadChannel}.","inherits":"Channel#isThread","inherited":true,"returns":[[["boolean"]]],"meta":{"line":176,"file":"Channel.js","path":"src/structures"}},{"name":"isDirectory","description":"Indicates whether this channel is a {@link DirectoryChannel}","inherits":"Channel#isDirectory","inherited":true,"returns":[[["boolean"]]],"meta":{"line":184,"file":"Channel.js","path":"src/structures"}}],"meta":{"line":15,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"BaseMessageComponent","description":"Represents an interactive component of a Message or Modal. It should not be necessary to construct this directly.\nSee {@link MessageComponent}","construct":{"name":"BaseMessageComponent","params":[{"name":"data","description":"The options for this component","optional":true,"default":"{}","type":[[["BaseMessageComponent"]],[["BaseMessageComponentOptions"]]]}]},"props":[{"name":"type","description":"The type of this component","nullable":true,"type":[[["MessageComponentType"]]],"meta":{"line":52,"file":"BaseMessageComponent.js","path":"src/structures"}}],"methods":[{"name":"create","description":"Constructs a component based on the type of the incoming data","scope":"static","access":"private","params":[{"name":"data","description":"Data for a MessageComponent","type":[[["MessageComponentOptions"]]]},{"name":"client","description":"Client constructing this component","optional":true,"type":[[["Client"]],[["WebhookClient"]]]}],"returns":{"types":[[["MessageComponent"]],[["ModalComponent"]]],"nullable":true},"meta":{"line":62,"file":"BaseMessageComponent.js","path":"src/structures"}},{"name":"resolveType","description":"Resolves the type of a component","scope":"static","access":"private","params":[{"name":"type","description":"The type to resolve","type":[[["MessageComponentTypeResolvable"]]]}],"returns":[[["MessageComponentType"]]],"meta":{"line":109,"file":"BaseMessageComponent.js","path":"src/structures"}}],"meta":{"line":10,"file":"BaseMessageComponent.js","path":"src/structures"}},{"name":"ButtonInteraction","description":"Represents a button interaction.","extends":[[["MessageComponentInteraction"]]],"props":[{"name":"channelId","description":"The id of the channel this interaction was sent in","type":[[["Snowflake"]]],"meta":{"line":17,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"message","description":"The message to which the component was attached","type":[[["Message"]],[["APIMessage"]]],"meta":{"line":27,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"customId","description":"The custom id of the component which was interacted with","type":[[["string"]]],"meta":{"line":33,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"componentType","description":"The type of component which was interacted with","type":[[["string"]]],"meta":{"line":39,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"deferred","description":"Whether the reply to this interaction has been deferred","type":[[["boolean"]]],"meta":{"line":45,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"ephemeral","description":"Whether the reply to this interaction is ephemeral","nullable":true,"type":[[["boolean"]]],"meta":{"line":51,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"replied","description":"Whether this interaction has already been replied to","type":[[["boolean"]]],"meta":{"line":57,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"webhook","description":"An associated interaction webhook, can be used to further interact with this interaction","type":[[["InteractionWebhook"]]],"meta":{"line":63,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"component","description":"The component which was interacted with","readonly":true,"type":[[["MessageActionRowComponent"]],[["APIMessageActionRowComponent"]]],"meta":{"line":78,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"type","description":"The interaction's type","type":[[["InteractionType"]]],"meta":{"line":20,"file":"Interaction.js","path":"src/structures"}},{"name":"id","description":"The interaction's id","type":[[["Snowflake"]]],"meta":{"line":26,"file":"Interaction.js","path":"src/structures"}},{"name":"token","description":"The interaction's token","readonly":true,"type":[[["string"]]],"meta":{"line":28,"file":"Interaction.js","path":"src/structures"}},{"name":"applicationId","description":"The application's id","type":[[["Snowflake"]]],"meta":{"line":40,"file":"Interaction.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild this interaction was sent in","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":52,"file":"Interaction.js","path":"src/structures"}},{"name":"user","description":"The user which sent this interaction","type":[[["User"]]],"meta":{"line":58,"file":"Interaction.js","path":"src/structures"}},{"name":"member","description":"If this interaction was sent in a guild, the member which sent it","nullable":true,"type":[[["GuildMember"]],[["APIGuildMember"]]],"meta":{"line":64,"file":"Interaction.js","path":"src/structures"}},{"name":"version","description":"The version","type":[[["number"]]],"meta":{"line":70,"file":"Interaction.js","path":"src/structures"}},{"name":"appPermissions","description":"Set of permissions the application or bot has within the channel the interaction was sent from","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":76,"file":"Interaction.js","path":"src/structures"}},{"name":"memberPermissions","description":"The permissions of the member, if one exists, in the channel this interaction was executed in","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":82,"file":"Interaction.js","path":"src/structures"}},{"name":"locale","description":"The locale of the user who invoked this interaction","type":[[["Locale"]]],"meta":{"line":124,"file":"Interaction.js","path":"src/structures"}},{"name":"guildLocale","description":"The preferred locale from the guild this interaction was sent in","nullable":true,"type":[[["Locale"]]],"meta":{"line":130,"file":"Interaction.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the interaction was created at","readonly":true,"type":[[["number"]]],"meta":{"line":138,"file":"Interaction.js","path":"src/structures"}},{"name":"createdAt","description":"The time the interaction was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":147,"file":"Interaction.js","path":"src/structures"}},{"name":"channel","description":"The channel this interaction was sent in","readonly":true,"nullable":true,"type":[[["TextBasedChannels"]]],"meta":{"line":156,"file":"Interaction.js","path":"src/structures"}},{"name":"guild","description":"The guild this interaction was sent in","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":165,"file":"Interaction.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"deferReply","description":"Defers the reply to this interaction.","inherits":"MessageComponentInteraction#deferReply","inherited":true,"implements":["InteractionResponses#deferReply"],"examples":["// Defer the reply to this interaction\ninteraction.deferReply()\n .then(console.log)\n .catch(console.error)","// Defer to send an ephemeral reply later\ninteraction.deferReply({ ephemeral: true })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for deferring the reply to this interaction","optional":true,"type":[[["InteractionDeferReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":58,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"reply","description":"Creates a reply to this interaction.\nUse the `fetchReply` option to get the bot's reply message.","inherits":"MessageComponentInteraction#reply","inherited":true,"implements":["InteractionResponses#reply"],"examples":["// Reply to the interaction and fetch the response\ninteraction.reply({ content: 'Pong!', fetchReply: true })\n .then((message) => console.log(`Reply sent with content ${message.content}`))\n .catch(console.error);","// Create an ephemeral reply with an embed\nconst embed = new MessageEmbed().setDescription('Pong!');\n\ninteraction.reply({ embeds: [embed], ephemeral: true })\n .then(() => console.log('Reply sent.'))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":93,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"fetchReply","description":"Fetches a reply to this interaction.","see":["Webhook#fetchMessage"],"inherits":"MessageComponentInteraction#fetchReply","inherited":true,"implements":["InteractionResponses#fetchReply"],"examples":["// Fetch the initial reply to this interaction\ninteraction.fetchReply()\n .then(reply => console.log(`Replied with ${reply.content}`))\n .catch(console.error);"],"params":[{"name":"message","description":"The response to fetch","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":127,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"editReply","description":"Edits a reply to this interaction.","see":["Webhook#editMessage"],"inherits":"MessageComponentInteraction#editReply","inherited":true,"implements":["InteractionResponses#editReply"],"examples":["// Edit the initial reply to this interaction\ninteraction.editReply('New content')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The new options for the message","type":[[["string"]],[["MessagePayload"]],[["InteractionEditReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":148,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"deleteReply","description":"Deletes a reply to this interaction.","see":["Webhook#deleteMessage"],"inherits":"MessageComponentInteraction#deleteReply","inherited":true,"implements":["InteractionResponses#deleteReply"],"examples":["// Delete the initial reply to this interaction\ninteraction.deleteReply()\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"message","description":"The response to delete","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":166,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"followUp","description":"Send a follow-up message to this interaction.","inherits":"MessageComponentInteraction#followUp","inherited":true,"implements":["InteractionResponses#followUp"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":175,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"deferUpdate","description":"Defers an update to the message to which the component was attached.","inherits":"MessageComponentInteraction#deferUpdate","inherited":true,"implements":["InteractionResponses#deferUpdate"],"examples":["// Defer updating and reset the component's loading state\ninteraction.deferUpdate()\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for deferring the update to this interaction","optional":true,"type":[[["InteractionDeferUpdateOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":190,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"update","description":"Updates the original message of the component on which the interaction was received on.","inherits":"MessageComponentInteraction#update","inherited":true,"implements":["InteractionResponses#update"],"examples":["// Remove the components from the message\ninteraction.update({\n content: \"A component interaction was received\",\n components: []\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the updated message","type":[[["string"]],[["MessagePayload"]],[["InteractionUpdateOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":216,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"showModal","description":"Shows a modal component","inherits":"MessageComponentInteraction#showModal","inherited":true,"implements":["InteractionResponses#showModal"],"params":[{"name":"modal","description":"The modal to show","type":[[["Modal"]],[["ModalOptions"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":243,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"awaitModalSubmit","description":"Collects a single modal submit interaction that passes the filter.\nThe Promise will reject if the time expires.","inherits":"MessageComponentInteraction#awaitModalSubmit","inherited":true,"implements":["InteractionResponses#awaitModalSubmit"],"examples":["// Collect a modal submit interaction\nconst filter = (interaction) => interaction.customId === 'modal';\ninteraction.awaitModalSubmit({ filter, time: 15_000 })\n .then(interaction => console.log(`${interaction.customId} was submitted!`))\n .catch(console.error);"],"params":[{"name":"options","description":"Options to pass to the internal collector","type":[[["AwaitModalSubmitOptions"]]]}],"returns":[[["Promise","<"],["ModalSubmitInteraction",">"]]],"meta":{"line":275,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"inGuild","description":"Indicates whether this interaction is received from a guild.","inherits":"Interaction#inGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":173,"file":"Interaction.js","path":"src/structures"}},{"name":"inCachedGuild","description":"Indicates whether or not this interaction is both cached and received from a guild.","inherits":"Interaction#inCachedGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":181,"file":"Interaction.js","path":"src/structures"}},{"name":"inRawGuild","description":"Indicates whether or not this interaction is received from an uncached guild.","inherits":"Interaction#inRawGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":189,"file":"Interaction.js","path":"src/structures"}},{"name":"isApplicationCommand","description":"Indicates whether this interaction is a {@link BaseCommandInteraction}.","inherits":"Interaction#isApplicationCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":197,"file":"Interaction.js","path":"src/structures"}},{"name":"isCommand","description":"Indicates whether this interaction is a {@link CommandInteraction}.","inherits":"Interaction#isCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":205,"file":"Interaction.js","path":"src/structures"}},{"name":"isContextMenu","description":"Indicates whether this interaction is a {@link ContextMenuInteraction}","inherits":"Interaction#isContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":213,"file":"Interaction.js","path":"src/structures"}},{"name":"isModalSubmit","description":"Indicates whether this interaction is a {@link ModalSubmitInteraction}","inherits":"Interaction#isModalSubmit","inherited":true,"returns":[[["boolean"]]],"meta":{"line":221,"file":"Interaction.js","path":"src/structures"}},{"name":"isUserContextMenu","description":"Indicates whether this interaction is a {@link UserContextMenuInteraction}","inherits":"Interaction#isUserContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":229,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageContextMenu","description":"Indicates whether this interaction is a {@link MessageContextMenuInteraction}","inherits":"Interaction#isMessageContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":237,"file":"Interaction.js","path":"src/structures"}},{"name":"isAutocomplete","description":"Indicates whether this interaction is an {@link AutocompleteInteraction}","inherits":"Interaction#isAutocomplete","inherited":true,"returns":[[["boolean"]]],"meta":{"line":245,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageComponent","description":"Indicates whether this interaction is a {@link MessageComponentInteraction}.","inherits":"Interaction#isMessageComponent","inherited":true,"returns":[[["boolean"]]],"meta":{"line":253,"file":"Interaction.js","path":"src/structures"}},{"name":"isButton","description":"Indicates whether this interaction is a {@link ButtonInteraction}.","inherits":"Interaction#isButton","inherited":true,"returns":[[["boolean"]]],"meta":{"line":261,"file":"Interaction.js","path":"src/structures"}},{"name":"isSelectMenu","description":"Indicates whether this interaction is a {@link SelectMenuInteraction}.","inherits":"Interaction#isSelectMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":272,"file":"Interaction.js","path":"src/structures"}},{"name":"isRepliable","description":"Indicates whether this interaction can be replied to.","inherits":"Interaction#isRepliable","inherited":true,"returns":[[["boolean"]]],"meta":{"line":283,"file":"Interaction.js","path":"src/structures"}}],"meta":{"line":9,"file":"ButtonInteraction.js","path":"src/structures"}},{"name":"CallState","description":"Represents a call","extends":[[["Base"]]],"props":[{"name":"channelId","description":"The channel ID of the call","type":[[["Snowflake"]]],"meta":{"line":17,"file":"CallState.js","path":"src/structures"}},{"name":"region","description":"The region of the call","type":[[["string"]]],"meta":{"line":30,"file":"CallState.js","path":"src/structures"}},{"name":"channel","description":"The channel of the call","type":[[["DMChannel"]],[["GroupDMChannel"]]],"meta":{"line":41,"file":"CallState.js","path":"src/structures"}},{"name":"ringing","description":"The list of user ID who is ringing","type":[[["Collection","<"],["Snowflake",", "],["User",">"]]],"meta":{"line":58,"file":"CallState.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"setRTCRegion","description":"Sets the voice region of the call","params":[{"name":"region","description":"Region of the call","type":[[["string"]]]}],"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":50,"file":"CallState.js","path":"src/structures"}}],"meta":{"line":10,"file":"CallState.js","path":"src/structures"}},{"name":"CategoryChannel","description":"Represents a guild category channel on Discord.","extends":[[["GuildChannel"]]],"props":[{"name":"parentId","description":"The id of the parent of this channel.","type":[[["null"]]],"meta":{"line":10,"file":"CategoryChannel.js","path":"src/structures"}},{"name":"parent","description":"The parent of this channel.","readonly":true,"type":[[["null"]]],"meta":{"line":16,"file":"CategoryChannel.js","path":"src/structures"}},{"name":"children","description":"Channels that are a part of this category","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["GuildChannel",">"]]],"meta":{"line":28,"file":"CategoryChannel.js","path":"src/structures"}},{"name":"guild","description":"The guild the channel is in","type":[[["Guild"]]],"meta":{"line":30,"file":"GuildChannel.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild the channel is in","type":[[["Snowflake"]]],"meta":{"line":36,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionOverwrites","description":"A manager of permission overwrites that belong to this channel","type":[[["PermissionOverwriteManager"]]],"meta":{"line":43,"file":"GuildChannel.js","path":"src/structures"}},{"name":"name","description":"The name of the guild channel","type":[[["string"]]],"meta":{"line":56,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rawPosition","description":"The raw position of the channel from Discord","type":[[["number"]]],"meta":{"line":64,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionsLocked","description":"If the permissionOverwrites match the parent channel, null if no parent","readonly":true,"nullable":true,"type":[[["boolean"]]],"meta":{"line":107,"file":"GuildChannel.js","path":"src/structures"}},{"name":"position","description":"The position of the channel","readonly":true,"type":[[["number"]]],"meta":{"line":148,"file":"GuildChannel.js","path":"src/structures"}},{"name":"members","description":"A collection of cached members of this channel, mapped by their ids.\nMembers that can view this channel, if the channel is text-based.\nMembers in the channel, if the channel is voice-based.","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]],"meta":{"line":274,"file":"GuildChannel.js","path":"src/structures"}},{"name":"deletable","description":"Whether the channel is deletable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":416,"file":"GuildChannel.js","path":"src/structures"}},{"name":"manageable","description":"Whether the channel is manageable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":425,"file":"GuildChannel.js","path":"src/structures"}},{"name":"viewable","description":"Whether the channel is viewable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":445,"file":"GuildChannel.js","path":"src/structures"}},{"name":"type","description":"The type of the channel","type":[[["ChannelType"]]],"meta":{"line":41,"file":"Channel.js","path":"src/structures"}},{"name":"id","description":"The channel's id","type":[[["Snowflake"]]],"meta":{"line":51,"file":"Channel.js","path":"src/structures"}},{"name":"flags","description":"The flags that are applied to the channel.","nullable":true,"type":[[["Readonly","<"],["ChannelFlags",">"]]],"meta":{"line":58,"file":"Channel.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the channel was created at","readonly":true,"type":[[["number"]]],"meta":{"line":69,"file":"Channel.js","path":"src/structures"}},{"name":"createdAt","description":"The time the channel was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":78,"file":"Channel.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":87,"file":"Channel.js","path":"src/structures"}},{"name":"partial","description":"Whether this Channel is a partial\nThis is always false outside of DM channels.","readonly":true,"type":[[["boolean"]]],"meta":{"line":118,"file":"Channel.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"setParent","description":"Sets the category parent of this channel.\nIt is not possible to set the parent of a CategoryChannel.","params":[{"name":"channel","description":"The channel to set as parent","nullable":true,"type":[[["CategoryChannelResolvable"]]]},{"name":"options","description":"The options for setting the parent","optional":true,"default":"{}","type":[[["SetParentOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":32,"file":"CategoryChannel.js","path":"src/structures"}},{"name":"createChannel","description":"Creates a new channel within this category.\nYou cannot create a channel of type `GUILD_CATEGORY` inside a CategoryChannel.","params":[{"name":"name","description":"The name of the new channel","type":[[["string"]]]},{"name":"options","description":"Options for creating the new channel","type":[[["CategoryCreateChannelOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":77,"file":"CategoryChannel.js","path":"src/structures"}},{"name":"permissionsFor","description":"Gets the overall set of permissions for a member or role in this channel, taking into account channel overwrites.","inherits":"GuildChannel#permissionsFor","inherited":true,"params":[{"name":"memberOrRole","description":"The member or role to obtain the overall permissions for","type":[[["GuildMemberResolvable"]],[["RoleResolvable"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":{"types":[[["Readonly","<"],["Permissions",">"]]],"nullable":true},"meta":{"line":172,"file":"GuildChannel.js","path":"src/structures"}},{"name":"memberPermissions","description":"Gets the overall set of permissions for a member in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#memberPermissions","inherited":true,"params":[{"name":"member","description":"The member to obtain the overall permissions for","type":[[["GuildMember"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","default":true,"type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":212,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rolePermissions","description":"Gets the overall set of permissions for a role in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#rolePermissions","inherited":true,"params":[{"name":"role","description":"The role to obtain the overall permissions for","type":[[["Role"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":241,"file":"GuildChannel.js","path":"src/structures"}},{"name":"lockPermissions","description":"Locks in the permission overwrites from the parent channel.","inherits":"GuildChannel#lockPermissions","inherited":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":261,"file":"GuildChannel.js","path":"src/structures"}},{"name":"edit","description":"Edits the channel.","inherits":"GuildChannel#edit","inherited":true,"examples":["// Edit a channel\nchannel.edit({ name: 'new-channel' })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"data","description":"The new data for the channel","type":[[["ChannelData"]]]},{"name":"reason","description":"Reason for editing this channel","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":289,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setName","description":"Sets a new name for the guild channel.","inherits":"GuildChannel#setName","inherited":true,"examples":["// Set a new channel name\nchannel.setName('not_general')\n .then(newChannel => console.log(`Channel's new name is ${newChannel.name}`))\n .catch(console.error);"],"params":[{"name":"name","description":"The new name for the guild channel","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild channel's name","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":304,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setPosition","description":"Sets a new position for the guild channel.","inherits":"GuildChannel#setPosition","inherited":true,"examples":["// Set a new channel position\nchannel.setPosition(2)\n .then(newChannel => console.log(`Channel's new position is ${newChannel.position}`))\n .catch(console.error);"],"params":[{"name":"position","description":"The new position for the guild channel","type":[[["number"]]]},{"name":"options","description":"Options for setting position","optional":true,"type":[[["SetChannelPositionOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":354,"file":"GuildChannel.js","path":"src/structures"}},{"name":"clone","description":"Clones this channel.","inherits":"GuildChannel#clone","inherited":true,"params":[{"name":"options","description":"The options for cloning this channel","optional":true,"type":[[["GuildChannelCloneOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":369,"file":"GuildChannel.js","path":"src/structures"}},{"name":"equals","description":"Checks if this channel has the same type, topic, position, name, overwrites, and id as another channel.\nIn most cases, a simple `channel.id === channel2.id` will do, and is much faster too.","inherits":"GuildChannel#equals","inherited":true,"params":[{"name":"channel","description":"Channel to compare with","type":[[["GuildChannel"]]]}],"returns":[[["boolean"]]],"meta":{"line":391,"file":"GuildChannel.js","path":"src/structures"}},{"name":"delete","description":"Deletes this channel.","inherits":"GuildChannel#delete","inherited":true,"examples":["// Delete the channel\nchannel.delete('making room for new channels')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"reason","description":"Reason for deleting this channel","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":462,"file":"GuildChannel.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the channel's mention instead of the Channel object.","inherits":"Channel#toString","inherited":true,"examples":["// Logs: Hello from <#123456789012345678>!\nconsole.log(`Hello from ${channel}!`);"],"returns":[[["string"]]],"meta":{"line":129,"file":"Channel.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this channel.","inherits":"Channel#fetch","inherited":true,"params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":152,"file":"Channel.js","path":"src/structures"}},{"name":"isText","description":"Indicates whether this channel is {@link TextBasedChannels text-based}.","inherits":"Channel#isText","inherited":true,"returns":[[["boolean"]]],"meta":{"line":160,"file":"Channel.js","path":"src/structures"}},{"name":"isVoice","description":"Indicates whether this channel is {@link BaseGuildVoiceChannel voice-based}.","inherits":"Channel#isVoice","inherited":true,"returns":[[["boolean"]]],"meta":{"line":168,"file":"Channel.js","path":"src/structures"}},{"name":"isThread","description":"Indicates whether this channel is a {@link ThreadChannel}.","inherits":"Channel#isThread","inherited":true,"returns":[[["boolean"]]],"meta":{"line":176,"file":"Channel.js","path":"src/structures"}},{"name":"isDirectory","description":"Indicates whether this channel is a {@link DirectoryChannel}","inherits":"Channel#isDirectory","inherited":true,"returns":[[["boolean"]]],"meta":{"line":184,"file":"Channel.js","path":"src/structures"}}],"meta":{"line":9,"file":"CategoryChannel.js","path":"src/structures"}},{"name":"Channel","description":"Represents any channel on Discord.","extends":[[["Base"]]],"abstract":true,"props":[{"name":"type","description":"The type of the channel","type":[[["ChannelType"]]],"meta":{"line":41,"file":"Channel.js","path":"src/structures"}},{"name":"id","description":"The channel's id","type":[[["Snowflake"]]],"meta":{"line":51,"file":"Channel.js","path":"src/structures"}},{"name":"flags","description":"The flags that are applied to the channel.","nullable":true,"type":[[["Readonly","<"],["ChannelFlags",">"]]],"meta":{"line":58,"file":"Channel.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the channel was created at","readonly":true,"type":[[["number"]]],"meta":{"line":69,"file":"Channel.js","path":"src/structures"}},{"name":"createdAt","description":"The time the channel was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":78,"file":"Channel.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":87,"file":"Channel.js","path":"src/structures"}},{"name":"partial","description":"Whether this Channel is a partial\nThis is always false outside of DM channels.","readonly":true,"type":[[["boolean"]]],"meta":{"line":118,"file":"Channel.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"toString","description":"When concatenated with a string, this automatically returns the channel's mention instead of the Channel object.","examples":["// Logs: Hello from <#123456789012345678>!\nconsole.log(`Hello from ${channel}!`);"],"returns":[[["string"]]],"meta":{"line":129,"file":"Channel.js","path":"src/structures"}},{"name":"delete","description":"Deletes this channel.","examples":["// Delete the channel\nchannel.delete()\n .then(console.log)\n .catch(console.error);"],"async":true,"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":142,"file":"Channel.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this channel.","params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":152,"file":"Channel.js","path":"src/structures"}},{"name":"isText","description":"Indicates whether this channel is {@link TextBasedChannels text-based}.","returns":[[["boolean"]]],"meta":{"line":160,"file":"Channel.js","path":"src/structures"}},{"name":"isVoice","description":"Indicates whether this channel is {@link BaseGuildVoiceChannel voice-based}.","returns":[[["boolean"]]],"meta":{"line":168,"file":"Channel.js","path":"src/structures"}},{"name":"isThread","description":"Indicates whether this channel is a {@link ThreadChannel}.","returns":[[["boolean"]]],"meta":{"line":176,"file":"Channel.js","path":"src/structures"}},{"name":"isDirectory","description":"Indicates whether this channel is a {@link DirectoryChannel}","returns":[[["boolean"]]],"meta":{"line":184,"file":"Channel.js","path":"src/structures"}}],"meta":{"line":32,"file":"Channel.js","path":"src/structures"}},{"name":"ClientPresence","description":"Represents the client's presence.","extends":[[["Presence"]]],"props":[{"name":"userId","description":"The presence's user id","type":[[["Snowflake"]]],"meta":{"line":50,"file":"Presence.js","path":"src/structures"}},{"name":"guild","description":"The guild this presence is in","nullable":true,"type":[[["Guild"]]],"meta":{"line":56,"file":"Presence.js","path":"src/structures"}},{"name":"user","description":"The user of this presence","readonly":true,"nullable":true,"type":[[["User"]]],"meta":{"line":66,"file":"Presence.js","path":"src/structures"}},{"name":"member","description":"The member of this presence","readonly":true,"nullable":true,"type":[[["GuildMember"]]],"meta":{"line":75,"file":"Presence.js","path":"src/structures"}},{"name":"status","description":"The status of this presence","type":[[["PresenceStatus"]]],"meta":{"line":85,"file":"Presence.js","path":"src/structures"}},{"name":"activities","description":"The activities of this presence (Always `Activity[]` if not ClientUser)","type":[[["Array","<"],["CustomStatus",">"]],[["Array","<"],["RichPresence",">"]],[["Array","<"],["SpotifyRPC",">"]],[["Array","<"],["Activity",">"]]],"meta":{"line":95,"file":"Presence.js","path":"src/structures"}},{"name":"clientStatus","description":"The devices this presence is on","nullable":true,"type":[[["Object"]]],"props":[{"name":"web","description":"The current presence in the web application","nullable":true,"type":[[["ClientPresenceStatus"]]]},{"name":"mobile","description":"The current presence in the mobile application","nullable":true,"type":[[["ClientPresenceStatus"]]]},{"name":"desktop","description":"The current presence in the desktop application","nullable":true,"type":[[["ClientPresenceStatus"]]]}],"meta":{"line":120,"file":"Presence.js","path":"src/structures"}},{"name":"lastModified","description":"The timestamp this presence was last updated","type":[[["number"]]],"meta":{"line":130,"file":"Presence.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"set","description":"Sets the client's presence","params":[{"name":"presence","description":"The data to set the presence to","type":[[["PresenceData"]]]}],"returns":[[["ClientPresence"]]],"meta":{"line":23,"file":"ClientPresence.js","path":"src/structures"}},{"name":"_parse","description":"Parses presence data into a packet ready to be sent to Discord","access":"private","params":[{"name":"presence","description":"The data to parse","type":[[["PresenceData"]]]}],"returns":[[["APIPresence"]]],"meta":{"line":37,"file":"ClientPresence.js","path":"src/structures"}},{"name":"equals","description":"Whether this presence is equal to another.","inherits":"Presence#equals","inherited":true,"params":[{"name":"presence","description":"The presence to compare with","type":[[["Presence"]]]}],"returns":[[["boolean"]]],"meta":{"line":159,"file":"Presence.js","path":"src/structures"}}],"meta":{"line":13,"file":"ClientPresence.js","path":"src/structures"}},{"name":"ClientUser","description":"Represents the logged in client's Discord user.","extends":[[["User"]]],"props":[{"name":"verified","description":"Whether or not this account has been verified","type":[[["boolean"]]],"meta":{"line":32,"file":"ClientUser.js","path":"src/structures"}},{"name":"mfaEnabled","description":"If the bot's {@link Application#owner Owner} has MFA enabled on their account","nullable":true,"type":[[["boolean"]]],"meta":{"line":40,"file":"ClientUser.js","path":"src/structures"}},{"name":"purchasedFlags","description":"Purchased state of the client user.","type":[[["Readonly","<"],["PurchasedFlags",">"]]],"meta":{"line":52,"file":"ClientUser.js","path":"src/structures"}},{"name":"premiumUsageFlags","description":"Premium usage state of the client user.","type":[[["Readonly","<"],["PremiumUsageFlags",">"]]],"meta":{"line":62,"file":"ClientUser.js","path":"src/structures"}},{"name":"phone","description":"Phone number of the client user.","nullable":true,"type":[[["string"]]],"meta":{"line":72,"file":"ClientUser.js","path":"src/structures"}},{"name":"nsfwAllowed","description":"Whether or not the client user is allowed to send NSFW messages [iOS device].","nullable":true,"type":[[["boolean"]]],"meta":{"line":80,"file":"ClientUser.js","path":"src/structures"}},{"name":"email","description":"Email address of the client user.","nullable":true,"type":[[["string"]]],"meta":{"line":88,"file":"ClientUser.js","path":"src/structures"}},{"name":"bio","description":"About me (User)\nThe user must be force fetched for this property to be present or be updated","nullable":true,"type":[[["string"]]],"meta":{"line":97,"file":"ClientUser.js","path":"src/structures"}},{"name":"pronouns","description":"Pronouns (User)\nThe user must be force fetched for this property to be present or be updated","nullable":true,"type":[[["string"]]],"meta":{"line":106,"file":"ClientUser.js","path":"src/structures"}},{"name":"premiumType","description":"Premium types denote the level of premium a user has.","see":["{@link https://discord-userdoccers.vercel.app/resources/user#premium-type}"],"type":[[["number"]]],"meta":{"line":115,"file":"ClientUser.js","path":"src/structures"}},{"name":"presence","description":"Represents the client user's presence","readonly":true,"type":[[["ClientPresence"]]],"meta":{"line":124,"file":"ClientUser.js","path":"src/structures"}},{"name":"id","description":"The user's id","type":[[["Snowflake"]]],"meta":{"line":25,"file":"User.js","path":"src/structures"}},{"name":"username","description":"The username of the user","nullable":true,"type":[[["string"]]],"meta":{"line":42,"file":"User.js","path":"src/structures"}},{"name":"globalName","description":"The global name of this user","nullable":true,"type":[[["string"]]],"meta":{"line":52,"file":"User.js","path":"src/structures"}},{"name":"bot","description":"Whether or not the user is a bot","nullable":true,"type":[[["boolean"]]],"meta":{"line":62,"file":"User.js","path":"src/structures"}},{"name":"discriminator","description":"The discriminator of this user\n`'0'`, or a 4-digit stringified number if they're using the legacy username system","nullable":true,"type":[[["string"]]],"meta":{"line":73,"file":"User.js","path":"src/structures"}},{"name":"avatar","description":"The user avatar's hash","nullable":true,"type":[[["string"]]],"meta":{"line":83,"file":"User.js","path":"src/structures"}},{"name":"banner","description":"The user banner's hash\nThe user must be force fetched for this property to be present or be updated","nullable":true,"type":[[["string"]]],"meta":{"line":94,"file":"User.js","path":"src/structures"}},{"name":"bannerColor","description":"The user banner's hex\nThe user must be force fetched for this property to be present or be updated","nullable":true,"type":[[["string"]]],"meta":{"line":105,"file":"User.js","path":"src/structures"}},{"name":"accentColor","description":"The base 10 accent color of the user's banner\nThe user must be force fetched for this property to be present or be updated","nullable":true,"type":[[["number"]]],"meta":{"line":116,"file":"User.js","path":"src/structures"}},{"name":"system","description":"Whether the user is an Official Discord System user (part of the urgent message system)","nullable":true,"type":[[["boolean"]]],"meta":{"line":126,"file":"User.js","path":"src/structures"}},{"name":"flags","description":"The flags for this user","nullable":true,"type":[[["UserFlags"]]],"meta":{"line":136,"file":"User.js","path":"src/structures"}},{"name":"avatarDecoration","description":"The user avatar decoration's hash","nullable":true,"type":[[["string"]]],"meta":{"line":144,"file":"User.js","path":"src/structures"}},{"name":"avatarDecorationSKUId","description":"The ID of the avatar decoration's SKU","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":149,"file":"User.js","path":"src/structures"}},{"name":"clan","description":"The primary clan the user is in","nullable":true,"type":[[["UserClan"]]],"meta":{"line":169,"file":"User.js","path":"src/structures"}},{"name":"partial","description":"Whether this User is a partial","readonly":true,"type":[[["boolean"]]],"meta":{"line":185,"file":"User.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the user was created at","readonly":true,"type":[[["number"]]],"meta":{"line":194,"file":"User.js","path":"src/structures"}},{"name":"createdAt","description":"The time the user was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":203,"file":"User.js","path":"src/structures"}},{"name":"defaultAvatarURL","description":"A link to the user's default avatar","readonly":true,"type":[[["string"]]],"meta":{"line":241,"file":"User.js","path":"src/structures"}},{"name":"hexAccentColor","description":"The hexadecimal version of the user accent color, with a leading hash\nThe user must be force fetched for this property to be present","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":262,"file":"User.js","path":"src/structures"}},{"name":"tag","description":"The tag of this user\nThis user's username, or their legacy tag (e.g. `hydrabolt#0001`)\nif they're using the legacy username system","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":287,"file":"User.js","path":"src/structures"}},{"name":"displayName","description":"The global name of this user, or their username if they don't have one","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":300,"file":"User.js","path":"src/structures"}},{"name":"dmChannel","description":"The DM between the client's user and this user","readonly":true,"nullable":true,"type":[[["DMChannel"]]],"meta":{"line":309,"file":"User.js","path":"src/structures"}},{"name":"note","description":"The function returns the note associated with a specific client ID from a cache.","nullable":true,"type":[[["string"]]],"meta":{"line":454,"file":"User.js","path":"src/structures"}},{"name":"voice","description":"The voice state of this member","readonly":true,"type":[[["VoiceState"]]],"meta":{"line":463,"file":"User.js","path":"src/structures"}},{"name":"relationship","description":"Check relationship status (Client -> User)","readonly":true,"type":[[["RelationshipType"]]],"meta":{"line":507,"file":"User.js","path":"src/structures"}},{"name":"friendNickname","description":"Get friend nickname","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":517,"file":"User.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"edit","description":"Edits the logged in client.","params":[{"name":"options","description":"The new data","type":[[["ClientUserEditData"]]]}],"async":true,"returns":[[["Promise","<"],["ClientUser",">"]]],"meta":{"line":142,"file":"ClientUser.js","path":"src/structures"}},{"name":"setUsername","description":"Sets the username of the logged in client.\nChanging usernames in Discord is heavily rate limited, with only 2 requests\nevery hour. Use this sparingly!","examples":["// Set username\nclient.user.setUsername('discordjs', 'passw@rd')\n .then(user => console.log(`My new username is ${user.username}`))\n .catch(console.error);"],"params":[{"name":"username","description":"The new username","type":[[["string"]]]},{"name":"password","description":"Current Password","type":[[["string"]]]}],"returns":[[["Promise","<"],["ClientUser",">"]]],"meta":{"line":162,"file":"ClientUser.js","path":"src/structures"}},{"name":"setAvatar","description":"Sets the avatar of the logged in client.","examples":["// Set avatar\nclient.user.setAvatar('./avatar.png')\n .then(user => console.log(`New avatar set!`))\n .catch(console.error);"],"params":[{"name":"avatar","description":"The new avatar","nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]}],"async":true,"returns":[[["Promise","<"],["ClientUser",">"]]],"meta":{"line":176,"file":"ClientUser.js","path":"src/structures"}},{"name":"setPresence","description":"Sets the full presence of the client user.","see":["{@link https://github.com/aiko-chan-ai/discord.js-selfbot-v13/blob/main/Document/RichPresence.md}"],"examples":["// Set the client user's presence\nclient.user.setPresence({ activities: [{ name: 'with discord.js' }], status: 'idle' });"],"params":[{"name":"data","description":"Data for the presence","type":[[["PresenceData"]]]}],"returns":[[["ClientPresence"]]],"meta":{"line":208,"file":"ClientUser.js","path":"src/structures"}},{"name":"setStatus","description":"Sets the status of the client user.","examples":["// Set the client user's status\nclient.user.setStatus('idle');"],"params":[{"name":"status","description":"Status to change to","type":[[["PresenceStatusData"]]]},{"name":"shardId","description":"Shard id(s) to have the activity set on","optional":true,"type":[[["number"]],[["Array","<"],["number",">"]]]}],"returns":[[["ClientPresence"]]],"meta":{"line":230,"file":"ClientUser.js","path":"src/structures"}},{"name":"setActivity","description":"Sets the activity the client user is playing.","see":["{@link https://github.com/aiko-chan-ai/discord.js-selfbot-v13/blob/main/Document/RichPresence.md}"],"examples":["// Set the client user's activity\nclient.user.setActivity('discord.js', { type: 'WATCHING' });"],"params":[{"name":"name","description":"Activity being played, or options for setting the activity","type":[[["string"]],[["ActivityOptions"]]]},{"name":"options","description":"Options for setting the activity","optional":true,"type":[[["ActivityOptions"]]]}],"returns":[[["ClientPresence"]]],"meta":{"line":253,"file":"ClientUser.js","path":"src/structures"}},{"name":"setAFK","description":"Sets/removes the AFK flag for the client user.","params":[{"name":"afk","description":"Whether or not the user is AFK","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"shardId","description":"Shard Id(s) to have the AFK flag set on","optional":true,"type":[[["number"]],[["Array","<"],["number",">"]]]}],"returns":[[["ClientPresence"]]],"meta":{"line":266,"file":"ClientUser.js","path":"src/structures"}},{"name":"setBanner","description":"Sets the banner of the logged in client.","examples":["// Set banner\nclient.user.setBanner('./banner.png')\n .then(user => console.log(`New banner set!`))\n .catch(console.error);"],"params":[{"name":"banner","description":"The new banner","nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]}],"async":true,"returns":[[["Promise","<"],["ClientUser",">"]]],"meta":{"line":280,"file":"ClientUser.js","path":"src/structures"}},{"name":"setHypeSquad","description":"Set HyperSquad House","examples":["// Set HyperSquad HOUSE_BRAVERY\nclient.user.setHypeSquad(1); || client.user.setHypeSquad('HOUSE_BRAVERY');\n// Leave\nclient.user.setHypeSquad(0);"],"params":[{"name":"type","description":"* `LEAVE`: 0\n* `HOUSE_BRAVERY`: 1\n* `HOUSE_BRILLIANCE`: 2\n* `HOUSE_BALANCE`: 3","type":[[["string"]],[["number"]]]}],"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":299,"file":"ClientUser.js","path":"src/structures"}},{"name":"setAccentColor","description":"Set Accent color","params":[{"name":"color","description":"Color to set","default":null,"type":[[["ColorResolvable"]]]}],"returns":[[["Promise","<"],["ClientUser",">"]]],"meta":{"line":332,"file":"ClientUser.js","path":"src/structures"}},{"name":"setAboutMe","description":"Set About me","params":[{"name":"bio","description":"Bio to set","optional":true,"default":null,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ClientUser",">"]]],"meta":{"line":341,"file":"ClientUser.js","path":"src/structures"}},{"name":"createFriendInvite","description":"Create an invite [Friend Invites]\nmaxAge: 604800 | maxUses: 1","see":["{@link https://github.com/13-05/hidden-disc-docs#js-snippet-for-creating-friend-invites}"],"examples":["// Options not working\nclient.user.createFriendInvite();\n .then(console.log)\n .catch(console.error);"],"async":true,"returns":[[["Promise","<"],["Invite",">"]]],"meta":{"line":356,"file":"ClientUser.js","path":"src/structures"}},{"name":"getAllFriendInvites","description":"Get all friend invites","async":true,"returns":[[["Promise","<"],["Collection","<"],["string",", "],["Invite",">>"]]],"meta":{"line":367,"file":"ClientUser.js","path":"src/structures"}},{"name":"revokeAllFriendInvites","description":"Revoke all friend invites","returns":[[["Promise","<"],["void",">"]]],"meta":{"line":380,"file":"ClientUser.js","path":"src/structures"}},{"name":"setSamsungActivity","description":"Sets Discord Playing status to \"Playing on Samsung Galaxy\". Only selected gamss from discords database works","examples":["// Set the client user's status\nclient.user.setSamsungActivity('com.YostarJP.BlueArchive', 'START');\n// Update\nclient.user.setSamsungActivity('com.miHoYo.bh3oversea', 'UPDATE');\n// Stop\nclient.user.setSamsungActivity('com.miHoYo.GenshinImpact', 'STOP');"],"params":[{"name":"packageName","description":"Android package name","type":[[["string"]]]},{"name":"type","description":"Must be START, UPDATE, or STOP","default":"START","nullable":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["ClientUser",">"]]],"meta":{"line":397,"file":"ClientUser.js","path":"src/structures"}},{"name":"stopRinging","description":"Stop ringing","params":[{"name":"channel","description":"DMChannel | GroupDMChannel","type":[[["ChannelResolvable"]]]}],"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":417,"file":"ClientUser.js","path":"src/structures"}},{"name":"fetchBurstCredit","description":"Super Reactions","returns":[[["Promise","<"],["number",">"]]],"meta":{"line":427,"file":"ClientUser.js","path":"src/structures"}},{"name":"setGlobalName","description":"Set global display name","params":[{"name":"globalName","description":"The new display name","type":[[["string"]]]}],"returns":[[["Promise","<"],["ClientUser",">"]]],"meta":{"line":436,"file":"ClientUser.js","path":"src/structures"}},{"name":"setPronouns","description":"Set pronouns","params":[{"name":"pronouns","description":"Your pronouns","nullable":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ClientUser",">"]]],"meta":{"line":445,"file":"ClientUser.js","path":"src/structures"}},{"name":"avatarURL","description":"A link to the user's avatar.","inherits":"User#avatarURL","inherited":true,"params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["ImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":212,"file":"User.js","path":"src/structures"}},{"name":"avatarDecorationURL","description":"A link to the user's avatar decoration.","inherits":"User#avatarDecorationURL","inherited":true,"params":[{"name":"options","description":"Options for the image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":222,"file":"User.js","path":"src/structures"}},{"name":"clanBadgeURL","description":"A link to the user's clan badge.","inherits":"User#clanBadgeURL","inherited":true,"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":231,"file":"User.js","path":"src/structures"}},{"name":"displayAvatarURL","description":"A link to the user's avatar if they have one.\nOtherwise a link to their default avatar will be returned.","inherits":"User#displayAvatarURL","inherited":true,"params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["ImageURLOptions"]]]}],"returns":[[["string"]]],"meta":{"line":252,"file":"User.js","path":"src/structures"}},{"name":"bannerURL","description":"A link to the user's banner.\nThis method will throw an error if called before the user is force fetched.\nSee {@link User#banner} for more info","inherits":"User#bannerURL","inherited":true,"params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["ImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":274,"file":"User.js","path":"src/structures"}},{"name":"createDM","description":"Creates a DM channel between the client and the user.","inherits":"User#createDM","inherited":true,"params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["DMChannel",">"]]],"meta":{"line":318,"file":"User.js","path":"src/structures"}},{"name":"deleteDM","description":"Deletes a DM channel (if one exists) between the client and the user. Resolves with the channel if successful.","inherits":"User#deleteDM","inherited":true,"returns":[[["Promise","<"],["DMChannel",">"]]],"meta":{"line":326,"file":"User.js","path":"src/structures"}},{"name":"equals","description":"Checks if the user is equal to another.\nIt compares id, username, discriminator, avatar, banner, accent color, and bot flags.\nIt is recommended to compare equality by using `user.id === user2.id` unless you want to compare all properties.","inherits":"User#equals","inherited":true,"params":[{"name":"user","description":"User to compare with","type":[[["User"]]]}],"returns":[[["boolean"]]],"meta":{"line":337,"file":"User.js","path":"src/structures"}},{"name":"_equals","description":"Compares the user with an API user object","access":"private","inherits":"User#_equals","inherited":true,"params":[{"name":"user","description":"The API user object to compare","type":[[["APIUser"]]]}],"returns":[[["boolean"]]],"meta":{"line":357,"file":"User.js","path":"src/structures"}},{"name":"fetchFlags","description":"Fetches this user's flags.","inherits":"User#fetchFlags","inherited":true,"params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["UserFlags",">"]]],"meta":{"line":376,"file":"User.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this user.","inherits":"User#fetch","inherited":true,"params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["User",">"]]],"meta":{"line":385,"file":"User.js","path":"src/structures"}},{"name":"getProfile","description":"Returns a user profile object for a given user ID.\nThis endpoint requires one of the following:\n- The user is a bot\n- The user shares a mutual guild with the current user\n- The user is a friend of the current user\n- The user is a friend suggestion of the current user\n- The user has an outgoing friend request to the current user","see":["{@link https://discord-userdoccers.vercel.app/resources/user#response-body}"],"inherits":"User#getProfile","inherited":true,"params":[{"name":"guildId","description":"The guild ID to get the user's member profile in","optional":true,"type":[[["Snowflake"]]]}],"returns":[[["Promise","<"],["Object",">"]]],"meta":{"line":401,"file":"User.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the user's mention instead of the User object.","inherits":"User#toString","inherited":true,"examples":["// Logs: Hello from <@123456789012345678>!\nconsole.log(`Hello from ${user}!`);"],"returns":[[["string"]]],"meta":{"line":419,"file":"User.js","path":"src/structures"}},{"name":"setNote","description":"The function updates the note of a user and returns the updated user.","inherits":"User#setNote","inherited":true,"params":[{"name":"note","description":"The `note` parameter is the new value that you want to set for the note of the\nuser. It is an optional parameter and its default value is `null`.","optional":true,"default":null,"type":[[["string"]],[["null"]],[["undefined"]]]}],"async":true,"returns":{"types":[[["Promise","<"],["User",">"]]],"description":"The `setNote` method is returning the `User` object."},"meta":{"line":445,"file":"User.js","path":"src/structures"}},{"name":"ring","description":"Ring the user's phone / PC (call)","inherits":"User#ring","inherited":true,"deprecated":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":476,"file":"User.js","path":"src/structures"}},{"name":"sendFriendRequest","description":"Send Friend Request to the user","inherits":"User#sendFriendRequest","inherited":true,"returns":[[["Promise","<"],["boolean",">"]]],"meta":{"line":489,"file":"User.js","path":"src/structures"}},{"name":"deleteRelationship","description":"Unblock / Unfriend / Cancels a friend request","inherits":"User#deleteRelationship","inherited":true,"returns":[[["Promise","<"],["boolean",">"]]],"meta":{"line":498,"file":"User.js","path":"src/structures"}},{"name":"send","description":"Sends a message to this user.","inherits":"User#send","inherited":true,"implements":["TextBasedChannel#send"],"examples":["// Send a direct message\nuser.send('Hello!')\n .then(message => console.log(`Sent message: ${message.content} to ${user.tag}`))\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["MessageOptions"]]]}],"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":522,"file":"User.js","path":"src/structures"}}],"meta":{"line":16,"file":"ClientUser.js","path":"src/structures"}},{"name":"CommandInteraction","description":"Represents a command interaction.","extends":[[["BaseCommandInteraction"]]],"props":[{"name":"options","description":"The options passed to the command.","type":[[["CommandInteractionOptionResolver"]]],"meta":{"line":18,"file":"CommandInteraction.js","path":"src/structures"}},{"name":"channelId","description":"The id of the channel this interaction was sent in","type":[[["Snowflake"]]],"meta":{"line":20,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"commandId","description":"The invoked application command's id","type":[[["Snowflake"]]],"meta":{"line":30,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"commandName","description":"The invoked application command's name","type":[[["string"]]],"meta":{"line":36,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"deferred","description":"Whether the reply to this interaction has been deferred","type":[[["boolean"]]],"meta":{"line":42,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"replied","description":"Whether this interaction has already been replied to","type":[[["boolean"]]],"meta":{"line":48,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"ephemeral","description":"Whether the reply to this interaction is ephemeral","nullable":true,"type":[[["boolean"]]],"meta":{"line":54,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"webhook","description":"An associated interaction webhook, can be used to further interact with this interaction","type":[[["InteractionWebhook"]]],"meta":{"line":60,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"command","description":"The invoked application command, if it was fetched before","nullable":true,"type":[[["ApplicationCommand"]]],"meta":{"line":67,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"type","description":"The interaction's type","type":[[["InteractionType"]]],"meta":{"line":20,"file":"Interaction.js","path":"src/structures"}},{"name":"id","description":"The interaction's id","type":[[["Snowflake"]]],"meta":{"line":26,"file":"Interaction.js","path":"src/structures"}},{"name":"token","description":"The interaction's token","readonly":true,"type":[[["string"]]],"meta":{"line":28,"file":"Interaction.js","path":"src/structures"}},{"name":"applicationId","description":"The application's id","type":[[["Snowflake"]]],"meta":{"line":40,"file":"Interaction.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild this interaction was sent in","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":52,"file":"Interaction.js","path":"src/structures"}},{"name":"user","description":"The user which sent this interaction","type":[[["User"]]],"meta":{"line":58,"file":"Interaction.js","path":"src/structures"}},{"name":"member","description":"If this interaction was sent in a guild, the member which sent it","nullable":true,"type":[[["GuildMember"]],[["APIGuildMember"]]],"meta":{"line":64,"file":"Interaction.js","path":"src/structures"}},{"name":"version","description":"The version","type":[[["number"]]],"meta":{"line":70,"file":"Interaction.js","path":"src/structures"}},{"name":"appPermissions","description":"Set of permissions the application or bot has within the channel the interaction was sent from","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":76,"file":"Interaction.js","path":"src/structures"}},{"name":"memberPermissions","description":"The permissions of the member, if one exists, in the channel this interaction was executed in","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":82,"file":"Interaction.js","path":"src/structures"}},{"name":"locale","description":"The locale of the user who invoked this interaction","type":[[["Locale"]]],"meta":{"line":124,"file":"Interaction.js","path":"src/structures"}},{"name":"guildLocale","description":"The preferred locale from the guild this interaction was sent in","nullable":true,"type":[[["Locale"]]],"meta":{"line":130,"file":"Interaction.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the interaction was created at","readonly":true,"type":[[["number"]]],"meta":{"line":138,"file":"Interaction.js","path":"src/structures"}},{"name":"createdAt","description":"The time the interaction was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":147,"file":"Interaction.js","path":"src/structures"}},{"name":"channel","description":"The channel this interaction was sent in","readonly":true,"nullable":true,"type":[[["TextBasedChannels"]]],"meta":{"line":156,"file":"Interaction.js","path":"src/structures"}},{"name":"guild","description":"The guild this interaction was sent in","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":165,"file":"Interaction.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"toString","description":"Returns a string representation of the command interaction.\nThis can then be copied by a user and executed again in a new command while keeping the option order.","returns":[[["string"]]],"meta":{"line":30,"file":"CommandInteraction.js","path":"src/structures"}},{"name":"transformResolved","description":"Transforms the resolved received from the API.","access":"private","inherits":"BaseCommandInteraction#transformResolved","inherited":true,"params":[{"name":"resolved","description":"The received resolved objects","type":[[["APIInteractionDataResolved"]]]}],"returns":[[["CommandInteractionResolvedData"]]],"meta":{"line":89,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"transformOption","description":"Transforms an option received from the API.","access":"private","inherits":"BaseCommandInteraction#transformOption","inherited":true,"params":[{"name":"option","description":"The received option","type":[[["APIApplicationCommandOption"]]]},{"name":"resolved","description":"The resolved interaction data","type":[[["APIInteractionDataResolved"]]]}],"returns":[[["CommandInteractionOption"]]],"meta":{"line":162,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"deferReply","description":"Defers the reply to this interaction.","inherits":"BaseCommandInteraction#deferReply","inherited":true,"implements":["InteractionResponses#deferReply"],"examples":["// Defer the reply to this interaction\ninteraction.deferReply()\n .then(console.log)\n .catch(console.error)","// Defer to send an ephemeral reply later\ninteraction.deferReply({ ephemeral: true })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for deferring the reply to this interaction","optional":true,"type":[[["InteractionDeferReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":58,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"reply","description":"Creates a reply to this interaction.\nUse the `fetchReply` option to get the bot's reply message.","inherits":"BaseCommandInteraction#reply","inherited":true,"implements":["InteractionResponses#reply"],"examples":["// Reply to the interaction and fetch the response\ninteraction.reply({ content: 'Pong!', fetchReply: true })\n .then((message) => console.log(`Reply sent with content ${message.content}`))\n .catch(console.error);","// Create an ephemeral reply with an embed\nconst embed = new MessageEmbed().setDescription('Pong!');\n\ninteraction.reply({ embeds: [embed], ephemeral: true })\n .then(() => console.log('Reply sent.'))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":93,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"fetchReply","description":"Fetches a reply to this interaction.","see":["Webhook#fetchMessage"],"inherits":"BaseCommandInteraction#fetchReply","inherited":true,"implements":["InteractionResponses#fetchReply"],"examples":["// Fetch the initial reply to this interaction\ninteraction.fetchReply()\n .then(reply => console.log(`Replied with ${reply.content}`))\n .catch(console.error);"],"params":[{"name":"message","description":"The response to fetch","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":127,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"editReply","description":"Edits a reply to this interaction.","see":["Webhook#editMessage"],"inherits":"BaseCommandInteraction#editReply","inherited":true,"implements":["InteractionResponses#editReply"],"examples":["// Edit the initial reply to this interaction\ninteraction.editReply('New content')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The new options for the message","type":[[["string"]],[["MessagePayload"]],[["InteractionEditReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":148,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"deleteReply","description":"Deletes a reply to this interaction.","see":["Webhook#deleteMessage"],"inherits":"BaseCommandInteraction#deleteReply","inherited":true,"implements":["InteractionResponses#deleteReply"],"examples":["// Delete the initial reply to this interaction\ninteraction.deleteReply()\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"message","description":"The response to delete","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":166,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"followUp","description":"Send a follow-up message to this interaction.","inherits":"BaseCommandInteraction#followUp","inherited":true,"implements":["InteractionResponses#followUp"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":175,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"showModal","description":"Shows a modal component","inherits":"BaseCommandInteraction#showModal","inherited":true,"implements":["InteractionResponses#showModal"],"params":[{"name":"modal","description":"The modal to show","type":[[["Modal"]],[["ModalOptions"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":243,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"awaitModalSubmit","description":"Collects a single modal submit interaction that passes the filter.\nThe Promise will reject if the time expires.","inherits":"BaseCommandInteraction#awaitModalSubmit","inherited":true,"implements":["InteractionResponses#awaitModalSubmit"],"examples":["// Collect a modal submit interaction\nconst filter = (interaction) => interaction.customId === 'modal';\ninteraction.awaitModalSubmit({ filter, time: 15_000 })\n .then(interaction => console.log(`${interaction.customId} was submitted!`))\n .catch(console.error);"],"params":[{"name":"options","description":"Options to pass to the internal collector","type":[[["AwaitModalSubmitOptions"]]]}],"returns":[[["Promise","<"],["ModalSubmitInteraction",">"]]],"meta":{"line":275,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"inGuild","description":"Indicates whether this interaction is received from a guild.","inherits":"Interaction#inGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":173,"file":"Interaction.js","path":"src/structures"}},{"name":"inCachedGuild","description":"Indicates whether or not this interaction is both cached and received from a guild.","inherits":"Interaction#inCachedGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":181,"file":"Interaction.js","path":"src/structures"}},{"name":"inRawGuild","description":"Indicates whether or not this interaction is received from an uncached guild.","inherits":"Interaction#inRawGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":189,"file":"Interaction.js","path":"src/structures"}},{"name":"isApplicationCommand","description":"Indicates whether this interaction is a {@link BaseCommandInteraction}.","inherits":"Interaction#isApplicationCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":197,"file":"Interaction.js","path":"src/structures"}},{"name":"isCommand","description":"Indicates whether this interaction is a {@link CommandInteraction}.","inherits":"Interaction#isCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":205,"file":"Interaction.js","path":"src/structures"}},{"name":"isContextMenu","description":"Indicates whether this interaction is a {@link ContextMenuInteraction}","inherits":"Interaction#isContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":213,"file":"Interaction.js","path":"src/structures"}},{"name":"isModalSubmit","description":"Indicates whether this interaction is a {@link ModalSubmitInteraction}","inherits":"Interaction#isModalSubmit","inherited":true,"returns":[[["boolean"]]],"meta":{"line":221,"file":"Interaction.js","path":"src/structures"}},{"name":"isUserContextMenu","description":"Indicates whether this interaction is a {@link UserContextMenuInteraction}","inherits":"Interaction#isUserContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":229,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageContextMenu","description":"Indicates whether this interaction is a {@link MessageContextMenuInteraction}","inherits":"Interaction#isMessageContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":237,"file":"Interaction.js","path":"src/structures"}},{"name":"isAutocomplete","description":"Indicates whether this interaction is an {@link AutocompleteInteraction}","inherits":"Interaction#isAutocomplete","inherited":true,"returns":[[["boolean"]]],"meta":{"line":245,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageComponent","description":"Indicates whether this interaction is a {@link MessageComponentInteraction}.","inherits":"Interaction#isMessageComponent","inherited":true,"returns":[[["boolean"]]],"meta":{"line":253,"file":"Interaction.js","path":"src/structures"}},{"name":"isButton","description":"Indicates whether this interaction is a {@link ButtonInteraction}.","inherits":"Interaction#isButton","inherited":true,"returns":[[["boolean"]]],"meta":{"line":261,"file":"Interaction.js","path":"src/structures"}},{"name":"isSelectMenu","description":"Indicates whether this interaction is a {@link SelectMenuInteraction}.","inherits":"Interaction#isSelectMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":272,"file":"Interaction.js","path":"src/structures"}},{"name":"isRepliable","description":"Indicates whether this interaction can be replied to.","inherits":"Interaction#isRepliable","inherited":true,"returns":[[["boolean"]]],"meta":{"line":283,"file":"Interaction.js","path":"src/structures"}}],"meta":{"line":10,"file":"CommandInteraction.js","path":"src/structures"}},{"name":"CommandInteractionOptionResolver","description":"A resolver for command interaction options.","props":[{"name":"client","description":"The client that instantiated this.","readonly":true,"type":[[["Client"]]],"meta":{"line":10,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"_group","description":"The name of the subcommand group.","access":"private","nullable":true,"type":[[["string"]]],"meta":{"line":23,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"_subcommand","description":"The name of the subcommand.","access":"private","nullable":true,"type":[[["string"]]],"meta":{"line":30,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"_hoistedOptions","description":"The bottom-level options for the interaction.\nIf there is a subcommand (or subcommand and group), this is the options for the subcommand.","access":"private","type":[[["Array","<"],["CommandInteractionOption",">"]]],"meta":{"line":38,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"data","description":"The interaction options array.","readonly":true,"type":[[["ReadonlyArray","<"],["CommandInteractionOption",">"]]],"meta":{"line":51,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"resolved","description":"The interaction resolved data","type":[[["Readonly","<"],["CommandInteractionResolvedData",">"]]],"meta":{"line":59,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}}],"methods":[{"name":"get","description":"Gets an option by its name.","params":[{"name":"name","description":"The name of the option.","type":[[["string"]]]},{"name":"required","description":"Whether to throw an error if the option is not found.","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":{"types":[[["CommandInteractionOption"]]],"description":"The option, if found.","nullable":true},"meta":{"line":73,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"_getTypedOption","description":"Gets an option by name and property and checks its type.","access":"private","params":[{"name":"name","description":"The name of the option.","type":[[["string"]]]},{"name":"type","description":"The type of the option.","type":[[["ApplicationCommandOptionType"]]]},{"name":"properties","description":"The properties to check for for `required`.","type":[[["Array","<"],["string",">"]]]},{"name":"required","description":"Whether to throw an error if the option is not found.","type":[[["boolean"]]]}],"returns":{"types":[[["CommandInteractionOption"]]],"description":"The option, if found.","nullable":true},"meta":{"line":93,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"getSubcommand","description":"Gets the selected subcommand.","params":[{"name":"required","description":"Whether to throw an error if there is no subcommand.","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":{"types":[[["string"]]],"description":"The name of the selected subcommand, or null if not set and not required.","nullable":true},"meta":{"line":110,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"getSubcommandGroup","description":"Gets the selected subcommand group.","params":[{"name":"required","description":"Whether to throw an error if there is no subcommand group.","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":{"types":[[["string"]]],"description":"The name of the selected subcommand group, or null if not set and not required.","nullable":true},"meta":{"line":122,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"getBoolean","description":"Gets a boolean option.","params":[{"name":"name","description":"The name of the option.","type":[[["string"]]]},{"name":"required","description":"Whether to throw an error if the option is not found.","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":{"types":[[["boolean"]]],"description":"The value of the option, or null if not set and not required.","nullable":true},"meta":{"line":135,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"getChannel","description":"Gets a channel option.","params":[{"name":"name","description":"The name of the option.","type":[[["string"]]]},{"name":"required","description":"Whether to throw an error if the option is not found.","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":{"types":[[["GuildChannel"]],[["ThreadChannel"]],[["APIChannel"]]],"description":"The value of the option, or null if not set and not required.","nullable":true},"meta":{"line":147,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"getString","description":"Gets a string option.","params":[{"name":"name","description":"The name of the option.","type":[[["string"]]]},{"name":"required","description":"Whether to throw an error if the option is not found.","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":{"types":[[["string"]]],"description":"The value of the option, or null if not set and not required.","nullable":true},"meta":{"line":158,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"getInteger","description":"Gets an integer option.","params":[{"name":"name","description":"The name of the option.","type":[[["string"]]]},{"name":"required","description":"Whether to throw an error if the option is not found.","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":{"types":[[["number"]]],"description":"The value of the option, or null if not set and not required.","nullable":true},"meta":{"line":169,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"getNumber","description":"Gets a number option.","params":[{"name":"name","description":"The name of the option.","type":[[["string"]]]},{"name":"required","description":"Whether to throw an error if the option is not found.","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":{"types":[[["number"]]],"description":"The value of the option, or null if not set and not required.","nullable":true},"meta":{"line":180,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"getUser","description":"Gets a user option.","params":[{"name":"name","description":"The name of the option.","type":[[["string"]]]},{"name":"required","description":"Whether to throw an error if the option is not found.","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":{"types":[[["User"]]],"description":"The value of the option, or null if not set and not required.","nullable":true},"meta":{"line":191,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"getMember","description":"Gets a member option.","params":[{"name":"name","description":"The name of the option.","type":[[["string"]]]},{"name":"required","description":"Whether to throw an error if the option is not found.","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":{"types":[[["GuildMember"]],[["APIGuildMember"]]],"description":"The value of the option, or null if not set and not required.","nullable":true},"meta":{"line":203,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"getRole","description":"Gets a role option.","params":[{"name":"name","description":"The name of the option.","type":[[["string"]]]},{"name":"required","description":"Whether to throw an error if the option is not found.","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":{"types":[[["Role"]],[["APIRole"]]],"description":"The value of the option, or null if not set and not required.","nullable":true},"meta":{"line":214,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"getMentionable","description":"Gets a mentionable option.","params":[{"name":"name","description":"The name of the option.","type":[[["string"]]]},{"name":"required","description":"Whether to throw an error if the option is not found.","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":{"types":[[["User"]],[["GuildMember"]],[["APIGuildMember"]],[["Role"]],[["APIRole"]]],"description":"The value of the option, or null if not set and not required.","nullable":true},"meta":{"line":226,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"getMessage","description":"Gets a message option.","params":[{"name":"name","description":"The name of the option.","type":[[["string"]]]},{"name":"required","description":"Whether to throw an error if the option is not found.","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":{"types":[[["Message"]],[["APIMessage"]]],"description":"The value of the option, or null if not set and not required.","nullable":true},"meta":{"line":238,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"getFocused","description":"Gets the focused option.","params":[{"name":"getFull","description":"Whether to get the full option object","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":{"types":[[["string"]],[["AutocompleteFocusedOption"]]],"description":"The value of the option, or the whole option if getFull is true"},"meta":{"line":258,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"getAttachment","description":"Gets an attachment option.","params":[{"name":"name","description":"The name of the option.","type":[[["string"]]]},{"name":"required","description":"Whether to throw an error if the option is not found.","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":{"types":[[["MessageAttachment"]]],"description":"The value of the option, or null if not set and not required.","nullable":true},"meta":{"line":270,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}}],"meta":{"line":8,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"ContextMenuInteraction","description":"Represents a context menu interaction.","extends":[[["BaseCommandInteraction"]]],"props":[{"name":"options","description":"The target of the interaction, parsed into options","type":[[["CommandInteractionOptionResolver"]]],"meta":{"line":18,"file":"ContextMenuInteraction.js","path":"src/structures"}},{"name":"targetId","description":"The id of the target of this interaction","type":[[["Snowflake"]]],"meta":{"line":28,"file":"ContextMenuInteraction.js","path":"src/structures"}},{"name":"targetType","description":"The type of the target of the interaction; either USER or MESSAGE","type":[[["ApplicationCommandType"]]],"meta":{"line":34,"file":"ContextMenuInteraction.js","path":"src/structures"}},{"name":"channelId","description":"The id of the channel this interaction was sent in","type":[[["Snowflake"]]],"meta":{"line":20,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"commandId","description":"The invoked application command's id","type":[[["Snowflake"]]],"meta":{"line":30,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"commandName","description":"The invoked application command's name","type":[[["string"]]],"meta":{"line":36,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"deferred","description":"Whether the reply to this interaction has been deferred","type":[[["boolean"]]],"meta":{"line":42,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"replied","description":"Whether this interaction has already been replied to","type":[[["boolean"]]],"meta":{"line":48,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"ephemeral","description":"Whether the reply to this interaction is ephemeral","nullable":true,"type":[[["boolean"]]],"meta":{"line":54,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"webhook","description":"An associated interaction webhook, can be used to further interact with this interaction","type":[[["InteractionWebhook"]]],"meta":{"line":60,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"command","description":"The invoked application command, if it was fetched before","nullable":true,"type":[[["ApplicationCommand"]]],"meta":{"line":67,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"type","description":"The interaction's type","type":[[["InteractionType"]]],"meta":{"line":20,"file":"Interaction.js","path":"src/structures"}},{"name":"id","description":"The interaction's id","type":[[["Snowflake"]]],"meta":{"line":26,"file":"Interaction.js","path":"src/structures"}},{"name":"token","description":"The interaction's token","readonly":true,"type":[[["string"]]],"meta":{"line":28,"file":"Interaction.js","path":"src/structures"}},{"name":"applicationId","description":"The application's id","type":[[["Snowflake"]]],"meta":{"line":40,"file":"Interaction.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild this interaction was sent in","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":52,"file":"Interaction.js","path":"src/structures"}},{"name":"user","description":"The user which sent this interaction","type":[[["User"]]],"meta":{"line":58,"file":"Interaction.js","path":"src/structures"}},{"name":"member","description":"If this interaction was sent in a guild, the member which sent it","nullable":true,"type":[[["GuildMember"]],[["APIGuildMember"]]],"meta":{"line":64,"file":"Interaction.js","path":"src/structures"}},{"name":"version","description":"The version","type":[[["number"]]],"meta":{"line":70,"file":"Interaction.js","path":"src/structures"}},{"name":"appPermissions","description":"Set of permissions the application or bot has within the channel the interaction was sent from","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":76,"file":"Interaction.js","path":"src/structures"}},{"name":"memberPermissions","description":"The permissions of the member, if one exists, in the channel this interaction was executed in","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":82,"file":"Interaction.js","path":"src/structures"}},{"name":"locale","description":"The locale of the user who invoked this interaction","type":[[["Locale"]]],"meta":{"line":124,"file":"Interaction.js","path":"src/structures"}},{"name":"guildLocale","description":"The preferred locale from the guild this interaction was sent in","nullable":true,"type":[[["Locale"]]],"meta":{"line":130,"file":"Interaction.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the interaction was created at","readonly":true,"type":[[["number"]]],"meta":{"line":138,"file":"Interaction.js","path":"src/structures"}},{"name":"createdAt","description":"The time the interaction was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":147,"file":"Interaction.js","path":"src/structures"}},{"name":"channel","description":"The channel this interaction was sent in","readonly":true,"nullable":true,"type":[[["TextBasedChannels"]]],"meta":{"line":156,"file":"Interaction.js","path":"src/structures"}},{"name":"guild","description":"The guild this interaction was sent in","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":165,"file":"Interaction.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"resolveContextMenuOptions","description":"Resolves and transforms options received from the API for a context menu interaction.","access":"private","params":[{"name":"data","description":"The interaction data","type":[[["APIApplicationCommandInteractionData"]]]}],"returns":[[["Array","<"],["CommandInteractionOption",">"]]],"meta":{"line":43,"file":"ContextMenuInteraction.js","path":"src/structures"}},{"name":"transformResolved","description":"Transforms the resolved received from the API.","access":"private","inherits":"BaseCommandInteraction#transformResolved","inherited":true,"params":[{"name":"resolved","description":"The received resolved objects","type":[[["APIInteractionDataResolved"]]]}],"returns":[[["CommandInteractionResolvedData"]]],"meta":{"line":89,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"transformOption","description":"Transforms an option received from the API.","access":"private","inherits":"BaseCommandInteraction#transformOption","inherited":true,"params":[{"name":"option","description":"The received option","type":[[["APIApplicationCommandOption"]]]},{"name":"resolved","description":"The resolved interaction data","type":[[["APIInteractionDataResolved"]]]}],"returns":[[["CommandInteractionOption"]]],"meta":{"line":162,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"deferReply","description":"Defers the reply to this interaction.","inherits":"BaseCommandInteraction#deferReply","inherited":true,"implements":["InteractionResponses#deferReply"],"examples":["// Defer the reply to this interaction\ninteraction.deferReply()\n .then(console.log)\n .catch(console.error)","// Defer to send an ephemeral reply later\ninteraction.deferReply({ ephemeral: true })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for deferring the reply to this interaction","optional":true,"type":[[["InteractionDeferReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":58,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"reply","description":"Creates a reply to this interaction.\nUse the `fetchReply` option to get the bot's reply message.","inherits":"BaseCommandInteraction#reply","inherited":true,"implements":["InteractionResponses#reply"],"examples":["// Reply to the interaction and fetch the response\ninteraction.reply({ content: 'Pong!', fetchReply: true })\n .then((message) => console.log(`Reply sent with content ${message.content}`))\n .catch(console.error);","// Create an ephemeral reply with an embed\nconst embed = new MessageEmbed().setDescription('Pong!');\n\ninteraction.reply({ embeds: [embed], ephemeral: true })\n .then(() => console.log('Reply sent.'))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":93,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"fetchReply","description":"Fetches a reply to this interaction.","see":["Webhook#fetchMessage"],"inherits":"BaseCommandInteraction#fetchReply","inherited":true,"implements":["InteractionResponses#fetchReply"],"examples":["// Fetch the initial reply to this interaction\ninteraction.fetchReply()\n .then(reply => console.log(`Replied with ${reply.content}`))\n .catch(console.error);"],"params":[{"name":"message","description":"The response to fetch","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":127,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"editReply","description":"Edits a reply to this interaction.","see":["Webhook#editMessage"],"inherits":"BaseCommandInteraction#editReply","inherited":true,"implements":["InteractionResponses#editReply"],"examples":["// Edit the initial reply to this interaction\ninteraction.editReply('New content')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The new options for the message","type":[[["string"]],[["MessagePayload"]],[["InteractionEditReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":148,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"deleteReply","description":"Deletes a reply to this interaction.","see":["Webhook#deleteMessage"],"inherits":"BaseCommandInteraction#deleteReply","inherited":true,"implements":["InteractionResponses#deleteReply"],"examples":["// Delete the initial reply to this interaction\ninteraction.deleteReply()\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"message","description":"The response to delete","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":166,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"followUp","description":"Send a follow-up message to this interaction.","inherits":"BaseCommandInteraction#followUp","inherited":true,"implements":["InteractionResponses#followUp"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":175,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"showModal","description":"Shows a modal component","inherits":"BaseCommandInteraction#showModal","inherited":true,"implements":["InteractionResponses#showModal"],"params":[{"name":"modal","description":"The modal to show","type":[[["Modal"]],[["ModalOptions"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":243,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"awaitModalSubmit","description":"Collects a single modal submit interaction that passes the filter.\nThe Promise will reject if the time expires.","inherits":"BaseCommandInteraction#awaitModalSubmit","inherited":true,"implements":["InteractionResponses#awaitModalSubmit"],"examples":["// Collect a modal submit interaction\nconst filter = (interaction) => interaction.customId === 'modal';\ninteraction.awaitModalSubmit({ filter, time: 15_000 })\n .then(interaction => console.log(`${interaction.customId} was submitted!`))\n .catch(console.error);"],"params":[{"name":"options","description":"Options to pass to the internal collector","type":[[["AwaitModalSubmitOptions"]]]}],"returns":[[["Promise","<"],["ModalSubmitInteraction",">"]]],"meta":{"line":275,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"inGuild","description":"Indicates whether this interaction is received from a guild.","inherits":"Interaction#inGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":173,"file":"Interaction.js","path":"src/structures"}},{"name":"inCachedGuild","description":"Indicates whether or not this interaction is both cached and received from a guild.","inherits":"Interaction#inCachedGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":181,"file":"Interaction.js","path":"src/structures"}},{"name":"inRawGuild","description":"Indicates whether or not this interaction is received from an uncached guild.","inherits":"Interaction#inRawGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":189,"file":"Interaction.js","path":"src/structures"}},{"name":"isApplicationCommand","description":"Indicates whether this interaction is a {@link BaseCommandInteraction}.","inherits":"Interaction#isApplicationCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":197,"file":"Interaction.js","path":"src/structures"}},{"name":"isCommand","description":"Indicates whether this interaction is a {@link CommandInteraction}.","inherits":"Interaction#isCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":205,"file":"Interaction.js","path":"src/structures"}},{"name":"isContextMenu","description":"Indicates whether this interaction is a {@link ContextMenuInteraction}","inherits":"Interaction#isContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":213,"file":"Interaction.js","path":"src/structures"}},{"name":"isModalSubmit","description":"Indicates whether this interaction is a {@link ModalSubmitInteraction}","inherits":"Interaction#isModalSubmit","inherited":true,"returns":[[["boolean"]]],"meta":{"line":221,"file":"Interaction.js","path":"src/structures"}},{"name":"isUserContextMenu","description":"Indicates whether this interaction is a {@link UserContextMenuInteraction}","inherits":"Interaction#isUserContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":229,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageContextMenu","description":"Indicates whether this interaction is a {@link MessageContextMenuInteraction}","inherits":"Interaction#isMessageContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":237,"file":"Interaction.js","path":"src/structures"}},{"name":"isAutocomplete","description":"Indicates whether this interaction is an {@link AutocompleteInteraction}","inherits":"Interaction#isAutocomplete","inherited":true,"returns":[[["boolean"]]],"meta":{"line":245,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageComponent","description":"Indicates whether this interaction is a {@link MessageComponentInteraction}.","inherits":"Interaction#isMessageComponent","inherited":true,"returns":[[["boolean"]]],"meta":{"line":253,"file":"Interaction.js","path":"src/structures"}},{"name":"isButton","description":"Indicates whether this interaction is a {@link ButtonInteraction}.","inherits":"Interaction#isButton","inherited":true,"returns":[[["boolean"]]],"meta":{"line":261,"file":"Interaction.js","path":"src/structures"}},{"name":"isSelectMenu","description":"Indicates whether this interaction is a {@link SelectMenuInteraction}.","inherits":"Interaction#isSelectMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":272,"file":"Interaction.js","path":"src/structures"}},{"name":"isRepliable","description":"Indicates whether this interaction can be replied to.","inherits":"Interaction#isRepliable","inherited":true,"returns":[[["boolean"]]],"meta":{"line":283,"file":"Interaction.js","path":"src/structures"}}],"meta":{"line":11,"file":"ContextMenuInteraction.js","path":"src/structures"}},{"name":"DirectoryChannel","description":"Represents a channel that displays a directory of guilds.","extends":[[["Channel"]]],"props":[{"name":"name","description":"The channel's name","type":[[["string"]]],"meta":{"line":16,"file":"DirectoryChannel.js","path":"src/structures"}},{"name":"type","description":"The type of the channel","type":[[["ChannelType"]]],"meta":{"line":41,"file":"Channel.js","path":"src/structures"}},{"name":"id","description":"The channel's id","type":[[["Snowflake"]]],"meta":{"line":51,"file":"Channel.js","path":"src/structures"}},{"name":"flags","description":"The flags that are applied to the channel.","nullable":true,"type":[[["Readonly","<"],["ChannelFlags",">"]]],"meta":{"line":58,"file":"Channel.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the channel was created at","readonly":true,"type":[[["number"]]],"meta":{"line":69,"file":"Channel.js","path":"src/structures"}},{"name":"createdAt","description":"The time the channel was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":78,"file":"Channel.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":87,"file":"Channel.js","path":"src/structures"}},{"name":"partial","description":"Whether this Channel is a partial\nThis is always false outside of DM channels.","readonly":true,"type":[[["boolean"]]],"meta":{"line":118,"file":"Channel.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"toString","description":"When concatenated with a string, this automatically returns the channel's mention instead of the Channel object.","inherits":"Channel#toString","inherited":true,"examples":["// Logs: Hello from <#123456789012345678>!\nconsole.log(`Hello from ${channel}!`);"],"returns":[[["string"]]],"meta":{"line":129,"file":"Channel.js","path":"src/structures"}},{"name":"delete","description":"Deletes this channel.","inherits":"Channel#delete","inherited":true,"examples":["// Delete the channel\nchannel.delete()\n .then(console.log)\n .catch(console.error);"],"async":true,"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":142,"file":"Channel.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this channel.","inherits":"Channel#fetch","inherited":true,"params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":152,"file":"Channel.js","path":"src/structures"}},{"name":"isText","description":"Indicates whether this channel is {@link TextBasedChannels text-based}.","inherits":"Channel#isText","inherited":true,"returns":[[["boolean"]]],"meta":{"line":160,"file":"Channel.js","path":"src/structures"}},{"name":"isVoice","description":"Indicates whether this channel is {@link BaseGuildVoiceChannel voice-based}.","inherits":"Channel#isVoice","inherited":true,"returns":[[["boolean"]]],"meta":{"line":168,"file":"Channel.js","path":"src/structures"}},{"name":"isThread","description":"Indicates whether this channel is a {@link ThreadChannel}.","inherits":"Channel#isThread","inherited":true,"returns":[[["boolean"]]],"meta":{"line":176,"file":"Channel.js","path":"src/structures"}},{"name":"isDirectory","description":"Indicates whether this channel is a {@link DirectoryChannel}","inherits":"Channel#isDirectory","inherited":true,"returns":[[["boolean"]]],"meta":{"line":184,"file":"Channel.js","path":"src/structures"}}],"meta":{"line":9,"file":"DirectoryChannel.js","path":"src/structures"}},{"name":"DMChannel","description":"Represents a direct message channel between two users.","extends":[[["Channel"]]],"implements":[[["TextBasedChannel"]]],"props":[{"name":"messages","description":"A manager of the messages belonging to this channel","type":[[["MessageManager"]]],"meta":{"line":25,"file":"DMChannel.js","path":"src/structures"}},{"name":"recipient","description":"The recipient on the other end of the DM","type":[[["User"]]],"meta":{"line":36,"file":"DMChannel.js","path":"src/structures"}},{"name":"lastMessageId","description":"The channel's last message id, if one was sent","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":44,"file":"DMChannel.js","path":"src/structures"}},{"name":"lastPinTimestamp","description":"The timestamp when the last pinned message was pinned, if there was one","nullable":true,"type":[[["number"]]],"meta":{"line":52,"file":"DMChannel.js","path":"src/structures"}},{"name":"messageRequest","description":"Whether the channel is a message request","nullable":true,"type":[[["boolean"]]],"meta":{"line":62,"file":"DMChannel.js","path":"src/structures"}},{"name":"messageRequestTimestamp","description":"The timestamp when the message request was created","nullable":true,"type":[[["number"]]],"meta":{"line":70,"file":"DMChannel.js","path":"src/structures"}},{"name":"partial","description":"Whether this DMChannel is a partial","readonly":true,"type":[[["boolean"]]],"meta":{"line":108,"file":"DMChannel.js","path":"src/structures"}},{"name":"voiceUsers","description":"The user in this voice-based channel","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["User",">"]]],"meta":{"line":163,"file":"DMChannel.js","path":"src/structures"}},{"name":"shard","description":"Get current shard","readonly":true,"type":[[["WebSocketShard"]]],"meta":{"line":178,"file":"DMChannel.js","path":"src/structures"}},{"name":"voiceAdapterCreator","description":"The voice state adapter for this client that can be used with @discordjs/voice to play audio in DM / Group DM channels.","readonly":true,"nullable":true,"type":[[["function"]]],"meta":{"line":187,"file":"DMChannel.js","path":"src/structures"}},{"name":"lastMessage","description":"The Message object of the last message in the channel, if one was sent","readonly":true,"nullable":true,"type":[[["Message"]]],"meta":{"line":50,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"lastPinAt","description":"The date when the last pinned message was pinned, if there was one","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":59,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"type","description":"The type of the channel","type":[[["ChannelType"]]],"meta":{"line":41,"file":"Channel.js","path":"src/structures"}},{"name":"id","description":"The channel's id","type":[[["Snowflake"]]],"meta":{"line":51,"file":"Channel.js","path":"src/structures"}},{"name":"flags","description":"The flags that are applied to the channel.","nullable":true,"type":[[["Readonly","<"],["ChannelFlags",">"]]],"meta":{"line":58,"file":"Channel.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the channel was created at","readonly":true,"type":[[["number"]]],"meta":{"line":69,"file":"Channel.js","path":"src/structures"}},{"name":"createdAt","description":"The time the channel was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":78,"file":"Channel.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":87,"file":"Channel.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"acceptMessageRequest","description":"Accept this DMChannel.","async":true,"returns":[[["Promise","<"],["DMChannel",">"]]],"meta":{"line":78,"file":"DMChannel.js","path":"src/structures"}},{"name":"cancelMessageRequest","description":"Cancel this DMChannel.","async":true,"returns":[[["Promise","<"],["DMChannel",">"]]],"meta":{"line":95,"file":"DMChannel.js","path":"src/structures"}},{"name":"fetch","description":"Fetch this DMChannel.","params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["DMChannel",">"]]],"meta":{"line":117,"file":"DMChannel.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the recipient's mention instead of the\nDMChannel object.","examples":["// Logs: Hello from <@123456789012345678>!\nconsole.log(`Hello from ${channel}!`);"],"returns":[[["string"]]],"meta":{"line":129,"file":"DMChannel.js","path":"src/structures"}},{"name":"sync","description":"Sync VoiceState of this DMChannel.","returns":[[["undefined"]]],"meta":{"line":137,"file":"DMChannel.js","path":"src/structures"}},{"name":"ring","description":"Ring the user's phone / PC (call)","returns":[[["Promise","<"],["void",">"]]],"meta":{"line":150,"file":"DMChannel.js","path":"src/structures"}},{"name":"send","description":"Sends a message to this channel.","implements":["TextBasedChannel#send"],"examples":["// Send a basic message\nchannel.send('hello!')\n .then(message => console.log(`Sent message: ${message.content}`))\n .catch(console.error);","// Send a remote file\nchannel.send({\n files: ['https://cdn.discordapp.com/icons/222078108977594368/6e1019b3179d71046e463a75915e7244.png?size=2048']\n})\n .then(console.log)\n .catch(console.error);","// Send a local file\nchannel.send({\n files: [{\n attachment: 'entire/path/to/file.jpg',\n name: 'file.jpg',\n description: 'A description of the file'\n }]\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["MessageOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":150,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"sendTyping","description":"Sends a typing indicator in the channel.","implements":["TextBasedChannel#sendTyping"],"examples":["// Start typing in a channel\nchannel.sendTyping();"],"async":true,"returns":{"types":[[["Promise","<"],["void",">"]]],"description":"Resolves upon the typing status being sent"},"meta":{"line":355,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createMessageCollector","description":"Creates a Message Collector.","implements":["TextBasedChannel#createMessageCollector"],"examples":["// Create a message collector\nconst filter = m => m.content.includes('discord');\nconst collector = channel.createMessageCollector({ filter, time: 15_000 });\ncollector.on('collect', m => console.log(`Collected ${m.content}`));\ncollector.on('end', collected => console.log(`Collected ${collected.size} items`));"],"params":[{"name":"options","description":"The options to pass to the collector","optional":true,"default":"{}","type":[[["MessageCollectorOptions"]]]}],"returns":[[["MessageCollector"]]],"meta":{"line":370,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"awaitMessages","description":"Similar to createMessageCollector but in promise form.\nResolves with a collection of messages that pass the specified filter.","implements":["TextBasedChannel#awaitMessages"],"examples":["// Await !vote messages\nconst filter = m => m.content.startsWith('!vote');\n// Errors: ['time'] treats ending because of the time limit as an error\nchannel.awaitMessages({ filter, max: 4, time: 60_000, errors: ['time'] })\n .then(collected => console.log(collected.size))\n .catch(collected => console.log(`After a minute, only ${collected.size} out of 4 voted.`));"],"params":[{"name":"options","description":"Optional options to pass to the internal collector","optional":true,"default":"{}","type":[[["AwaitMessagesOptions"]]]}],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Message",">>"]]],"meta":{"line":393,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"delete","description":"Deletes this channel.","inherits":"Channel#delete","inherited":true,"examples":["// Delete the channel\nchannel.delete()\n .then(console.log)\n .catch(console.error);"],"async":true,"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":142,"file":"Channel.js","path":"src/structures"}},{"name":"isText","description":"Indicates whether this channel is {@link TextBasedChannels text-based}.","inherits":"Channel#isText","inherited":true,"returns":[[["boolean"]]],"meta":{"line":160,"file":"Channel.js","path":"src/structures"}},{"name":"isVoice","description":"Indicates whether this channel is {@link BaseGuildVoiceChannel voice-based}.","inherits":"Channel#isVoice","inherited":true,"returns":[[["boolean"]]],"meta":{"line":168,"file":"Channel.js","path":"src/structures"}},{"name":"isThread","description":"Indicates whether this channel is a {@link ThreadChannel}.","inherits":"Channel#isThread","inherited":true,"returns":[[["boolean"]]],"meta":{"line":176,"file":"Channel.js","path":"src/structures"}},{"name":"isDirectory","description":"Indicates whether this channel is a {@link DirectoryChannel}","inherits":"Channel#isDirectory","inherited":true,"returns":[[["boolean"]]],"meta":{"line":184,"file":"Channel.js","path":"src/structures"}}],"meta":{"line":14,"file":"DMChannel.js","path":"src/structures"}},{"name":"Emoji","description":"Represents an emoji, see {@link GuildEmoji} and {@link ReactionEmoji}.","extends":[[["Base"]]],"props":[{"name":"animated","description":"Whether or not the emoji is animated","nullable":true,"type":[[["boolean"]]],"meta":{"line":34,"file":"Emoji.js","path":"src/structures"}},{"name":"name","description":"The emoji's name","nullable":true,"type":[[["string"]]],"meta":{"line":40,"file":"Emoji.js","path":"src/structures"}},{"name":"id","description":"The emoji's id","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":46,"file":"Emoji.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":54,"file":"Emoji.js","path":"src/structures"}},{"name":"identifier","description":"The identifier of this emoji, used for message reactions","readonly":true,"type":[[["string"]]],"meta":{"line":84,"file":"Emoji.js","path":"src/structures"}},{"name":"url","description":"The URL to the emoji file if it's a custom emoji","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":94,"file":"Emoji.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the emoji was created at, or null if unicode","readonly":true,"nullable":true,"type":[[["number"]]],"meta":{"line":103,"file":"Emoji.js","path":"src/structures"}},{"name":"createdAt","description":"The time the emoji was created at, or null if unicode","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":112,"file":"Emoji.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"toString","description":"When concatenated with a string, this automatically returns the text required to form a graphical emoji on Discord\ninstead of the Emoji object.","examples":["// Send a custom emoji from a guild:\nconst emoji = guild.emojis.cache.first();\nmsg.channel.send(`Hello! ${emoji}`);","// Send the emoji used in a reaction to the channel the reaction is part of\nreaction.message.channel.send(`The emoji used was: ${reaction.emoji}`);"],"returns":[[["string"]]],"meta":{"line":128,"file":"Emoji.js","path":"src/structures"}}],"meta":{"line":27,"file":"Emoji.js","path":"src/structures"}},{"name":"ForumChannel","description":"Represents a channel that only contains threads","extends":[[["GuildChannel"]]],"implements":[[["TextBasedChannel"]]],"props":[{"name":"threads","description":"A manager of the threads belonging to this channel","type":[[["GuildForumThreadManager"]]],"meta":{"line":52,"file":"ForumChannel.js","path":"src/structures"}},{"name":"availableTags","description":"The set of tags that can be used in this channel.","type":[[["Array","<"],["GuildForumTag",">"]]],"meta":{"line":64,"file":"ForumChannel.js","path":"src/structures"}},{"name":"defaultReactionEmoji","description":"The emoji to show in the add reaction button on a thread in a guild forum channel","nullable":true,"type":[[["DefaultReactionEmoji"]]],"meta":{"line":74,"file":"ForumChannel.js","path":"src/structures"}},{"name":"defaultThreadRateLimitPerUser","description":"The initial rate limit per user (slowmode) to set on newly created threads in a channel.","nullable":true,"type":[[["number"]]],"meta":{"line":85,"file":"ForumChannel.js","path":"src/structures"}},{"name":"rateLimitPerUser","description":"The rate limit per user (slowmode) for this channel.","nullable":true,"type":[[["number"]]],"meta":{"line":95,"file":"ForumChannel.js","path":"src/structures"}},{"name":"defaultAutoArchiveDuration","description":"The default auto archive duration for newly created threads in this channel.","nullable":true,"type":[[["ThreadAutoArchiveDuration"]]],"meta":{"line":105,"file":"ForumChannel.js","path":"src/structures"}},{"name":"nsfw","description":"If this channel is considered NSFW.","type":[[["boolean"]]],"meta":{"line":115,"file":"ForumChannel.js","path":"src/structures"}},{"name":"topic","description":"The topic of this channel.","nullable":true,"type":[[["string"]]],"meta":{"line":125,"file":"ForumChannel.js","path":"src/structures"}},{"name":"defaultSortOrder","description":"The default sort order mode used to order posts","nullable":true,"type":[[["SortOrderType"]]],"meta":{"line":133,"file":"ForumChannel.js","path":"src/structures"}},{"name":"defaultForumLayout","description":"The default layout type used to display posts","type":[[["ForumLayoutType"]]],"meta":{"line":142,"file":"ForumChannel.js","path":"src/structures"}},{"name":"guild","description":"The guild the channel is in","type":[[["Guild"]]],"meta":{"line":30,"file":"GuildChannel.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild the channel is in","type":[[["Snowflake"]]],"meta":{"line":36,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionOverwrites","description":"A manager of permission overwrites that belong to this channel","type":[[["PermissionOverwriteManager"]]],"meta":{"line":43,"file":"GuildChannel.js","path":"src/structures"}},{"name":"name","description":"The name of the guild channel","type":[[["string"]]],"meta":{"line":56,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rawPosition","description":"The raw position of the channel from Discord","type":[[["number"]]],"meta":{"line":64,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parentId","description":"The id of the category parent of this channel","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":76,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parent","description":"The category parent of this channel","readonly":true,"nullable":true,"type":[[["CategoryChannel"]]],"meta":{"line":98,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionsLocked","description":"If the permissionOverwrites match the parent channel, null if no parent","readonly":true,"nullable":true,"type":[[["boolean"]]],"meta":{"line":107,"file":"GuildChannel.js","path":"src/structures"}},{"name":"position","description":"The position of the channel","readonly":true,"type":[[["number"]]],"meta":{"line":148,"file":"GuildChannel.js","path":"src/structures"}},{"name":"members","description":"A collection of cached members of this channel, mapped by their ids.\nMembers that can view this channel, if the channel is text-based.\nMembers in the channel, if the channel is voice-based.","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]],"meta":{"line":274,"file":"GuildChannel.js","path":"src/structures"}},{"name":"deletable","description":"Whether the channel is deletable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":416,"file":"GuildChannel.js","path":"src/structures"}},{"name":"manageable","description":"Whether the channel is manageable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":425,"file":"GuildChannel.js","path":"src/structures"}},{"name":"viewable","description":"Whether the channel is viewable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":445,"file":"GuildChannel.js","path":"src/structures"}},{"name":"type","description":"The type of the channel","type":[[["ChannelType"]]],"meta":{"line":41,"file":"Channel.js","path":"src/structures"}},{"name":"id","description":"The channel's id","type":[[["Snowflake"]]],"meta":{"line":51,"file":"Channel.js","path":"src/structures"}},{"name":"flags","description":"The flags that are applied to the channel.","nullable":true,"type":[[["Readonly","<"],["ChannelFlags",">"]]],"meta":{"line":58,"file":"Channel.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the channel was created at","readonly":true,"type":[[["number"]]],"meta":{"line":69,"file":"Channel.js","path":"src/structures"}},{"name":"createdAt","description":"The time the channel was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":78,"file":"Channel.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":87,"file":"Channel.js","path":"src/structures"}},{"name":"partial","description":"Whether this Channel is a partial\nThis is always false outside of DM channels.","readonly":true,"type":[[["boolean"]]],"meta":{"line":118,"file":"Channel.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"setAvailableTags","description":"Sets the available tags for this forum channel","params":[{"name":"availableTags","description":"The tags to set as available in this channel","type":[[["Array","<"],["GuildForumTagData",">"]]]},{"name":"reason","description":"Reason for changing the available tags","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ForumChannel",">"]]],"meta":{"line":151,"file":"ForumChannel.js","path":"src/structures"}},{"name":"setDefaultReactionEmoji","description":"Sets the default reaction emoji for this channel","params":[{"name":"defaultReactionEmoji","description":"The emoji to set as the default reaction emoji","nullable":true,"type":[[["DefaultReactionEmoji"]]]},{"name":"reason","description":"Reason for changing the default reaction emoji","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ForumChannel",">"]]],"meta":{"line":161,"file":"ForumChannel.js","path":"src/structures"}},{"name":"setDefaultThreadRateLimitPerUser","description":"Sets the default rate limit per user (slowmode) for new threads in this channel","params":[{"name":"defaultThreadRateLimitPerUser","description":"The rate limit to set on newly created threads in this channel","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the default rate limit","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ForumChannel",">"]]],"meta":{"line":171,"file":"ForumChannel.js","path":"src/structures"}},{"name":"setDefaultSortOrder","description":"Sets the default sort order mode used to order posts","params":[{"name":"defaultSortOrder","description":"The default sort order mode to set on this channel","nullable":true,"type":[[["SortOrderType"]]]},{"name":"reason","description":"Reason for changing the default sort order","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ForumChannel",">"]]],"meta":{"line":181,"file":"ForumChannel.js","path":"src/structures"}},{"name":"setDefaultForumLayout","description":"Sets the default forum layout type used to display posts","params":[{"name":"defaultForumLayout","description":"The default forum layout type to set on this channel","type":[[["ForumLayoutType"]]]},{"name":"reason","description":"Reason for changing the default forum layout","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ForumChannel",">"]]],"meta":{"line":191,"file":"ForumChannel.js","path":"src/structures"}},{"name":"createInvite","description":"Creates an invite to this guild channel.","examples":["// Create an invite to a channel\nchannel.createInvite()\n .then(invite => console.log(`Created an invite with a code of ${invite.code}`))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for creating the invite","optional":true,"default":"{}","type":[[["CreateInviteOptions"]]]}],"returns":[[["Promise","<"],["Invite",">"]]],"meta":{"line":205,"file":"ForumChannel.js","path":"src/structures"}},{"name":"fetchInvites","description":"Fetches a collection of invites to this guild channel.\nResolves with a collection mapping invites by their codes.","params":[{"name":"cache","description":"Whether or not to cache the fetched invites","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Collection","<"],["string",", "],["Invite",">>"]]],"meta":{"line":215,"file":"ForumChannel.js","path":"src/structures"}},{"name":"setDefaultAutoArchiveDuration","description":"Sets the default auto archive duration for all newly created threads in this channel.","params":[{"name":"defaultAutoArchiveDuration","description":"The new default auto archive duration","type":[[["ThreadAutoArchiveDuration"]]]},{"name":"reason","description":"Reason for changing the channel's default auto archive duration","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ForumChannel",">"]]],"meta":{"line":225,"file":"ForumChannel.js","path":"src/structures"}},{"name":"setTopic","description":"Sets a new topic for the guild channel.","examples":["// Set a new channel topic\nchannel.setTopic('needs more rate limiting')\n .then(newChannel => console.log(`Channel's new topic is ${newChannel.topic}`))\n .catch(console.error);"],"params":[{"name":"topic","description":"The new topic for the guild channel","nullable":true,"type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild channel's topic","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ForumChannel",">"]]],"meta":{"line":240,"file":"ForumChannel.js","path":"src/structures"}},{"name":"fetchWebhooks","description":"Fetches all webhooks for the channel.","implements":["TextBasedChannel#fetchWebhooks"],"examples":["// Fetch webhooks\nchannel.fetchWebhooks()\n .then(hooks => console.log(`This channel has ${hooks.size} hooks`))\n .catch(console.error);"],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Webhook",">>"]]],"meta":{"line":415,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createWebhook","description":"Creates a webhook for the channel.","implements":["TextBasedChannel#createWebhook"],"examples":["// Create a webhook for the current channel\nchannel.createWebhook('Snek', {\n avatar: 'https://i.imgur.com/mI8XcpG.jpg',\n reason: 'Needed a cool new Webhook'\n})\n .then(console.log)\n .catch(console.error)"],"params":[{"name":"name","description":"The name of the webhook","type":[[["string"]]]},{"name":"options","description":"Options for creating the webhook","optional":true,"type":[[["ChannelWebhookCreateOptions"]]]}],"returns":{"types":[[["Promise","<"],["Webhook",">"]]],"description":"Returns the created Webhook"},"meta":{"line":440,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"setRateLimitPerUser","description":"Sets the rate limit per user (slowmode) for this channel.","implements":["TextBasedChannel#setRateLimitPerUser"],"params":[{"name":"rateLimitPerUser","description":"The new rate limit in seconds","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the channel's rate limit","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":450,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"setNSFW","description":"Sets whether this channel is flagged as NSFW.","implements":["TextBasedChannel#setNSFW"],"params":[{"name":"nsfw","description":"Whether the channel should be considered NSFW","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"Reason for changing the channel's NSFW flag","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":460,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"permissionsFor","description":"Gets the overall set of permissions for a member or role in this channel, taking into account channel overwrites.","inherits":"GuildChannel#permissionsFor","inherited":true,"params":[{"name":"memberOrRole","description":"The member or role to obtain the overall permissions for","type":[[["GuildMemberResolvable"]],[["RoleResolvable"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":{"types":[[["Readonly","<"],["Permissions",">"]]],"nullable":true},"meta":{"line":172,"file":"GuildChannel.js","path":"src/structures"}},{"name":"memberPermissions","description":"Gets the overall set of permissions for a member in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#memberPermissions","inherited":true,"params":[{"name":"member","description":"The member to obtain the overall permissions for","type":[[["GuildMember"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","default":true,"type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":212,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rolePermissions","description":"Gets the overall set of permissions for a role in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#rolePermissions","inherited":true,"params":[{"name":"role","description":"The role to obtain the overall permissions for","type":[[["Role"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":241,"file":"GuildChannel.js","path":"src/structures"}},{"name":"lockPermissions","description":"Locks in the permission overwrites from the parent channel.","inherits":"GuildChannel#lockPermissions","inherited":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":261,"file":"GuildChannel.js","path":"src/structures"}},{"name":"edit","description":"Edits the channel.","inherits":"GuildChannel#edit","inherited":true,"examples":["// Edit a channel\nchannel.edit({ name: 'new-channel' })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"data","description":"The new data for the channel","type":[[["ChannelData"]]]},{"name":"reason","description":"Reason for editing this channel","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":289,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setName","description":"Sets a new name for the guild channel.","inherits":"GuildChannel#setName","inherited":true,"examples":["// Set a new channel name\nchannel.setName('not_general')\n .then(newChannel => console.log(`Channel's new name is ${newChannel.name}`))\n .catch(console.error);"],"params":[{"name":"name","description":"The new name for the guild channel","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild channel's name","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":304,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setParent","description":"Sets the parent of this channel.","inherits":"GuildChannel#setParent","inherited":true,"examples":["// Add a parent to a channel\nmessage.channel.setParent('355908108431917066', { lockPermissions: false })\n .then(channel => console.log(`New parent of ${message.channel.name}: ${channel.name}`))\n .catch(console.error);"],"params":[{"name":"channel","description":"The category channel to set as the parent","nullable":true,"type":[[["CategoryChannelResolvable"]]]},{"name":"options","description":"The options for setting the parent","optional":true,"default":"{}","type":[[["SetParentOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":326,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setPosition","description":"Sets a new position for the guild channel.","inherits":"GuildChannel#setPosition","inherited":true,"examples":["// Set a new channel position\nchannel.setPosition(2)\n .then(newChannel => console.log(`Channel's new position is ${newChannel.position}`))\n .catch(console.error);"],"params":[{"name":"position","description":"The new position for the guild channel","type":[[["number"]]]},{"name":"options","description":"Options for setting position","optional":true,"type":[[["SetChannelPositionOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":354,"file":"GuildChannel.js","path":"src/structures"}},{"name":"clone","description":"Clones this channel.","inherits":"GuildChannel#clone","inherited":true,"params":[{"name":"options","description":"The options for cloning this channel","optional":true,"type":[[["GuildChannelCloneOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":369,"file":"GuildChannel.js","path":"src/structures"}},{"name":"equals","description":"Checks if this channel has the same type, topic, position, name, overwrites, and id as another channel.\nIn most cases, a simple `channel.id === channel2.id` will do, and is much faster too.","inherits":"GuildChannel#equals","inherited":true,"params":[{"name":"channel","description":"Channel to compare with","type":[[["GuildChannel"]]]}],"returns":[[["boolean"]]],"meta":{"line":391,"file":"GuildChannel.js","path":"src/structures"}},{"name":"delete","description":"Deletes this channel.","inherits":"GuildChannel#delete","inherited":true,"examples":["// Delete the channel\nchannel.delete('making room for new channels')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"reason","description":"Reason for deleting this channel","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":462,"file":"GuildChannel.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the channel's mention instead of the Channel object.","inherits":"Channel#toString","inherited":true,"examples":["// Logs: Hello from <#123456789012345678>!\nconsole.log(`Hello from ${channel}!`);"],"returns":[[["string"]]],"meta":{"line":129,"file":"Channel.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this channel.","inherits":"Channel#fetch","inherited":true,"params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":152,"file":"Channel.js","path":"src/structures"}},{"name":"isText","description":"Indicates whether this channel is {@link TextBasedChannels text-based}.","inherits":"Channel#isText","inherited":true,"returns":[[["boolean"]]],"meta":{"line":160,"file":"Channel.js","path":"src/structures"}},{"name":"isVoice","description":"Indicates whether this channel is {@link BaseGuildVoiceChannel voice-based}.","inherits":"Channel#isVoice","inherited":true,"returns":[[["boolean"]]],"meta":{"line":168,"file":"Channel.js","path":"src/structures"}},{"name":"isThread","description":"Indicates whether this channel is a {@link ThreadChannel}.","inherits":"Channel#isThread","inherited":true,"returns":[[["boolean"]]],"meta":{"line":176,"file":"Channel.js","path":"src/structures"}},{"name":"isDirectory","description":"Indicates whether this channel is a {@link DirectoryChannel}","inherits":"Channel#isDirectory","inherited":true,"returns":[[["boolean"]]],"meta":{"line":184,"file":"Channel.js","path":"src/structures"}}],"meta":{"line":44,"file":"ForumChannel.js","path":"src/structures"}},{"name":"GroupDMChannel","description":"Represents a Group DM Channel on Discord.","extends":[[["Channel"]]],"implements":[[["TextBasedChannel"]]],"props":[{"name":"messages","description":"A manager of the messages belonging to this channel","type":[[["MessageManager"]]],"meta":{"line":26,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"lastMessageId","description":"The channel's last message id, if one was sent","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":44,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"lastPinTimestamp","description":"The timestamp when the last pinned message was pinned, if there was one","nullable":true,"type":[[["number"]]],"meta":{"line":52,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"ownerId","description":"Owner ID","type":[[["Snowflake"]]],"meta":{"line":62,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"name","description":"The name of this Group DM Channel","nullable":true,"type":[[["string"]]],"meta":{"line":70,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"icon","description":"The hash of the channel icon","nullable":true,"type":[[["string"]]],"meta":{"line":78,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"recipients","description":"The recipients of this Group DM Channel.","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["User",">"]]],"meta":{"line":96,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"owner","description":"The owner of this Group DM Channel","readonly":true,"nullable":true,"type":[[["User"]]],"meta":{"line":108,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"partial","description":"Whether this DMChannel is a partial","readonly":true,"type":[[["boolean"]]],"meta":{"line":117,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"voiceUsers","description":"The user in this voice-based channel","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["User",">"]]],"meta":{"line":328,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"shard","description":"Get current shard","readonly":true,"type":[[["WebSocketShard"]]],"meta":{"line":343,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"voiceAdapterCreator","description":"The voice state adapter for this client that can be used with @discordjs/voice to play audio in DM / Group DM channels.","readonly":true,"nullable":true,"type":[[["function"]]],"meta":{"line":352,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"lastMessage","description":"The Message object of the last message in the channel, if one was sent","readonly":true,"nullable":true,"type":[[["Message"]]],"meta":{"line":50,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"lastPinAt","description":"The date when the last pinned message was pinned, if there was one","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":59,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"type","description":"The type of the channel","type":[[["ChannelType"]]],"meta":{"line":41,"file":"Channel.js","path":"src/structures"}},{"name":"id","description":"The channel's id","type":[[["Snowflake"]]],"meta":{"line":51,"file":"Channel.js","path":"src/structures"}},{"name":"flags","description":"The flags that are applied to the channel.","nullable":true,"type":[[["Readonly","<"],["ChannelFlags",">"]]],"meta":{"line":58,"file":"Channel.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the channel was created at","readonly":true,"type":[[["number"]]],"meta":{"line":69,"file":"Channel.js","path":"src/structures"}},{"name":"createdAt","description":"The time the channel was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":78,"file":"Channel.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":87,"file":"Channel.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"iconURL","description":"The URL to this channel's icon.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":87,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"delete","description":"Leave this Group DM Channel.","examples":["// Delete the channel\nchannel.delete()\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"slient","description":"Leave without notifying other members","default":false,"nullable":true,"type":[[["boolean"]]]}],"async":true,"returns":[[["Promise","<"],["GroupDMChannel",">"]]],"meta":{"line":131,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the recipient's mention instead of the\nGroupDMChannel object.","examples":["// Logs: Hello from Group Test!\nconsole.log(`Hello from ${channel}!`);"],"returns":[[["string"]]],"meta":{"line":152,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"edit","description":"Edit channel data","examples":["// Set the channel name\nchannel.edit({\n name: 'Group Test',\n})\n .then(updated => console.log(`New channel name ${updated}`))\n .catch(console.error);"],"params":[{"name":"data","description":"Data","type":[[["GroupDMChannelEditData"]]]}],"async":true,"returns":[[["Promise","<"],["GroupDMChannel",">"]]],"meta":{"line":190,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"setName","description":"Renames this Group DM Channel.","params":[{"name":"name","description":"Name of the channel","nullable":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GroupDMChannel",">"]]],"meta":{"line":211,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"setIcon","description":"Sets the icon of this Group DM Channel.","params":[{"name":"icon","description":"Icon of the channel","nullable":true,"type":[[["Base64Resolvable"]],[["BufferResolvable"]]]}],"returns":[[["Promise","<"],["GroupDMChannel",">"]]],"meta":{"line":220,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"setOwner","description":"Changes the owner of this Group DM Channel.","params":[{"name":"user","description":"User to transfer ownership to","type":[[["UserResolvable"]]]}],"returns":[[["Promise","<"],["GroupDMChannel",">"]]],"meta":{"line":229,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"addUser","description":"Adds a user to this Group DM Channel.","params":[{"name":"user","description":"User to add to the group","type":[[["UserResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["GroupDMChannel",">"]]],"meta":{"line":242,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"removeUser","description":"Removes a user from this Group DM Channel.","params":[{"name":"user","description":"User to remove from the group","type":[[["UserResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["GroupDMChannel",">"]]],"meta":{"line":253,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"getInvite","description":"Gets the invite for this Group DM Channel.","async":true,"returns":[[["Promise","<"],["Invite",">"]]],"meta":{"line":263,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"fetchAllInvite","description":"Get all the invites for this Group DM Channel.","async":true,"returns":[[["Promise","<"],["Collection","<"],["string",", "],["Invite",">>"]]],"meta":{"line":276,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"removeInvite","description":"Delete invites from this Group DM Channel.","params":[{"name":"invite","description":"Invite to add to the channel","type":[[["InviteResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["GroupDMChannel",">"]]],"meta":{"line":286,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"ring","description":"Ring the user's phone / PC (call)","params":[{"name":"recipients","description":"Array of recipients","optional":true,"type":[[["Array","<"],["UserResolvable",">"]]]}],"returns":[[["Promise","<"],["any",">"]]],"meta":{"line":300,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"sync","description":"Sync VoiceState of this Group DMChannel.","returns":[[["undefined"]]],"meta":{"line":314,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"send","description":"Sends a message to this channel.","implements":["TextBasedChannel#send"],"examples":["// Send a basic message\nchannel.send('hello!')\n .then(message => console.log(`Sent message: ${message.content}`))\n .catch(console.error);","// Send a remote file\nchannel.send({\n files: ['https://cdn.discordapp.com/icons/222078108977594368/6e1019b3179d71046e463a75915e7244.png?size=2048']\n})\n .then(console.log)\n .catch(console.error);","// Send a local file\nchannel.send({\n files: [{\n attachment: 'entire/path/to/file.jpg',\n name: 'file.jpg',\n description: 'A description of the file'\n }]\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["MessageOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":150,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"sendTyping","description":"Sends a typing indicator in the channel.","implements":["TextBasedChannel#sendTyping"],"examples":["// Start typing in a channel\nchannel.sendTyping();"],"async":true,"returns":{"types":[[["Promise","<"],["void",">"]]],"description":"Resolves upon the typing status being sent"},"meta":{"line":355,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createMessageCollector","description":"Creates a Message Collector.","implements":["TextBasedChannel#createMessageCollector"],"examples":["// Create a message collector\nconst filter = m => m.content.includes('discord');\nconst collector = channel.createMessageCollector({ filter, time: 15_000 });\ncollector.on('collect', m => console.log(`Collected ${m.content}`));\ncollector.on('end', collected => console.log(`Collected ${collected.size} items`));"],"params":[{"name":"options","description":"The options to pass to the collector","optional":true,"default":"{}","type":[[["MessageCollectorOptions"]]]}],"returns":[[["MessageCollector"]]],"meta":{"line":370,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"awaitMessages","description":"Similar to createMessageCollector but in promise form.\nResolves with a collection of messages that pass the specified filter.","implements":["TextBasedChannel#awaitMessages"],"examples":["// Await !vote messages\nconst filter = m => m.content.startsWith('!vote');\n// Errors: ['time'] treats ending because of the time limit as an error\nchannel.awaitMessages({ filter, max: 4, time: 60_000, errors: ['time'] })\n .then(collected => console.log(collected.size))\n .catch(collected => console.log(`After a minute, only ${collected.size} out of 4 voted.`));"],"params":[{"name":"options","description":"Optional options to pass to the internal collector","optional":true,"default":"{}","type":[[["AwaitMessagesOptions"]]]}],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Message",">>"]]],"meta":{"line":393,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"fetch","description":"Fetches this channel.","inherits":"Channel#fetch","inherited":true,"params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":152,"file":"Channel.js","path":"src/structures"}},{"name":"isText","description":"Indicates whether this channel is {@link TextBasedChannels text-based}.","inherits":"Channel#isText","inherited":true,"returns":[[["boolean"]]],"meta":{"line":160,"file":"Channel.js","path":"src/structures"}},{"name":"isVoice","description":"Indicates whether this channel is {@link BaseGuildVoiceChannel voice-based}.","inherits":"Channel#isVoice","inherited":true,"returns":[[["boolean"]]],"meta":{"line":168,"file":"Channel.js","path":"src/structures"}},{"name":"isThread","description":"Indicates whether this channel is a {@link ThreadChannel}.","inherits":"Channel#isThread","inherited":true,"returns":[[["boolean"]]],"meta":{"line":176,"file":"Channel.js","path":"src/structures"}},{"name":"isDirectory","description":"Indicates whether this channel is a {@link DirectoryChannel}","inherits":"Channel#isDirectory","inherited":true,"returns":[[["boolean"]]],"meta":{"line":184,"file":"Channel.js","path":"src/structures"}}],"meta":{"line":16,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"Guild","description":"Represents a guild (or a server) on Discord.\nIt's recommended to see if a guild is available before performing operations or reading data from it. You can\ncheck this with {@link Guild#available}.","extends":[[["AnonymousGuild"]]],"props":[{"name":"members","description":"A manager of the members belonging to this guild","type":[[["GuildMemberManager"]]],"meta":{"line":65,"file":"Guild.js","path":"src/structures"}},{"name":"channels","description":"A manager of the channels belonging to this guild","type":[[["GuildChannelManager"]]],"meta":{"line":71,"file":"Guild.js","path":"src/structures"}},{"name":"bans","description":"A manager of the bans belonging to this guild","type":[[["GuildBanManager"]]],"meta":{"line":77,"file":"Guild.js","path":"src/structures"}},{"name":"roles","description":"A manager of the roles belonging to this guild","type":[[["RoleManager"]]],"meta":{"line":83,"file":"Guild.js","path":"src/structures"}},{"name":"presences","description":"A manager of the presences belonging to this guild","type":[[["PresenceManager"]]],"meta":{"line":89,"file":"Guild.js","path":"src/structures"}},{"name":"voiceStates","description":"A manager of the voice states of this guild","type":[[["VoiceStateManager"]]],"meta":{"line":95,"file":"Guild.js","path":"src/structures"}},{"name":"stageInstances","description":"A manager of the stage instances of this guild","type":[[["StageInstanceManager"]]],"meta":{"line":101,"file":"Guild.js","path":"src/structures"}},{"name":"invites","description":"A manager of the invites of this guild","type":[[["GuildInviteManager"]]],"meta":{"line":107,"file":"Guild.js","path":"src/structures"}},{"name":"scheduledEvents","description":"A manager of the scheduled events of this guild","type":[[["GuildScheduledEventManager"]]],"meta":{"line":113,"file":"Guild.js","path":"src/structures"}},{"name":"autoModerationRules","description":"A manager of the auto moderation rules of this guild.","type":[[["AutoModerationRuleManager"]]],"meta":{"line":119,"file":"Guild.js","path":"src/structures"}},{"name":"settings","description":"All of the settings {@link Object}","type":[[["GuildSettingManager"]]],"meta":{"line":125,"file":"Guild.js","path":"src/structures"}},{"name":"available","description":"Whether the guild is available to access. If it is not available, it indicates a server outage","type":[[["boolean"]]],"meta":{"line":133,"file":"Guild.js","path":"src/structures"}},{"name":"shardId","description":"The id of the shard this Guild belongs to.","type":[[["number"]]],"meta":{"line":143,"file":"Guild.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":151,"file":"Guild.js","path":"src/structures"}},{"name":"shard","description":"The Shard this Guild belongs to.","readonly":true,"type":[[["WebSocketShard"]]],"meta":{"line":181,"file":"Guild.js","path":"src/structures"}},{"name":"discoverySplash","description":"The hash of the guild discovery splash image","nullable":true,"type":[[["string"]]],"meta":{"line":201,"file":"Guild.js","path":"src/structures"}},{"name":"memberCount","description":"The full amount of members in this guild","type":[[["number"]]],"meta":{"line":209,"file":"Guild.js","path":"src/structures"}},{"name":"large","description":"Whether the guild is \"large\" (has more than {@link WebsocketOptions large_threshold} members, 50 by default)","type":[[["boolean"]]],"meta":{"line":217,"file":"Guild.js","path":"src/structures"}},{"name":"premiumProgressBarEnabled","description":"Whether this guild has its premium (boost) progress bar enabled","type":[[["boolean"]]],"meta":{"line":225,"file":"Guild.js","path":"src/structures"}},{"name":"applicationId","description":"The id of the application that created this guild (if applicable)","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":270,"file":"Guild.js","path":"src/structures"}},{"name":"afkTimeout","description":"The time in seconds before a user is counted as \"away from keyboard\"","nullable":true,"type":[[["number"]]],"meta":{"line":278,"file":"Guild.js","path":"src/structures"}},{"name":"afkChannelId","description":"The id of the voice channel where AFK members are moved","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":286,"file":"Guild.js","path":"src/structures"}},{"name":"systemChannelId","description":"The system channel's id","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":294,"file":"Guild.js","path":"src/structures"}},{"name":"premiumTier","description":"The premium tier of this guild","type":[[["PremiumTier"]]],"meta":{"line":302,"file":"Guild.js","path":"src/structures"}},{"name":"widgetEnabled","description":"Whether widget images are enabled on this guild","nullable":true,"type":[[["boolean"]]],"meta":{"line":310,"file":"Guild.js","path":"src/structures"}},{"name":"widgetChannelId","description":"The widget channel's id, if enabled","nullable":true,"type":[[["string"]]],"meta":{"line":318,"file":"Guild.js","path":"src/structures"}},{"name":"explicitContentFilter","description":"The explicit content filter level of the guild","type":[[["ExplicitContentFilterLevel"]]],"meta":{"line":326,"file":"Guild.js","path":"src/structures"}},{"name":"mfaLevel","description":"The required MFA level for this guild","type":[[["MFALevel"]]],"meta":{"line":334,"file":"Guild.js","path":"src/structures"}},{"name":"joinedTimestamp","description":"The timestamp the client user joined the guild at","type":[[["number"]]],"meta":{"line":342,"file":"Guild.js","path":"src/structures"}},{"name":"defaultMessageNotifications","description":"The default message notification level of the guild","type":[[["DefaultMessageNotificationLevel"]]],"meta":{"line":350,"file":"Guild.js","path":"src/structures"}},{"name":"systemChannelFlags","description":"The value set for the guild's system channel flags","type":[[["Readonly","<"],["SystemChannelFlags",">"]]],"meta":{"line":358,"file":"Guild.js","path":"src/structures"}},{"name":"maximumMembers","description":"The maximum amount of members the guild can have","nullable":true,"type":[[["number"]]],"meta":{"line":366,"file":"Guild.js","path":"src/structures"}},{"name":"maximumPresences","description":"The maximum amount of presences the guild can have\nYou will need to fetch the guild using {@link Guild#fetch} if you want to receive this parameter","nullable":true,"type":[[["number"]]],"meta":{"line":377,"file":"Guild.js","path":"src/structures"}},{"name":"maxVideoChannelUsers","description":"The maximum amount of users allowed in a video channel.","nullable":true,"type":[[["number"]]],"meta":{"line":387,"file":"Guild.js","path":"src/structures"}},{"name":"maxStageVideoChannelUsers","description":"The maximum amount of users allowed in a stage video channel.","nullable":true,"type":[[["number"]]],"meta":{"line":397,"file":"Guild.js","path":"src/structures"}},{"name":"approximateMemberCount","description":"The approximate amount of members the guild has\nYou will need to fetch the guild using {@link Guild#fetch} if you want to receive this parameter","nullable":true,"type":[[["number"]]],"meta":{"line":408,"file":"Guild.js","path":"src/structures"}},{"name":"approximatePresenceCount","description":"The approximate amount of presences the guild has\nYou will need to fetch the guild using {@link Guild#fetch} if you want to receive this parameter","nullable":true,"type":[[["number"]]],"meta":{"line":419,"file":"Guild.js","path":"src/structures"}},{"name":"vanityURLUses","description":"The use count of the vanity URL code of the guild, if any\nYou will need to fetch this parameter using {@link Guild#fetchVanityData} if you want to receive it","nullable":true,"type":[[["number"]]],"meta":{"line":429,"file":"Guild.js","path":"src/structures"}},{"name":"rulesChannelId","description":"The rules channel's id for the guild","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":436,"file":"Guild.js","path":"src/structures"}},{"name":"publicUpdatesChannelId","description":"The community updates channel's id for the guild","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":444,"file":"Guild.js","path":"src/structures"}},{"name":"preferredLocale","description":"The preferred locale of the guild, defaults to `en-US`","see":["{@link https://discord.com/developers/docs/reference#locales}"],"type":[[["Locale"]]],"meta":{"line":453,"file":"Guild.js","path":"src/structures"}},{"name":"safetyAlertsChannelId","description":"The safety alerts channel's id for the guild","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":461,"file":"Guild.js","path":"src/structures"}},{"name":"ownerId","description":"The user id of this guild's owner","type":[[["Snowflake"]]],"meta":{"line":494,"file":"Guild.js","path":"src/structures"}},{"name":"emojis","description":"A manager of the emojis belonging to this guild","type":[[["GuildEmojiManager"]]],"meta":{"line":529,"file":"Guild.js","path":"src/structures"}},{"name":"stickers","description":"A manager of the stickers belonging to this guild","type":[[["GuildStickerManager"]]],"meta":{"line":543,"file":"Guild.js","path":"src/structures"}},{"name":"joinedAt","description":"The time the client user joined the guild","readonly":true,"type":[[["Date"]]],"meta":{"line":558,"file":"Guild.js","path":"src/structures"}},{"name":"afkChannel","description":"AFK voice channel for this guild","readonly":true,"nullable":true,"type":[[["VoiceChannel"]]],"meta":{"line":586,"file":"Guild.js","path":"src/structures"}},{"name":"systemChannel","description":"System channel for this guild","readonly":true,"nullable":true,"type":[[["TextChannel"]]],"meta":{"line":595,"file":"Guild.js","path":"src/structures"}},{"name":"safetyAlertsChannel","description":"Safety alerts channel for this guild","readonly":true,"nullable":true,"type":[[["TextChannel"]]],"meta":{"line":604,"file":"Guild.js","path":"src/structures"}},{"name":"widgetChannel","description":"Widget channel for this guild","readonly":true,"nullable":true,"type":[[["TextChannel"]],[["NewsChannel"]],[["VoiceChannel"]],[["StageChannel"]],[["ForumChannel"]]],"meta":{"line":613,"file":"Guild.js","path":"src/structures"}},{"name":"rulesChannel","description":"Rules channel for this guild","readonly":true,"nullable":true,"type":[[["TextChannel"]]],"meta":{"line":622,"file":"Guild.js","path":"src/structures"}},{"name":"publicUpdatesChannel","description":"Public updates channel for this guild","readonly":true,"nullable":true,"type":[[["TextChannel"]]],"meta":{"line":631,"file":"Guild.js","path":"src/structures"}},{"name":"me","description":"The client user as a GuildMember of this guild","readonly":true,"nullable":true,"deprecated":"Use {@link GuildMemberManager#me} instead.","type":[[["GuildMember"]]],"meta":{"line":641,"file":"Guild.js","path":"src/structures"}},{"name":"maximumBitrate","description":"The maximum bitrate available for this guild","readonly":true,"type":[[["number"]]],"meta":{"line":655,"file":"Guild.js","path":"src/structures"}},{"name":"voiceAdapterCreator","description":"The voice state adapter for this guild that can be used with @discordjs/voice to play audio in voice\nand stage channels.","readonly":true,"type":[[["function"]]],"meta":{"line":1557,"file":"Guild.js","path":"src/structures"}},{"name":"splash","description":"The hash of the guild invite splash image","nullable":true,"type":[[["string"]]],"meta":{"line":25,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"banner","description":"The hash of the guild banner","nullable":true,"type":[[["string"]]],"meta":{"line":33,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"description","description":"The description of the guild, if any","nullable":true,"type":[[["string"]]],"meta":{"line":41,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"verificationLevel","description":"The verification level of the guild","type":[[["VerificationLevel"]]],"meta":{"line":49,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"vanityURLCode","description":"The vanity invite code of the guild, if any","nullable":true,"type":[[["string"]]],"meta":{"line":57,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"nsfwLevel","description":"The NSFW level of this guild","type":[[["NSFWLevel"]]],"meta":{"line":65,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"premiumSubscriptionCount","description":"The total number of boosts for this server","nullable":true,"type":[[["number"]]],"meta":{"line":73,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"id","description":"The guild's id","type":[[["Snowflake"]]],"meta":{"line":19,"file":"BaseGuild.js","path":"src/structures"}},{"name":"name","description":"The name of this guild","type":[[["string"]]],"meta":{"line":25,"file":"BaseGuild.js","path":"src/structures"}},{"name":"icon","description":"The icon hash of this guild","nullable":true,"type":[[["string"]]],"meta":{"line":31,"file":"BaseGuild.js","path":"src/structures"}},{"name":"features","description":"An array of features available to this guild","type":[[["Array","<"],["Features",">"]]],"meta":{"line":37,"file":"BaseGuild.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp this guild was created at","readonly":true,"type":[[["number"]]],"meta":{"line":45,"file":"BaseGuild.js","path":"src/structures"}},{"name":"createdAt","description":"The time this guild was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":54,"file":"BaseGuild.js","path":"src/structures"}},{"name":"nameAcronym","description":"The acronym that shows up in place of a guild icon","readonly":true,"type":[[["string"]]],"meta":{"line":63,"file":"BaseGuild.js","path":"src/structures"}},{"name":"partnered","description":"Whether this guild is partnered","readonly":true,"type":[[["boolean"]]],"meta":{"line":75,"file":"BaseGuild.js","path":"src/structures"}},{"name":"verified","description":"Whether this guild is verified","readonly":true,"type":[[["boolean"]]],"meta":{"line":84,"file":"BaseGuild.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"discoverySplashURL","description":"The URL to this guild's discovery splash image.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":567,"file":"Guild.js","path":"src/structures"}},{"name":"fetchOwner","description":"Fetches the owner of the guild.\nIf the member object isn't needed, use {@link Guild#ownerId} instead.","params":[{"name":"options","description":"The options for fetching the member","optional":true,"type":[[["BaseFetchOptions"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":577,"file":"Guild.js","path":"src/structures"}},{"name":"fetchIntegrations","description":"Fetches a collection of integrations to this guild.\nResolves with a collection mapping integrations by their ids.","examples":["// Fetch integrations\nguild.fetchIntegrations()\n .then(integrations => console.log(`Fetched ${integrations.size} integrations`))\n .catch(console.error);"],"async":true,"returns":[[["Promise","<"],["Collection","<("],["Snowflake","|"],["string","), "],["Integration",">>"]]],"meta":{"line":682,"file":"Guild.js","path":"src/structures"}},{"name":"fetchTemplates","description":"Fetches a collection of templates from this guild.\nResolves with a collection mapping templates by their codes.","async":true,"returns":[[["Promise","<"],["Collection","<"],["string",", "],["GuildTemplate",">>"]]],"meta":{"line":695,"file":"Guild.js","path":"src/structures"}},{"name":"fetchWelcomeScreen","description":"Fetches the welcome screen for this guild.","async":true,"returns":[[["Promise","<"],["WelcomeScreen",">"]]],"meta":{"line":704,"file":"Guild.js","path":"src/structures"}},{"name":"createTemplate","description":"Creates a template for the guild.","params":[{"name":"name","description":"The name for the template","type":[[["string"]]]},{"name":"description","description":"The description for the template","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildTemplate",">"]]],"meta":{"line":715,"file":"Guild.js","path":"src/structures"}},{"name":"fetchPreview","description":"Obtains a guild preview for this guild from Discord.","async":true,"returns":[[["Promise","<"],["GuildPreview",">"]]],"meta":{"line":724,"file":"Guild.js","path":"src/structures"}},{"name":"fetchVanityData","description":"Fetches the vanity URL invite object to this guild.\nResolves with an object containing the vanity URL invite code and the use count","examples":["// Fetch invite data\nguild.fetchVanityData()\n .then(res => {\n console.log(`Vanity URL: https://discord.gg/${res.code} with ${res.uses} uses`);\n })\n .catch(console.error);"],"async":true,"returns":[[["Promise","<"],["Vanity",">"]]],"meta":{"line":748,"file":"Guild.js","path":"src/structures"}},{"name":"fetchWebhooks","description":"Fetches all webhooks for the guild.","examples":["// Fetch webhooks\nguild.fetchWebhooks()\n .then(webhooks => console.log(`Fetched ${webhooks.size} webhooks`))\n .catch(console.error);"],"async":true,"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Webhook",">>"]]],"meta":{"line":765,"file":"Guild.js","path":"src/structures"}},{"name":"fetchWidget","description":"Fetches the guild widget data, requires the widget to be enabled.","examples":["// Fetches the guild widget data\nguild.fetchWidget()\n .then(widget => console.log(`The widget shows ${widget.channels.size} channels`))\n .catch(console.error);"],"returns":[[["Promise","<"],["Widget",">"]]],"meta":{"line":781,"file":"Guild.js","path":"src/structures"}},{"name":"fetchWidgetSettings","description":"Fetches the guild widget settings.","examples":["// Fetches the guild widget settings\nguild.fetchWidgetSettings()\n .then(widget => console.log(`The widget is ${widget.enabled ? 'enabled' : 'disabled'}`))\n .catch(console.error);"],"async":true,"returns":[[["Promise","<"],["GuildWidgetSettings",">"]]],"meta":{"line":808,"file":"Guild.js","path":"src/structures"}},{"name":"fetchAuditLogs","description":"Fetches audit logs for this guild.","examples":["// Output audit log entries\nguild.fetchAuditLogs()\n .then(audit => console.log(audit.entries.first()))\n .catch(console.error);"],"params":[{"name":"options","description":"Options for fetching audit logs","optional":true,"default":"{}","type":[[["GuildAuditLogsFetchOptions"]]]}],"async":true,"returns":[[["Promise","<"],["GuildAuditLogs",">"]]],"meta":{"line":838,"file":"Guild.js","path":"src/structures"}},{"name":"edit","description":"Updates the guild with new information - e.g. a new name.","examples":["// Set the guild name\nguild.edit({\n name: 'Discord Guild',\n})\n .then(updated => console.log(`New guild name ${updated}`))\n .catch(console.error);"],"params":[{"name":"data","description":"The data to update the guild with","type":[[["GuildEditData"]]]},{"name":"reason","description":"Reason for editing this guild","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":905,"file":"Guild.js","path":"src/structures"}},{"name":"editWelcomeScreen","description":"Updates the guild's welcome screen","examples":["guild.editWelcomeScreen({\n description: 'Hello World',\n enabled: true,\n welcomeChannels: [\n {\n description: 'foobar',\n channel: '222197033908436994',\n }\n ],\n})"],"params":[{"name":"data","description":"Data to edit the welcome screen with","type":[[["WelcomeScreenEditData"]]]}],"async":true,"returns":[[["Promise","<"],["WelcomeScreen",">"]]],"meta":{"line":1012,"file":"Guild.js","path":"src/structures"}},{"name":"setExplicitContentFilter","description":"Edits the level of the explicit content filter.","params":[{"name":"explicitContentFilter","description":"The new level of the explicit content filter","nullable":true,"type":[[["ExplicitContentFilterLevel"]],[["number"]]]},{"name":"reason","description":"Reason for changing the level of the guild's explicit content filter","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1040,"file":"Guild.js","path":"src/structures"}},{"name":"setDefaultMessageNotifications","description":"Edits the setting of the default message notifications of the guild.","params":[{"name":"defaultMessageNotifications","description":"The new default message notification level of the guild","nullable":true,"type":[[["DefaultMessageNotificationLevel"]],[["number"]]]},{"name":"reason","description":"Reason for changing the setting of the default message notifications","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1051,"file":"Guild.js","path":"src/structures"}},{"name":"setSystemChannelFlags","description":"Edits the flags of the default message notifications of the guild.","params":[{"name":"systemChannelFlags","description":"The new flags for the default message notifications","type":[[["SystemChannelFlagsResolvable"]]]},{"name":"reason","description":"Reason for changing the flags of the default message notifications","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1062,"file":"Guild.js","path":"src/structures"}},{"name":"setName","description":"Edits the name of the guild.","examples":["// Edit the guild name\nguild.setName('Discord Guild')\n .then(updated => console.log(`Updated guild name to ${updated.name}`))\n .catch(console.error);"],"params":[{"name":"name","description":"The new name of the guild","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild's name","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1077,"file":"Guild.js","path":"src/structures"}},{"name":"setVerificationLevel","description":"Edits the verification level of the guild.","examples":["// Edit the guild verification level\nguild.setVerificationLevel(1)\n .then(updated => console.log(`Updated guild verification level to ${guild.verificationLevel}`))\n .catch(console.error);"],"params":[{"name":"verificationLevel","description":"The new verification level of the guild","nullable":true,"type":[[["VerificationLevel"]],[["number"]]]},{"name":"reason","description":"Reason for changing the guild's verification level","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1092,"file":"Guild.js","path":"src/structures"}},{"name":"setAFKChannel","description":"Edits the AFK channel of the guild.","examples":["// Edit the guild AFK channel\nguild.setAFKChannel(channel)\n .then(updated => console.log(`Updated guild AFK channel to ${guild.afkChannel.name}`))\n .catch(console.error);"],"params":[{"name":"afkChannel","description":"The new AFK channel","nullable":true,"type":[[["VoiceChannelResolvable"]]]},{"name":"reason","description":"Reason for changing the guild's AFK channel","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1107,"file":"Guild.js","path":"src/structures"}},{"name":"setSystemChannel","description":"Edits the system channel of the guild.","examples":["// Edit the guild system channel\nguild.setSystemChannel(channel)\n .then(updated => console.log(`Updated guild system channel to ${guild.systemChannel.name}`))\n .catch(console.error);"],"params":[{"name":"systemChannel","description":"The new system channel","nullable":true,"type":[[["TextChannelResolvable"]]]},{"name":"reason","description":"Reason for changing the guild's system channel","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1122,"file":"Guild.js","path":"src/structures"}},{"name":"setAFKTimeout","description":"Edits the AFK timeout of the guild.","examples":["// Edit the guild AFK channel\nguild.setAFKTimeout(60)\n .then(updated => console.log(`Updated guild AFK timeout to ${guild.afkTimeout}`))\n .catch(console.error);"],"params":[{"name":"afkTimeout","description":"The time in seconds that a user must be idle to be considered AFK","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the guild's AFK timeout","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1137,"file":"Guild.js","path":"src/structures"}},{"name":"setIcon","description":"Sets a new guild icon.","examples":["// Edit the guild icon\nguild.setIcon('./icon.png')\n .then(updated => console.log('Updated the guild icon'))\n .catch(console.error);"],"params":[{"name":"icon","description":"The new icon of the guild","nullable":true,"type":[[["Base64Resolvable"]],[["BufferResolvable"]]]},{"name":"reason","description":"Reason for changing the guild's icon","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1152,"file":"Guild.js","path":"src/structures"}},{"name":"setOwner","description":"Sets a new owner of the guild.","examples":["// Edit the guild owner\nguild.setOwner(guild.members.cache.first())\n .then(guild => guild.fetchOwner())\n .then(owner => console.log(`Updated the guild owner to ${owner.displayName}`))\n .catch(console.error);"],"params":[{"name":"owner","description":"The new owner of the guild","type":[[["GuildMemberResolvable"]]]},{"name":"reason","description":"Reason for setting the new owner","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1168,"file":"Guild.js","path":"src/structures"}},{"name":"setSplash","description":"Sets a new guild invite splash image.","examples":["// Edit the guild splash\nguild.setSplash('./splash.png')\n .then(updated => console.log('Updated the guild splash'))\n .catch(console.error);"],"params":[{"name":"splash","description":"The new invite splash image of the guild","nullable":true,"type":[[["Base64Resolvable"]],[["BufferResolvable"]]]},{"name":"reason","description":"Reason for changing the guild's invite splash image","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1183,"file":"Guild.js","path":"src/structures"}},{"name":"setDiscoverySplash","description":"Sets a new guild discovery splash image.","examples":["// Edit the guild discovery splash\nguild.setDiscoverySplash('./discoverysplash.png')\n .then(updated => console.log('Updated the guild discovery splash'))\n .catch(console.error);"],"params":[{"name":"discoverySplash","description":"The new discovery splash image of the guild","nullable":true,"type":[[["Base64Resolvable"]],[["BufferResolvable"]]]},{"name":"reason","description":"Reason for changing the guild's discovery splash image","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1198,"file":"Guild.js","path":"src/structures"}},{"name":"setBanner","description":"Sets a new guild banner.","examples":["guild.setBanner('./banner.png')\n .then(updated => console.log('Updated the guild banner'))\n .catch(console.error);"],"params":[{"name":"banner","description":"The new banner of the guild","nullable":true,"type":[[["Base64Resolvable"]],[["BufferResolvable"]]]},{"name":"reason","description":"Reason for changing the guild's banner","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1212,"file":"Guild.js","path":"src/structures"}},{"name":"setRulesChannel","description":"Edits the rules channel of the guild.","examples":["// Edit the guild rules channel\nguild.setRulesChannel(channel)\n .then(updated => console.log(`Updated guild rules channel to ${guild.rulesChannel.name}`))\n .catch(console.error);"],"params":[{"name":"rulesChannel","description":"The new rules channel","nullable":true,"type":[[["TextChannelResolvable"]]]},{"name":"reason","description":"Reason for changing the guild's rules channel","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1227,"file":"Guild.js","path":"src/structures"}},{"name":"setPublicUpdatesChannel","description":"Edits the community updates channel of the guild.","examples":["// Edit the guild community updates channel\nguild.setPublicUpdatesChannel(channel)\n .then(updated => console.log(`Updated guild community updates channel to ${guild.publicUpdatesChannel.name}`))\n .catch(console.error);"],"params":[{"name":"publicUpdatesChannel","description":"The new community updates channel","nullable":true,"type":[[["TextChannelResolvable"]]]},{"name":"reason","description":"Reason for changing the guild's community updates channel","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1242,"file":"Guild.js","path":"src/structures"}},{"name":"setPreferredLocale","description":"Edits the preferred locale of the guild.","examples":["// Edit the guild preferred locale\nguild.setPreferredLocale('en-US')\n .then(updated => console.log(`Updated guild preferred locale to ${guild.preferredLocale}`))\n .catch(console.error);"],"params":[{"name":"preferredLocale","description":"The new preferred locale of the guild","nullable":true,"type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild's preferred locale","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1257,"file":"Guild.js","path":"src/structures"}},{"name":"setSafetyAlertsChannel","description":"Edits the safety alerts channel of the guild.","examples":["// Edit the guild safety alerts channel\nguild.setSafetyAlertsChannel(channel)\n .then(updated => console.log(`Updated guild safety alerts channel to ${updated.safetyAlertsChannel.name}`))\n .catch(console.error);"],"params":[{"name":"safetyAlertsChannel","description":"The new safety alerts channel","nullable":true,"type":[[["TextChannelResolvable"]]]},{"name":"reason","description":"Reason for changing the guild's safety alerts channel","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1272,"file":"Guild.js","path":"src/structures"}},{"name":"setPremiumProgressBarEnabled","description":"Edits the enabled state of the guild's premium progress bar","params":[{"name":"enabled","description":"The new enabled state of the guild's premium progress bar","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"Reason for changing the state of the guild's premium progress bar","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1282,"file":"Guild.js","path":"src/structures"}},{"name":"setChannelPositions","description":"Batch-updates the guild's channels' positions.\nOnly one channel's parent can be changed at a time","examples":["guild.setChannelPositions([{ channel: channelId, position: newChannelIndex }])\n .then(guild => console.log(`Updated channel positions for ${guild}`))\n .catch(console.error);"],"deprecated":"Use {@link GuildChannelManager#setPositions} instead","params":[{"name":"channelPositions","description":"Channel positions to update","type":[[["Array","<"],["ChannelPosition",">"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1313,"file":"Guild.js","path":"src/structures"}},{"name":"setRolePositions","description":"Batch-updates the guild's role positions","examples":["guild.setRolePositions([{ role: roleId, position: updatedRoleIndex }])\n .then(guild => console.log(`Role positions updated for ${guild}`))\n .catch(console.error);"],"deprecated":"Use {@link RoleManager#setPositions} instead","params":[{"name":"rolePositions","description":"Role positions to update","type":[[["Array","<"],["GuildRolePosition",">"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1343,"file":"Guild.js","path":"src/structures"}},{"name":"setWidgetSettings","description":"Edits the guild's widget settings.","params":[{"name":"settings","description":"The widget settings for the guild","type":[[["GuildWidgetSettingsData"]]]},{"name":"reason","description":"Reason for changing the guild's widget settings","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1362,"file":"Guild.js","path":"src/structures"}},{"name":"disableInvites","description":"Sets whether this guild's invites are disabled.","params":[{"name":"disabled","description":"Whether the invites are disabled","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1378,"file":"Guild.js","path":"src/structures"}},{"name":"leave","description":"Leaves the guild.","examples":["// Leave a guild\nguild.leave()\n .then(guild => console.log(`Left the guild: ${guild.name}`))\n .catch(console.error);"],"async":true,"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1393,"file":"Guild.js","path":"src/structures"}},{"name":"delete","description":"Deletes the guild.","examples":["// Delete a guild\nguild.delete()\n .then(g => console.log(`Deleted the guild ${g}`))\n .catch(console.error);"],"async":true,"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1408,"file":"Guild.js","path":"src/structures"}},{"name":"equals","description":"Whether this guild equals another guild. It compares all properties, so for most operations\nit is advisable to just compare `guild.id === guild2.id` as it is much faster and is often\nwhat most users need.","params":[{"name":"guild","description":"The guild to compare with","type":[[["Guild"]]]}],"returns":[[["boolean"]]],"meta":{"line":1420,"file":"Guild.js","path":"src/structures"}},{"name":"markAsRead","description":"Marks the guild as read.","examples":["const guild = client.guilds.cache.get('id');\nguild.markAsRead();"],"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":1462,"file":"Guild.js","path":"src/structures"}},{"name":"setCommunity","description":"Set Community Feature.","params":[{"name":"stats","description":"True / False to enable / disable Community Feature","default":true,"type":[[["boolean"]]]},{"name":"publicUpdatesChannel","description":"The community updates channel of the guild","optional":true,"type":[[["GuildTextChannelResolvable"]]]},{"name":"rulesChannel","description":"The new rules channel","optional":true,"type":[[["GuildTextChannelResolvable"]]]},{"name":"reason","description":"Reason for changing the community feature","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1474,"file":"Guild.js","path":"src/structures"}},{"name":"topEmojis","description":"Get the top emojis of this guild.","returns":[[["Promise","<"],["Collection","<"],["number",", "],["GuildEmoji",">>"]]],"meta":{"line":1511,"file":"Guild.js","path":"src/structures"}},{"name":"setVanityCode","description":"Set the vanity URL to this guild.\nResolves with an object containing the vanity URL invite code and the use count.","examples":["// Set invite code\nguild.setVanityCode('elysia')\n .then(res => {\n console.log(`Vanity URL: https://discord.gg/${res.code} with ${res.uses} uses`);\n })\n .catch(console.error);"],"params":[{"name":"code","description":"Vanity URL code","optional":true,"default":"''","type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Vanity",">"]]],"meta":{"line":1540,"file":"Guild.js","path":"src/structures"}},{"name":"_sortedRoles","description":"Creates a collection of this guild's roles, sorted by their position and ids.","access":"private","returns":[[["Collection","<"],["Snowflake",", "],["Role",">"]]],"meta":{"line":1578,"file":"Guild.js","path":"src/structures"}},{"name":"_sortedChannels","description":"Creates a collection of this guild's or a specific category's channels, sorted by their position and ids.","access":"private","params":[{"name":"channel","description":"Category to get the channels of","optional":true,"type":[[["GuildChannel"]]]}],"returns":[[["Collection","<"],["Snowflake",", "],["GuildChannel",">"]]],"meta":{"line":1588,"file":"Guild.js","path":"src/structures"}},{"name":"bannerURL","description":"The URL to this guild's banner.","inherits":"AnonymousGuild#bannerURL","inherited":true,"params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":84,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"splashURL","description":"The URL to this guild's invite splash image.","inherits":"AnonymousGuild#splashURL","inherited":true,"params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":93,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"iconURL","description":"The URL to this guild's icon.","inherits":"BaseGuild#iconURL","inherited":true,"params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["ImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":93,"file":"BaseGuild.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this guild.","inherits":"BaseGuild#fetch","inherited":true,"async":true,"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":102,"file":"BaseGuild.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the guild's name instead of the Guild object.","inherits":"BaseGuild#toString","inherited":true,"returns":[[["string"]]],"meta":{"line":111,"file":"BaseGuild.js","path":"src/structures"}}],"meta":{"line":57,"file":"Guild.js","path":"src/structures"}},{"name":"GuildAuditLogs","description":"Audit logs entries are held in this class.","props":[{"name":"webhooks","description":"Cached webhooks","access":"private","type":[[["Collection","<"],["Snowflake",", "],["Webhook",">"]]],"meta":{"line":197,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"integrations","description":"Cached integrations","access":"private","type":[[["Collection","<("],["Snowflake","|"],["string","), "],["Integration",">"]]],"meta":{"line":209,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"applicationCommands","description":"Cached application commands, includes application commands from other applications","access":"private","type":[[["Collection","<"],["Snowflake",", "],["ApplicationCommand",">"]]],"meta":{"line":221,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"autoModerationRules","description":"Cached auto moderation rules.","access":"private","type":[[["Collection","<"],["Snowflake",", "],["AutoModerationRule",">"]]],"meta":{"line":232,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"entries","description":"The entries for this guild's audit logs","type":[[["Collection","<"],["Snowflake",", "],["GuildAuditLogsEntry",">"]]],"meta":{"line":242,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"Targets","description":"Key mirror of all available audit log targets.","scope":"static","type":[[["Object","<"],["string",", "],["string",">"]]],"meta":{"line":36,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"Actions","description":"All available actions keyed under their names to their numeric values.","scope":"static","type":[[["Object","<"],["string",", "],["number",">"]]],"meta":{"line":122,"file":"GuildAuditLogs.js","path":"src/structures"}}],"methods":[{"name":"build","description":"Handles possible promises for entry targets.","scope":"static","async":true,"returns":[[["Promise","<"],["GuildAuditLogs",">"]]],"meta":{"line":253,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"targetType","description":"Finds the target type from the entry action.","scope":"static","params":[{"name":"target","description":"The action target","type":[[["AuditLogAction"]]]}],"returns":[[["AuditLogTargetType"]]],"meta":{"line":287,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"actionType","description":"Finds the action type from the entry action.","scope":"static","params":[{"name":"action","description":"The action target","type":[[["AuditLogAction"]]]}],"returns":[[["AuditLogActionType"]]],"meta":{"line":320,"file":"GuildAuditLogs.js","path":"src/structures"}}],"meta":{"line":188,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"GuildAuditLogsEntry","description":"Audit logs entry.","props":[{"name":"targetType","description":"The target type of this entry","type":[[["AuditLogTargetType"]]],"meta":{"line":412,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"actionType","description":"The action type of this entry","type":[[["AuditLogActionType"]]],"meta":{"line":418,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"action","description":"Specific action type of this entry in its string presentation","type":[[["AuditLogAction"]]],"meta":{"line":424,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"reason","description":"The reason of this entry","nullable":true,"type":[[["string"]]],"meta":{"line":430,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"executorId","description":"The id of the user that executed this entry","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":436,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"executor","description":"The user that executed this entry","nullable":true,"type":[[["User"]]],"meta":{"line":442,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"changes","description":"Specific property changes","type":[[["Array","<"],["AuditLogChange",">"]]],"meta":{"line":460,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"id","description":"The entry's id","type":[[["Snowflake"]]],"meta":{"line":466,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"extra","description":"Any extra data from the entry","nullable":true,"type":[[["Object"]],[["Role"]],[["GuildMember"]]],"meta":{"line":472,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"targetId","description":"The id of the target of this entry","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":556,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"target","description":"The target of this entry","nullable":true,"type":[[["AuditLogEntryTarget"]]],"meta":{"line":562,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp this entry was created at","readonly":true,"type":[[["number"]]],"meta":{"line":707,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"createdAt","description":"The time this entry was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":716,"file":"GuildAuditLogs.js","path":"src/structures"}}],"meta":{"line":405,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"GuildBan","description":"Represents a ban in a guild on Discord.","extends":[[["Base"]]],"props":[{"name":"guild","description":"The guild in which the ban is","type":[[["Guild"]]],"meta":{"line":17,"file":"GuildBan.js","path":"src/structures"}},{"name":"user","description":"The user this ban applies to","type":[[["User"]]],"meta":{"line":28,"file":"GuildBan.js","path":"src/structures"}},{"name":"reason","description":"The reason for the ban","nullable":true,"type":[[["string"]]],"meta":{"line":36,"file":"GuildBan.js","path":"src/structures"}},{"name":"partial","description":"Whether this GuildBan is partial. If the reason is not provided the value is null","readonly":true,"type":[[["boolean"]]],"meta":{"line":45,"file":"GuildBan.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"fetch","description":"Fetches this GuildBan.","params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["GuildBan",">"]]],"meta":{"line":54,"file":"GuildBan.js","path":"src/structures"}}],"meta":{"line":9,"file":"GuildBan.js","path":"src/structures"}},{"name":"GuildBoost","description":"Represents a guild boost in a guild on Discord.","extends":[[["Base"]]],"props":[{"name":"id","description":"The id of the guild boost","type":[[["Snowflake"]]],"meta":{"line":21,"file":"GuildBoost.js","path":"src/structures"}},{"name":"subscriptionId","description":"The id of the subscription","type":[[["Snowflake"]]],"meta":{"line":28,"file":"GuildBoost.js","path":"src/structures"}},{"name":"premiumGuildSubscriptionId","description":"The premium guild subscription id","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":35,"file":"GuildBoost.js","path":"src/structures"}},{"name":"guildId","description":"Guild id","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":40,"file":"GuildBoost.js","path":"src/structures"}},{"name":"ended","description":"Ended ???","nullable":true,"type":[[["boolean"]]],"meta":{"line":45,"file":"GuildBoost.js","path":"src/structures"}},{"name":"canceled","description":"Whether the subscription is canceled","type":[[["boolean"]]],"meta":{"line":52,"file":"GuildBoost.js","path":"src/structures"}},{"name":"cooldownEndsAt","description":"The cooldown end date","type":[[["Date"]]],"meta":{"line":59,"file":"GuildBoost.js","path":"src/structures"}},{"name":"guilld","description":"The guild of the boost","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":67,"file":"GuildBoost.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"unsubscribe","description":"Cancel the boost","async":true,"returns":[[["Promise","<"],["GuildBoost",">"]]],"meta":{"line":75,"file":"GuildBoost.js","path":"src/structures"}},{"name":"subscribe","description":"Use the boost","params":[{"name":"guild","description":"The guild to use the boost on","type":[[["GuildResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["GuildBoost",">"]]],"meta":{"line":91,"file":"GuildBoost.js","path":"src/structures"}}],"meta":{"line":9,"file":"GuildBoost.js","path":"src/structures"}},{"name":"GuildChannel","description":"Represents a guild channel from any of the following:\n- {@link TextChannel}\n- {@link VoiceChannel}\n- {@link CategoryChannel}\n- {@link NewsChannel}\n- {@link StoreChannel}\n- {@link StageChannel}\n- {@link ForumChannel}","extends":[[["Channel"]]],"abstract":true,"props":[{"name":"guild","description":"The guild the channel is in","type":[[["Guild"]]],"meta":{"line":30,"file":"GuildChannel.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild the channel is in","type":[[["Snowflake"]]],"meta":{"line":36,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionOverwrites","description":"A manager of permission overwrites that belong to this channel","type":[[["PermissionOverwriteManager"]]],"meta":{"line":43,"file":"GuildChannel.js","path":"src/structures"}},{"name":"name","description":"The name of the guild channel","type":[[["string"]]],"meta":{"line":56,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rawPosition","description":"The raw position of the channel from Discord","type":[[["number"]]],"meta":{"line":64,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parentId","description":"The id of the category parent of this channel","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":76,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parent","description":"The category parent of this channel","readonly":true,"nullable":true,"type":[[["CategoryChannel"]]],"meta":{"line":98,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionsLocked","description":"If the permissionOverwrites match the parent channel, null if no parent","readonly":true,"nullable":true,"type":[[["boolean"]]],"meta":{"line":107,"file":"GuildChannel.js","path":"src/structures"}},{"name":"position","description":"The position of the channel","readonly":true,"type":[[["number"]]],"meta":{"line":148,"file":"GuildChannel.js","path":"src/structures"}},{"name":"members","description":"A collection of cached members of this channel, mapped by their ids.\nMembers that can view this channel, if the channel is text-based.\nMembers in the channel, if the channel is voice-based.","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]],"meta":{"line":274,"file":"GuildChannel.js","path":"src/structures"}},{"name":"deletable","description":"Whether the channel is deletable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":416,"file":"GuildChannel.js","path":"src/structures"}},{"name":"manageable","description":"Whether the channel is manageable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":425,"file":"GuildChannel.js","path":"src/structures"}},{"name":"viewable","description":"Whether the channel is viewable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":445,"file":"GuildChannel.js","path":"src/structures"}},{"name":"type","description":"The type of the channel","type":[[["ChannelType"]]],"meta":{"line":41,"file":"Channel.js","path":"src/structures"}},{"name":"id","description":"The channel's id","type":[[["Snowflake"]]],"meta":{"line":51,"file":"Channel.js","path":"src/structures"}},{"name":"flags","description":"The flags that are applied to the channel.","nullable":true,"type":[[["Readonly","<"],["ChannelFlags",">"]]],"meta":{"line":58,"file":"Channel.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the channel was created at","readonly":true,"type":[[["number"]]],"meta":{"line":69,"file":"Channel.js","path":"src/structures"}},{"name":"createdAt","description":"The time the channel was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":78,"file":"Channel.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":87,"file":"Channel.js","path":"src/structures"}},{"name":"partial","description":"Whether this Channel is a partial\nThis is always false outside of DM channels.","readonly":true,"type":[[["boolean"]]],"meta":{"line":118,"file":"Channel.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"permissionsFor","description":"Gets the overall set of permissions for a member or role in this channel, taking into account channel overwrites.","params":[{"name":"memberOrRole","description":"The member or role to obtain the overall permissions for","type":[[["GuildMemberResolvable"]],[["RoleResolvable"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":{"types":[[["Readonly","<"],["Permissions",">"]]],"nullable":true},"meta":{"line":172,"file":"GuildChannel.js","path":"src/structures"}},{"name":"memberPermissions","description":"Gets the overall set of permissions for a member in this channel, taking into account channel overwrites.","access":"private","params":[{"name":"member","description":"The member to obtain the overall permissions for","type":[[["GuildMember"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","default":true,"type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":212,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rolePermissions","description":"Gets the overall set of permissions for a role in this channel, taking into account channel overwrites.","access":"private","params":[{"name":"role","description":"The role to obtain the overall permissions for","type":[[["Role"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":241,"file":"GuildChannel.js","path":"src/structures"}},{"name":"lockPermissions","description":"Locks in the permission overwrites from the parent channel.","returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":261,"file":"GuildChannel.js","path":"src/structures"}},{"name":"edit","description":"Edits the channel.","examples":["// Edit a channel\nchannel.edit({ name: 'new-channel' })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"data","description":"The new data for the channel","type":[[["ChannelData"]]]},{"name":"reason","description":"Reason for editing this channel","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":289,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setName","description":"Sets a new name for the guild channel.","examples":["// Set a new channel name\nchannel.setName('not_general')\n .then(newChannel => console.log(`Channel's new name is ${newChannel.name}`))\n .catch(console.error);"],"params":[{"name":"name","description":"The new name for the guild channel","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild channel's name","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":304,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setParent","description":"Sets the parent of this channel.","examples":["// Add a parent to a channel\nmessage.channel.setParent('355908108431917066', { lockPermissions: false })\n .then(channel => console.log(`New parent of ${message.channel.name}: ${channel.name}`))\n .catch(console.error);"],"params":[{"name":"channel","description":"The category channel to set as the parent","nullable":true,"type":[[["CategoryChannelResolvable"]]]},{"name":"options","description":"The options for setting the parent","optional":true,"default":"{}","type":[[["SetParentOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":326,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setPosition","description":"Sets a new position for the guild channel.","examples":["// Set a new channel position\nchannel.setPosition(2)\n .then(newChannel => console.log(`Channel's new position is ${newChannel.position}`))\n .catch(console.error);"],"params":[{"name":"position","description":"The new position for the guild channel","type":[[["number"]]]},{"name":"options","description":"Options for setting position","optional":true,"type":[[["SetChannelPositionOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":354,"file":"GuildChannel.js","path":"src/structures"}},{"name":"clone","description":"Clones this channel.","params":[{"name":"options","description":"The options for cloning this channel","optional":true,"type":[[["GuildChannelCloneOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":369,"file":"GuildChannel.js","path":"src/structures"}},{"name":"equals","description":"Checks if this channel has the same type, topic, position, name, overwrites, and id as another channel.\nIn most cases, a simple `channel.id === channel2.id` will do, and is much faster too.","params":[{"name":"channel","description":"Channel to compare with","type":[[["GuildChannel"]]]}],"returns":[[["boolean"]]],"meta":{"line":391,"file":"GuildChannel.js","path":"src/structures"}},{"name":"delete","description":"Deletes this channel.","examples":["// Delete the channel\nchannel.delete('making room for new channels')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"reason","description":"Reason for deleting this channel","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":462,"file":"GuildChannel.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the channel's mention instead of the Channel object.","inherits":"Channel#toString","inherited":true,"examples":["// Logs: Hello from <#123456789012345678>!\nconsole.log(`Hello from ${channel}!`);"],"returns":[[["string"]]],"meta":{"line":129,"file":"Channel.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this channel.","inherits":"Channel#fetch","inherited":true,"params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":152,"file":"Channel.js","path":"src/structures"}},{"name":"isText","description":"Indicates whether this channel is {@link TextBasedChannels text-based}.","inherits":"Channel#isText","inherited":true,"returns":[[["boolean"]]],"meta":{"line":160,"file":"Channel.js","path":"src/structures"}},{"name":"isVoice","description":"Indicates whether this channel is {@link BaseGuildVoiceChannel voice-based}.","inherits":"Channel#isVoice","inherited":true,"returns":[[["boolean"]]],"meta":{"line":168,"file":"Channel.js","path":"src/structures"}},{"name":"isThread","description":"Indicates whether this channel is a {@link ThreadChannel}.","inherits":"Channel#isThread","inherited":true,"returns":[[["boolean"]]],"meta":{"line":176,"file":"Channel.js","path":"src/structures"}},{"name":"isDirectory","description":"Indicates whether this channel is a {@link DirectoryChannel}","inherits":"Channel#isDirectory","inherited":true,"returns":[[["boolean"]]],"meta":{"line":184,"file":"Channel.js","path":"src/structures"}}],"meta":{"line":22,"file":"GuildChannel.js","path":"src/structures"}},{"name":"GuildEmoji","description":"Represents a custom emoji.","extends":[[["BaseGuildEmoji"]]],"props":[{"name":"author","description":"The user who created this emoji","nullable":true,"type":[[["User"]]],"meta":{"line":20,"file":"GuildEmoji.js","path":"src/structures"}},{"name":"_roles","description":"Array of role ids this emoji is active for","access":"private","type":[[["Array","<"],["Snowflake",">"]]],"meta":{"line":22,"file":"GuildEmoji.js","path":"src/structures"}},{"name":"guild","description":"The guild this emoji is part of","type":[[["Guild"]]],"meta":{"line":33,"file":"GuildEmoji.js","path":"src/structures"}},{"name":"deletable","description":"Whether the emoji is deletable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":57,"file":"GuildEmoji.js","path":"src/structures"}},{"name":"roles","description":"A manager for roles this emoji is active for.","readonly":true,"type":[[["GuildEmojiRoleManager"]]],"meta":{"line":67,"file":"GuildEmoji.js","path":"src/structures"}},{"name":"requiresColons","description":"Whether or not this emoji requires colons surrounding it","nullable":true,"type":[[["boolean"]]],"meta":{"line":35,"file":"BaseGuildEmoji.js","path":"src/structures"}},{"name":"managed","description":"Whether this emoji is managed by an external service","nullable":true,"type":[[["boolean"]]],"meta":{"line":43,"file":"BaseGuildEmoji.js","path":"src/structures"}},{"name":"available","description":"Whether this emoji is available","nullable":true,"type":[[["boolean"]]],"meta":{"line":51,"file":"BaseGuildEmoji.js","path":"src/structures"}},{"name":"animated","description":"Whether or not the emoji is animated","nullable":true,"type":[[["boolean"]]],"meta":{"line":34,"file":"Emoji.js","path":"src/structures"}},{"name":"name","description":"The emoji's name","nullable":true,"type":[[["string"]]],"meta":{"line":40,"file":"Emoji.js","path":"src/structures"}},{"name":"id","description":"The emoji's id","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":46,"file":"Emoji.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":54,"file":"Emoji.js","path":"src/structures"}},{"name":"identifier","description":"The identifier of this emoji, used for message reactions","readonly":true,"type":[[["string"]]],"meta":{"line":84,"file":"Emoji.js","path":"src/structures"}},{"name":"url","description":"The URL to the emoji file if it's a custom emoji","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":94,"file":"Emoji.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the emoji was created at, or null if unicode","readonly":true,"nullable":true,"type":[[["number"]]],"meta":{"line":103,"file":"Emoji.js","path":"src/structures"}},{"name":"createdAt","description":"The time the emoji was created at, or null if unicode","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":112,"file":"Emoji.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"fetchAuthor","description":"Fetches the author for this emoji","returns":[[["Promise","<"],["User",">"]]],"meta":{"line":75,"file":"GuildEmoji.js","path":"src/structures"}},{"name":"edit","description":"Edits the emoji.","examples":["// Edit an emoji\nemoji.edit({ name: 'newemoji' })\n .then(e => console.log(`Edited emoji ${e}`))\n .catch(console.error);"],"params":[{"name":"data","description":"The new data for the emoji","type":[[["GuildEmojiEditData"]]]},{"name":"reason","description":"Reason for editing this emoji","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildEmoji",">"]]],"meta":{"line":97,"file":"GuildEmoji.js","path":"src/structures"}},{"name":"setName","description":"Sets the name of the emoji.","params":[{"name":"name","description":"The new name for the emoji","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the emoji's name","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildEmoji",">"]]],"meta":{"line":120,"file":"GuildEmoji.js","path":"src/structures"}},{"name":"delete","description":"Deletes the emoji.","params":[{"name":"reason","description":"Reason for deleting the emoji","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildEmoji",">"]]],"meta":{"line":129,"file":"GuildEmoji.js","path":"src/structures"}},{"name":"equals","description":"Whether this emoji is the same as another one.","params":[{"name":"other","description":"The emoji to compare it to","type":[[["GuildEmoji"]],[["APIEmoji"]]]}],"returns":[[["boolean"]]],"meta":{"line":139,"file":"GuildEmoji.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the text required to form a graphical emoji on Discord\ninstead of the Emoji object.","inherits":"Emoji#toString","inherited":true,"examples":["// Send a custom emoji from a guild:\nconst emoji = guild.emojis.cache.first();\nmsg.channel.send(`Hello! ${emoji}`);","// Send the emoji used in a reaction to the channel the reaction is part of\nreaction.message.channel.send(`The emoji used was: ${reaction.emoji}`);"],"returns":[[["string"]]],"meta":{"line":128,"file":"Emoji.js","path":"src/structures"}}],"meta":{"line":12,"file":"GuildEmoji.js","path":"src/structures"}},{"name":"GuildMember","description":"Represents a member of a guild on Discord.","extends":[[["Base"]]],"implements":[[["TextBasedChannel"]]],"props":[{"name":"guild","description":"The guild that this member is part of","type":[[["Guild"]]],"meta":{"line":33,"file":"GuildMember.js","path":"src/structures"}},{"name":"joinedTimestamp","description":"The timestamp the member joined the guild at","nullable":true,"type":[[["number"]]],"meta":{"line":39,"file":"GuildMember.js","path":"src/structures"}},{"name":"premiumSinceTimestamp","description":"The last timestamp this member started boosting the guild","nullable":true,"type":[[["number"]]],"meta":{"line":45,"file":"GuildMember.js","path":"src/structures"}},{"name":"nickname","description":"The nickname of this member, if they have one","nullable":true,"type":[[["string"]]],"meta":{"line":51,"file":"GuildMember.js","path":"src/structures"}},{"name":"pending","description":"Whether this member has yet to pass the guild's membership gate","type":[[["boolean"]]],"meta":{"line":57,"file":"GuildMember.js","path":"src/structures"}},{"name":"communicationDisabledUntilTimestamp","description":"The timestamp this member's timeout will be removed","nullable":true,"type":[[["number"]]],"meta":{"line":63,"file":"GuildMember.js","path":"src/structures"}},{"name":"_roles","description":"The role ids of the member","access":"private","type":[[["Array","<"],["Snowflake",">"]]],"meta":{"line":70,"file":"GuildMember.js","path":"src/structures"}},{"name":"user","description":"The user that this guild member instance represents","nullable":true,"type":[[["User"]]],"meta":{"line":80,"file":"GuildMember.js","path":"src/structures"}},{"name":"avatar","description":"The guild member's avatar hash","nullable":true,"type":[[["string"]]],"meta":{"line":89,"file":"GuildMember.js","path":"src/structures"}},{"name":"flags","description":"The flags of this member","type":[[["Readonly","<"],["GuildMemberFlags",">"]]],"meta":{"line":109,"file":"GuildMember.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":126,"file":"GuildMember.js","path":"src/structures"}},{"name":"partial","description":"Whether this GuildMember is a partial","readonly":true,"type":[[["boolean"]]],"meta":{"line":156,"file":"GuildMember.js","path":"src/structures"}},{"name":"roles","description":"A manager for the roles belonging to this member","readonly":true,"type":[[["GuildMemberRoleManager"]]],"meta":{"line":165,"file":"GuildMember.js","path":"src/structures"}},{"name":"voice","description":"The voice state of this member","readonly":true,"type":[[["VoiceState"]]],"meta":{"line":174,"file":"GuildMember.js","path":"src/structures"}},{"name":"joinedAt","description":"The time this member joined the guild","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":203,"file":"GuildMember.js","path":"src/structures"}},{"name":"communicationDisabledUntil","description":"The time this member's timeout will be removed","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":212,"file":"GuildMember.js","path":"src/structures"}},{"name":"premiumSince","description":"The last time this member started boosting the guild","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":221,"file":"GuildMember.js","path":"src/structures"}},{"name":"presence","description":"The presence of this guild member","readonly":true,"nullable":true,"type":[[["Presence"]]],"meta":{"line":230,"file":"GuildMember.js","path":"src/structures"}},{"name":"displayColor","description":"The displayed color of this member in base 10","readonly":true,"type":[[["number"]]],"meta":{"line":239,"file":"GuildMember.js","path":"src/structures"}},{"name":"displayHexColor","description":"The displayed color of this member in hexadecimal","readonly":true,"type":[[["string"]]],"meta":{"line":248,"file":"GuildMember.js","path":"src/structures"}},{"name":"id","description":"The member's id","readonly":true,"type":[[["Snowflake"]]],"meta":{"line":257,"file":"GuildMember.js","path":"src/structures"}},{"name":"displayName","description":"The nickname of this member, or their user display name if they don't have one","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":266,"file":"GuildMember.js","path":"src/structures"}},{"name":"permissions","description":"The overall set of permissions for this member, taking only roles and owner status into account","readonly":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":275,"file":"GuildMember.js","path":"src/structures"}},{"name":"manageable","description":"Whether the client user is above this user in the hierarchy, according to role position and guild ownership.\nThis is a prerequisite for many moderative actions.","readonly":true,"type":[[["boolean"]]],"meta":{"line":286,"file":"GuildMember.js","path":"src/structures"}},{"name":"kickable","description":"Whether this member is kickable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":299,"file":"GuildMember.js","path":"src/structures"}},{"name":"bannable","description":"Whether this member is bannable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":308,"file":"GuildMember.js","path":"src/structures"}},{"name":"moderatable","description":"Whether this member is moderatable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":317,"file":"GuildMember.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"avatarURL","description":"A link to the member's guild avatar.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["ImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":183,"file":"GuildMember.js","path":"src/structures"}},{"name":"displayAvatarURL","description":"A link to the member's guild avatar if they have one.\nOtherwise, a link to their {@link User#displayAvatarURL} will be returned.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["ImageURLOptions"]]]}],"returns":[[["string"]]],"meta":{"line":194,"file":"GuildMember.js","path":"src/structures"}},{"name":"isCommunicationDisabled","description":"Whether this member is currently timed out","returns":[[["boolean"]]],"meta":{"line":329,"file":"GuildMember.js","path":"src/structures"}},{"name":"permissionsIn","description":"Returns `channel.permissionsFor(guildMember)`. Returns permissions for a member in a guild channel,\ntaking into account roles and permission overwrites.","params":[{"name":"channel","description":"The guild channel to use as context","type":[[["GuildChannelResolvable"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":339,"file":"GuildMember.js","path":"src/structures"}},{"name":"edit","description":"Edits this member.","params":[{"name":"data","description":"The data to edit the member with","type":[[["GuildMemberEditData"]]]},{"name":"reason","description":"Reason for editing this user","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":351,"file":"GuildMember.js","path":"src/structures"}},{"name":"setNickname","description":"Sets the nickname for this member.","examples":["// Set a nickname for a guild member\nguildMember.setNickname('cool nickname', 'Needed a new nickname')\n .then(member => console.log(`Set nickname of ${member.user.username}`))\n .catch(console.error);","// Remove a nickname for a guild member\nguildMember.setNickname(null, 'No nicknames allowed!')\n .then(member => console.log(`Removed nickname for ${member.user.username}`))\n .catch(console.error);"],"params":[{"name":"nick","description":"The nickname for the guild member, or `null` if you want to reset their nickname","nullable":true,"type":[[["string"]]]},{"name":"reason","description":"Reason for setting the nickname","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":371,"file":"GuildMember.js","path":"src/structures"}},{"name":"setFlags","description":"Sets the flags for this member.","params":[{"name":"flags","description":"The flags to set","type":[[["GuildMemberFlagsResolvable"]]]},{"name":"reason","description":"Reason for setting the flags","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":381,"file":"GuildMember.js","path":"src/structures"}},{"name":"createDM","description":"Creates a DM channel between the client and this member.","params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["DMChannel",">"]]],"meta":{"line":390,"file":"GuildMember.js","path":"src/structures"}},{"name":"deleteDM","description":"Deletes any DMs with this member.","returns":[[["Promise","<"],["DMChannel",">"]]],"meta":{"line":398,"file":"GuildMember.js","path":"src/structures"}},{"name":"kick","description":"Kicks this member from the guild.","params":[{"name":"reason","description":"Reason for kicking user","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":407,"file":"GuildMember.js","path":"src/structures"}},{"name":"ban","description":"Bans this guild member.","examples":["// Ban a guild member, deleting a week's worth of messages\nguildMember.ban({ deleteMessageSeconds: 60 * 60 * 24 * 7, reason: 'They deserved it' })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for the ban","optional":true,"type":[[["BanOptions"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":421,"file":"GuildMember.js","path":"src/structures"}},{"name":"disableCommunicationUntil","description":"Times this guild member out.","examples":["// Time a guild member out for 5 minutes\nguildMember.disableCommunicationUntil(Date.now() + (5 * 60 * 1000), 'They deserved it')\n .then(console.log)\n .catch(console.error);","// Remove the timeout of a guild member\nguildMember.disableCommunicationUntil(null)\n .then(member => console.log(`Removed timeout for ${member.displayName}`))\n .catch(console.error);"],"params":[{"name":"communicationDisabledUntil","description":"The date or timestamp\nfor the member's communication to be disabled until. Provide `null` to remove the timeout.","type":[[["DateResolvable"]],[["null"]]]},{"name":"reason","description":"The reason for this timeout.","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":442,"file":"GuildMember.js","path":"src/structures"}},{"name":"timeout","description":"Times this guild member out.","examples":["// Time a guild member out for 5 minutes\nguildMember.timeout(5 * 60 * 1000, 'They deserved it')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"timeout","description":"The time in milliseconds\nfor the member's communication to be disabled until. Provide `null` to remove the timeout.","type":[[["number"]],[["null"]]]},{"name":"reason","description":"The reason for this timeout.","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":458,"file":"GuildMember.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this GuildMember.","params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":467,"file":"GuildMember.js","path":"src/structures"}},{"name":"equals","description":"Whether this guild member equals another guild member. It compares all properties, so for most\ncomparison it is advisable to just compare `member.id === member2.id` as it is significantly faster\nand is often what most users need.","params":[{"name":"member","description":"The member to compare with","type":[[["GuildMember"]]]}],"returns":[[["boolean"]]],"meta":{"line":478,"file":"GuildMember.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the user's mention instead of the GuildMember object.","examples":["// Logs: Hello from <@123456789012345678>!\nconsole.log(`Hello from ${member}!`);"],"returns":[[["string"]]],"meta":{"line":502,"file":"GuildMember.js","path":"src/structures"}},{"name":"setAvatar","description":"Sets the guild avatar of the logged in client.","params":[{"name":"avatar","description":"The new avatar","nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":523,"file":"GuildMember.js","path":"src/structures"}},{"name":"setBanner","description":"Sets the guild banner of the logged in client.","params":[{"name":"banner","description":"The new banner","nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":532,"file":"GuildMember.js","path":"src/structures"}},{"name":"setAboutMe","description":"Set Guild About me","params":[{"name":"bio","description":"Bio to set","default":null,"type":[[["string"]],[["null"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":541,"file":"GuildMember.js","path":"src/structures"}},{"name":"send","description":"Sends a message to this user.","implements":["TextBasedChannel#send"],"examples":["// Send a direct message\nguildMember.send('Hello!')\n .then(message => console.log(`Sent message: ${message.content} to ${guildMember.displayName}`))\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["MessageOptions"]]]}],"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":546,"file":"GuildMember.js","path":"src/structures"}}],"meta":{"line":25,"file":"GuildMember.js","path":"src/structures"}},{"name":"GuildPreview","description":"Represents the data about the guild any bot can preview, connected to the specified guild.","extends":[[["Base"]]],"props":[{"name":"id","description":"The id of this guild","type":[[["string"]]],"meta":{"line":27,"file":"GuildPreview.js","path":"src/structures"}},{"name":"name","description":"The name of this guild","type":[[["string"]]],"meta":{"line":34,"file":"GuildPreview.js","path":"src/structures"}},{"name":"icon","description":"The icon of this guild","nullable":true,"type":[[["string"]]],"meta":{"line":42,"file":"GuildPreview.js","path":"src/structures"}},{"name":"splash","description":"The splash icon of this guild","nullable":true,"type":[[["string"]]],"meta":{"line":50,"file":"GuildPreview.js","path":"src/structures"}},{"name":"discoverySplash","description":"The discovery splash icon of this guild","nullable":true,"type":[[["string"]]],"meta":{"line":58,"file":"GuildPreview.js","path":"src/structures"}},{"name":"features","description":"An array of enabled guild features","type":[[["Array","<"],["Features",">"]]],"meta":{"line":66,"file":"GuildPreview.js","path":"src/structures"}},{"name":"approximateMemberCount","description":"The approximate count of members in this guild","type":[[["number"]]],"meta":{"line":74,"file":"GuildPreview.js","path":"src/structures"}},{"name":"approximatePresenceCount","description":"The approximate count of online members in this guild","type":[[["number"]]],"meta":{"line":82,"file":"GuildPreview.js","path":"src/structures"}},{"name":"description","description":"The description for this guild","nullable":true,"type":[[["string"]]],"meta":{"line":90,"file":"GuildPreview.js","path":"src/structures"}},{"name":"emojis","description":"Collection of emojis belonging to this guild","type":[[["Collection","<"],["Snowflake",", "],["GuildPreviewEmoji",">"]]],"meta":{"line":100,"file":"GuildPreview.js","path":"src/structures"}},{"name":"stickers","description":"Collection of stickers belonging to this guild","type":[[["Collection","<"],["Snowflake",", "],["Sticker",">"]]],"meta":{"line":112,"file":"GuildPreview.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp this guild was created at","readonly":true,"type":[[["number"]]],"meta":{"line":122,"file":"GuildPreview.js","path":"src/structures"}},{"name":"createdAt","description":"The time this guild was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":131,"file":"GuildPreview.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"splashURL","description":"The URL to this guild's splash.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":140,"file":"GuildPreview.js","path":"src/structures"}},{"name":"discoverySplashURL","description":"The URL to this guild's discovery splash.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":149,"file":"GuildPreview.js","path":"src/structures"}},{"name":"iconURL","description":"The URL to this guild's icon.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["ImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":158,"file":"GuildPreview.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this guild.","async":true,"returns":[[["Promise","<"],["GuildPreview",">"]]],"meta":{"line":166,"file":"GuildPreview.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the guild's name instead of the Guild object.","examples":["// Logs: Hello from My Guild!\nconsole.log(`Hello from ${previewGuild}!`);"],"returns":[[["string"]]],"meta":{"line":179,"file":"GuildPreview.js","path":"src/structures"}}],"meta":{"line":13,"file":"GuildPreview.js","path":"src/structures"}},{"name":"GuildPreviewEmoji","description":"Represents an instance of an emoji belonging to a public guild obtained through Discord's preview endpoint.","extends":[[["BaseGuildEmoji"]]],"props":[{"name":"guild","description":"The public guild this emoji is part of","type":[[["GuildPreview"]]],"meta":{"line":10,"file":"GuildPreviewEmoji.js","path":"src/structures"}},{"name":"roles","description":"The roles this emoji is active for","type":[[["Array","<"],["Snowflake",">"]]],"meta":{"line":23,"file":"GuildPreviewEmoji.js","path":"src/structures"}},{"name":"requiresColons","description":"Whether or not this emoji requires colons surrounding it","nullable":true,"type":[[["boolean"]]],"meta":{"line":35,"file":"BaseGuildEmoji.js","path":"src/structures"}},{"name":"managed","description":"Whether this emoji is managed by an external service","nullable":true,"type":[[["boolean"]]],"meta":{"line":43,"file":"BaseGuildEmoji.js","path":"src/structures"}},{"name":"available","description":"Whether this emoji is available","nullable":true,"type":[[["boolean"]]],"meta":{"line":51,"file":"BaseGuildEmoji.js","path":"src/structures"}},{"name":"animated","description":"Whether or not the emoji is animated","nullable":true,"type":[[["boolean"]]],"meta":{"line":34,"file":"Emoji.js","path":"src/structures"}},{"name":"name","description":"The emoji's name","nullable":true,"type":[[["string"]]],"meta":{"line":40,"file":"Emoji.js","path":"src/structures"}},{"name":"id","description":"The emoji's id","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":46,"file":"Emoji.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":54,"file":"Emoji.js","path":"src/structures"}},{"name":"identifier","description":"The identifier of this emoji, used for message reactions","readonly":true,"type":[[["string"]]],"meta":{"line":84,"file":"Emoji.js","path":"src/structures"}},{"name":"url","description":"The URL to the emoji file if it's a custom emoji","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":94,"file":"Emoji.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the emoji was created at, or null if unicode","readonly":true,"nullable":true,"type":[[["number"]]],"meta":{"line":103,"file":"Emoji.js","path":"src/structures"}},{"name":"createdAt","description":"The time the emoji was created at, or null if unicode","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":112,"file":"Emoji.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"toString","description":"When concatenated with a string, this automatically returns the text required to form a graphical emoji on Discord\ninstead of the Emoji object.","inherits":"Emoji#toString","inherited":true,"examples":["// Send a custom emoji from a guild:\nconst emoji = guild.emojis.cache.first();\nmsg.channel.send(`Hello! ${emoji}`);","// Send the emoji used in a reaction to the channel the reaction is part of\nreaction.message.channel.send(`The emoji used was: ${reaction.emoji}`);"],"returns":[[["string"]]],"meta":{"line":128,"file":"Emoji.js","path":"src/structures"}}],"meta":{"line":9,"file":"GuildPreviewEmoji.js","path":"src/structures"}},{"name":"GuildScheduledEvent","description":"Represents a scheduled event in a {@link Guild}.","extends":[[["Base"]]],"props":[{"name":"id","description":"The id of the guild scheduled event","type":[[["Snowflake"]]],"meta":{"line":25,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild this guild scheduled event belongs to","type":[[["Snowflake"]]],"meta":{"line":31,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"channelId","description":"The channel id in which the scheduled event will be hosted, or `null` if entity type is `EXTERNAL`","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":42,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"creatorId","description":"The id of the user that created this guild scheduled event","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":52,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"name","description":"The name of the guild scheduled event","type":[[["string"]]],"meta":{"line":61,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"description","description":"The description of the guild scheduled event","nullable":true,"type":[[["string"]]],"meta":{"line":68,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"scheduledStartTimestamp","description":"The timestamp the guild scheduled event will start at\nThis can be potentially `null` only when it's an {@link AuditLogEntryTarget}","nullable":true,"type":[[["number"]]],"meta":{"line":78,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"scheduledEndTimestamp","description":"The timestamp the guild scheduled event will end at,\nor `null` if the event does not have a scheduled time to end","nullable":true,"type":[[["number"]]],"meta":{"line":85,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"privacyLevel","description":"The privacy level of the guild scheduled event","type":[[["PrivacyLevel"]]],"meta":{"line":91,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"status","description":"The status of the guild scheduled event","type":[[["GuildScheduledEventStatus"]]],"meta":{"line":97,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"entityType","description":"The type of hosting entity associated with the scheduled event","type":[[["GuildScheduledEventEntityType"]]],"meta":{"line":103,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"entityId","description":"The id of the hosting entity associated with the scheduled event","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":110,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"userCount","description":"The number of users who are subscribed to this guild scheduled event","nullable":true,"type":[[["number"]]],"meta":{"line":120,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"creator","description":"The user that created this guild scheduled event","nullable":true,"type":[[["User"]]],"meta":{"line":130,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"entityMetadata","description":"Additional metadata","nullable":true,"type":[[["GuildScheduledEventEntityMetadata"]]],"meta":{"line":150,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"image","description":"The cover image hash for this scheduled event","nullable":true,"type":[[["string"]]],"meta":{"line":165,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the guild scheduled event was created at","readonly":true,"type":[[["number"]]],"meta":{"line":185,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"createdAt","description":"The time the guild scheduled event was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":194,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"scheduledStartAt","description":"The time the guild scheduled event will start at","readonly":true,"type":[[["Date"]]],"meta":{"line":203,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"scheduledEndAt","description":"The time the guild scheduled event will end at,\nor `null` if the event does not have a scheduled time to end","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":213,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"channel","description":"The channel associated with this scheduled event","readonly":true,"nullable":true,"type":[[["VoiceChannel"]],[["StageChannel"]]],"meta":{"line":222,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"guild","description":"The guild this scheduled event belongs to","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":231,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"url","description":"The URL to the guild scheduled event","readonly":true,"type":[[["string"]]],"meta":{"line":240,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"coverImageURL","description":"The URL of this scheduled event's cover image","params":[{"name":"options","description":"Options for image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":176,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"createInviteURL","description":"Creates an invite URL to this guild scheduled event.","params":[{"name":"options","description":"The options to create the invite","optional":true,"type":[[["CreateGuildScheduledEventInviteURLOptions"]]]}],"async":true,"returns":[[["Promise","<"],["string",">"]]],"meta":{"line":256,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"edit","description":"Edits this guild scheduled event.","examples":["// Edit a guild scheduled event\nguildScheduledEvent.edit({ name: 'Party' })\n .then(guildScheduledEvent => console.log(guildScheduledEvent))\n .catch(console.error);"],"params":[{"name":"options","description":"The options to edit the guild scheduled event","type":[[["GuildScheduledEventEditOptions"]]]}],"returns":[[["Promise","<"],["GuildScheduledEvent",">"]]],"meta":{"line":277,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"delete","description":"Deletes this guild scheduled event.","examples":["// Delete a guild scheduled event\nguildScheduledEvent.delete()\n .then(guildScheduledEvent => console.log(guildScheduledEvent))\n .catch(console.error);"],"async":true,"returns":[[["Promise","<"],["GuildScheduledEvent",">"]]],"meta":{"line":290,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"setName","description":"Sets a new name for the guild scheduled event.","examples":["// Set name of a guild scheduled event\nguildScheduledEvent.setName('Birthday Party')\n .then(guildScheduledEvent => console.log(`Set the name to: ${guildScheduledEvent.name}`))\n .catch(console.error);"],"params":[{"name":"name","description":"The new name of the guild scheduled event","type":[[["string"]]]},{"name":"reason","description":"The reason for changing the name","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildScheduledEvent",">"]]],"meta":{"line":306,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"setScheduledStartTime","description":"Sets a new time to schedule the event at.","examples":["// Set start time of a guild scheduled event\nguildScheduledEvent.setScheduledStartTime('2022-09-24T00:00:00+05:30')\n .then(guildScheduledEvent => console.log(`Set the start time to: ${guildScheduledEvent.scheduledStartTime}`))\n .catch(console.error);"],"params":[{"name":"scheduledStartTime","description":"The time to schedule the event at","type":[[["DateResolvable"]]]},{"name":"reason","description":"The reason for changing the scheduled start time","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildScheduledEvent",">"]]],"meta":{"line":321,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"setScheduledEndTime","description":"Sets a new time to end the event at.","examples":["// Set end time of a guild scheduled event\nguildScheduledEvent.setScheduledEndTime('2022-09-25T00:00:00+05:30')\n .then(guildScheduledEvent => console.log(`Set the end time to: ${guildScheduledEvent.scheduledEndTime}`))\n .catch(console.error);"],"params":[{"name":"scheduledEndTime","description":"The time to end the event at","type":[[["DateResolvable"]]]},{"name":"reason","description":"The reason for changing the scheduled end time","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildScheduledEvent",">"]]],"meta":{"line":337,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"setDescription","description":"Sets the new description of the guild scheduled event.","examples":["// Set description of a guild scheduled event\nguildScheduledEvent.setDescription('A virtual birthday party')\n .then(guildScheduledEvent => console.log(`Set the description to: ${guildScheduledEvent.description}`))\n .catch(console.error);"],"params":[{"name":"description","description":"The description of the guild scheduled event","type":[[["string"]]]},{"name":"reason","description":"The reason for changing the description","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildScheduledEvent",">"]]],"meta":{"line":352,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"setStatus","description":"Sets the new status of the guild scheduled event.\nIf you're working with TypeScript, use this method in conjunction with status type-guards\nlike {@link GuildScheduledEvent#isScheduled} to get only valid status as suggestion","examples":["// Set status of a guild scheduled event\nguildScheduledEvent.setStatus('ACTIVE')\n .then(guildScheduledEvent => console.log(`Set the status to: ${guildScheduledEvent.status}`))\n .catch(console.error);"],"params":[{"name":"status","description":"The status of the guild scheduled event","type":[[["GuildScheduledEventStatus"]],[["number"]]]},{"name":"reason","description":"The reason for changing the status","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildScheduledEvent",">"]]],"meta":{"line":369,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"setLocation","description":"Sets the new location of the guild scheduled event.","examples":["// Set location of a guild scheduled event\nguildScheduledEvent.setLocation('Earth')\n .then(guildScheduledEvent => console.log(`Set the location to: ${guildScheduledEvent.entityMetadata.location}`))\n .catch(console.error);"],"params":[{"name":"location","description":"The location of the guild scheduled event","type":[[["string"]]]},{"name":"reason","description":"The reason for changing the location","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildScheduledEvent",">"]]],"meta":{"line":384,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"fetchSubscribers","description":"Fetches subscribers of this guild scheduled event.","params":[{"name":"options","description":"Options for fetching the subscribers","optional":true,"type":[[["FetchGuildScheduledEventSubscribersOptions"]]]}],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["GuildScheduledEventUser",">>"]]],"meta":{"line":393,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically concatenates the event's URL instead of the object.","examples":["// Logs: Event: https://discord.com/events/412345678901234567/499876543211234567\nconsole.log(`Event: ${guildScheduledEvent}`);"],"returns":[[["string"]]],"meta":{"line":404,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"isActive","description":"Indicates whether this guild scheduled event has an `ACTIVE` status.","returns":[[["boolean"]]],"meta":{"line":412,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"isCanceled","description":"Indicates whether this guild scheduled event has a `CANCELED` status.","returns":[[["boolean"]]],"meta":{"line":420,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"isCompleted","description":"Indicates whether this guild scheduled event has a `COMPLETED` status.","returns":[[["boolean"]]],"meta":{"line":428,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"isScheduled","description":"Indicates whether this guild scheduled event has a `SCHEDULED` status.","returns":[[["boolean"]]],"meta":{"line":436,"file":"GuildScheduledEvent.js","path":"src/structures"}}],"meta":{"line":17,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"GuildTemplate","description":"Represents the template for a guild.","extends":[[["Base"]]],"props":[{"name":"code","description":"The unique code of this template","type":[[["string"]]],"meta":{"line":24,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"name","description":"The name of this template","type":[[["string"]]],"meta":{"line":32,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"description","description":"The description of this template","nullable":true,"type":[[["string"]]],"meta":{"line":40,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"usageCount","description":"The amount of times this template has been used","type":[[["number"]]],"meta":{"line":48,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"creatorId","description":"The id of the user that created this template","type":[[["Snowflake"]]],"meta":{"line":56,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"creator","description":"The user that created this template","type":[[["User"]]],"meta":{"line":64,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"createdAt","description":"The time when this template was created at","type":[[["Date"]]],"meta":{"line":72,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"updatedAt","description":"The time when this template was last synced to the guild","type":[[["Date"]]],"meta":{"line":80,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild that this template belongs to","type":[[["Snowflake"]]],"meta":{"line":88,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"serializedGuild","description":"The data of the guild that this template would create","type":[[["APIGuild"]]],"meta":{"line":96,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"unSynced","description":"Whether this template has unsynced changes","nullable":true,"type":[[["boolean"]]],"meta":{"line":103,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp of when this template was created at","readonly":true,"type":[[["number"]]],"meta":{"line":187,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"updatedTimestamp","description":"The timestamp of when this template was last synced to the guild","readonly":true,"type":[[["number"]]],"meta":{"line":196,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"guild","description":"The guild that this template belongs to","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":205,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"url","description":"The URL of this template","readonly":true,"type":[[["string"]]],"meta":{"line":214,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}},{"name":"GUILD_TEMPLATES_PATTERN","description":"Regular expression that globally matches guild template links","scope":"static","type":[[["RegExp"]]],"meta":{"line":234,"file":"GuildTemplate.js","path":"src/structures"}}],"methods":[{"name":"createGuild","description":"Creates a guild based on this template.\nThis is only available to bots in fewer than 10 guilds.","params":[{"name":"name","description":"The name of the guild","type":[[["string"]]]},{"name":"icon","description":"The icon for the guild","optional":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]}],"async":true,"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":115,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"edit","description":"Updates the metadata of this template.","params":[{"name":"options","description":"Options for editing the template","optional":true,"type":[[["EditGuildTemplateOptions"]]]}],"async":true,"returns":[[["Promise","<"],["GuildTemplate",">"]]],"meta":{"line":159,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"delete","description":"Deletes this template.","async":true,"returns":[[["Promise","<"],["GuildTemplate",">"]]],"meta":{"line":168,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"sync","description":"Syncs this template to the current state of the guild.","async":true,"returns":[[["Promise","<"],["GuildTemplate",">"]]],"meta":{"line":177,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the template's code instead of the template object.","examples":["// Logs: Template: FKvmczH2HyUf\nconsole.log(`Template: ${guildTemplate}!`);"],"returns":[[["string"]]],"meta":{"line":225,"file":"GuildTemplate.js","path":"src/structures"}}],"meta":{"line":12,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"Integration","description":"Represents a guild integration.","extends":[[["Base"]]],"props":[{"name":"guild","description":"The guild this integration belongs to","type":[[["Guild"]]],"meta":{"line":34,"file":"Integration.js","path":"src/structures"}},{"name":"id","description":"The integration id","type":[[["Snowflake"]],[["string"]]],"meta":{"line":40,"file":"Integration.js","path":"src/structures"}},{"name":"name","description":"The integration name","type":[[["string"]]],"meta":{"line":46,"file":"Integration.js","path":"src/structures"}},{"name":"type","description":"The integration type","type":[[["IntegrationType"]]],"meta":{"line":52,"file":"Integration.js","path":"src/structures"}},{"name":"enabled","description":"Whether this integration is enabled","type":[[["boolean"]]],"meta":{"line":58,"file":"Integration.js","path":"src/structures"}},{"name":"syncing","description":"Whether this integration is syncing","nullable":true,"type":[[["boolean"]]],"meta":{"line":64,"file":"Integration.js","path":"src/structures"}},{"name":"role","description":"The role that this integration uses for subscribers","nullable":true,"type":[[["Role"]]],"meta":{"line":70,"file":"Integration.js","path":"src/structures"}},{"name":"enableEmoticons","description":"Whether emoticons should be synced for this integration (twitch only currently)","nullable":true,"type":[[["boolean"]]],"meta":{"line":77,"file":"Integration.js","path":"src/structures"}},{"name":"user","description":"The user for this integration","nullable":true,"type":[[["User"]]],"meta":{"line":87,"file":"Integration.js","path":"src/structures"}},{"name":"account","description":"The account integration information","type":[[["IntegrationAccount"]]],"meta":{"line":96,"file":"Integration.js","path":"src/structures"}},{"name":"syncedAt","description":"The last time this integration was last synced","nullable":true,"type":[[["number"]]],"meta":{"line":102,"file":"Integration.js","path":"src/structures"}},{"name":"subscriberCount","description":"How many subscribers this integration has","nullable":true,"type":[[["number"]]],"meta":{"line":109,"file":"Integration.js","path":"src/structures"}},{"name":"revoked","description":"Whether this integration has been revoked","nullable":true,"type":[[["boolean"]]],"meta":{"line":119,"file":"Integration.js","path":"src/structures"}},{"name":"roles","description":"All roles that are managed by this integration","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["Role",">"]]],"meta":{"line":132,"file":"Integration.js","path":"src/structures"}},{"name":"expireBehavior","description":"The behavior of expiring subscribers","nullable":true,"type":[[["number"]]],"meta":{"line":143,"file":"Integration.js","path":"src/structures"}},{"name":"expireGracePeriod","description":"The grace period before expiring subscribers","nullable":true,"type":[[["number"]]],"meta":{"line":151,"file":"Integration.js","path":"src/structures"}},{"name":"application","description":"The application for this integration","nullable":true,"type":[[["IntegrationApplication"]]],"meta":{"line":162,"file":"Integration.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"delete","description":"Deletes this integration.","params":[{"name":"reason","description":"Reason for deleting this integration","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Integration",">"]]],"meta":{"line":174,"file":"Integration.js","path":"src/structures"}}],"meta":{"line":26,"file":"Integration.js","path":"src/structures"}},{"name":"IntegrationApplication","description":"Represents an Integration's OAuth2 Application.","extends":[[["Application"]]],"props":[{"name":"bot","description":"The bot user for this application","nullable":true,"type":[[["User"]]],"meta":{"line":18,"file":"IntegrationApplication.js","path":"src/structures"}},{"name":"termsOfServiceURL","description":"The URL of the application's terms of service","nullable":true,"type":[[["string"]]],"meta":{"line":28,"file":"IntegrationApplication.js","path":"src/structures"}},{"name":"privacyPolicyURL","description":"The URL of the application's privacy policy","nullable":true,"type":[[["string"]]],"meta":{"line":38,"file":"IntegrationApplication.js","path":"src/structures"}},{"name":"rpcOrigins","description":"The Array of RPC origin URLs","type":[[["Array","<"],["string",">"]]],"meta":{"line":48,"file":"IntegrationApplication.js","path":"src/structures"}},{"name":"summary","description":"The application's summary","nullable":true,"deprecated":"This property is no longer being sent by the API.","type":[[["string"]]],"meta":{"line":59,"file":"IntegrationApplication.js","path":"src/structures"}},{"name":"hook","description":"Whether the application can be default hooked by the client","nullable":true,"type":[[["boolean"]]],"meta":{"line":69,"file":"IntegrationApplication.js","path":"src/structures"}},{"name":"cover","description":"The hash of the application's cover image","nullable":true,"type":[[["string"]]],"meta":{"line":79,"file":"IntegrationApplication.js","path":"src/structures"}},{"name":"verifyKey","description":"The hex-encoded key for verification in interactions and the GameSDK's GetTicket","nullable":true,"type":[[["string"]]],"meta":{"line":89,"file":"IntegrationApplication.js","path":"src/structures"}},{"name":"id","description":"The application's id","type":[[["Snowflake"]]],"meta":{"line":32,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"name","description":"The name of the application","nullable":true,"type":[[["string"]]],"meta":{"line":39,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"description","description":"The application's description","nullable":true,"type":[[["string"]]],"meta":{"line":49,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"icon","description":"The application's icon hash","nullable":true,"type":[[["string"]]],"meta":{"line":59,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"roleConnectionsVerificationURL","description":"This application's role connection verification entry point URL","nullable":true,"type":[[["string"]]],"meta":{"line":69,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"tags","description":"The tags this application has (max of 5)","type":[[["Array","<"],["string",">"]]],"meta":{"line":79,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"installParams","description":"Settings for this application's default in-app authorization","nullable":true,"type":[[["ClientApplicationInstallParams"]]],"meta":{"line":86,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"customInstallURL","description":"This application's custom installation URL","nullable":true,"type":[[["string"]]],"meta":{"line":99,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"flags","description":"The flags this application has","type":[[["ApplicationFlags"]]],"meta":{"line":109,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"approximateGuildCount","description":"An approximate amount of guilds this application is in.","nullable":true,"type":[[["number"]]],"meta":{"line":117,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"guildId","description":"The id of the guild associated with this application.","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":127,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"botRequireCodeGrant","description":"If this application's bot requires a code grant when using the OAuth2 flow","nullable":true,"type":[[["boolean"]]],"meta":{"line":157,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"botPublic","description":"If this application's bot is public","nullable":true,"type":[[["boolean"]]],"meta":{"line":167,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"owner","description":"The owner of this OAuth application","nullable":true,"type":[[["User"]],[["Team"]]],"meta":{"line":176,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"guild","description":"The guild associated with this application.","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":188,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"partial","description":"Whether this application is partial","readonly":true,"type":[[["boolean"]]],"meta":{"line":197,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"createdTimestamp","description":"The timestamp the application was created at","readonly":true,"type":[[["number"]]],"meta":{"line":206,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"createdAt","description":"The time the application was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":215,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"fetch","description":"Obtains this application from Discord.","inherits":"Application#fetch","inherited":true,"async":true,"returns":[[["Promise","<"],["Application",">"]]],"meta":{"line":223,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"fetchRoleConnectionMetadataRecords","description":"Gets this application's role connection metadata records","inherits":"Application#fetchRoleConnectionMetadataRecords","inherited":true,"async":true,"returns":[[["Promise","<"],["Array","<"],["ApplicationRoleConnectionMetadata",">>"]]],"meta":{"line":240,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"iconURL","description":"A link to the application's icon.","inherits":"Application#iconURL","inherited":true,"params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":250,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"coverURL","description":"A link to this application's cover image.","inherits":"Application#coverURL","inherited":true,"params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":260,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"fetchAssets","description":"Gets the application's rich presence assets.","inherits":"Application#fetchAssets","inherited":true,"deprecated":"This will be removed in the next major as it is unsupported functionality.","async":true,"returns":[[["Promise","<"],["Array","<"],["ApplicationAsset",">>"]]],"meta":{"line":278,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the application's name instead of the\nApplication object.","inherits":"Application#toString","inherited":true,"examples":["// Logs: Application name: My App\nconsole.log(`Application name: ${application}`);"],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":304,"file":"Application.js","path":"src/structures/interfaces"}}],"meta":{"line":9,"file":"IntegrationApplication.js","path":"src/structures"}},{"name":"Interaction","description":"Represents an interaction.","extends":[[["Base"]]],"props":[{"name":"type","description":"The interaction's type","type":[[["InteractionType"]]],"meta":{"line":20,"file":"Interaction.js","path":"src/structures"}},{"name":"id","description":"The interaction's id","type":[[["Snowflake"]]],"meta":{"line":26,"file":"Interaction.js","path":"src/structures"}},{"name":"token","description":"The interaction's token","readonly":true,"type":[[["string"]]],"meta":{"line":28,"file":"Interaction.js","path":"src/structures"}},{"name":"applicationId","description":"The application's id","type":[[["Snowflake"]]],"meta":{"line":40,"file":"Interaction.js","path":"src/structures"}},{"name":"channelId","description":"The id of the channel this interaction was sent in","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":46,"file":"Interaction.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild this interaction was sent in","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":52,"file":"Interaction.js","path":"src/structures"}},{"name":"user","description":"The user which sent this interaction","type":[[["User"]]],"meta":{"line":58,"file":"Interaction.js","path":"src/structures"}},{"name":"member","description":"If this interaction was sent in a guild, the member which sent it","nullable":true,"type":[[["GuildMember"]],[["APIGuildMember"]]],"meta":{"line":64,"file":"Interaction.js","path":"src/structures"}},{"name":"version","description":"The version","type":[[["number"]]],"meta":{"line":70,"file":"Interaction.js","path":"src/structures"}},{"name":"appPermissions","description":"Set of permissions the application or bot has within the channel the interaction was sent from","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":76,"file":"Interaction.js","path":"src/structures"}},{"name":"memberPermissions","description":"The permissions of the member, if one exists, in the channel this interaction was executed in","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":82,"file":"Interaction.js","path":"src/structures"}},{"name":"locale","description":"The locale of the user who invoked this interaction","type":[[["Locale"]]],"meta":{"line":124,"file":"Interaction.js","path":"src/structures"}},{"name":"guildLocale","description":"The preferred locale from the guild this interaction was sent in","nullable":true,"type":[[["Locale"]]],"meta":{"line":130,"file":"Interaction.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the interaction was created at","readonly":true,"type":[[["number"]]],"meta":{"line":138,"file":"Interaction.js","path":"src/structures"}},{"name":"createdAt","description":"The time the interaction was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":147,"file":"Interaction.js","path":"src/structures"}},{"name":"channel","description":"The channel this interaction was sent in","readonly":true,"nullable":true,"type":[[["TextBasedChannels"]]],"meta":{"line":156,"file":"Interaction.js","path":"src/structures"}},{"name":"guild","description":"The guild this interaction was sent in","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":165,"file":"Interaction.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"inGuild","description":"Indicates whether this interaction is received from a guild.","returns":[[["boolean"]]],"meta":{"line":173,"file":"Interaction.js","path":"src/structures"}},{"name":"inCachedGuild","description":"Indicates whether or not this interaction is both cached and received from a guild.","returns":[[["boolean"]]],"meta":{"line":181,"file":"Interaction.js","path":"src/structures"}},{"name":"inRawGuild","description":"Indicates whether or not this interaction is received from an uncached guild.","returns":[[["boolean"]]],"meta":{"line":189,"file":"Interaction.js","path":"src/structures"}},{"name":"isApplicationCommand","description":"Indicates whether this interaction is a {@link BaseCommandInteraction}.","returns":[[["boolean"]]],"meta":{"line":197,"file":"Interaction.js","path":"src/structures"}},{"name":"isCommand","description":"Indicates whether this interaction is a {@link CommandInteraction}.","returns":[[["boolean"]]],"meta":{"line":205,"file":"Interaction.js","path":"src/structures"}},{"name":"isContextMenu","description":"Indicates whether this interaction is a {@link ContextMenuInteraction}","returns":[[["boolean"]]],"meta":{"line":213,"file":"Interaction.js","path":"src/structures"}},{"name":"isModalSubmit","description":"Indicates whether this interaction is a {@link ModalSubmitInteraction}","returns":[[["boolean"]]],"meta":{"line":221,"file":"Interaction.js","path":"src/structures"}},{"name":"isUserContextMenu","description":"Indicates whether this interaction is a {@link UserContextMenuInteraction}","returns":[[["boolean"]]],"meta":{"line":229,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageContextMenu","description":"Indicates whether this interaction is a {@link MessageContextMenuInteraction}","returns":[[["boolean"]]],"meta":{"line":237,"file":"Interaction.js","path":"src/structures"}},{"name":"isAutocomplete","description":"Indicates whether this interaction is an {@link AutocompleteInteraction}","returns":[[["boolean"]]],"meta":{"line":245,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageComponent","description":"Indicates whether this interaction is a {@link MessageComponentInteraction}.","returns":[[["boolean"]]],"meta":{"line":253,"file":"Interaction.js","path":"src/structures"}},{"name":"isButton","description":"Indicates whether this interaction is a {@link ButtonInteraction}.","returns":[[["boolean"]]],"meta":{"line":261,"file":"Interaction.js","path":"src/structures"}},{"name":"isSelectMenu","description":"Indicates whether this interaction is a {@link SelectMenuInteraction}.","returns":[[["boolean"]]],"meta":{"line":272,"file":"Interaction.js","path":"src/structures"}},{"name":"isRepliable","description":"Indicates whether this interaction can be replied to.","returns":[[["boolean"]]],"meta":{"line":283,"file":"Interaction.js","path":"src/structures"}}],"meta":{"line":12,"file":"Interaction.js","path":"src/structures"}},{"name":"InteractionCollector","description":"Collects interactions.\nWill automatically stop if the message ({@link Client#event:messageDelete messageDelete} or\n{@link Client#event:messageDeleteBulk messageDeleteBulk}),\nchannel ({@link Client#event:channelDelete channelDelete}), or\nguild ({@link Client#event:guildDelete guildDelete}) is deleted.\nInteraction collectors that do not specify `time` or `idle` may be prone to always running.\nEnsure your interaction collectors end via either of these options or manual cancellation.","extends":[[["Collector"]]],"construct":{"name":"InteractionCollector","params":[{"name":"client","description":"The client on which to collect interactions","type":[[["Client"]]]},{"name":"options","description":"The options to apply to this collector","optional":true,"default":"{}","type":[[["InteractionCollectorOptions"]]]}]},"props":[{"name":"messageId","description":"The message from which to collect interactions, if provided","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":42,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"channelId","description":"The channel from which to collect interactions, if provided","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":48,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"guildId","description":"The guild from which to collect interactions, if provided","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":57,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"interactionType","description":"The type of interaction to collect","nullable":true,"type":[[["InteractionType"]]],"meta":{"line":67,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"componentType","description":"The type of component to collect","nullable":true,"type":[[["MessageComponentType"]]],"meta":{"line":76,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"users","description":"The users that have interacted with this collector","type":[[["Collection","<"],["Snowflake",", "],["User",">"]]],"meta":{"line":85,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"total","description":"The total number of interactions collected","type":[[["number"]]],"meta":{"line":91,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"endReason","description":"The reason this collector has ended with, or null if it hasn't ended yet","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":192,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this Collector","readonly":true,"type":[[["Client"]]],"meta":{"line":35,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"filter","description":"The filter applied to this collector","type":[[["CollectorFilter"]]],"meta":{"line":48,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"options","description":"The options of this collector","type":[[["CollectorOptions"]]],"meta":{"line":54,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"collected","description":"The items collected by this collector","type":[[["Collection"]]],"meta":{"line":60,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"ended","description":"Whether this collector has finished collecting","type":[[["boolean"]]],"meta":{"line":66,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"_timeout","description":"Timeout for cleanup","access":"private","nullable":true,"type":[[["Timeout"]]],"meta":{"line":73,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"_idletimeout","description":"Timeout for cleanup due to inactivity","access":"private","nullable":true,"type":[[["Timeout"]]],"meta":{"line":80,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"next","description":"Returns a promise that resolves with the next collected element;\nrejects with collected elements if the collector finishes without receiving a next element","readonly":true,"type":[[["Promise"]]],"meta":{"line":148,"file":"Collector.js","path":"src/structures/interfaces"}}],"methods":[{"name":"collect","description":"Handles an incoming interaction for possible collection.","access":"private","params":[{"name":"interaction","description":"The interaction to possibly collect","type":[[["Interaction"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":142,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"dispose","description":"Handles an interaction for possible disposal.","params":[{"name":"interaction","description":"The interaction that could be disposed of","type":[[["Interaction"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":162,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"empty","description":"Empties this interaction collector.","meta":{"line":180,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"_handleMessageDeletion","description":"Handles checking if the message has been deleted, and if so, stops the collector with the reason 'messageDelete'.","access":"private","params":[{"name":"message","description":"The message that was deleted","type":[[["Message"]]]}],"returns":[[["void"]]],"meta":{"line":205,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"_handleChannelDeletion","description":"Handles checking if the channel has been deleted, and if so, stops the collector with the reason 'channelDelete'.","access":"private","params":[{"name":"channel","description":"The channel that was deleted","type":[[["GuildChannel"]]]}],"returns":[[["void"]]],"meta":{"line":217,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"_handleThreadDeletion","description":"Handles checking if the thread has been deleted, and if so, stops the collector with the reason 'threadDelete'.","access":"private","params":[{"name":"thread","description":"The thread that was deleted","type":[[["ThreadChannel"]]]}],"returns":[[["void"]]],"meta":{"line":229,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"_handleGuildDeletion","description":"Handles checking if the guild has been deleted, and if so, stops the collector with the reason 'guildDelete'.","access":"private","params":[{"name":"guild","description":"The guild that was deleted","type":[[["Guild"]]]}],"returns":[[["void"]]],"meta":{"line":241,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"handleCollect","description":"Call this to handle an event as a collectable element. Accepts any event data as parameters.","inherits":"Collector#handleCollect","inherited":true,"emits":["Collector#event:collect"],"params":[{"name":"args","description":"The arguments emitted by the listener","variable":true,"type":[["*"]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":99,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"handleDispose","description":"Call this to remove an element from the collection. Accepts any event data as parameters.","inherits":"Collector#handleDispose","inherited":true,"emits":["Collector#event:dispose"],"params":[{"name":"args","description":"The arguments emitted by the listener","variable":true,"type":[["*"]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":126,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"stop","description":"Stops this collector and emits the `end` event.","inherits":"Collector#stop","inherited":true,"emits":["Collector#event:end"],"params":[{"name":"reason","description":"The reason this collector is ending","optional":true,"default":"'user'","type":[[["string"]]]}],"meta":{"line":180,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"resetTimer","description":"Resets the collector's timeout and idle timer.","inherits":"Collector#resetTimer","inherited":true,"params":[{"name":"options","description":"Options for resetting","optional":true,"type":[[["CollectorResetTimerOptions"]]]}],"meta":{"line":213,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"checkEnd","description":"Checks whether the collector should end, and if so, ends it.","inherits":"Collector#checkEnd","inherited":true,"returns":{"types":[[["boolean"]]],"description":"Whether the collector ended or not"},"meta":{"line":228,"file":"Collector.js","path":"src/structures/interfaces"}}],"events":[{"name":"collect","description":"Emitted whenever an interaction is collected.","params":[{"name":"interaction","description":"The interaction that was collected","type":[[["Interaction"]]]}],"meta":{"line":143,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"dispose","description":"Emitted whenever an interaction is disposed of.","params":[{"name":"interaction","description":"The interaction that was disposed of","type":[[["Interaction"]]]}],"meta":{"line":163,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"end","description":"Emitted when the collector is finished collecting.","params":[{"name":"collected","description":"The elements collected by the collector","type":[[["Collection"]]]},{"name":"reason","description":"The reason the collector ended","type":[[["string"]]]}],"meta":{"line":193,"file":"Collector.js","path":"src/structures/interfaces"}}],"meta":{"line":30,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"InteractionWebhook","description":"Represents a webhook for an Interaction","implements":[[["Webhook"]]],"construct":{"name":"InteractionWebhook","params":[{"name":"client","description":"The instantiating client","type":[[["Client"]]]},{"name":"id","description":"The application's id","type":[[["Snowflake"]]]},{"name":"token","description":"The interaction's token","type":[[["string"]]]}]},"props":[{"name":"client","description":"The client that instantiated the interaction webhook","readonly":true,"type":[[["Client"]]],"meta":{"line":16,"file":"InteractionWebhook.js","path":"src/structures"}},{"name":"id","description":"The webhook's id","type":[[["Snowflake"]]],"meta":{"line":55,"file":"Webhook.js","path":"src/structures"}},{"name":"url","description":"The URL of this webhook","readonly":true,"type":[[["string"]]],"meta":{"line":418,"file":"Webhook.js","path":"src/structures"}}],"methods":[{"name":"send","description":"Sends a message with this webhook.","implements":["Webhook#send"],"params":[{"name":"options","description":"The content for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":34,"file":"InteractionWebhook.js","path":"src/structures"}},{"name":"fetchMessage","description":"Gets a message that was sent by this webhook.","implements":["Webhook#fetchMessage"],"params":[{"name":"message","description":"The id of the message to fetch","type":[[["Snowflake"]],[["original","'"]]]},{"name":"cacheOrOptions","description":"The options to provide to fetch the message.\nA **deprecated** boolean may be passed instead to specify whether to cache the message.","optional":true,"default":"{}","type":[[["WebhookFetchMessageOptions"]],[["boolean"]]]}],"async":true,"returns":{"types":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"description":"Returns the raw message data if the webhook was instantiated as a\n{@link WebhookClient} or if the channel is uncached, otherwise a {@link Message} will be returned"},"meta":{"line":286,"file":"Webhook.js","path":"src/structures"}},{"name":"editMessage","description":"Edits a message that was sent by this webhook.","implements":["Webhook#editMessage"],"params":[{"name":"message","description":"The message to edit","type":[[["MessageResolvable"]],[["original","'"]]]},{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["WebhookEditMessageOptions"]]]}],"async":true,"returns":{"types":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"description":"Returns the raw message data if the webhook was instantiated as a\n{@link WebhookClient} or if the channel is uncached, otherwise a {@link Message} will be returned"},"meta":{"line":322,"file":"Webhook.js","path":"src/structures"}},{"name":"deleteMessage","description":"Delete a message that was sent by this webhook.","implements":["Webhook#deleteMessage"],"params":[{"name":"message","description":"The message to delete","type":[[["MessageResolvable"]],[["original","'"]]]},{"name":"threadId","description":"The id of the thread this message belongs to","optional":true,"type":[[["Snowflake"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":371,"file":"Webhook.js","path":"src/structures"}}],"meta":{"line":9,"file":"InteractionWebhook.js","path":"src/structures"}},{"name":"Application","description":"Represents an OAuth2 Application.","extends":[[["Base"]]],"abstract":true,"props":[{"name":"id","description":"The application's id","type":[[["Snowflake"]]],"meta":{"line":32,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"name","description":"The name of the application","nullable":true,"type":[[["string"]]],"meta":{"line":39,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"description","description":"The application's description","nullable":true,"type":[[["string"]]],"meta":{"line":49,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"icon","description":"The application's icon hash","nullable":true,"type":[[["string"]]],"meta":{"line":59,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"roleConnectionsVerificationURL","description":"This application's role connection verification entry point URL","nullable":true,"type":[[["string"]]],"meta":{"line":69,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"tags","description":"The tags this application has (max of 5)","type":[[["Array","<"],["string",">"]]],"meta":{"line":79,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"installParams","description":"Settings for this application's default in-app authorization","nullable":true,"type":[[["ClientApplicationInstallParams"]]],"meta":{"line":86,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"customInstallURL","description":"This application's custom installation URL","nullable":true,"type":[[["string"]]],"meta":{"line":99,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"flags","description":"The flags this application has","type":[[["ApplicationFlags"]]],"meta":{"line":109,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"approximateGuildCount","description":"An approximate amount of guilds this application is in.","nullable":true,"type":[[["number"]]],"meta":{"line":117,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"guildId","description":"The id of the guild associated with this application.","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":127,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"cover","description":"The hash of the application's cover image","nullable":true,"type":[[["string"]]],"meta":{"line":137,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"rpcOrigins","description":"The application's RPC origins, if enabled","type":[[["Array","<"],["string",">"]]],"meta":{"line":147,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"botRequireCodeGrant","description":"If this application's bot requires a code grant when using the OAuth2 flow","nullable":true,"type":[[["boolean"]]],"meta":{"line":157,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"botPublic","description":"If this application's bot is public","nullable":true,"type":[[["boolean"]]],"meta":{"line":167,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"owner","description":"The owner of this OAuth application","nullable":true,"type":[[["User"]],[["Team"]]],"meta":{"line":176,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"guild","description":"The guild associated with this application.","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":188,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"partial","description":"Whether this application is partial","readonly":true,"type":[[["boolean"]]],"meta":{"line":197,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"createdTimestamp","description":"The timestamp the application was created at","readonly":true,"type":[[["number"]]],"meta":{"line":206,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"createdAt","description":"The time the application was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":215,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"fetch","description":"Obtains this application from Discord.","async":true,"returns":[[["Promise","<"],["Application",">"]]],"meta":{"line":223,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"fetchRoleConnectionMetadataRecords","description":"Gets this application's role connection metadata records","async":true,"returns":[[["Promise","<"],["Array","<"],["ApplicationRoleConnectionMetadata",">>"]]],"meta":{"line":240,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"iconURL","description":"A link to the application's icon.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":250,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"coverURL","description":"A link to this application's cover image.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":260,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"fetchAssets","description":"Gets the application's rich presence assets.","deprecated":"This will be removed in the next major as it is unsupported functionality.","async":true,"returns":[[["Promise","<"],["Array","<"],["ApplicationAsset",">>"]]],"meta":{"line":278,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the application's name instead of the\nApplication object.","examples":["// Logs: Application name: My App\nconsole.log(`Application name: ${application}`);"],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":304,"file":"Application.js","path":"src/structures/interfaces"}}],"meta":{"line":21,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"Collector","description":"Abstract class for defining a new Collector.","extends":[[["EventEmitter"]]],"abstract":true,"props":[{"name":"client","description":"The client that instantiated this Collector","readonly":true,"type":[[["Client"]]],"meta":{"line":35,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"filter","description":"The filter applied to this collector","type":[[["CollectorFilter"]]],"meta":{"line":48,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"options","description":"The options of this collector","type":[[["CollectorOptions"]]],"meta":{"line":54,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"collected","description":"The items collected by this collector","type":[[["Collection"]]],"meta":{"line":60,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"ended","description":"Whether this collector has finished collecting","type":[[["boolean"]]],"meta":{"line":66,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"_timeout","description":"Timeout for cleanup","access":"private","nullable":true,"type":[[["Timeout"]]],"meta":{"line":73,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"_idletimeout","description":"Timeout for cleanup due to inactivity","access":"private","nullable":true,"type":[[["Timeout"]]],"meta":{"line":80,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"next","description":"Returns a promise that resolves with the next collected element;\nrejects with collected elements if the collector finishes without receiving a next element","readonly":true,"type":[[["Promise"]]],"meta":{"line":148,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"endReason","description":"The reason this collector has ended with, or null if it hasn't ended yet","readonly":true,"nullable":true,"abstract":true,"type":[[["string"]]],"meta":{"line":276,"file":"Collector.js","path":"src/structures/interfaces"}}],"methods":[{"name":"handleCollect","description":"Call this to handle an event as a collectable element. Accepts any event data as parameters.","emits":["Collector#event:collect"],"params":[{"name":"args","description":"The arguments emitted by the listener","variable":true,"type":[["*"]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":99,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"handleDispose","description":"Call this to remove an element from the collection. Accepts any event data as parameters.","emits":["Collector#event:dispose"],"params":[{"name":"args","description":"The arguments emitted by the listener","variable":true,"type":[["*"]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":126,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"stop","description":"Stops this collector and emits the `end` event.","emits":["Collector#event:end"],"params":[{"name":"reason","description":"The reason this collector is ending","optional":true,"default":"'user'","type":[[["string"]]]}],"meta":{"line":180,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"resetTimer","description":"Resets the collector's timeout and idle timer.","params":[{"name":"options","description":"Options for resetting","optional":true,"type":[[["CollectorResetTimerOptions"]]]}],"meta":{"line":213,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"checkEnd","description":"Checks whether the collector should end, and if so, ends it.","returns":{"types":[[["boolean"]]],"description":"Whether the collector ended or not"},"meta":{"line":228,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"collect","description":"Handles incoming events from the `handleCollect` function. Returns null if the event should not\nbe collected, or returns an object describing the data that should be stored.","see":["Collector#handleCollect"],"abstract":true,"params":[{"name":"args","description":"Any args the event listener emits","variable":true,"type":[["*"]]}],"returns":{"types":[["*"],[["Promise",""],["*",">"]]],"description":"Data to insert into collection, if any","nullable":true},"meta":{"line":286,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"dispose","description":"Handles incoming events from the `handleDispose`. Returns null if the event should not\nbe disposed, or returns the key that should be removed.","see":["Collector#handleDispose"],"abstract":true,"params":[{"name":"args","description":"Any args the event listener emits","variable":true,"type":[["*"]]}],"returns":{"types":[["*"]],"description":"Key to remove from the collection, if any","nullable":true},"meta":{"line":296,"file":"Collector.js","path":"src/structures/interfaces"}}],"events":[{"name":"collect","description":"Emitted whenever an element is collected.","params":[{"name":"args","description":"The arguments emitted by the listener","variable":true,"type":[["*"]]}],"meta":{"line":105,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"dispose","description":"Emitted whenever an element is disposed of.","params":[{"name":"args","description":"The arguments emitted by the listener","variable":true,"type":[["*"]]}],"meta":{"line":133,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"end","description":"Emitted when the collector is finished collecting.","params":[{"name":"collected","description":"The elements collected by the collector","type":[[["Collection"]]]},{"name":"reason","description":"The reason the collector ended","type":[[["string"]]]}],"meta":{"line":193,"file":"Collector.js","path":"src/structures/interfaces"}}],"meta":{"line":31,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"Invite","description":"Represents an invitation to a guild channel.","extends":[[["Base"]]],"props":[{"name":"guild","description":"The guild the invite is for including welcome screen data if present","nullable":true,"type":[[["Guild"]],[["InviteGuild"]]],"meta":{"line":30,"file":"Invite.js","path":"src/structures"}},{"name":"code","description":"The code for this invite","type":[[["string"]]],"meta":{"line":40,"file":"Invite.js","path":"src/structures"}},{"name":"presenceCount","description":"The approximate number of online members of the guild this invite is for\nThis is only available when the invite was fetched through {@link Client#fetchInvite}.","nullable":true,"type":[[["number"]]],"meta":{"line":49,"file":"Invite.js","path":"src/structures"}},{"name":"memberCount","description":"The approximate total number of members of the guild this invite is for\nThis is only available when the invite was fetched through {@link Client#fetchInvite}.","nullable":true,"type":[[["number"]]],"meta":{"line":60,"file":"Invite.js","path":"src/structures"}},{"name":"temporary","description":"Whether or not this invite only grants temporary membership\nThis is only available when the invite was fetched through {@link GuildInviteManager#fetch}\nor created through {@link GuildInviteManager#create}.","nullable":true,"type":[[["boolean"]]],"meta":{"line":72,"file":"Invite.js","path":"src/structures"}},{"name":"maxAge","description":"The maximum age of the invite, in seconds, 0 if never expires\nThis is only available when the invite was fetched through {@link GuildInviteManager#fetch}\nor created through {@link GuildInviteManager#create}.","nullable":true,"type":[[["number"]]],"meta":{"line":84,"file":"Invite.js","path":"src/structures"}},{"name":"uses","description":"How many times this invite has been used\nThis is only available when the invite was fetched through {@link GuildInviteManager#fetch}\nor created through {@link GuildInviteManager#create}.","nullable":true,"type":[[["number"]]],"meta":{"line":96,"file":"Invite.js","path":"src/structures"}},{"name":"maxUses","description":"The maximum uses of this invite\nThis is only available when the invite was fetched through {@link GuildInviteManager#fetch}\nor created through {@link GuildInviteManager#create}.","nullable":true,"type":[[["number"]]],"meta":{"line":108,"file":"Invite.js","path":"src/structures"}},{"name":"inviterId","description":"The user's id who created this invite","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":118,"file":"Invite.js","path":"src/structures"}},{"name":"inviter","description":"The user who created this invite","nullable":true,"type":[[["User"]]],"meta":{"line":129,"file":"Invite.js","path":"src/structures"}},{"name":"targetUser","description":"The user whose stream to display for this voice channel stream invite","nullable":true,"type":[[["User"]]],"meta":{"line":140,"file":"Invite.js","path":"src/structures"}},{"name":"targetApplication","description":"The embedded application to open for this voice channel embedded application invite","nullable":true,"type":[[["IntegrationApplication"]]],"meta":{"line":150,"file":"Invite.js","path":"src/structures"}},{"name":"targetType","description":"The target type","nullable":true,"type":[[["TargetType"]]],"meta":{"line":170,"file":"Invite.js","path":"src/structures"}},{"name":"type","description":"The type of invite","nullable":true,"type":[[["InviteType"]]],"meta":{"line":188,"file":"Invite.js","path":"src/structures"}},{"name":"channelId","description":"The channel's id this invite is for","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":198,"file":"Invite.js","path":"src/structures"}},{"name":"channel","description":"The channel this invite is for","nullable":true,"type":[[["Channel"]]],"meta":{"line":207,"file":"Invite.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp this invite was created at","nullable":true,"type":[[["number"]]],"meta":{"line":216,"file":"Invite.js","path":"src/structures"}},{"name":"stageInstance","description":"The stage instance data if there is a public {@link StageInstance} in the stage channel this invite is for","nullable":true,"type":[[["InviteStageInstance"]]],"meta":{"line":232,"file":"Invite.js","path":"src/structures"}},{"name":"guildScheduledEvent","description":"The guild scheduled event data if there is a {@link GuildScheduledEvent} in the channel this invite is for","nullable":true,"type":[[["GuildScheduledEvent"]]],"meta":{"line":242,"file":"Invite.js","path":"src/structures"}},{"name":"flags","description":"The flags that are applied to the invite.","nullable":true,"type":[[["Readonly","<"],["InviteFlags",">"]]],"meta":{"line":252,"file":"Invite.js","path":"src/structures"}},{"name":"createdAt","description":"The time the invite was created at","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":263,"file":"Invite.js","path":"src/structures"}},{"name":"deletable","description":"Whether the invite is deletable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":272,"file":"Invite.js","path":"src/structures"}},{"name":"expiresTimestamp","description":"The timestamp the invite will expire at","readonly":true,"nullable":true,"type":[[["number"]]],"meta":{"line":287,"file":"Invite.js","path":"src/structures"}},{"name":"expiresAt","description":"The time the invite will expire at","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":299,"file":"Invite.js","path":"src/structures"}},{"name":"url","description":"The URL to the invite","readonly":true,"type":[[["string"]]],"meta":{"line":309,"file":"Invite.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}},{"name":"INVITES_PATTERN","description":"Regular expression that globally matches Discord invite links","scope":"static","type":[[["RegExp"]]],"meta":{"line":356,"file":"Invite.js","path":"src/structures"}}],"methods":[{"name":"delete","description":"Deletes this invite.","params":[{"name":"reason","description":"Reason for deleting this invite","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Invite",">"]]],"meta":{"line":318,"file":"Invite.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically concatenates the invite's URL instead of the object.","examples":["// Logs: Invite: https://discord.gg/A1b2C3\nconsole.log(`Invite: ${invite}`);"],"returns":[[["string"]]],"meta":{"line":330,"file":"Invite.js","path":"src/structures"}}],"meta":{"line":18,"file":"Invite.js","path":"src/structures"}},{"name":"InviteGuild","description":"Represents a guild received from an invite, includes welcome screen data if available.","extends":[[["AnonymousGuild"]]],"props":[{"name":"welcomeScreen","description":"The welcome screen for this invite guild","nullable":true,"type":[[["WelcomeScreen"]]],"meta":{"line":18,"file":"InviteGuild.js","path":"src/structures"}},{"name":"splash","description":"The hash of the guild invite splash image","nullable":true,"type":[[["string"]]],"meta":{"line":25,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"banner","description":"The hash of the guild banner","nullable":true,"type":[[["string"]]],"meta":{"line":33,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"description","description":"The description of the guild, if any","nullable":true,"type":[[["string"]]],"meta":{"line":41,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"verificationLevel","description":"The verification level of the guild","type":[[["VerificationLevel"]]],"meta":{"line":49,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"vanityURLCode","description":"The vanity invite code of the guild, if any","nullable":true,"type":[[["string"]]],"meta":{"line":57,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"nsfwLevel","description":"The NSFW level of this guild","type":[[["NSFWLevel"]]],"meta":{"line":65,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"premiumSubscriptionCount","description":"The total number of boosts for this server","nullable":true,"type":[[["number"]]],"meta":{"line":73,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"id","description":"The guild's id","type":[[["Snowflake"]]],"meta":{"line":19,"file":"BaseGuild.js","path":"src/structures"}},{"name":"name","description":"The name of this guild","type":[[["string"]]],"meta":{"line":25,"file":"BaseGuild.js","path":"src/structures"}},{"name":"icon","description":"The icon hash of this guild","nullable":true,"type":[[["string"]]],"meta":{"line":31,"file":"BaseGuild.js","path":"src/structures"}},{"name":"features","description":"An array of features available to this guild","type":[[["Array","<"],["Features",">"]]],"meta":{"line":37,"file":"BaseGuild.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp this guild was created at","readonly":true,"type":[[["number"]]],"meta":{"line":45,"file":"BaseGuild.js","path":"src/structures"}},{"name":"createdAt","description":"The time this guild was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":54,"file":"BaseGuild.js","path":"src/structures"}},{"name":"nameAcronym","description":"The acronym that shows up in place of a guild icon","readonly":true,"type":[[["string"]]],"meta":{"line":63,"file":"BaseGuild.js","path":"src/structures"}},{"name":"partnered","description":"Whether this guild is partnered","readonly":true,"type":[[["boolean"]]],"meta":{"line":75,"file":"BaseGuild.js","path":"src/structures"}},{"name":"verified","description":"Whether this guild is verified","readonly":true,"type":[[["boolean"]]],"meta":{"line":84,"file":"BaseGuild.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"bannerURL","description":"The URL to this guild's banner.","inherits":"AnonymousGuild#bannerURL","inherited":true,"params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":84,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"splashURL","description":"The URL to this guild's invite splash image.","inherits":"AnonymousGuild#splashURL","inherited":true,"params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":93,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"iconURL","description":"The URL to this guild's icon.","inherits":"BaseGuild#iconURL","inherited":true,"params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["ImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":93,"file":"BaseGuild.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this guild.","inherits":"BaseGuild#fetch","inherited":true,"async":true,"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":102,"file":"BaseGuild.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the guild's name instead of the Guild object.","inherits":"BaseGuild#toString","inherited":true,"returns":[[["string"]]],"meta":{"line":111,"file":"BaseGuild.js","path":"src/structures"}}],"meta":{"line":10,"file":"InviteGuild.js","path":"src/structures"}},{"name":"InviteStageInstance","description":"Represents the data about a public {@link StageInstance} in an {@link Invite}.","extends":[[["Base"]]],"props":[{"name":"channelId","description":"The id of the stage channel this invite is for","type":[[["Snowflake"]]],"meta":{"line":18,"file":"InviteStageInstance.js","path":"src/structures"}},{"name":"guildId","description":"The stage channel's guild id","type":[[["Snowflake"]]],"meta":{"line":24,"file":"InviteStageInstance.js","path":"src/structures"}},{"name":"members","description":"The members speaking in the stage channel","type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]],"meta":{"line":30,"file":"InviteStageInstance.js","path":"src/structures"}},{"name":"topic","description":"The topic of the stage instance","type":[[["string"]]],"meta":{"line":41,"file":"InviteStageInstance.js","path":"src/structures"}},{"name":"participantCount","description":"The number of users in the stage channel","type":[[["number"]]],"meta":{"line":49,"file":"InviteStageInstance.js","path":"src/structures"}},{"name":"speakerCount","description":"The number of users speaking in the stage channel","type":[[["number"]]],"meta":{"line":57,"file":"InviteStageInstance.js","path":"src/structures"}},{"name":"channel","description":"The stage channel this invite is for","readonly":true,"nullable":true,"type":[[["StageChannel"]]],"meta":{"line":72,"file":"InviteStageInstance.js","path":"src/structures"}},{"name":"guild","description":"The guild of the stage channel this invite is for","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":81,"file":"InviteStageInstance.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"meta":{"line":10,"file":"InviteStageInstance.js","path":"src/structures"}},{"name":"Message","description":"Represents a message on Discord.","extends":[[["Base"]]],"props":[{"name":"channelId","description":"The id of the channel the message was sent in","type":[[["Snowflake"]]],"meta":{"line":43,"file":"Message.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild the message was sent in, if any","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":49,"file":"Message.js","path":"src/structures"}},{"name":"id","description":"The message's id","type":[[["Snowflake"]]],"meta":{"line":59,"file":"Message.js","path":"src/structures"}},{"name":"position","description":"A generally increasing integer (there may be gaps or duplicates) that represents\nthe approximate position of the message in a thread.","nullable":true,"type":[[["number"]]],"meta":{"line":67,"file":"Message.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the message was sent at","type":[[["number"]]],"meta":{"line":76,"file":"Message.js","path":"src/structures"}},{"name":"type","description":"The type of the message","nullable":true,"type":[[["MessageType"]]],"meta":{"line":83,"file":"Message.js","path":"src/structures"}},{"name":"system","description":"Whether or not this message was sent by Discord, not actually a user (e.g. pin notifications)","nullable":true,"type":[[["boolean"]]],"meta":{"line":89,"file":"Message.js","path":"src/structures"}},{"name":"content","description":"The content of the message","nullable":true,"type":[[["string"]]],"meta":{"line":100,"file":"Message.js","path":"src/structures"}},{"name":"author","description":"The author of the message","nullable":true,"type":[[["User"]]],"meta":{"line":110,"file":"Message.js","path":"src/structures"}},{"name":"pinned","description":"Whether or not this message is pinned","nullable":true,"type":[[["boolean"]]],"meta":{"line":120,"file":"Message.js","path":"src/structures"}},{"name":"tts","description":"Whether or not the message was Text-To-Speech","nullable":true,"type":[[["boolean"]]],"meta":{"line":130,"file":"Message.js","path":"src/structures"}},{"name":"nonce","description":"A random number or string used for checking message delivery\nThis is only received after the message was sent successfully, and\nlost if re-fetched","nullable":true,"type":[[["string"]]],"meta":{"line":142,"file":"Message.js","path":"src/structures"}},{"name":"embeds","description":"A list of embeds in the message - e.g. YouTube Player","type":[[["Array","<"],["MessageEmbed",">"]]],"meta":{"line":152,"file":"Message.js","path":"src/structures"}},{"name":"components","description":"A list of MessageActionRows in the message","type":[[["Array","<"],["MessageActionRow",">"]]],"meta":{"line":162,"file":"Message.js","path":"src/structures"}},{"name":"attachments","description":"A collection of attachments in the message - e.g. Pictures - mapped by their ids","type":[[["Collection","<"],["Snowflake",", "],["MessageAttachment",">"]]],"meta":{"line":172,"file":"Message.js","path":"src/structures"}},{"name":"stickers","description":"A collection of stickers in the message","type":[[["Collection","<"],["Snowflake",", "],["Sticker",">"]]],"meta":{"line":187,"file":"Message.js","path":"src/structures"}},{"name":"editedTimestamp","description":"The timestamp the message was last edited at (if applicable)","nullable":true,"type":[[["number"]]],"meta":{"line":200,"file":"Message.js","path":"src/structures"}},{"name":"reactions","description":"A manager of the reactions belonging to this message","type":[[["ReactionManager"]]],"meta":{"line":210,"file":"Message.js","path":"src/structures"}},{"name":"mentions","description":"All valid mentions that the message contains","type":[[["MessageMentions"]]],"meta":{"line":225,"file":"Message.js","path":"src/structures"}},{"name":"webhookId","description":"The id of the webhook that sent the message, if applicable","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":249,"file":"Message.js","path":"src/structures"}},{"name":"groupActivityApplication","description":"Supplemental application information for group activities","nullable":true,"type":[[["Application"]]],"meta":{"line":269,"file":"Message.js","path":"src/structures"}},{"name":"applicationId","description":"The id of the application of the interaction that sent this message, if any","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":279,"file":"Message.js","path":"src/structures"}},{"name":"activity","description":"Group activity","nullable":true,"type":[[["MessageActivity"]]],"meta":{"line":289,"file":"Message.js","path":"src/structures"}},{"name":"flags","description":"Flags that are applied to the message","type":[[["Readonly","<"],["MessageFlags",">"]]],"meta":{"line":312,"file":"Message.js","path":"src/structures"}},{"name":"reference","description":"Message reference data","nullable":true,"type":[[["MessageReference"]]],"meta":{"line":337,"file":"Message.js","path":"src/structures"}},{"name":"interaction","description":"Partial data of the interaction that this message is a reply to","nullable":true,"type":[[["MessageInteraction"]]],"meta":{"line":365,"file":"Message.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":381,"file":"Message.js","path":"src/structures"}},{"name":"channel","description":"The channel that the message was sent in","readonly":true,"type":[[["TextBasedChannels"]]],"meta":{"line":411,"file":"Message.js","path":"src/structures"}},{"name":"partial","description":"Whether or not this message is a partial","readonly":true,"type":[[["boolean"]]],"meta":{"line":420,"file":"Message.js","path":"src/structures"}},{"name":"member","description":"Represents the author of the message as a guild member.\nOnly available if the message comes from a guild where the author is still a member","readonly":true,"nullable":true,"type":[[["GuildMember"]]],"meta":{"line":430,"file":"Message.js","path":"src/structures"}},{"name":"createdAt","description":"The time the message was sent at","readonly":true,"type":[[["Date"]]],"meta":{"line":439,"file":"Message.js","path":"src/structures"}},{"name":"editedAt","description":"The time the message was last edited at (if applicable)","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":448,"file":"Message.js","path":"src/structures"}},{"name":"guild","description":"The guild the message was sent in (if in a guild channel)","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":457,"file":"Message.js","path":"src/structures"}},{"name":"hasThread","description":"Whether this message has a thread associated with it","readonly":true,"type":[[["boolean"]]],"meta":{"line":466,"file":"Message.js","path":"src/structures"}},{"name":"thread","description":"The thread started by this message\nThis property is not suitable for checking whether a message has a thread,\nuse {@link Message#hasThread} instead.","readonly":true,"nullable":true,"type":[[["ThreadChannel"]]],"meta":{"line":477,"file":"Message.js","path":"src/structures"}},{"name":"url","description":"The URL to jump to this message","readonly":true,"type":[[["string"]]],"meta":{"line":486,"file":"Message.js","path":"src/structures"}},{"name":"cleanContent","description":"The message contents with all mentions replaced by the equivalent text.\nIf mentions cannot be resolved to a name, the relevant mention in the message content will not be converted.","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":496,"file":"Message.js","path":"src/structures"}},{"name":"editable","description":"Whether the message is editable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":549,"file":"Message.js","path":"src/structures"}},{"name":"deletable","description":"Whether the message is deletable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":572,"file":"Message.js","path":"src/structures"}},{"name":"bulkDeletable","description":"Whether the message is bulk deletable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":604,"file":"Message.js","path":"src/structures"}},{"name":"pinnable","description":"Whether the message is pinnable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":613,"file":"Message.js","path":"src/structures"}},{"name":"crosspostable","description":"Whether the message is crosspostable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":642,"file":"Message.js","path":"src/structures"}},{"name":"isMessage","description":"Check data","readonly":true,"type":[[["boolean"]]],"meta":{"line":1025,"file":"Message.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"createReactionCollector","description":"Creates a reaction collector.","examples":["// Create a reaction collector\nconst filter = (reaction, user) => reaction.emoji.name === '👌' && user.id === 'someId';\nconst collector = message.createReactionCollector({ filter, time: 15_000 });\ncollector.on('collect', r => console.log(`Collected ${r.emoji.name}`));\ncollector.on('end', collected => console.log(`Collected ${collected.size} items`));"],"params":[{"name":"options","description":"Options to send to the collector","optional":true,"default":"{}","type":[[["ReactionCollectorOptions"]]]}],"returns":[[["ReactionCollector"]]],"meta":{"line":512,"file":"Message.js","path":"src/structures"}},{"name":"awaitReactions","description":"Similar to createReactionCollector but in promise form.\nResolves with a collection of reactions that pass the specified filter.","examples":["// Create a reaction collector\nconst filter = (reaction, user) => reaction.emoji.name === '👌' && user.id === 'someId'\nmessage.awaitReactions({ filter, time: 15_000 })\n .then(collected => console.log(`Collected ${collected.size} reactions`))\n .catch(console.error);"],"params":[{"name":"options","description":"Optional options to pass to the internal collector","optional":true,"default":"{}","type":[[["AwaitReactionsOptions"]]]}],"returns":[[["Promise","<"],["Collection","<("],["string","|"],["Snowflake","), "],["MessageReaction",">>"]]],"meta":{"line":534,"file":"Message.js","path":"src/structures"}},{"name":"fetchReference","description":"Fetches the Message this crosspost/reply/pin-add references, if available to the client","async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":628,"file":"Message.js","path":"src/structures"}},{"name":"edit","description":"Edits the content of the message.","examples":["// Update the content of a message\nmessage.edit('This is my new content!')\n .then(msg => console.log(`Updated the content of a message to ${msg.content}`))\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["MessageEditOptions"]]]}],"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":681,"file":"Message.js","path":"src/structures"}},{"name":"crosspost","description":"Publishes a message in an announcement channel to all channels following it.","examples":["// Crosspost a message\nif (message.channel.type === 'GUILD_NEWS') {\n message.crosspost()\n .then(() => console.log('Crossposted message'))\n .catch(console.error);\n}"],"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":697,"file":"Message.js","path":"src/structures"}},{"name":"pin","description":"Pins this message to the channel's pinned messages.","examples":["// Pin a message\nmessage.pin()\n .then(console.log)\n .catch(console.error)"],"params":[{"name":"reason","description":"Reason for pinning","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":712,"file":"Message.js","path":"src/structures"}},{"name":"unpin","description":"Unpins this message from the channel's pinned messages.","examples":["// Unpin a message\nmessage.unpin()\n .then(console.log)\n .catch(console.error)"],"params":[{"name":"reason","description":"Reason for unpinning","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":728,"file":"Message.js","path":"src/structures"}},{"name":"react","description":"Adds a reaction to the message.","examples":["// React to a message with a unicode emoji\nmessage.react('🤔')\n .then(console.log)\n .catch(console.error);","// React to a message with a custom emoji\nmessage.react(message.guild.emojis.cache.get('123456789012345678'))\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"emoji","description":"The emoji to react with","type":[[["EmojiIdentifierResolvable"]]]},{"name":"burst","description":"Super Reactions","optional":true,"default":false,"type":[[["boolean"]]]}],"async":true,"returns":[[["Promise","<"],["MessageReaction",">"]]],"meta":{"line":750,"file":"Message.js","path":"src/structures"}},{"name":"delete","description":"Deletes the message.","examples":["// Delete a message\nmessage.delete()\n .then(msg => console.log(`Deleted message from ${msg.author.username}`))\n .catch(console.error);"],"async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":775,"file":"Message.js","path":"src/structures"}},{"name":"reply","description":"Send an inline reply to this message.","examples":["// Reply to a message\nmessage.reply('This is a reply!')\n .then(() => console.log(`Replied to message \"${message.content}\"`))\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["ReplyMessageOptions"]]]}],"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":799,"file":"Message.js","path":"src/structures"}},{"name":"startThread","description":"Create a new public thread from this message","see":["GuildTextThreadManager#create"],"params":[{"name":"options","description":"Options for starting a thread on this message","optional":true,"type":[[["StartThreadOptions"]]]}],"returns":[[["Promise","<"],["ThreadChannel",">"]]],"meta":{"line":844,"file":"Message.js","path":"src/structures"}},{"name":"vote","description":"Submits a poll vote for the current user. Returns a 204 empty response on success.","examples":["// Vote multi choices\nmessage.vote(1,2);\n// Remove vote\nmessage.vote();"],"params":[{"name":"ids","description":"ID of the answer","variable":true,"type":[[["Array","<"],["number",">"]]]}],"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":863,"file":"Message.js","path":"src/structures"}},{"name":"endPoll","description":"Immediately ends the poll. You cannot end polls from other users.","returns":[[["Promise","<"],["RawMessage",">"]]],"meta":{"line":878,"file":"Message.js","path":"src/structures"}},{"name":"getAnswerVoter","description":"Get a list of users that voted for this specific answer.","params":[{"name":"answerId","description":"Answer Id","type":[[["number"]]]},{"name":"afterUserId","description":"Get users after this user ID","optional":true,"type":[[["Snowflake"]]]},{"name":"limit","description":"Max number of users to return (1-100, default 25)","optional":true,"default":25,"type":[[["number"]]]}],"returns":[[["Promise","<{"],["users",": "],["Partial","<"],["RawUser",">}>"]]],"meta":{"line":889,"file":"Message.js","path":"src/structures"}},{"name":"fetch","description":"Fetch this message.","params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":907,"file":"Message.js","path":"src/structures"}},{"name":"fetchWebhook","description":"Fetches the webhook used to create this message.","returns":[[["Promise",""],["Webhook",">"]]],"meta":{"line":916,"file":"Message.js","path":"src/structures"}},{"name":"suppressEmbeds","description":"Suppresses or unsuppresses embeds on a message.","params":[{"name":"suppress","description":"If the embeds should be suppressed or not","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":927,"file":"Message.js","path":"src/structures"}},{"name":"removeAttachments","description":"Removes the attachments from this message.","returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":943,"file":"Message.js","path":"src/structures"}},{"name":"resolveComponent","description":"Resolves a component by a custom id.","params":[{"name":"customId","description":"The custom id to resolve against","type":[[["string"]]]}],"returns":{"types":[[["MessageActionRowComponent"]]],"nullable":true},"meta":{"line":952,"file":"Message.js","path":"src/structures"}},{"name":"equals","description":"Used mainly internally. Whether two messages are identical in properties. If you want to compare messages\nwithout checking all the properties, use `message.id === message2.id`, which is much more efficient. This\nmethod allows you to see if there are differences in content, embeds, attachments, nonce and tts properties.","params":[{"name":"message","description":"The message to compare it to","type":[[["Message"]]]},{"name":"rawData","description":"Raw data passed through the WebSocket about this message","type":[[["APIMessage"]]]}],"returns":[[["boolean"]]],"meta":{"line":964,"file":"Message.js","path":"src/structures"}},{"name":"inGuild","description":"Whether this message is from a guild.","returns":[[["boolean"]]],"meta":{"line":992,"file":"Message.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically concatenates the message's content instead of the object.","examples":["// Logs: Message: This is a message!\nconsole.log(`Message: ${message}`);"],"returns":[[["string"]]],"meta":{"line":1003,"file":"Message.js","path":"src/structures"}},{"name":"clickButton","description":"Click specific button or automatically click first button if no button is specified.","examples":["// Demo msg\nSome content\n ――――――――――――――――――――――――――――――――> X from 0\n │ [button1] [button2] [button3]\n │ [button4] [button5] [button6]\n ↓\n Y from 0\n// Click button6 with X and Y\n[0,0] [1,0] [2,0]\n[0,1] [1,1] [2,1]\n// Code\nmessage.clickButton({\n X: 2, Y: 1,\n});\n// Click button with customId (Ex button 5)\nmessage.clickButton('button5');\n// Click button 1\nmessage.clickButton();"],"params":[{"name":"button","description":"button","type":[[["MessageButtonLocation"]],[["string"]],[["undefined"]]]}],"returns":[[["Promise","<("],["Message","|"],["Modal",")>"]]],"meta":{"line":1060,"file":"Message.js","path":"src/structures"}},{"name":"selectMenu","description":"Select specific menu","params":[{"name":"menu","description":"Target","type":[[["number"]],[["string"]]]},{"name":"values","description":"Any value","type":[[["Array","<("],["UserResolvable","|"],["RoleResolvable","|"],["ChannelResolvable","|"],["string",")>"]]]}],"returns":[[["Promise","<("],["Message","|"],["Modal",")>"]]],"meta":{"line":1100,"file":"Message.js","path":"src/structures"}},{"name":"markUnread","description":"Marks the message as unread.","returns":[[["Promise","<"],["void",">"]]],"meta":{"line":1169,"file":"Message.js","path":"src/structures"}},{"name":"markRead","description":"Marks the message as read.","returns":[[["Promise","<"],["void",">"]]],"meta":{"line":1188,"file":"Message.js","path":"src/structures"}},{"name":"report","description":"Report Message","examples":["// GET https://discord.com/api/v9/reporting/menu/message?variant=4\n// Report Category\n// - MESSAGE_WELCOME (3)\n// - Something else (28)\n// - Hacks, cheats, phishing or malicious links (72)\nmessage.report([3, 28, 72]).then(console.log);\n// { \"report_id\": \"1199663489988440124\" }"],"params":[{"name":"breadcrumbs","description":"Options for reporting","type":[[["Arrray","<"],["number",">"]]]},{"name":"elements","description":"Metadata","optional":true,"default":"{}","type":[[["Object"]]]}],"returns":[[["Promise","<{"],["report_id",": "],["Snowflake","}>"]]],"meta":{"line":1210,"file":"Message.js","path":"src/structures"}}],"meta":{"line":35,"file":"Message.js","path":"src/structures"}},{"name":"MessageActionRow","description":"Represents an action row containing message components.","extends":[[["BaseMessageComponent"]]],"construct":{"name":"MessageActionRow","params":[{"name":"data","description":"MessageActionRow to clone or raw data","optional":true,"default":"{}","type":[[["MessageActionRow"]],[["MessageActionRowOptions"]]]},{"name":"client","description":"The client constructing this MessageActionRow, if provided","optional":true,"default":null,"type":[[["Client"]]]}]},"props":[{"name":"components","description":"The components in this action row","type":[[["Array","<"],["MessageActionRowComponent",">"]]],"meta":{"line":51,"file":"MessageActionRow.js","path":"src/structures"}},{"name":"type","description":"The type of this component","nullable":true,"type":[[["MessageComponentType"]]],"meta":{"line":52,"file":"BaseMessageComponent.js","path":"src/structures"}}],"methods":[{"name":"addComponents","description":"Adds components to the action row.","params":[{"name":"components","description":"The components to add","variable":true,"type":[[["Array","<"],["MessageActionRowComponentResolvable",">"]]]}],"returns":[[["MessageActionRow"]]],"meta":{"line":59,"file":"MessageActionRow.js","path":"src/structures"}},{"name":"setComponents","description":"Sets the components of the action row.","params":[{"name":"components","description":"The components to set","variable":true,"type":[[["Array","<"],["MessageActionRowComponentResolvable",">"]]]}],"returns":[[["MessageActionRow"]]],"meta":{"line":69,"file":"MessageActionRow.js","path":"src/structures"}},{"name":"spliceComponents","description":"Removes, replaces, and inserts components in the action row.","params":[{"name":"index","description":"The index to start at","type":[[["number"]]]},{"name":"deleteCount","description":"The number of components to remove","type":[[["number"]]]},{"name":"components","description":"The replacing components","optional":true,"variable":true,"type":[[["Array","<"],["MessageActionRowComponentResolvable",">"]]]}],"returns":[[["MessageActionRow"]]],"meta":{"line":81,"file":"MessageActionRow.js","path":"src/structures"}},{"name":"toJSON","description":"Transforms the action row to a plain object.","returns":{"types":[[["APIMessageComponent"]]],"description":"The raw data of this action row"},"meta":{"line":90,"file":"MessageActionRow.js","path":"src/structures"}}],"meta":{"line":10,"file":"MessageActionRow.js","path":"src/structures"}},{"name":"MessageAttachment","description":"Represents an attachment in a message.","construct":{"name":"MessageAttachment","params":[{"name":"attachment","description":"The file","type":[[["BufferResolvable"]],[["Stream"]]]},{"name":"name","description":"The name of the file, if any","optional":true,"default":null,"type":[[["string"]]]},{"name":"data","description":"Extra data","optional":true,"type":[[["APIAttachment"]]]}]},"props":[{"name":"name","description":"The name of this attachment","nullable":true,"type":[[["string"]]],"meta":{"line":21,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"id","description":"The attachment's id","type":[[["Snowflake"]]],"meta":{"line":80,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"size","description":"The size of this attachment in bytes","type":[[["number"]]],"meta":{"line":87,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"url","description":"The URL to this attachment","type":[[["string"]]],"meta":{"line":95,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"proxyURL","description":"The Proxy URL to this attachment","type":[[["string"]]],"meta":{"line":103,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"height","description":"The height of this attachment (if an image or video)","nullable":true,"type":[[["number"]]],"meta":{"line":111,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"width","description":"The width of this attachment (if an image or video)","nullable":true,"type":[[["number"]]],"meta":{"line":121,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"contentType","description":"The media type of this attachment","nullable":true,"type":[[["string"]]],"meta":{"line":131,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"description","description":"The description (alt text) of this attachment","nullable":true,"type":[[["string"]]],"meta":{"line":141,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"ephemeral","description":"Whether this attachment is ephemeral","type":[[["boolean"]]],"meta":{"line":150,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"duration","description":"The duration of this attachment in seconds\nThis will only be available if the attachment is an audio file.","nullable":true,"type":[[["number"]]],"meta":{"line":158,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"waveform","description":"The base64 encoded byte array representing a sampled waveform\nThis will only be available if the attachment is an audio file.","nullable":true,"type":[[["string"]]],"meta":{"line":169,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"flags","description":"The flags of this attachment","type":[[["Readonly","<"],["AttachmentFlags",">"]]],"meta":{"line":179,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"spoiler","description":"Whether or not this attachment has been marked as a spoiler","readonly":true,"type":[[["boolean"]]],"meta":{"line":190,"file":"MessageAttachment.js","path":"src/structures"}}],"methods":[{"name":"setDescription","description":"Sets the description of this attachment.","params":[{"name":"description","description":"The description of the file","type":[[["string"]]]}],"returns":{"types":[[["MessageAttachment"]]],"description":"This attachment"},"meta":{"line":30,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"setFile","description":"Sets the file of this attachment.","params":[{"name":"attachment","description":"The file","type":[[["BufferResolvable"]],[["Stream"]]]},{"name":"name","description":"The name of the file, if any","optional":true,"default":null,"type":[[["string"]]]}],"returns":{"types":[[["MessageAttachment"]]],"description":"This attachment"},"meta":{"line":41,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"setName","description":"Sets the name of this attachment.","params":[{"name":"name","description":"The name of the file","type":[[["string"]]]}],"returns":{"types":[[["MessageAttachment"]]],"description":"This attachment"},"meta":{"line":52,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"setSpoiler","description":"Sets whether this attachment is a spoiler","params":[{"name":"spoiler","description":"Whether the attachment should be marked as a spoiler","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":{"types":[[["MessageAttachment"]]],"description":"This attachment"},"meta":{"line":62,"file":"MessageAttachment.js","path":"src/structures"}}],"meta":{"line":9,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"MessageButton","description":"Represents a button message component.","extends":[[["BaseMessageComponent"]]],"construct":{"name":"MessageButton","params":[{"name":"data","description":"MessageButton to clone or raw data","optional":true,"default":"{}","type":[[["MessageButton"]],[["MessageButtonOptions"]]]}]},"props":[{"name":"label","description":"The text to be displayed on this button","nullable":true,"type":[[["string"]]],"meta":{"line":37,"file":"MessageButton.js","path":"src/structures"}},{"name":"customId","description":"A unique string to be sent in the interaction when clicked","nullable":true,"type":[[["string"]]],"meta":{"line":43,"file":"MessageButton.js","path":"src/structures"}},{"name":"style","description":"The style of this button","nullable":true,"type":[[["MessageButtonStyle"]]],"meta":{"line":49,"file":"MessageButton.js","path":"src/structures"}},{"name":"emoji","description":"Emoji for this button","nullable":true,"type":[[["RawEmoji"]]],"meta":{"line":55,"file":"MessageButton.js","path":"src/structures"}},{"name":"url","description":"The URL this button links to, if it is a Link style button","nullable":true,"type":[[["string"]]],"meta":{"line":61,"file":"MessageButton.js","path":"src/structures"}},{"name":"disabled","description":"Whether this button is currently disabled","type":[[["boolean"]]],"meta":{"line":67,"file":"MessageButton.js","path":"src/structures"}},{"name":"type","description":"The type of this component","nullable":true,"type":[[["MessageComponentType"]]],"meta":{"line":52,"file":"BaseMessageComponent.js","path":"src/structures"}}],"methods":[{"name":"setCustomId","description":"Sets the custom id for this button","params":[{"name":"customId","description":"A unique string to be sent in the interaction when clicked","type":[[["string"]]]}],"returns":[[["MessageButton"]]],"meta":{"line":75,"file":"MessageButton.js","path":"src/structures"}},{"name":"setDisabled","description":"Sets the interactive status of the button","params":[{"name":"disabled","description":"Whether this button should be disabled","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["MessageButton"]]],"meta":{"line":85,"file":"MessageButton.js","path":"src/structures"}},{"name":"setEmoji","description":"Set the emoji of this button","params":[{"name":"emoji","description":"The emoji to be displayed on this button","type":[[["EmojiIdentifierResolvable"]]]}],"returns":[[["MessageButton"]]],"meta":{"line":95,"file":"MessageButton.js","path":"src/structures"}},{"name":"setLabel","description":"Sets the label of this button","params":[{"name":"label","description":"The text to be displayed on this button","type":[[["string"]]]}],"returns":[[["MessageButton"]]],"meta":{"line":105,"file":"MessageButton.js","path":"src/structures"}},{"name":"setStyle","description":"Sets the style of this button","params":[{"name":"style","description":"The style of this button","type":[[["MessageButtonStyleResolvable"]]]}],"returns":[[["MessageButton"]]],"meta":{"line":115,"file":"MessageButton.js","path":"src/structures"}},{"name":"setURL","description":"Sets the URL of this button.\nMessageButton#style must be LINK when setting a URL","params":[{"name":"url","description":"The URL of this button","type":[[["string"]]]}],"returns":[[["MessageButton"]]],"meta":{"line":126,"file":"MessageButton.js","path":"src/structures"}},{"name":"toJSON","description":"Transforms the button to a plain object.","returns":{"types":[[["APIMessageButton"]]],"description":"The raw data of this button"},"meta":{"line":135,"file":"MessageButton.js","path":"src/structures"}},{"name":"resolveStyle","description":"Resolves the style of a button","scope":"static","access":"private","params":[{"name":"style","description":"The style to resolve","type":[[["MessageButtonStyleResolvable"]]]}],"returns":[[["MessageButtonStyle"]]],"meta":{"line":160,"file":"MessageButton.js","path":"src/structures"}}],"meta":{"line":12,"file":"MessageButton.js","path":"src/structures"}},{"name":"MessageCollector","description":"Collects messages on a channel.\nWill automatically stop if the channel ({@link Client#event:channelDelete channelDelete}),\nthread ({@link Client#event:threadDelete threadDelete}), or\nguild ({@link Client#event:guildDelete guildDelete}) is deleted.","extends":[[["Collector"]]],"construct":{"name":"MessageCollector","params":[{"name":"channel","description":"The channel","type":[[["TextBasedChannels"]]]},{"name":"options","description":"The options to be applied to this collector","type":[[["MessageCollectorOptions"]]]}]},"props":[{"name":"channel","description":"The channel","type":[[["TextBasedChannels"]]],"meta":{"line":32,"file":"MessageCollector.js","path":"src/structures"}},{"name":"received","description":"Total number of messages that were received in the channel during message collection","type":[[["number"]]],"meta":{"line":38,"file":"MessageCollector.js","path":"src/structures"}},{"name":"endReason","description":"The reason this collector has ended with, or null if it hasn't ended yet","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":103,"file":"MessageCollector.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this Collector","readonly":true,"type":[[["Client"]]],"meta":{"line":35,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"filter","description":"The filter applied to this collector","type":[[["CollectorFilter"]]],"meta":{"line":48,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"options","description":"The options of this collector","type":[[["CollectorOptions"]]],"meta":{"line":54,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"collected","description":"The items collected by this collector","type":[[["Collection"]]],"meta":{"line":60,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"ended","description":"Whether this collector has finished collecting","type":[[["boolean"]]],"meta":{"line":66,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"_timeout","description":"Timeout for cleanup","access":"private","nullable":true,"type":[[["Timeout"]]],"meta":{"line":73,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"_idletimeout","description":"Timeout for cleanup due to inactivity","access":"private","nullable":true,"type":[[["Timeout"]]],"meta":{"line":80,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"next","description":"Returns a promise that resolves with the next collected element;\nrejects with collected elements if the collector finishes without receiving a next element","readonly":true,"type":[[["Promise"]]],"meta":{"line":148,"file":"Collector.js","path":"src/structures/interfaces"}}],"methods":[{"name":"collect","description":"Handles a message for possible collection.","access":"private","params":[{"name":"message","description":"The message that could be collected","type":[[["Message"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":73,"file":"MessageCollector.js","path":"src/structures"}},{"name":"dispose","description":"Handles a message for possible disposal.","params":[{"name":"message","description":"The message that could be disposed of","type":[[["Message"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":89,"file":"MessageCollector.js","path":"src/structures"}},{"name":"_handleChannelDeletion","description":"Handles checking if the channel has been deleted, and if so, stops the collector with the reason 'channelDelete'.","access":"private","params":[{"name":"channel","description":"The channel that was deleted","type":[[["GuildChannel"]]]}],"returns":[[["void"]]],"meta":{"line":115,"file":"MessageCollector.js","path":"src/structures"}},{"name":"_handleThreadDeletion","description":"Handles checking if the thread has been deleted, and if so, stops the collector with the reason 'threadDelete'.","access":"private","params":[{"name":"thread","description":"The thread that was deleted","type":[[["ThreadChannel"]]]}],"returns":[[["void"]]],"meta":{"line":127,"file":"MessageCollector.js","path":"src/structures"}},{"name":"_handleGuildDeletion","description":"Handles checking if the guild has been deleted, and if so, stops the collector with the reason 'guildDelete'.","access":"private","params":[{"name":"guild","description":"The guild that was deleted","type":[[["Guild"]]]}],"returns":[[["void"]]],"meta":{"line":139,"file":"MessageCollector.js","path":"src/structures"}},{"name":"handleCollect","description":"Call this to handle an event as a collectable element. Accepts any event data as parameters.","inherits":"Collector#handleCollect","inherited":true,"emits":["Collector#event:collect"],"params":[{"name":"args","description":"The arguments emitted by the listener","variable":true,"type":[["*"]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":99,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"handleDispose","description":"Call this to remove an element from the collection. Accepts any event data as parameters.","inherits":"Collector#handleDispose","inherited":true,"emits":["Collector#event:dispose"],"params":[{"name":"args","description":"The arguments emitted by the listener","variable":true,"type":[["*"]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":126,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"stop","description":"Stops this collector and emits the `end` event.","inherits":"Collector#stop","inherited":true,"emits":["Collector#event:end"],"params":[{"name":"reason","description":"The reason this collector is ending","optional":true,"default":"'user'","type":[[["string"]]]}],"meta":{"line":180,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"resetTimer","description":"Resets the collector's timeout and idle timer.","inherits":"Collector#resetTimer","inherited":true,"params":[{"name":"options","description":"Options for resetting","optional":true,"type":[[["CollectorResetTimerOptions"]]]}],"meta":{"line":213,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"checkEnd","description":"Checks whether the collector should end, and if so, ends it.","inherits":"Collector#checkEnd","inherited":true,"returns":{"types":[[["boolean"]]],"description":"Whether the collector ended or not"},"meta":{"line":228,"file":"Collector.js","path":"src/structures/interfaces"}}],"events":[{"name":"collect","description":"Emitted whenever a message is collected.","params":[{"name":"message","description":"The message that was collected","type":[[["Message"]]]}],"meta":{"line":74,"file":"MessageCollector.js","path":"src/structures"}},{"name":"dispose","description":"Emitted whenever a message is disposed of.","params":[{"name":"message","description":"The message that was disposed of","type":[[["Message"]]]}],"meta":{"line":90,"file":"MessageCollector.js","path":"src/structures"}},{"name":"end","description":"Emitted when the collector is finished collecting.","params":[{"name":"collected","description":"The elements collected by the collector","type":[[["Collection"]]]},{"name":"reason","description":"The reason the collector ended","type":[[["string"]]]}],"meta":{"line":193,"file":"Collector.js","path":"src/structures/interfaces"}}],"meta":{"line":19,"file":"MessageCollector.js","path":"src/structures"}},{"name":"MessageComponentInteraction","description":"Represents a message component interaction.","extends":[[["Interaction"]]],"implements":[[["InteractionResponses"]]],"props":[{"name":"channelId","description":"The id of the channel this interaction was sent in","type":[[["Snowflake"]]],"meta":{"line":17,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"message","description":"The message to which the component was attached","type":[[["Message"]],[["APIMessage"]]],"meta":{"line":27,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"customId","description":"The custom id of the component which was interacted with","type":[[["string"]]],"meta":{"line":33,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"componentType","description":"The type of component which was interacted with","type":[[["string"]]],"meta":{"line":39,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"deferred","description":"Whether the reply to this interaction has been deferred","type":[[["boolean"]]],"meta":{"line":45,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"ephemeral","description":"Whether the reply to this interaction is ephemeral","nullable":true,"type":[[["boolean"]]],"meta":{"line":51,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"replied","description":"Whether this interaction has already been replied to","type":[[["boolean"]]],"meta":{"line":57,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"webhook","description":"An associated interaction webhook, can be used to further interact with this interaction","type":[[["InteractionWebhook"]]],"meta":{"line":63,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"component","description":"The component which was interacted with","readonly":true,"type":[[["MessageActionRowComponent"]],[["APIMessageActionRowComponent"]]],"meta":{"line":78,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"type","description":"The interaction's type","type":[[["InteractionType"]]],"meta":{"line":20,"file":"Interaction.js","path":"src/structures"}},{"name":"id","description":"The interaction's id","type":[[["Snowflake"]]],"meta":{"line":26,"file":"Interaction.js","path":"src/structures"}},{"name":"token","description":"The interaction's token","readonly":true,"type":[[["string"]]],"meta":{"line":28,"file":"Interaction.js","path":"src/structures"}},{"name":"applicationId","description":"The application's id","type":[[["Snowflake"]]],"meta":{"line":40,"file":"Interaction.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild this interaction was sent in","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":52,"file":"Interaction.js","path":"src/structures"}},{"name":"user","description":"The user which sent this interaction","type":[[["User"]]],"meta":{"line":58,"file":"Interaction.js","path":"src/structures"}},{"name":"member","description":"If this interaction was sent in a guild, the member which sent it","nullable":true,"type":[[["GuildMember"]],[["APIGuildMember"]]],"meta":{"line":64,"file":"Interaction.js","path":"src/structures"}},{"name":"version","description":"The version","type":[[["number"]]],"meta":{"line":70,"file":"Interaction.js","path":"src/structures"}},{"name":"appPermissions","description":"Set of permissions the application or bot has within the channel the interaction was sent from","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":76,"file":"Interaction.js","path":"src/structures"}},{"name":"memberPermissions","description":"The permissions of the member, if one exists, in the channel this interaction was executed in","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":82,"file":"Interaction.js","path":"src/structures"}},{"name":"locale","description":"The locale of the user who invoked this interaction","type":[[["Locale"]]],"meta":{"line":124,"file":"Interaction.js","path":"src/structures"}},{"name":"guildLocale","description":"The preferred locale from the guild this interaction was sent in","nullable":true,"type":[[["Locale"]]],"meta":{"line":130,"file":"Interaction.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the interaction was created at","readonly":true,"type":[[["number"]]],"meta":{"line":138,"file":"Interaction.js","path":"src/structures"}},{"name":"createdAt","description":"The time the interaction was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":147,"file":"Interaction.js","path":"src/structures"}},{"name":"channel","description":"The channel this interaction was sent in","readonly":true,"nullable":true,"type":[[["TextBasedChannels"]]],"meta":{"line":156,"file":"Interaction.js","path":"src/structures"}},{"name":"guild","description":"The guild this interaction was sent in","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":165,"file":"Interaction.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"deferReply","description":"Defers the reply to this interaction.","implements":["InteractionResponses#deferReply"],"examples":["// Defer the reply to this interaction\ninteraction.deferReply()\n .then(console.log)\n .catch(console.error)","// Defer to send an ephemeral reply later\ninteraction.deferReply({ ephemeral: true })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for deferring the reply to this interaction","optional":true,"type":[[["InteractionDeferReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":58,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"reply","description":"Creates a reply to this interaction.\nUse the `fetchReply` option to get the bot's reply message.","implements":["InteractionResponses#reply"],"examples":["// Reply to the interaction and fetch the response\ninteraction.reply({ content: 'Pong!', fetchReply: true })\n .then((message) => console.log(`Reply sent with content ${message.content}`))\n .catch(console.error);","// Create an ephemeral reply with an embed\nconst embed = new MessageEmbed().setDescription('Pong!');\n\ninteraction.reply({ embeds: [embed], ephemeral: true })\n .then(() => console.log('Reply sent.'))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":93,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"fetchReply","description":"Fetches a reply to this interaction.","see":["Webhook#fetchMessage"],"implements":["InteractionResponses#fetchReply"],"examples":["// Fetch the initial reply to this interaction\ninteraction.fetchReply()\n .then(reply => console.log(`Replied with ${reply.content}`))\n .catch(console.error);"],"params":[{"name":"message","description":"The response to fetch","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":127,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"editReply","description":"Edits a reply to this interaction.","see":["Webhook#editMessage"],"implements":["InteractionResponses#editReply"],"examples":["// Edit the initial reply to this interaction\ninteraction.editReply('New content')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The new options for the message","type":[[["string"]],[["MessagePayload"]],[["InteractionEditReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":148,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"deleteReply","description":"Deletes a reply to this interaction.","see":["Webhook#deleteMessage"],"implements":["InteractionResponses#deleteReply"],"examples":["// Delete the initial reply to this interaction\ninteraction.deleteReply()\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"message","description":"The response to delete","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":166,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"followUp","description":"Send a follow-up message to this interaction.","implements":["InteractionResponses#followUp"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":175,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"deferUpdate","description":"Defers an update to the message to which the component was attached.","implements":["InteractionResponses#deferUpdate"],"examples":["// Defer updating and reset the component's loading state\ninteraction.deferUpdate()\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for deferring the update to this interaction","optional":true,"type":[[["InteractionDeferUpdateOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":190,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"update","description":"Updates the original message of the component on which the interaction was received on.","implements":["InteractionResponses#update"],"examples":["// Remove the components from the message\ninteraction.update({\n content: \"A component interaction was received\",\n components: []\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the updated message","type":[[["string"]],[["MessagePayload"]],[["InteractionUpdateOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":216,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"showModal","description":"Shows a modal component","implements":["InteractionResponses#showModal"],"params":[{"name":"modal","description":"The modal to show","type":[[["Modal"]],[["ModalOptions"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":243,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"awaitModalSubmit","description":"Collects a single modal submit interaction that passes the filter.\nThe Promise will reject if the time expires.","implements":["InteractionResponses#awaitModalSubmit"],"examples":["// Collect a modal submit interaction\nconst filter = (interaction) => interaction.customId === 'modal';\ninteraction.awaitModalSubmit({ filter, time: 15_000 })\n .then(interaction => console.log(`${interaction.customId} was submitted!`))\n .catch(console.error);"],"params":[{"name":"options","description":"Options to pass to the internal collector","type":[[["AwaitModalSubmitOptions"]]]}],"returns":[[["Promise","<"],["ModalSubmitInteraction",">"]]],"meta":{"line":275,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"inGuild","description":"Indicates whether this interaction is received from a guild.","inherits":"Interaction#inGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":173,"file":"Interaction.js","path":"src/structures"}},{"name":"inCachedGuild","description":"Indicates whether or not this interaction is both cached and received from a guild.","inherits":"Interaction#inCachedGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":181,"file":"Interaction.js","path":"src/structures"}},{"name":"inRawGuild","description":"Indicates whether or not this interaction is received from an uncached guild.","inherits":"Interaction#inRawGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":189,"file":"Interaction.js","path":"src/structures"}},{"name":"isApplicationCommand","description":"Indicates whether this interaction is a {@link BaseCommandInteraction}.","inherits":"Interaction#isApplicationCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":197,"file":"Interaction.js","path":"src/structures"}},{"name":"isCommand","description":"Indicates whether this interaction is a {@link CommandInteraction}.","inherits":"Interaction#isCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":205,"file":"Interaction.js","path":"src/structures"}},{"name":"isContextMenu","description":"Indicates whether this interaction is a {@link ContextMenuInteraction}","inherits":"Interaction#isContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":213,"file":"Interaction.js","path":"src/structures"}},{"name":"isModalSubmit","description":"Indicates whether this interaction is a {@link ModalSubmitInteraction}","inherits":"Interaction#isModalSubmit","inherited":true,"returns":[[["boolean"]]],"meta":{"line":221,"file":"Interaction.js","path":"src/structures"}},{"name":"isUserContextMenu","description":"Indicates whether this interaction is a {@link UserContextMenuInteraction}","inherits":"Interaction#isUserContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":229,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageContextMenu","description":"Indicates whether this interaction is a {@link MessageContextMenuInteraction}","inherits":"Interaction#isMessageContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":237,"file":"Interaction.js","path":"src/structures"}},{"name":"isAutocomplete","description":"Indicates whether this interaction is an {@link AutocompleteInteraction}","inherits":"Interaction#isAutocomplete","inherited":true,"returns":[[["boolean"]]],"meta":{"line":245,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageComponent","description":"Indicates whether this interaction is a {@link MessageComponentInteraction}.","inherits":"Interaction#isMessageComponent","inherited":true,"returns":[[["boolean"]]],"meta":{"line":253,"file":"Interaction.js","path":"src/structures"}},{"name":"isButton","description":"Indicates whether this interaction is a {@link ButtonInteraction}.","inherits":"Interaction#isButton","inherited":true,"returns":[[["boolean"]]],"meta":{"line":261,"file":"Interaction.js","path":"src/structures"}},{"name":"isSelectMenu","description":"Indicates whether this interaction is a {@link SelectMenuInteraction}.","inherits":"Interaction#isSelectMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":272,"file":"Interaction.js","path":"src/structures"}},{"name":"isRepliable","description":"Indicates whether this interaction can be replied to.","inherits":"Interaction#isRepliable","inherited":true,"returns":[[["boolean"]]],"meta":{"line":283,"file":"Interaction.js","path":"src/structures"}},{"name":"resolveType","description":"Resolves the type of a MessageComponent","scope":"static","access":"private","params":[{"name":"type","description":"The type to resolve","type":[[["MessageComponentTypeResolvable"]]]}],"returns":[[["MessageComponentType"]]],"meta":{"line":90,"file":"MessageComponentInteraction.js","path":"src/structures"}}],"meta":{"line":13,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"MessageContextMenuInteraction","description":"Represents a message context menu interaction.","extends":[[["ContextMenuInteraction"]]],"props":[{"name":"targetMessage","description":"The message this interaction was sent from","readonly":true,"type":[[["Message"]],[["APIMessage"]]],"meta":{"line":15,"file":"MessageContextMenuInteraction.js","path":"src/structures"}},{"name":"options","description":"The target of the interaction, parsed into options","type":[[["CommandInteractionOptionResolver"]]],"meta":{"line":18,"file":"ContextMenuInteraction.js","path":"src/structures"}},{"name":"targetId","description":"The id of the target of this interaction","type":[[["Snowflake"]]],"meta":{"line":28,"file":"ContextMenuInteraction.js","path":"src/structures"}},{"name":"targetType","description":"The type of the target of the interaction; either USER or MESSAGE","type":[[["ApplicationCommandType"]]],"meta":{"line":34,"file":"ContextMenuInteraction.js","path":"src/structures"}},{"name":"channelId","description":"The id of the channel this interaction was sent in","type":[[["Snowflake"]]],"meta":{"line":20,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"commandId","description":"The invoked application command's id","type":[[["Snowflake"]]],"meta":{"line":30,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"commandName","description":"The invoked application command's name","type":[[["string"]]],"meta":{"line":36,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"deferred","description":"Whether the reply to this interaction has been deferred","type":[[["boolean"]]],"meta":{"line":42,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"replied","description":"Whether this interaction has already been replied to","type":[[["boolean"]]],"meta":{"line":48,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"ephemeral","description":"Whether the reply to this interaction is ephemeral","nullable":true,"type":[[["boolean"]]],"meta":{"line":54,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"webhook","description":"An associated interaction webhook, can be used to further interact with this interaction","type":[[["InteractionWebhook"]]],"meta":{"line":60,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"command","description":"The invoked application command, if it was fetched before","nullable":true,"type":[[["ApplicationCommand"]]],"meta":{"line":67,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"type","description":"The interaction's type","type":[[["InteractionType"]]],"meta":{"line":20,"file":"Interaction.js","path":"src/structures"}},{"name":"id","description":"The interaction's id","type":[[["Snowflake"]]],"meta":{"line":26,"file":"Interaction.js","path":"src/structures"}},{"name":"token","description":"The interaction's token","readonly":true,"type":[[["string"]]],"meta":{"line":28,"file":"Interaction.js","path":"src/structures"}},{"name":"applicationId","description":"The application's id","type":[[["Snowflake"]]],"meta":{"line":40,"file":"Interaction.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild this interaction was sent in","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":52,"file":"Interaction.js","path":"src/structures"}},{"name":"user","description":"The user which sent this interaction","type":[[["User"]]],"meta":{"line":58,"file":"Interaction.js","path":"src/structures"}},{"name":"member","description":"If this interaction was sent in a guild, the member which sent it","nullable":true,"type":[[["GuildMember"]],[["APIGuildMember"]]],"meta":{"line":64,"file":"Interaction.js","path":"src/structures"}},{"name":"version","description":"The version","type":[[["number"]]],"meta":{"line":70,"file":"Interaction.js","path":"src/structures"}},{"name":"appPermissions","description":"Set of permissions the application or bot has within the channel the interaction was sent from","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":76,"file":"Interaction.js","path":"src/structures"}},{"name":"memberPermissions","description":"The permissions of the member, if one exists, in the channel this interaction was executed in","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":82,"file":"Interaction.js","path":"src/structures"}},{"name":"locale","description":"The locale of the user who invoked this interaction","type":[[["Locale"]]],"meta":{"line":124,"file":"Interaction.js","path":"src/structures"}},{"name":"guildLocale","description":"The preferred locale from the guild this interaction was sent in","nullable":true,"type":[[["Locale"]]],"meta":{"line":130,"file":"Interaction.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the interaction was created at","readonly":true,"type":[[["number"]]],"meta":{"line":138,"file":"Interaction.js","path":"src/structures"}},{"name":"createdAt","description":"The time the interaction was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":147,"file":"Interaction.js","path":"src/structures"}},{"name":"channel","description":"The channel this interaction was sent in","readonly":true,"nullable":true,"type":[[["TextBasedChannels"]]],"meta":{"line":156,"file":"Interaction.js","path":"src/structures"}},{"name":"guild","description":"The guild this interaction was sent in","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":165,"file":"Interaction.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"resolveContextMenuOptions","description":"Resolves and transforms options received from the API for a context menu interaction.","access":"private","inherits":"ContextMenuInteraction#resolveContextMenuOptions","inherited":true,"params":[{"name":"data","description":"The interaction data","type":[[["APIApplicationCommandInteractionData"]]]}],"returns":[[["Array","<"],["CommandInteractionOption",">"]]],"meta":{"line":43,"file":"ContextMenuInteraction.js","path":"src/structures"}},{"name":"transformResolved","description":"Transforms the resolved received from the API.","access":"private","inherits":"BaseCommandInteraction#transformResolved","inherited":true,"params":[{"name":"resolved","description":"The received resolved objects","type":[[["APIInteractionDataResolved"]]]}],"returns":[[["CommandInteractionResolvedData"]]],"meta":{"line":89,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"transformOption","description":"Transforms an option received from the API.","access":"private","inherits":"BaseCommandInteraction#transformOption","inherited":true,"params":[{"name":"option","description":"The received option","type":[[["APIApplicationCommandOption"]]]},{"name":"resolved","description":"The resolved interaction data","type":[[["APIInteractionDataResolved"]]]}],"returns":[[["CommandInteractionOption"]]],"meta":{"line":162,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"deferReply","description":"Defers the reply to this interaction.","inherits":"BaseCommandInteraction#deferReply","inherited":true,"implements":["InteractionResponses#deferReply"],"examples":["// Defer the reply to this interaction\ninteraction.deferReply()\n .then(console.log)\n .catch(console.error)","// Defer to send an ephemeral reply later\ninteraction.deferReply({ ephemeral: true })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for deferring the reply to this interaction","optional":true,"type":[[["InteractionDeferReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":58,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"reply","description":"Creates a reply to this interaction.\nUse the `fetchReply` option to get the bot's reply message.","inherits":"BaseCommandInteraction#reply","inherited":true,"implements":["InteractionResponses#reply"],"examples":["// Reply to the interaction and fetch the response\ninteraction.reply({ content: 'Pong!', fetchReply: true })\n .then((message) => console.log(`Reply sent with content ${message.content}`))\n .catch(console.error);","// Create an ephemeral reply with an embed\nconst embed = new MessageEmbed().setDescription('Pong!');\n\ninteraction.reply({ embeds: [embed], ephemeral: true })\n .then(() => console.log('Reply sent.'))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":93,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"fetchReply","description":"Fetches a reply to this interaction.","see":["Webhook#fetchMessage"],"inherits":"BaseCommandInteraction#fetchReply","inherited":true,"implements":["InteractionResponses#fetchReply"],"examples":["// Fetch the initial reply to this interaction\ninteraction.fetchReply()\n .then(reply => console.log(`Replied with ${reply.content}`))\n .catch(console.error);"],"params":[{"name":"message","description":"The response to fetch","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":127,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"editReply","description":"Edits a reply to this interaction.","see":["Webhook#editMessage"],"inherits":"BaseCommandInteraction#editReply","inherited":true,"implements":["InteractionResponses#editReply"],"examples":["// Edit the initial reply to this interaction\ninteraction.editReply('New content')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The new options for the message","type":[[["string"]],[["MessagePayload"]],[["InteractionEditReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":148,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"deleteReply","description":"Deletes a reply to this interaction.","see":["Webhook#deleteMessage"],"inherits":"BaseCommandInteraction#deleteReply","inherited":true,"implements":["InteractionResponses#deleteReply"],"examples":["// Delete the initial reply to this interaction\ninteraction.deleteReply()\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"message","description":"The response to delete","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":166,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"followUp","description":"Send a follow-up message to this interaction.","inherits":"BaseCommandInteraction#followUp","inherited":true,"implements":["InteractionResponses#followUp"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":175,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"showModal","description":"Shows a modal component","inherits":"BaseCommandInteraction#showModal","inherited":true,"implements":["InteractionResponses#showModal"],"params":[{"name":"modal","description":"The modal to show","type":[[["Modal"]],[["ModalOptions"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":243,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"awaitModalSubmit","description":"Collects a single modal submit interaction that passes the filter.\nThe Promise will reject if the time expires.","inherits":"BaseCommandInteraction#awaitModalSubmit","inherited":true,"implements":["InteractionResponses#awaitModalSubmit"],"examples":["// Collect a modal submit interaction\nconst filter = (interaction) => interaction.customId === 'modal';\ninteraction.awaitModalSubmit({ filter, time: 15_000 })\n .then(interaction => console.log(`${interaction.customId} was submitted!`))\n .catch(console.error);"],"params":[{"name":"options","description":"Options to pass to the internal collector","type":[[["AwaitModalSubmitOptions"]]]}],"returns":[[["Promise","<"],["ModalSubmitInteraction",">"]]],"meta":{"line":275,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"inGuild","description":"Indicates whether this interaction is received from a guild.","inherits":"Interaction#inGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":173,"file":"Interaction.js","path":"src/structures"}},{"name":"inCachedGuild","description":"Indicates whether or not this interaction is both cached and received from a guild.","inherits":"Interaction#inCachedGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":181,"file":"Interaction.js","path":"src/structures"}},{"name":"inRawGuild","description":"Indicates whether or not this interaction is received from an uncached guild.","inherits":"Interaction#inRawGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":189,"file":"Interaction.js","path":"src/structures"}},{"name":"isApplicationCommand","description":"Indicates whether this interaction is a {@link BaseCommandInteraction}.","inherits":"Interaction#isApplicationCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":197,"file":"Interaction.js","path":"src/structures"}},{"name":"isCommand","description":"Indicates whether this interaction is a {@link CommandInteraction}.","inherits":"Interaction#isCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":205,"file":"Interaction.js","path":"src/structures"}},{"name":"isContextMenu","description":"Indicates whether this interaction is a {@link ContextMenuInteraction}","inherits":"Interaction#isContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":213,"file":"Interaction.js","path":"src/structures"}},{"name":"isModalSubmit","description":"Indicates whether this interaction is a {@link ModalSubmitInteraction}","inherits":"Interaction#isModalSubmit","inherited":true,"returns":[[["boolean"]]],"meta":{"line":221,"file":"Interaction.js","path":"src/structures"}},{"name":"isUserContextMenu","description":"Indicates whether this interaction is a {@link UserContextMenuInteraction}","inherits":"Interaction#isUserContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":229,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageContextMenu","description":"Indicates whether this interaction is a {@link MessageContextMenuInteraction}","inherits":"Interaction#isMessageContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":237,"file":"Interaction.js","path":"src/structures"}},{"name":"isAutocomplete","description":"Indicates whether this interaction is an {@link AutocompleteInteraction}","inherits":"Interaction#isAutocomplete","inherited":true,"returns":[[["boolean"]]],"meta":{"line":245,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageComponent","description":"Indicates whether this interaction is a {@link MessageComponentInteraction}.","inherits":"Interaction#isMessageComponent","inherited":true,"returns":[[["boolean"]]],"meta":{"line":253,"file":"Interaction.js","path":"src/structures"}},{"name":"isButton","description":"Indicates whether this interaction is a {@link ButtonInteraction}.","inherits":"Interaction#isButton","inherited":true,"returns":[[["boolean"]]],"meta":{"line":261,"file":"Interaction.js","path":"src/structures"}},{"name":"isSelectMenu","description":"Indicates whether this interaction is a {@link SelectMenuInteraction}.","inherits":"Interaction#isSelectMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":272,"file":"Interaction.js","path":"src/structures"}},{"name":"isRepliable","description":"Indicates whether this interaction can be replied to.","inherits":"Interaction#isRepliable","inherited":true,"returns":[[["boolean"]]],"meta":{"line":283,"file":"Interaction.js","path":"src/structures"}}],"meta":{"line":9,"file":"MessageContextMenuInteraction.js","path":"src/structures"}},{"name":"MessageEmbed","description":"Represents an embed in a message (image/video preview, rich embed, etc.)","construct":{"name":"MessageEmbed","params":[{"name":"data","description":"MessageEmbed to clone or raw embed data","optional":true,"default":"{}","type":[[["MessageEmbed"]],[["MessageEmbedOptions"]],[["APIEmbed"]]]}]},"props":[{"name":"type","description":"The type of this embed, either:\n* `rich` - a generic embed rendered from embed attributes\n* `image` - an image embed\n* `video` - a video embed\n* `gifv` - an animated gif image embed rendered as a video embed\n* `article` - an article embed\n* `link` - a link embed","see":["{@link https://discord.com/developers/docs/resources/channel#embed-object-embed-types}"],"deprecated":true,"type":[[["string"]]],"meta":{"line":61,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"title","description":"The title of this embed","nullable":true,"type":[[["string"]]],"meta":{"line":67,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"description","description":"The description of this embed","nullable":true,"type":[[["string"]]],"meta":{"line":73,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"url","description":"The URL of this embed","nullable":true,"type":[[["string"]]],"meta":{"line":79,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"color","description":"The color of this embed","nullable":true,"type":[[["number"]]],"meta":{"line":85,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"timestamp","description":"The timestamp of this embed","nullable":true,"type":[[["number"]]],"meta":{"line":91,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"fields","description":"The fields of this embed","type":[[["Array","<"],["EmbedField",">"]]],"meta":{"line":105,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"thumbnail","description":"The thumbnail of this embed (if there is one)","nullable":true,"type":[[["MessageEmbedThumbnail"]]],"meta":{"line":123,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"image","description":"The image of this embed, if there is one","nullable":true,"type":[[["MessageEmbedImage"]]],"meta":{"line":145,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"video","description":"The video of this embed (if there is one)","readonly":true,"nullable":true,"type":[[["MessageEmbedVideo"]]],"meta":{"line":168,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"author","description":"The author of this embed (if there is one)","nullable":true,"type":[[["MessageEmbedAuthor"]]],"meta":{"line":190,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"provider","description":"The provider of this embed (if there is one)","nullable":true,"type":[[["MessageEmbedProvider"]]],"meta":{"line":210,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"footer","description":"The footer of this embed","nullable":true,"type":[[["MessageEmbedFooter"]]],"meta":{"line":229,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"createdAt","description":"The date displayed on this embed","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":243,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"hexColor","description":"The hexadecimal version of the embed color, with a leading hash","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":252,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"length","description":"The accumulated length for the embed title, description, fields, footer text, and author name","readonly":true,"type":[[["number"]]],"meta":{"line":261,"file":"MessageEmbed.js","path":"src/structures"}}],"methods":[{"name":"equals","description":"Checks if this embed is equal to another one by comparing every single one of their properties.","params":[{"name":"embed","description":"The embed to compare with","type":[[["MessageEmbed"]],[["APIEmbed"]]]}],"returns":[[["boolean"]]],"meta":{"line":278,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"_fieldEquals","description":"Compares two given embed fields to see if they are equal","access":"private","params":[{"name":"field","description":"The first field to compare","type":[[["EmbedFieldData"]]]},{"name":"other","description":"The second field to compare","type":[[["EmbedFieldData"]]]}],"returns":[[["boolean"]]],"meta":{"line":308,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"addField","description":"Adds a field to the embed (max 25).","deprecated":"This method is a wrapper for {@link MessageEmbed#addFields}. Use that instead.","params":[{"name":"name","description":"The name of this field","type":[[["string"]]]},{"name":"value","description":"The value of this field","type":[[["string"]]]},{"name":"inline","description":"If this field will be displayed inline","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":[[["MessageEmbed"]]],"meta":{"line":320,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"addFields","description":"Adds fields to the embed (max 25).","params":[{"name":"fields","description":"The fields to add","variable":true,"type":[[["EmbedFieldData"]],[["Array","<"],["EmbedFieldData",">"]]]}],"returns":[[["MessageEmbed"]]],"meta":{"line":338,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"spliceFields","description":"Removes, replaces, and inserts fields in the embed (max 25).","params":[{"name":"index","description":"The index to start at","type":[[["number"]]]},{"name":"deleteCount","description":"The number of fields to remove","type":[[["number"]]]},{"name":"fields","description":"The replacing field objects","optional":true,"variable":true,"type":[[["EmbedFieldData"]],[["Array","<"],["EmbedFieldData",">"]]]}],"returns":[[["MessageEmbed"]]],"meta":{"line":350,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"setFields","description":"Sets the embed's fields (max 25).","params":[{"name":"fields","description":"The fields to set","variable":true,"type":[[["EmbedFieldData"]],[["Array","<"],["EmbedFieldData",">"]]]}],"returns":[[["MessageEmbed"]]],"meta":{"line":360,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"setAuthor","description":"Sets the author of this embed.","params":[{"name":"options","description":"The options to provide for the author.\nProvide `null` to remove the author data.","type":[[["string"]],[["EmbedAuthorData"]],[["null"]]]},{"name":"deprecatedIconURL","description":"The icon URL of this author.\nThis parameter is **deprecated**. Use the `options` parameter instead.","optional":true,"type":[[["string"]]]},{"name":"deprecatedURL","description":"The URL of this author.\nThis parameter is **deprecated**. Use the `options` parameter instead.","optional":true,"type":[[["string"]]]}],"returns":[[["MessageEmbed"]]],"meta":{"line":383,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"setColor","description":"Sets the color of this embed.","params":[{"name":"color","description":"The color of the embed","type":[[["ColorResolvable"]]]}],"returns":[[["MessageEmbed"]]],"meta":{"line":412,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"setDescription","description":"Sets the description of this embed.","params":[{"name":"description","description":"The description","type":[[["string"]]]}],"returns":[[["MessageEmbed"]]],"meta":{"line":422,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"setFooter","description":"Sets the footer of this embed.","params":[{"name":"options","description":"The options to provide for the footer.\nProvide `null` to remove the footer data.","type":[[["string"]],[["EmbedFooterData"]],[["null"]]]},{"name":"deprecatedIconURL","description":"The icon URL of this footer.\nThis parameter is **deprecated**. Use the `options` parameter instead.","optional":true,"type":[[["string"]]]}],"returns":[[["MessageEmbed"]]],"meta":{"line":442,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"setImage","description":"Sets the image of this embed.","params":[{"name":"url","description":"The URL of the image","type":[[["string"]]]}],"returns":[[["MessageEmbed"]]],"meta":{"line":471,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"setThumbnail","description":"Sets the thumbnail of this embed.","params":[{"name":"url","description":"The URL of the thumbnail","type":[[["string"]]]}],"returns":[[["MessageEmbed"]]],"meta":{"line":481,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"setTimestamp","description":"Sets the timestamp of this embed.","params":[{"name":"timestamp","description":"The timestamp or date.\nIf `null` then the timestamp will be unset (i.e. when editing an existing {@link MessageEmbed})","optional":true,"default":"Date.now()","type":[[["Date"]],[["number"]],[["null"]]]}],"returns":[[["MessageEmbed"]]],"meta":{"line":492,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"setTitle","description":"Sets the title of this embed.","params":[{"name":"title","description":"The title","type":[[["string"]]]}],"returns":[[["MessageEmbed"]]],"meta":{"line":503,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"setURL","description":"Sets the URL of this embed.","params":[{"name":"url","description":"The URL","type":[[["string"]]]}],"returns":[[["MessageEmbed"]]],"meta":{"line":513,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"toJSON","description":"Transforms the embed to a plain object.","returns":{"types":[[["APIEmbed"]]],"description":"The raw data of this embed"},"meta":{"line":522,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"normalizeField","description":"Normalizes field input and verifies strings.","scope":"static","params":[{"name":"name","description":"The name of the field","type":[[["string"]]]},{"name":"value","description":"The value of the field","type":[[["string"]]]},{"name":"inline","description":"Set the field to display inline","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":[[["EmbedField"]]],"meta":{"line":552,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"normalizeFields","description":"Normalizes field input and resolves strings.","scope":"static","params":[{"name":"fields","description":"Fields to normalize","variable":true,"type":[[["EmbedFieldData"]],[["Array","<"],["EmbedFieldData",">"]]]}],"returns":[[["Array","<"],["EmbedField",">"]]],"meta":{"line":572,"file":"MessageEmbed.js","path":"src/structures"}}],"meta":{"line":16,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"MessageMentions","description":"Keeps track of mentions in a {@link Message}.","props":[{"name":"everyone","description":"Whether `@everyone` or `@here` were mentioned","type":[[["boolean"]]],"meta":{"line":38,"file":"MessageMentions.js","path":"src/structures"}},{"name":"users","description":"Any users that were mentioned\nOrder as received from the API, not as they appear in the message content","type":[[["Collection","<"],["Snowflake",", "],["User",">"]]],"meta":{"line":47,"file":"MessageMentions.js","path":"src/structures"}},{"name":"roles","description":"Any roles that were mentioned\nOrder as received from the API, not as they appear in the message content","type":[[["Collection","<"],["Snowflake",", "],["Role",">"]]],"meta":{"line":68,"file":"MessageMentions.js","path":"src/structures"}},{"name":"_members","description":"Cached members for {@link MessageMentions#members}","access":"private","nullable":true,"type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]],"meta":{"line":87,"file":"MessageMentions.js","path":"src/structures"}},{"name":"_channels","description":"Cached channels for {@link MessageMentions#channels}","access":"private","nullable":true,"type":[[["Collection","<"],["Snowflake",", "],["Channel",">"]]],"meta":{"line":94,"file":"MessageMentions.js","path":"src/structures"}},{"name":"_parsedUsers","description":"Cached users for {@link MessageMentions#parsedUsers}","access":"private","nullable":true,"type":[[["Collection","<"],["Snowflake",", "],["User",">"]]],"meta":{"line":101,"file":"MessageMentions.js","path":"src/structures"}},{"name":"crosspostedChannels","description":"A collection of crossposted channels\nOrder as received from the API, not as they appear in the message content","type":[[["Collection","<"],["Snowflake",", "],["CrosspostedChannel",">"]]],"meta":{"line":119,"file":"MessageMentions.js","path":"src/structures"}},{"name":"repliedUser","description":"The author of the message that this message is a reply to","nullable":true,"type":[[["User"]]],"meta":{"line":141,"file":"MessageMentions.js","path":"src/structures"}},{"name":"members","description":"Any members that were mentioned (only in {@link Guild}s)\nOrder as received from the API, not as they appear in the message content","readonly":true,"nullable":true,"type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]],"meta":{"line":150,"file":"MessageMentions.js","path":"src/structures"}},{"name":"channels","description":"Any channels that were mentioned\nOrder as they appear first in the message content","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["Channel",">"]]],"meta":{"line":167,"file":"MessageMentions.js","path":"src/structures"}},{"name":"parsedUsers","description":"Any user mentions that were included in the message content\nOrder as they appear first in the message content","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["User",">"]]],"meta":{"line":184,"file":"MessageMentions.js","path":"src/structures"}},{"name":"EVERYONE_PATTERN","description":"Regular expression that globally matches `@everyone` and `@here`","scope":"static","type":[[["RegExp"]]],"meta":{"line":253,"file":"MessageMentions.js","path":"src/structures"}},{"name":"USERS_PATTERN","description":"Regular expression that globally matches user mentions like `<@81440962496172032>`","scope":"static","type":[[["RegExp"]]],"meta":{"line":259,"file":"MessageMentions.js","path":"src/structures"}},{"name":"ROLES_PATTERN","description":"Regular expression that globally matches role mentions like `<@&297577916114403338>`","scope":"static","type":[[["RegExp"]]],"meta":{"line":265,"file":"MessageMentions.js","path":"src/structures"}},{"name":"CHANNELS_PATTERN","description":"Regular expression that globally matches channel mentions like `<#222079895583457280>`","scope":"static","type":[[["RegExp"]]],"meta":{"line":271,"file":"MessageMentions.js","path":"src/structures"}}],"methods":[{"name":"has","description":"Checks if a user, guild member, thread member, role, or channel is mentioned.\nTakes into account user mentions, role mentions, channel mentions,\nreplied user mention, and `@everyone`/`@here` mentions.","params":[{"name":"data","description":"The User/Role/Channel to check for","type":[[["UserResolvable"]],[["RoleResolvable"]],[["ChannelResolvable"]]]},{"name":"options","description":"The options for the check","optional":true,"type":[[["MessageMentionsHasOptions"]]]}],"returns":[[["boolean"]]],"meta":{"line":212,"file":"MessageMentions.js","path":"src/structures"}}],"meta":{"line":10,"file":"MessageMentions.js","path":"src/structures"}},{"name":"MessagePayload","description":"Represents a message to be sent to the API.","construct":{"name":"MessagePayload","params":[{"name":"target","description":"The target for this message to be sent to","type":[[["MessageTarget"]]]},{"name":"options","description":"Options passed in from send","type":[[["MessageOptions"]],[["WebhookMessageOptions"]]]}]},"props":[{"name":"target","description":"The target for this message to be sent to","type":[[["MessageTarget"]]],"meta":{"line":26,"file":"MessagePayload.js","path":"src/structures"}},{"name":"options","description":"Options passed in from send","type":[[["MessageOptions"]],[["WebhookMessageOptions"]]],"meta":{"line":32,"file":"MessagePayload.js","path":"src/structures"}},{"name":"data","description":"Data sendable to the API","nullable":true,"type":[[["APIMessage"]]],"meta":{"line":38,"file":"MessagePayload.js","path":"src/structures"}},{"name":"files","description":"Files sendable to the API","nullable":true,"type":[[["Array","<"],["MessageFile",">"]]],"meta":{"line":51,"file":"MessagePayload.js","path":"src/structures"}},{"name":"isWebhook","description":"Whether or not the target is a {@link Webhook} or a {@link WebhookClient}","readonly":true,"type":[[["boolean"]]],"meta":{"line":59,"file":"MessagePayload.js","path":"src/structures"}},{"name":"isUser","description":"Whether or not the target is a {@link User}","readonly":true,"type":[[["boolean"]]],"meta":{"line":70,"file":"MessagePayload.js","path":"src/structures"}},{"name":"isMessage","description":"Whether or not the target is a {@link Message}","readonly":true,"type":[[["boolean"]]],"meta":{"line":81,"file":"MessagePayload.js","path":"src/structures"}},{"name":"isMessageManager","description":"Whether or not the target is a {@link MessageManager}","readonly":true,"type":[[["boolean"]]],"meta":{"line":91,"file":"MessagePayload.js","path":"src/structures"}},{"name":"isInteraction","description":"Whether or not the target is an {@link Interaction} or an {@link InteractionWebhook}","readonly":true,"type":[[["boolean"]]],"meta":{"line":101,"file":"MessagePayload.js","path":"src/structures"}}],"methods":[{"name":"makeContent","description":"Makes the content of this message.","returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":111,"file":"MessagePayload.js","path":"src/structures"}},{"name":"resolveData","description":"Resolves data.","returns":[[["MessagePayload"]]],"meta":{"line":126,"file":"MessagePayload.js","path":"src/structures"}},{"name":"resolveFiles","description":"Resolves files.","async":true,"returns":[[["Promise","<"],["MessagePayload",">"]]],"meta":{"line":243,"file":"MessagePayload.js","path":"src/structures"}},{"name":"resolveFile","description":"Resolves a single file into an object sendable to the API.","scope":"static","params":[{"name":"fileLike","description":"Something that could be resolved to a file","type":[[["BufferResolvable"]],[["Stream"]],[["FileOptions"]],[["MessageAttachment"]]]}],"async":true,"returns":[[["Promise","<"],["MessageFile",">"]]],"meta":{"line":255,"file":"MessagePayload.js","path":"src/structures"}},{"name":"create","description":"Creates a {@link MessagePayload} from user-level arguments.","scope":"static","params":[{"name":"target","description":"Target to send to","type":[[["MessageTarget"]]]},{"name":"options","description":"Options or content to use","type":[[["string"]],[["MessageOptions"]],[["WebhookMessageOptions"]]]},{"name":"extra","description":"Extra options to add onto specified options","optional":true,"default":"{}","type":[[["MessageOptions"]],[["WebhookMessageOptions"]]]}],"returns":[[["MessagePayload"]]],"meta":{"line":299,"file":"MessagePayload.js","path":"src/structures"}}],"meta":{"line":16,"file":"MessagePayload.js","path":"src/structures"}},{"name":"MessagePoll","description":"Represents the poll object has a lot of levels and nested structures. It was also designed to support future extensibility, so some fields may appear to be more complex than necessary.","construct":{"name":"MessagePoll","params":[{"name":"data","description":"Message poll to clone or raw data","type":[[["Object"]]]}]},"props":[{"name":"question","description":"The question of the poll","nullable":true,"type":[[["MessagePollMedia"]]],"meta":{"line":33,"file":"MessagePoll.js","path":"src/structures"}},{"name":"answers","description":"The answers available in the poll","type":[[["Collection","<"],["number",", "],["MessagePollMedia",">"]]],"meta":{"line":43,"file":"MessagePoll.js","path":"src/structures"}},{"name":"layoutType","description":"The layout type of the poll","nullable":true,"type":[[["MessagePollLayoutTypes"]]],"meta":{"line":57,"file":"MessagePoll.js","path":"src/structures"}},{"name":"allowMultiSelect","description":"Whether a user can select multiple answers","type":[[["boolean"]]],"meta":{"line":67,"file":"MessagePoll.js","path":"src/structures"}},{"name":"expiry","description":"When the poll ends","nullable":true,"type":[[["Date"]]],"meta":{"line":77,"file":"MessagePoll.js","path":"src/structures"}},{"name":"duration","description":"Number of hours the poll should be open for (max 32 days, default 1)","nullable":true,"type":[[["Number"]]],"meta":{"line":87,"file":"MessagePoll.js","path":"src/structures"}},{"name":"results","description":"In a nutshell, this contains the number of votes for each answer.\nThe `results` field may be not present in certain responses where, as an implementation detail,\nDiscord does not fetch the poll results in the backend.\nThis should be treated as \"unknown results\", as opposed to \"no results\".\nYou can keep using the results if you have previously received them through other means.\nDue to the intricacies of counting at scale, while a poll is in progress the results may not\nbe perfectly accurate. They usually are accurate, and shouldn't deviate significantly — it's\njust difficult to make guarantees. To compensate for this, after a poll is finished there is\na background job which performs a final, accurate tally of votes. This tally concludes once\n`is_finalized` is `true`. Polls that have ended will also always contain results.\nIf `answer_counts` does not contain an entry for a particular answer, then there are no votes\nfor that answer.","nullable":true,"type":[[["MessagePollResult"]]],"meta":{"line":123,"file":"MessagePoll.js","path":"src/structures"}}],"methods":[{"name":"toJSON","description":"Convert to JSON","returns":[[["Object"]]],"meta":{"line":150,"file":"MessagePoll.js","path":"src/structures"}},{"name":"setQuestion","description":"Set question","params":[{"name":"text","description":"question","type":[[["string"]]]}],"returns":[[["MessagePoll"]]],"meta":{"line":186,"file":"MessagePoll.js","path":"src/structures"}},{"name":"setAnswers","description":"Set answers","params":[{"name":"answers","description":"answers","type":[[["Array","<"],["MessagePollMedia",">"]]]}],"returns":[[["MessagePoll"]]],"meta":{"line":198,"file":"MessagePoll.js","path":"src/structures"}},{"name":"addAnswer","description":"Add answer","params":[{"name":"answer","description":"answer","type":[[["MessagePollMedia"]]]}],"returns":[[["MessagePoll"]]],"meta":{"line":211,"file":"MessagePoll.js","path":"src/structures"}},{"name":"setAllowMultiSelect","description":"Set allow multi select","params":[{"name":"state","description":"state","type":[[["boolean"]]]}],"returns":[[["MessagePoll"]]],"meta":{"line":221,"file":"MessagePoll.js","path":"src/structures"}},{"name":"setDuration","description":"Set duration","params":[{"name":"duration","description":"duration (hours)","type":[[["number"]]]}],"returns":[[["MessagePoll"]]],"meta":{"line":231,"file":"MessagePoll.js","path":"src/structures"}}],"meta":{"line":10,"file":"MessagePoll.js","path":"src/structures"}},{"name":"MessageReaction","description":"Represents a reaction to a message.","props":[{"name":"client","description":"The client that instantiated this message reaction","readonly":true,"type":[[["Client"]]],"meta":{"line":13,"file":"MessageReaction.js","path":"src/structures"}},{"name":"message","description":"The message that this reaction refers to","type":[[["Message"]]],"meta":{"line":25,"file":"MessageReaction.js","path":"src/structures"}},{"name":"me","description":"Whether the client has given this reaction","type":[[["boolean"]]],"meta":{"line":31,"file":"MessageReaction.js","path":"src/structures"}},{"name":"isBurst","description":"Is super reaction","type":[[["boolean"]]],"meta":{"line":37,"file":"MessageReaction.js","path":"src/structures"}},{"name":"users","description":"A manager of the users that have given this reaction","type":[[["ReactionUserManager"]]],"meta":{"line":43,"file":"MessageReaction.js","path":"src/structures"}},{"name":"count","description":"The number of people that have given the same reaction","nullable":true,"type":[[["number"]]],"meta":{"line":56,"file":"MessageReaction.js","path":"src/structures"}},{"name":"burstCount","description":"The number of people that have given the same super reaction","nullable":true,"type":[[["number"]]],"meta":{"line":64,"file":"MessageReaction.js","path":"src/structures"}},{"name":"burstColors","description":"HEX colors used for super reaction","type":[[["Array","<"],["string",">"]]],"meta":{"line":72,"file":"MessageReaction.js","path":"src/structures"}},{"name":"countDetails","description":"The reaction count details object contains information about super and normal reaction counts.","nullable":true,"type":[[["ReactionCountDetailsData"]]],"meta":{"line":87,"file":"MessageReaction.js","path":"src/structures"}},{"name":"emoji","description":"The emoji of this reaction. Either a {@link GuildEmoji} object for known custom emojis, or a {@link ReactionEmoji}\nobject which has fewer properties. Whatever the prototype of the emoji, it will still have\n`name`, `id`, `identifier` and `toString()`","readonly":true,"type":[[["GuildEmoji"]],[["ReactionEmoji"]]],"meta":{"line":114,"file":"MessageReaction.js","path":"src/structures"}},{"name":"partial","description":"Whether or not this reaction is a partial","readonly":true,"type":[[["boolean"]]],"meta":{"line":133,"file":"MessageReaction.js","path":"src/structures"}}],"methods":[{"name":"remove","description":"Removes all users from this reaction.","async":true,"returns":[[["Promise","<"],["MessageReaction",">"]]],"meta":{"line":98,"file":"MessageReaction.js","path":"src/structures"}},{"name":"fetch","description":"Fetch this reaction.","async":true,"returns":[[["Promise","<"],["MessageReaction",">"]]],"meta":{"line":141,"file":"MessageReaction.js","path":"src/structures"}}],"meta":{"line":11,"file":"MessageReaction.js","path":"src/structures"}},{"name":"MessageSelectMenu","description":"Represents a select menu message component","extends":[[["BaseMessageComponent"]]],"construct":{"name":"MessageSelectMenu","params":[{"name":"data","description":"MessageSelectMenu to clone or raw data","optional":true,"default":"{}","type":[[["MessageSelectMenu"]],[["MessageSelectMenuOptions"]]]}]},"props":[{"name":"customId","description":"A unique string to be sent in the interaction when clicked","nullable":true,"type":[[["string"]]],"meta":{"line":55,"file":"MessageSelectMenu.js","path":"src/structures"}},{"name":"placeholder","description":"Custom placeholder text to display when nothing is selected","nullable":true,"type":[[["string"]]],"meta":{"line":61,"file":"MessageSelectMenu.js","path":"src/structures"}},{"name":"minValues","description":"The minimum number of selections required","nullable":true,"type":[[["number"]]],"meta":{"line":67,"file":"MessageSelectMenu.js","path":"src/structures"}},{"name":"maxValues","description":"The maximum number of selections allowed","nullable":true,"type":[[["number"]]],"meta":{"line":73,"file":"MessageSelectMenu.js","path":"src/structures"}},{"name":"options","description":"Options for the STRING_SELECT menu","type":[[["Array","<"],["MessageSelectOption",">"]]],"meta":{"line":79,"file":"MessageSelectMenu.js","path":"src/structures"}},{"name":"disabled","description":"Whether this select menu is currently disabled","type":[[["boolean"]]],"meta":{"line":85,"file":"MessageSelectMenu.js","path":"src/structures"}},{"name":"channelTypes","description":"Channels that are possible to select in CHANNEL_SELECT menu","type":[[["Array","<"],["ChannelType",">"]]],"meta":{"line":91,"file":"MessageSelectMenu.js","path":"src/structures"}},{"name":"type","description":"The type of this component","nullable":true,"type":[[["MessageComponentType"]]],"meta":{"line":52,"file":"BaseMessageComponent.js","path":"src/structures"}}],"methods":[{"name":"toJSON","description":"Transforms the select menu into a plain object","returns":{"types":[[["APIMessageSelectMenu"]]],"description":"The raw data of this select menu"},"meta":{"line":101,"file":"MessageSelectMenu.js","path":"src/structures"}},{"name":"normalizeOption","description":"Normalizes option input and resolves strings and emojis.","scope":"static","params":[{"name":"option","description":"The select menu option to normalize","type":[[["MessageSelectOptionData"]]]}],"returns":[[["MessageSelectOption"]]],"meta":{"line":119,"file":"MessageSelectMenu.js","path":"src/structures"}},{"name":"normalizeOptions","description":"Normalizes option input and resolves strings and emojis.","scope":"static","params":[{"name":"options","description":"The select menu options to normalize","variable":true,"type":[[["MessageSelectOptionData"]],[["Array","<"],["MessageSelectOptionData",">"]]]}],"returns":[[["Array","<"],["MessageSelectOption",">"]]],"meta":{"line":135,"file":"MessageSelectMenu.js","path":"src/structures"}}],"meta":{"line":11,"file":"MessageSelectMenu.js","path":"src/structures"}},{"name":"Modal","description":"Represents a modal (form) to be shown in response to an interaction","construct":{"name":"Modal","params":[{"name":"data","description":"Modal to clone or raw data","type":[[["Object"]]]},{"name":"client","description":"The client constructing this Modal, if provided","default":null,"type":[[["Client"]]]}]},"props":[{"name":"components","description":"A list of MessageActionRows in the modal","type":[[["Array","<"],["MessageActionRow",">"]]],"meta":{"line":21,"file":"Modal.js","path":"src/structures"}},{"name":"customId","description":"A unique string to be sent in the interaction when submitted","nullable":true,"type":[[["string"]]],"meta":{"line":27,"file":"Modal.js","path":"src/structures"}},{"name":"title","description":"The title to be displayed on this modal","nullable":true,"type":[[["string"]]],"meta":{"line":33,"file":"Modal.js","path":"src/structures"}},{"name":"nonce","description":"Timestamp (Discord epoch) of when this modal was created","type":[[["Snowflake"]]],"meta":{"line":39,"file":"Modal.js","path":"src/structures"}},{"name":"id","description":"ID slash / button / menu when modal is displayed","type":[[["Snowflake"]]],"meta":{"line":45,"file":"Modal.js","path":"src/structures"}},{"name":"applicationId","description":"Application sending the modal","type":[[["Snowflake"]]],"meta":{"line":51,"file":"Modal.js","path":"src/structures"}},{"name":"channelId","description":"The id of the channel the message was sent in","type":[[["Snowflake"]]],"meta":{"line":57,"file":"Modal.js","path":"src/structures"}},{"name":"replied","description":"Whether this interaction has already been replied to","type":[[["boolean"]]],"meta":{"line":63,"file":"Modal.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild the message was sent in, if any","readonly":true,"nullable":true,"type":[[["Snowflake"]]],"meta":{"line":76,"file":"Modal.js","path":"src/structures"}},{"name":"channel","description":"The channel that the message was sent in","readonly":true,"type":[[["TextBasedChannels"]]],"meta":{"line":85,"file":"Modal.js","path":"src/structures"}},{"name":"guild","description":"The guild the message was sent in (if in a guild channel)","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":94,"file":"Modal.js","path":"src/structures"}},{"name":"isMessage","description":"Check data","readonly":true,"type":[[["boolean"]]],"meta":{"line":156,"file":"Modal.js","path":"src/structures"}}],"methods":[{"name":"reply","description":"Reply to this modal with data. (Event only)","examples":["client.on('interactionModalCreate', modal => {\n // Modal > ActionRow > TextInput\n modal.components[0].components[0].setValue('1+1');\n modal.components[1].components[0].setValue('hello');\n modal.reply();\n})"],"returns":[[["Promise","<("],["Message","|"],["Modal",")>"]]],"meta":{"line":118,"file":"Modal.js","path":"src/structures"}}],"meta":{"line":11,"file":"Modal.js","path":"src/structures"}},{"name":"ModalSubmitFieldsResolver","description":"A resolver for modal submit interaction text inputs.","props":[{"name":"components","description":"The components within the modal","type":[[["Array","<"],["PartialModalActionRow",">"]]],"meta":{"line":15,"file":"ModalSubmitFieldsResolver.js","path":"src/structures"}},{"name":"_fields","description":"The extracted fields from the modal","access":"private","type":[[["Array","<"],["PartialInputTextData",">"]]],"meta":{"line":23,"file":"ModalSubmitFieldsResolver.js","path":"src/structures"}}],"methods":[{"name":"getField","description":"Gets a field given a custom id from a component","params":[{"name":"customId","description":"The custom id of the component","type":[[["string"]]]}],"returns":{"types":[[["PartialInputTextData"]]],"nullable":true},"meta":{"line":32,"file":"ModalSubmitFieldsResolver.js","path":"src/structures"}},{"name":"getTextInputValue","description":"Gets the value of a text input component given a custom id","params":[{"name":"customId","description":"The custom id of the text input component","type":[[["string"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":43,"file":"ModalSubmitFieldsResolver.js","path":"src/structures"}}],"meta":{"line":9,"file":"ModalSubmitFieldsResolver.js","path":"src/structures"}},{"name":"ModalSubmitInteraction","description":"Represents a modal submit interaction.","extends":[[["Interaction"]]],"implements":[[["InteractionResponses"]]],"props":[{"name":"customId","description":"The custom id of the modal.","type":[[["string"]]],"meta":{"line":22,"file":"ModalSubmitInteraction.js","path":"src/structures"}},{"name":"components","description":"The inputs within the modal","type":[[["Array","<"],["PartialModalActionRow",">"]]],"meta":{"line":41,"file":"ModalSubmitInteraction.js","path":"src/structures"}},{"name":"message","description":"The message associated with this interaction","type":[[["Message"]],[["APIMessage"]],[["null"]]],"meta":{"line":51,"file":"ModalSubmitInteraction.js","path":"src/structures"}},{"name":"fields","description":"The fields within the modal","type":[[["ModalSubmitFieldsResolver"]]],"meta":{"line":57,"file":"ModalSubmitInteraction.js","path":"src/structures"}},{"name":"deferred","description":"Whether the reply to this interaction has been deferred","type":[[["boolean"]]],"meta":{"line":63,"file":"ModalSubmitInteraction.js","path":"src/structures"}},{"name":"ephemeral","description":"Whether the reply to this interaction is ephemeral","nullable":true,"type":[[["boolean"]]],"meta":{"line":69,"file":"ModalSubmitInteraction.js","path":"src/structures"}},{"name":"replied","description":"Whether this interaction has already been replied to","type":[[["boolean"]]],"meta":{"line":75,"file":"ModalSubmitInteraction.js","path":"src/structures"}},{"name":"webhook","description":"An associated interaction webhook, can be used to further interact with this interaction","type":[[["InteractionWebhook"]]],"meta":{"line":81,"file":"ModalSubmitInteraction.js","path":"src/structures"}},{"name":"type","description":"The interaction's type","type":[[["InteractionType"]]],"meta":{"line":20,"file":"Interaction.js","path":"src/structures"}},{"name":"id","description":"The interaction's id","type":[[["Snowflake"]]],"meta":{"line":26,"file":"Interaction.js","path":"src/structures"}},{"name":"token","description":"The interaction's token","readonly":true,"type":[[["string"]]],"meta":{"line":28,"file":"Interaction.js","path":"src/structures"}},{"name":"applicationId","description":"The application's id","type":[[["Snowflake"]]],"meta":{"line":40,"file":"Interaction.js","path":"src/structures"}},{"name":"channelId","description":"The id of the channel this interaction was sent in","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":46,"file":"Interaction.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild this interaction was sent in","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":52,"file":"Interaction.js","path":"src/structures"}},{"name":"user","description":"The user which sent this interaction","type":[[["User"]]],"meta":{"line":58,"file":"Interaction.js","path":"src/structures"}},{"name":"member","description":"If this interaction was sent in a guild, the member which sent it","nullable":true,"type":[[["GuildMember"]],[["APIGuildMember"]]],"meta":{"line":64,"file":"Interaction.js","path":"src/structures"}},{"name":"version","description":"The version","type":[[["number"]]],"meta":{"line":70,"file":"Interaction.js","path":"src/structures"}},{"name":"appPermissions","description":"Set of permissions the application or bot has within the channel the interaction was sent from","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":76,"file":"Interaction.js","path":"src/structures"}},{"name":"memberPermissions","description":"The permissions of the member, if one exists, in the channel this interaction was executed in","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":82,"file":"Interaction.js","path":"src/structures"}},{"name":"locale","description":"The locale of the user who invoked this interaction","type":[[["Locale"]]],"meta":{"line":124,"file":"Interaction.js","path":"src/structures"}},{"name":"guildLocale","description":"The preferred locale from the guild this interaction was sent in","nullable":true,"type":[[["Locale"]]],"meta":{"line":130,"file":"Interaction.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the interaction was created at","readonly":true,"type":[[["number"]]],"meta":{"line":138,"file":"Interaction.js","path":"src/structures"}},{"name":"createdAt","description":"The time the interaction was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":147,"file":"Interaction.js","path":"src/structures"}},{"name":"channel","description":"The channel this interaction was sent in","readonly":true,"nullable":true,"type":[[["TextBasedChannels"]]],"meta":{"line":156,"file":"Interaction.js","path":"src/structures"}},{"name":"guild","description":"The guild this interaction was sent in","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":165,"file":"Interaction.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"isFromMessage","description":"Whether this is from a {@link MessageComponentInteraction}.","returns":[[["boolean"]]],"meta":{"line":101,"file":"ModalSubmitInteraction.js","path":"src/structures"}},{"name":"deferReply","description":"Defers the reply to this interaction.","implements":["InteractionResponses#deferReply"],"examples":["// Defer the reply to this interaction\ninteraction.deferReply()\n .then(console.log)\n .catch(console.error)","// Defer to send an ephemeral reply later\ninteraction.deferReply({ ephemeral: true })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for deferring the reply to this interaction","optional":true,"type":[[["InteractionDeferReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":58,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"reply","description":"Creates a reply to this interaction.\nUse the `fetchReply` option to get the bot's reply message.","implements":["InteractionResponses#reply"],"examples":["// Reply to the interaction and fetch the response\ninteraction.reply({ content: 'Pong!', fetchReply: true })\n .then((message) => console.log(`Reply sent with content ${message.content}`))\n .catch(console.error);","// Create an ephemeral reply with an embed\nconst embed = new MessageEmbed().setDescription('Pong!');\n\ninteraction.reply({ embeds: [embed], ephemeral: true })\n .then(() => console.log('Reply sent.'))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":93,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"fetchReply","description":"Fetches a reply to this interaction.","see":["Webhook#fetchMessage"],"implements":["InteractionResponses#fetchReply"],"examples":["// Fetch the initial reply to this interaction\ninteraction.fetchReply()\n .then(reply => console.log(`Replied with ${reply.content}`))\n .catch(console.error);"],"params":[{"name":"message","description":"The response to fetch","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":127,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"editReply","description":"Edits a reply to this interaction.","see":["Webhook#editMessage"],"implements":["InteractionResponses#editReply"],"examples":["// Edit the initial reply to this interaction\ninteraction.editReply('New content')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The new options for the message","type":[[["string"]],[["MessagePayload"]],[["InteractionEditReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":148,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"deleteReply","description":"Deletes a reply to this interaction.","see":["Webhook#deleteMessage"],"implements":["InteractionResponses#deleteReply"],"examples":["// Delete the initial reply to this interaction\ninteraction.deleteReply()\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"message","description":"The response to delete","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":166,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"followUp","description":"Send a follow-up message to this interaction.","implements":["InteractionResponses#followUp"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":175,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"deferUpdate","description":"Defers an update to the message to which the component was attached.","implements":["InteractionResponses#deferUpdate"],"examples":["// Defer updating and reset the component's loading state\ninteraction.deferUpdate()\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for deferring the update to this interaction","optional":true,"type":[[["InteractionDeferUpdateOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":190,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"update","description":"Updates the original message of the component on which the interaction was received on.","implements":["InteractionResponses#update"],"examples":["// Remove the components from the message\ninteraction.update({\n content: \"A component interaction was received\",\n components: []\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the updated message","type":[[["string"]],[["MessagePayload"]],[["InteractionUpdateOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":216,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"inGuild","description":"Indicates whether this interaction is received from a guild.","inherits":"Interaction#inGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":173,"file":"Interaction.js","path":"src/structures"}},{"name":"inCachedGuild","description":"Indicates whether or not this interaction is both cached and received from a guild.","inherits":"Interaction#inCachedGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":181,"file":"Interaction.js","path":"src/structures"}},{"name":"inRawGuild","description":"Indicates whether or not this interaction is received from an uncached guild.","inherits":"Interaction#inRawGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":189,"file":"Interaction.js","path":"src/structures"}},{"name":"isApplicationCommand","description":"Indicates whether this interaction is a {@link BaseCommandInteraction}.","inherits":"Interaction#isApplicationCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":197,"file":"Interaction.js","path":"src/structures"}},{"name":"isCommand","description":"Indicates whether this interaction is a {@link CommandInteraction}.","inherits":"Interaction#isCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":205,"file":"Interaction.js","path":"src/structures"}},{"name":"isContextMenu","description":"Indicates whether this interaction is a {@link ContextMenuInteraction}","inherits":"Interaction#isContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":213,"file":"Interaction.js","path":"src/structures"}},{"name":"isModalSubmit","description":"Indicates whether this interaction is a {@link ModalSubmitInteraction}","inherits":"Interaction#isModalSubmit","inherited":true,"returns":[[["boolean"]]],"meta":{"line":221,"file":"Interaction.js","path":"src/structures"}},{"name":"isUserContextMenu","description":"Indicates whether this interaction is a {@link UserContextMenuInteraction}","inherits":"Interaction#isUserContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":229,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageContextMenu","description":"Indicates whether this interaction is a {@link MessageContextMenuInteraction}","inherits":"Interaction#isMessageContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":237,"file":"Interaction.js","path":"src/structures"}},{"name":"isAutocomplete","description":"Indicates whether this interaction is an {@link AutocompleteInteraction}","inherits":"Interaction#isAutocomplete","inherited":true,"returns":[[["boolean"]]],"meta":{"line":245,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageComponent","description":"Indicates whether this interaction is a {@link MessageComponentInteraction}.","inherits":"Interaction#isMessageComponent","inherited":true,"returns":[[["boolean"]]],"meta":{"line":253,"file":"Interaction.js","path":"src/structures"}},{"name":"isButton","description":"Indicates whether this interaction is a {@link ButtonInteraction}.","inherits":"Interaction#isButton","inherited":true,"returns":[[["boolean"]]],"meta":{"line":261,"file":"Interaction.js","path":"src/structures"}},{"name":"isSelectMenu","description":"Indicates whether this interaction is a {@link SelectMenuInteraction}.","inherits":"Interaction#isSelectMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":272,"file":"Interaction.js","path":"src/structures"}},{"name":"isRepliable","description":"Indicates whether this interaction can be replied to.","inherits":"Interaction#isRepliable","inherited":true,"returns":[[["boolean"]]],"meta":{"line":283,"file":"Interaction.js","path":"src/structures"}},{"name":"transformComponent","description":"Transforms component data to discord.js-compatible data","scope":"static","params":[{"name":"rawComponent","description":"The data to transform","type":[["*"]]}],"returns":[[["Array","<"],["PartialTextInputData",">"]]],"meta":{"line":89,"file":"ModalSubmitInteraction.js","path":"src/structures"}}],"meta":{"line":14,"file":"ModalSubmitInteraction.js","path":"src/structures"}},{"name":"NewsChannel","description":"Represents a guild news channel on Discord.","extends":[[["BaseGuildTextChannel"]]],"props":[{"name":"messages","description":"A manager of the messages sent to this channel","type":[[["MessageManager"]]],"meta":{"line":21,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"threads","description":"A manager of the threads belonging to this channel","type":[[["GuildTextThreadManager"]]],"meta":{"line":27,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"nsfw","description":"If the guild considers this channel NSFW","type":[[["boolean"]]],"meta":{"line":33,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"topic","description":"The topic of the text channel","nullable":true,"type":[[["string"]]],"meta":{"line":46,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"lastMessageId","description":"The last message id sent in the channel, if one was sent","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":58,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"lastPinTimestamp","description":"The timestamp when the last pinned message was pinned, if there was one","nullable":true,"type":[[["number"]]],"meta":{"line":66,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"defaultAutoArchiveDuration","description":"The default auto archive duration for newly created threads in this channel","nullable":true,"type":[[["number"]]],"meta":{"line":74,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"defaultThreadRateLimitPerUser","description":"The initial rate limit per user (slowmode) to set on newly created threads in a channel.","nullable":true,"type":[[["number"]]],"meta":{"line":82,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"lastMessage","description":"The Message object of the last message in the channel, if one was sent","readonly":true,"nullable":true,"type":[[["Message"]]],"meta":{"line":50,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"lastPinAt","description":"The date when the last pinned message was pinned, if there was one","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":59,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"guild","description":"The guild the channel is in","type":[[["Guild"]]],"meta":{"line":30,"file":"GuildChannel.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild the channel is in","type":[[["Snowflake"]]],"meta":{"line":36,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionOverwrites","description":"A manager of permission overwrites that belong to this channel","type":[[["PermissionOverwriteManager"]]],"meta":{"line":43,"file":"GuildChannel.js","path":"src/structures"}},{"name":"name","description":"The name of the guild channel","type":[[["string"]]],"meta":{"line":56,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rawPosition","description":"The raw position of the channel from Discord","type":[[["number"]]],"meta":{"line":64,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parentId","description":"The id of the category parent of this channel","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":76,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parent","description":"The category parent of this channel","readonly":true,"nullable":true,"type":[[["CategoryChannel"]]],"meta":{"line":98,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionsLocked","description":"If the permissionOverwrites match the parent channel, null if no parent","readonly":true,"nullable":true,"type":[[["boolean"]]],"meta":{"line":107,"file":"GuildChannel.js","path":"src/structures"}},{"name":"position","description":"The position of the channel","readonly":true,"type":[[["number"]]],"meta":{"line":148,"file":"GuildChannel.js","path":"src/structures"}},{"name":"members","description":"A collection of cached members of this channel, mapped by their ids.\nMembers that can view this channel, if the channel is text-based.\nMembers in the channel, if the channel is voice-based.","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]],"meta":{"line":274,"file":"GuildChannel.js","path":"src/structures"}},{"name":"deletable","description":"Whether the channel is deletable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":416,"file":"GuildChannel.js","path":"src/structures"}},{"name":"manageable","description":"Whether the channel is manageable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":425,"file":"GuildChannel.js","path":"src/structures"}},{"name":"viewable","description":"Whether the channel is viewable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":445,"file":"GuildChannel.js","path":"src/structures"}},{"name":"type","description":"The type of the channel","type":[[["ChannelType"]]],"meta":{"line":41,"file":"Channel.js","path":"src/structures"}},{"name":"id","description":"The channel's id","type":[[["Snowflake"]]],"meta":{"line":51,"file":"Channel.js","path":"src/structures"}},{"name":"flags","description":"The flags that are applied to the channel.","nullable":true,"type":[[["Readonly","<"],["ChannelFlags",">"]]],"meta":{"line":58,"file":"Channel.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the channel was created at","readonly":true,"type":[[["number"]]],"meta":{"line":69,"file":"Channel.js","path":"src/structures"}},{"name":"createdAt","description":"The time the channel was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":78,"file":"Channel.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":87,"file":"Channel.js","path":"src/structures"}},{"name":"partial","description":"Whether this Channel is a partial\nThis is always false outside of DM channels.","readonly":true,"type":[[["boolean"]]],"meta":{"line":118,"file":"Channel.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"addFollower","description":"Adds the target to this channel's followers.\nIf you need the created webhook id, use {@link GuildChannelManager#addFollower}.","examples":["if (channel.type === 'GUILD_NEWS') {\n channel.addFollower('222197033908436994', 'Important announcements')\n .then(() => console.log('Added follower'))\n .catch(console.error);\n}"],"params":[{"name":"channel","description":"The channel where the webhook should be created","type":[[["TextChannelResolvable"]]]},{"name":"reason","description":"Reason for creating the webhook","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["NewsChannel",">"]]],"meta":{"line":24,"file":"NewsChannel.js","path":"src/structures"}},{"name":"setDefaultAutoArchiveDuration","description":"Sets the default auto archive duration for all newly created threads in this channel.","inherits":"BaseGuildTextChannel#setDefaultAutoArchiveDuration","inherited":true,"params":[{"name":"defaultAutoArchiveDuration","description":"The new default auto archive duration","type":[[["ThreadAutoArchiveDuration"]]]},{"name":"reason","description":"Reason for changing the channel's default auto archive duration","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["TextChannel",">"]]],"meta":{"line":98,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"setType","description":"Sets the type of this channel (only conversion between text and news is supported)","inherits":"BaseGuildTextChannel#setType","inherited":true,"params":[{"name":"type","description":"The new channel type","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the channel's type","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":108,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"setTopic","description":"Sets a new topic for the guild channel.","inherits":"BaseGuildTextChannel#setTopic","inherited":true,"examples":["// Set a new channel topic\nchannel.setTopic('needs more rate limiting')\n .then(newChannel => console.log(`Channel's new topic is ${newChannel.topic}`))\n .catch(console.error);"],"params":[{"name":"topic","description":"The new topic for the guild channel","nullable":true,"type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild channel's topic","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":123,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"createInvite","description":"Creates an invite to this guild channel.","inherits":"BaseGuildTextChannel#createInvite","inherited":true,"examples":["// Create an invite to a channel\nchannel.createInvite()\n .then(invite => console.log(`Created an invite with a code of ${invite.code}`))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for creating the invite","optional":true,"default":"{}","type":[[["CreateInviteOptions"]]]}],"returns":[[["Promise","<"],["Invite",">"]]],"meta":{"line":161,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"fetchInvites","description":"Fetches a collection of invites to this guild channel.\nResolves with a collection mapping invites by their codes.","inherits":"BaseGuildTextChannel#fetchInvites","inherited":true,"params":[{"name":"cache","description":"Whether or not to cache the fetched invites","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Collection","<"],["string",", "],["Invite",">>"]]],"meta":{"line":171,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"send","description":"Sends a message to this channel.","inherits":"BaseGuildTextChannel#send","inherited":true,"implements":["TextBasedChannel#send"],"examples":["// Send a basic message\nchannel.send('hello!')\n .then(message => console.log(`Sent message: ${message.content}`))\n .catch(console.error);","// Send a remote file\nchannel.send({\n files: ['https://cdn.discordapp.com/icons/222078108977594368/6e1019b3179d71046e463a75915e7244.png?size=2048']\n})\n .then(console.log)\n .catch(console.error);","// Send a local file\nchannel.send({\n files: [{\n attachment: 'entire/path/to/file.jpg',\n name: 'file.jpg',\n description: 'A description of the file'\n }]\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["MessageOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":150,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"sendTyping","description":"Sends a typing indicator in the channel.","inherits":"BaseGuildTextChannel#sendTyping","inherited":true,"implements":["TextBasedChannel#sendTyping"],"examples":["// Start typing in a channel\nchannel.sendTyping();"],"async":true,"returns":{"types":[[["Promise","<"],["void",">"]]],"description":"Resolves upon the typing status being sent"},"meta":{"line":355,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createMessageCollector","description":"Creates a Message Collector.","inherits":"BaseGuildTextChannel#createMessageCollector","inherited":true,"implements":["TextBasedChannel#createMessageCollector"],"examples":["// Create a message collector\nconst filter = m => m.content.includes('discord');\nconst collector = channel.createMessageCollector({ filter, time: 15_000 });\ncollector.on('collect', m => console.log(`Collected ${m.content}`));\ncollector.on('end', collected => console.log(`Collected ${collected.size} items`));"],"params":[{"name":"options","description":"The options to pass to the collector","optional":true,"default":"{}","type":[[["MessageCollectorOptions"]]]}],"returns":[[["MessageCollector"]]],"meta":{"line":370,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"awaitMessages","description":"Similar to createMessageCollector but in promise form.\nResolves with a collection of messages that pass the specified filter.","inherits":"BaseGuildTextChannel#awaitMessages","inherited":true,"implements":["TextBasedChannel#awaitMessages"],"examples":["// Await !vote messages\nconst filter = m => m.content.startsWith('!vote');\n// Errors: ['time'] treats ending because of the time limit as an error\nchannel.awaitMessages({ filter, max: 4, time: 60_000, errors: ['time'] })\n .then(collected => console.log(collected.size))\n .catch(collected => console.log(`After a minute, only ${collected.size} out of 4 voted.`));"],"params":[{"name":"options","description":"Optional options to pass to the internal collector","optional":true,"default":"{}","type":[[["AwaitMessagesOptions"]]]}],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Message",">>"]]],"meta":{"line":393,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"fetchWebhooks","description":"Fetches all webhooks for the channel.","inherits":"BaseGuildTextChannel#fetchWebhooks","inherited":true,"implements":["TextBasedChannel#fetchWebhooks"],"examples":["// Fetch webhooks\nchannel.fetchWebhooks()\n .then(hooks => console.log(`This channel has ${hooks.size} hooks`))\n .catch(console.error);"],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Webhook",">>"]]],"meta":{"line":415,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createWebhook","description":"Creates a webhook for the channel.","inherits":"BaseGuildTextChannel#createWebhook","inherited":true,"implements":["TextBasedChannel#createWebhook"],"examples":["// Create a webhook for the current channel\nchannel.createWebhook('Snek', {\n avatar: 'https://i.imgur.com/mI8XcpG.jpg',\n reason: 'Needed a cool new Webhook'\n})\n .then(console.log)\n .catch(console.error)"],"params":[{"name":"name","description":"The name of the webhook","type":[[["string"]]]},{"name":"options","description":"Options for creating the webhook","optional":true,"type":[[["ChannelWebhookCreateOptions"]]]}],"returns":{"types":[[["Promise","<"],["Webhook",">"]]],"description":"Returns the created Webhook"},"meta":{"line":440,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"setRateLimitPerUser","description":"Sets the rate limit per user (slowmode) for this channel.","inherits":"BaseGuildTextChannel#setRateLimitPerUser","inherited":true,"implements":["TextBasedChannel#setRateLimitPerUser"],"params":[{"name":"rateLimitPerUser","description":"The new rate limit in seconds","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the channel's rate limit","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":450,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"setNSFW","description":"Sets whether this channel is flagged as NSFW.","inherits":"BaseGuildTextChannel#setNSFW","inherited":true,"implements":["TextBasedChannel#setNSFW"],"params":[{"name":"nsfw","description":"Whether the channel should be considered NSFW","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"Reason for changing the channel's NSFW flag","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":460,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"permissionsFor","description":"Gets the overall set of permissions for a member or role in this channel, taking into account channel overwrites.","inherits":"GuildChannel#permissionsFor","inherited":true,"params":[{"name":"memberOrRole","description":"The member or role to obtain the overall permissions for","type":[[["GuildMemberResolvable"]],[["RoleResolvable"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":{"types":[[["Readonly","<"],["Permissions",">"]]],"nullable":true},"meta":{"line":172,"file":"GuildChannel.js","path":"src/structures"}},{"name":"memberPermissions","description":"Gets the overall set of permissions for a member in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#memberPermissions","inherited":true,"params":[{"name":"member","description":"The member to obtain the overall permissions for","type":[[["GuildMember"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","default":true,"type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":212,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rolePermissions","description":"Gets the overall set of permissions for a role in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#rolePermissions","inherited":true,"params":[{"name":"role","description":"The role to obtain the overall permissions for","type":[[["Role"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":241,"file":"GuildChannel.js","path":"src/structures"}},{"name":"lockPermissions","description":"Locks in the permission overwrites from the parent channel.","inherits":"GuildChannel#lockPermissions","inherited":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":261,"file":"GuildChannel.js","path":"src/structures"}},{"name":"edit","description":"Edits the channel.","inherits":"GuildChannel#edit","inherited":true,"examples":["// Edit a channel\nchannel.edit({ name: 'new-channel' })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"data","description":"The new data for the channel","type":[[["ChannelData"]]]},{"name":"reason","description":"Reason for editing this channel","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":289,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setName","description":"Sets a new name for the guild channel.","inherits":"GuildChannel#setName","inherited":true,"examples":["// Set a new channel name\nchannel.setName('not_general')\n .then(newChannel => console.log(`Channel's new name is ${newChannel.name}`))\n .catch(console.error);"],"params":[{"name":"name","description":"The new name for the guild channel","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild channel's name","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":304,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setParent","description":"Sets the parent of this channel.","inherits":"GuildChannel#setParent","inherited":true,"examples":["// Add a parent to a channel\nmessage.channel.setParent('355908108431917066', { lockPermissions: false })\n .then(channel => console.log(`New parent of ${message.channel.name}: ${channel.name}`))\n .catch(console.error);"],"params":[{"name":"channel","description":"The category channel to set as the parent","nullable":true,"type":[[["CategoryChannelResolvable"]]]},{"name":"options","description":"The options for setting the parent","optional":true,"default":"{}","type":[[["SetParentOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":326,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setPosition","description":"Sets a new position for the guild channel.","inherits":"GuildChannel#setPosition","inherited":true,"examples":["// Set a new channel position\nchannel.setPosition(2)\n .then(newChannel => console.log(`Channel's new position is ${newChannel.position}`))\n .catch(console.error);"],"params":[{"name":"position","description":"The new position for the guild channel","type":[[["number"]]]},{"name":"options","description":"Options for setting position","optional":true,"type":[[["SetChannelPositionOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":354,"file":"GuildChannel.js","path":"src/structures"}},{"name":"clone","description":"Clones this channel.","inherits":"GuildChannel#clone","inherited":true,"params":[{"name":"options","description":"The options for cloning this channel","optional":true,"type":[[["GuildChannelCloneOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":369,"file":"GuildChannel.js","path":"src/structures"}},{"name":"equals","description":"Checks if this channel has the same type, topic, position, name, overwrites, and id as another channel.\nIn most cases, a simple `channel.id === channel2.id` will do, and is much faster too.","inherits":"GuildChannel#equals","inherited":true,"params":[{"name":"channel","description":"Channel to compare with","type":[[["GuildChannel"]]]}],"returns":[[["boolean"]]],"meta":{"line":391,"file":"GuildChannel.js","path":"src/structures"}},{"name":"delete","description":"Deletes this channel.","inherits":"GuildChannel#delete","inherited":true,"examples":["// Delete the channel\nchannel.delete('making room for new channels')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"reason","description":"Reason for deleting this channel","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":462,"file":"GuildChannel.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the channel's mention instead of the Channel object.","inherits":"Channel#toString","inherited":true,"examples":["// Logs: Hello from <#123456789012345678>!\nconsole.log(`Hello from ${channel}!`);"],"returns":[[["string"]]],"meta":{"line":129,"file":"Channel.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this channel.","inherits":"Channel#fetch","inherited":true,"params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":152,"file":"Channel.js","path":"src/structures"}},{"name":"isText","description":"Indicates whether this channel is {@link TextBasedChannels text-based}.","inherits":"Channel#isText","inherited":true,"returns":[[["boolean"]]],"meta":{"line":160,"file":"Channel.js","path":"src/structures"}},{"name":"isVoice","description":"Indicates whether this channel is {@link BaseGuildVoiceChannel voice-based}.","inherits":"Channel#isVoice","inherited":true,"returns":[[["boolean"]]],"meta":{"line":168,"file":"Channel.js","path":"src/structures"}},{"name":"isThread","description":"Indicates whether this channel is a {@link ThreadChannel}.","inherits":"Channel#isThread","inherited":true,"returns":[[["boolean"]]],"meta":{"line":176,"file":"Channel.js","path":"src/structures"}},{"name":"isDirectory","description":"Indicates whether this channel is a {@link DirectoryChannel}","inherits":"Channel#isDirectory","inherited":true,"returns":[[["boolean"]]],"meta":{"line":184,"file":"Channel.js","path":"src/structures"}}],"meta":{"line":10,"file":"NewsChannel.js","path":"src/structures"}},{"name":"OAuth2Guild","description":"A partial guild received when using {@link GuildManager#fetch} to fetch multiple guilds.","extends":[[["BaseGuild"]]],"props":[{"name":"owner","description":"Whether the client user is the owner of the guild","type":[[["boolean"]]],"meta":{"line":18,"file":"OAuth2Guild.js","path":"src/structures"}},{"name":"permissions","description":"The permissions that the client user has in this guild","type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":24,"file":"OAuth2Guild.js","path":"src/structures"}},{"name":"id","description":"The guild's id","type":[[["Snowflake"]]],"meta":{"line":19,"file":"BaseGuild.js","path":"src/structures"}},{"name":"name","description":"The name of this guild","type":[[["string"]]],"meta":{"line":25,"file":"BaseGuild.js","path":"src/structures"}},{"name":"icon","description":"The icon hash of this guild","nullable":true,"type":[[["string"]]],"meta":{"line":31,"file":"BaseGuild.js","path":"src/structures"}},{"name":"features","description":"An array of features available to this guild","type":[[["Array","<"],["Features",">"]]],"meta":{"line":37,"file":"BaseGuild.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp this guild was created at","readonly":true,"type":[[["number"]]],"meta":{"line":45,"file":"BaseGuild.js","path":"src/structures"}},{"name":"createdAt","description":"The time this guild was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":54,"file":"BaseGuild.js","path":"src/structures"}},{"name":"nameAcronym","description":"The acronym that shows up in place of a guild icon","readonly":true,"type":[[["string"]]],"meta":{"line":63,"file":"BaseGuild.js","path":"src/structures"}},{"name":"partnered","description":"Whether this guild is partnered","readonly":true,"type":[[["boolean"]]],"meta":{"line":75,"file":"BaseGuild.js","path":"src/structures"}},{"name":"verified","description":"Whether this guild is verified","readonly":true,"type":[[["boolean"]]],"meta":{"line":84,"file":"BaseGuild.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"iconURL","description":"The URL to this guild's icon.","inherits":"BaseGuild#iconURL","inherited":true,"params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["ImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":93,"file":"BaseGuild.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this guild.","inherits":"BaseGuild#fetch","inherited":true,"async":true,"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":102,"file":"BaseGuild.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the guild's name instead of the Guild object.","inherits":"BaseGuild#toString","inherited":true,"returns":[[["string"]]],"meta":{"line":111,"file":"BaseGuild.js","path":"src/structures"}}],"meta":{"line":10,"file":"OAuth2Guild.js","path":"src/structures"}},{"name":"PermissionOverwrites","description":"Represents a permission overwrite for a role or member in a guild channel.","extends":[[["Base"]]],"props":[{"name":"channel","description":"The GuildChannel this overwrite is for","readonly":true,"type":[[["GuildChannel"]]],"meta":{"line":17,"file":"PermissionOverwrites.js","path":"src/structures"}},{"name":"id","description":"The overwrite's id, either a {@link User} or a {@link Role} id","type":[[["Snowflake"]]],"meta":{"line":33,"file":"PermissionOverwrites.js","path":"src/structures"}},{"name":"type","description":"The type of this overwrite","type":[[["OverwriteType"]]],"meta":{"line":40,"file":"PermissionOverwrites.js","path":"src/structures"}},{"name":"deny","description":"The permissions that are denied for the user or role.","type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":48,"file":"PermissionOverwrites.js","path":"src/structures"}},{"name":"allow","description":"The permissions that are allowed for the user or role.","type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":56,"file":"PermissionOverwrites.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"edit","description":"Edits this Permission Overwrite.","examples":["// Update permission overwrites\npermissionOverwrites.edit({\n SEND_MESSAGES: false\n})\n .then(channel => console.log(channel.permissionOverwrites.get(message.author.id)))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the update","type":[[["PermissionOverwriteOptions"]]]},{"name":"reason","description":"Reason for creating/editing this overwrite","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["PermissionOverwrites",">"]]],"meta":{"line":73,"file":"PermissionOverwrites.js","path":"src/structures"}},{"name":"delete","description":"Deletes this Permission Overwrite.","params":[{"name":"reason","description":"Reason for deleting this overwrite","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["PermissionOverwrites",">"]]],"meta":{"line":83,"file":"PermissionOverwrites.js","path":"src/structures"}},{"name":"resolveOverwriteOptions","description":"Resolves bitfield permissions overwrites from an object.","scope":"static","params":[{"name":"options","description":"The options for the update","type":[[["PermissionOverwriteOptions"]]]},{"name":"initialPermissions","description":"The initial permissions","type":[[["ResolvedOverwriteOptions"]]]}],"returns":[[["ResolvedOverwriteOptions"]]],"meta":{"line":121,"file":"PermissionOverwrites.js","path":"src/structures"}},{"name":"resolve","description":"Resolves an overwrite into {@link RawOverwriteData}.","scope":"static","params":[{"name":"overwrite","description":"The overwrite-like data to resolve","type":[[["OverwriteResolvable"]]]},{"name":"guild","description":"The guild to resolve from","optional":true,"type":[[["Guild"]]]}],"returns":[[["RawOverwriteData"]]],"meta":{"line":172,"file":"PermissionOverwrites.js","path":"src/structures"}}],"meta":{"line":13,"file":"PermissionOverwrites.js","path":"src/structures"}},{"name":"Presence","description":"Represents a user's presence.","extends":[[["Base"]]],"props":[{"name":"userId","description":"The presence's user id","type":[[["Snowflake"]]],"meta":{"line":50,"file":"Presence.js","path":"src/structures"}},{"name":"guild","description":"The guild this presence is in","nullable":true,"type":[[["Guild"]]],"meta":{"line":56,"file":"Presence.js","path":"src/structures"}},{"name":"user","description":"The user of this presence","readonly":true,"nullable":true,"type":[[["User"]]],"meta":{"line":66,"file":"Presence.js","path":"src/structures"}},{"name":"member","description":"The member of this presence","readonly":true,"nullable":true,"type":[[["GuildMember"]]],"meta":{"line":75,"file":"Presence.js","path":"src/structures"}},{"name":"status","description":"The status of this presence","type":[[["PresenceStatus"]]],"meta":{"line":85,"file":"Presence.js","path":"src/structures"}},{"name":"activities","description":"The activities of this presence (Always `Activity[]` if not ClientUser)","type":[[["Array","<"],["CustomStatus",">"]],[["Array","<"],["RichPresence",">"]],[["Array","<"],["SpotifyRPC",">"]],[["Array","<"],["Activity",">"]]],"meta":{"line":95,"file":"Presence.js","path":"src/structures"}},{"name":"clientStatus","description":"The devices this presence is on","nullable":true,"type":[[["Object"]]],"props":[{"name":"web","description":"The current presence in the web application","nullable":true,"type":[[["ClientPresenceStatus"]]]},{"name":"mobile","description":"The current presence in the mobile application","nullable":true,"type":[[["ClientPresenceStatus"]]]},{"name":"desktop","description":"The current presence in the desktop application","nullable":true,"type":[[["ClientPresenceStatus"]]]}],"meta":{"line":120,"file":"Presence.js","path":"src/structures"}},{"name":"lastModified","description":"The timestamp this presence was last updated","type":[[["number"]]],"meta":{"line":130,"file":"Presence.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"equals","description":"Whether this presence is equal to another.","params":[{"name":"presence","description":"The presence to compare with","type":[[["Presence"]]]}],"returns":[[["boolean"]]],"meta":{"line":159,"file":"Presence.js","path":"src/structures"}}],"meta":{"line":42,"file":"Presence.js","path":"src/structures"}},{"name":"Activity","description":"Represents an activity that is part of a user's presence.","props":[{"name":"presence","description":"The presence of the Activity","readonly":true,"type":[[["Presence"]]],"meta":{"line":198,"file":"Presence.js","path":"src/structures"}},{"name":"id","description":"The activity's id","type":[[["string"]]],"meta":{"line":215,"file":"Presence.js","path":"src/structures"}},{"name":"name","description":"The activity's name","type":[[["string"]]],"meta":{"line":223,"file":"Presence.js","path":"src/structures"}},{"name":"type","description":"The activity status's type","type":[[["ActivityType"]]],"meta":{"line":231,"file":"Presence.js","path":"src/structures"}},{"name":"url","description":"If the activity is being streamed, a link to the stream","nullable":true,"type":[[["string"]]],"meta":{"line":239,"file":"Presence.js","path":"src/structures"}},{"name":"createdTimestamp","description":"Creation date of the activity","type":[[["number"]]],"meta":{"line":249,"file":"Presence.js","path":"src/structures"}},{"name":"sessionId","description":"The game's or Spotify session's id","nullable":true,"type":[[["string"]]],"meta":{"line":257,"file":"Presence.js","path":"src/structures"}},{"name":"platform","description":"The platform the game is being played on","nullable":true,"type":[[["ActivityPlatform"]]],"meta":{"line":267,"file":"Presence.js","path":"src/structures"}},{"name":"timestamps","description":"Timestamps for the activity","nullable":true,"type":[[["ActivityTimestamps"]]],"meta":{"line":284,"file":"Presence.js","path":"src/structures"}},{"name":"applicationId","description":"The id of the application associated with this activity","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":297,"file":"Presence.js","path":"src/structures"}},{"name":"details","description":"Details about the activity","nullable":true,"type":[[["string"]]],"meta":{"line":307,"file":"Presence.js","path":"src/structures"}},{"name":"state","description":"State of the activity","nullable":true,"type":[[["string"]]],"meta":{"line":317,"file":"Presence.js","path":"src/structures"}},{"name":"syncId","description":"The Spotify song's id","nullable":true,"type":[[["string"]]],"meta":{"line":327,"file":"Presence.js","path":"src/structures"}},{"name":"flags","description":"Flags that describe the activity","type":[[["Readonly","<"],["ActivityFlags",">"]]],"meta":{"line":337,"file":"Presence.js","path":"src/structures"}},{"name":"buttons","description":"The labels of the buttons of this rich presence","type":[[["Array","<"],["string",">"]]],"meta":{"line":347,"file":"Presence.js","path":"src/structures"}},{"name":"emoji","description":"Emoji for a custom activity","nullable":true,"type":[[["EmojiIdentifierResolvable"]]],"meta":{"line":357,"file":"Presence.js","path":"src/structures"}},{"name":"party","description":"Party of the activity","nullable":true,"type":[[["ActivityParty"]]],"meta":{"line":374,"file":"Presence.js","path":"src/structures"}},{"name":"assets","description":"Assets for rich presence","nullable":true,"type":[[["RichPresenceAssets"]]],"meta":{"line":383,"file":"Presence.js","path":"src/structures"}},{"name":"createdAt","description":"The time the activity was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":410,"file":"Presence.js","path":"src/structures"}}],"methods":[{"name":"equals","description":"Whether this activity is equal to another activity.","params":[{"name":"activity","description":"The activity to compare with","type":[[["Activity"]]]}],"returns":[[["boolean"]]],"meta":{"line":391,"file":"Presence.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the activities' name instead of the Activity object.","returns":[[["string"]]],"meta":{"line":418,"file":"Presence.js","path":"src/structures"}}],"meta":{"line":193,"file":"Presence.js","path":"src/structures"}},{"name":"RichPresenceAssets","description":"Assets for a rich presence","props":[{"name":"activity","description":"The activity of the RichPresenceAssets","readonly":true,"type":[[["Activity"]]],"meta":{"line":439,"file":"Presence.js","path":"src/structures"}},{"name":"largeText","description":"Hover text for the large image","nullable":true,"type":[[["string"]]],"meta":{"line":456,"file":"Presence.js","path":"src/structures"}},{"name":"smallText","description":"Hover text for the small image","nullable":true,"type":[[["string"]]],"meta":{"line":466,"file":"Presence.js","path":"src/structures"}},{"name":"largeImage","description":"The large image asset's id","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":476,"file":"Presence.js","path":"src/structures"}},{"name":"smallImage","description":"The small image asset's id","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":486,"file":"Presence.js","path":"src/structures"}}],"methods":[{"name":"smallImageURL","description":"Gets the URL of the small image asset","params":[{"name":"options","description":"Options for the image URL","optional":true,"type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":497,"file":"Presence.js","path":"src/structures"}},{"name":"largeImageURL","description":"Gets the URL of the large image asset","params":[{"name":"options","description":"Options for the image URL","optional":true,"type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":526,"file":"Presence.js","path":"src/structures"}},{"name":"setLargeImage","description":"Set the large image of this activity","params":[{"name":"image","description":"The large image asset's id","nullable":true,"type":[[["RichPresenceImage"]]]}],"returns":[[["RichPresenceAssets"]]],"meta":{"line":601,"file":"Presence.js","path":"src/structures"}},{"name":"setSmallImage","description":"Set the small image of this activity","params":[{"name":"image","description":"The small image asset's id","nullable":true,"type":[[["RichPresenceImage"]]]}],"returns":[[["RichPresenceAssets"]]],"meta":{"line":612,"file":"Presence.js","path":"src/structures"}},{"name":"setLargeText","description":"Hover text for the large image","params":[{"name":"text","description":"Assets text","type":[[["string"]]]}],"returns":[[["RichPresenceAssets"]]],"meta":{"line":623,"file":"Presence.js","path":"src/structures"}},{"name":"setSmallText","description":"Hover text for the small image","params":[{"name":"text","description":"Assets text","type":[[["string"]]]}],"returns":[[["RichPresenceAssets"]]],"meta":{"line":633,"file":"Presence.js","path":"src/structures"}}],"meta":{"line":437,"file":"Presence.js","path":"src/structures"}},{"name":"CustomStatus","construct":{"name":"CustomStatus","params":[{"name":"client","description":"Discord Client","type":[[["Client"]]]},{"name":"data","description":"CustomStatus to clone or raw data","optional":true,"default":"{}","type":[[["CustomStatus"]],[["CustomStatusOptions"]]]}]},"methods":[{"name":"setEmoji","description":"Set the emoji of this activity","params":[{"name":"emoji","description":"The emoji to be displayed","type":[[["EmojiIdentifierResolvable"]]]}],"returns":[[["CustomStatus"]]],"meta":{"line":664,"file":"Presence.js","path":"src/structures"}},{"name":"setState","description":"Set state of this activity","params":[{"name":"state","description":"The state to be displayed","type":[[["string"]],[["null"]]]}],"returns":[[["CustomStatus"]]],"meta":{"line":674,"file":"Presence.js","path":"src/structures"}},{"name":"toJSON","description":"Returns an object that can be used to set the status","returns":[[["CustomStatus"]]],"meta":{"line":684,"file":"Presence.js","path":"src/structures"}}],"meta":{"line":650,"file":"Presence.js","path":"src/structures"}},{"name":"RichPresence","construct":{"name":"RichPresence","params":[{"name":"client","description":"Discord client","type":[[["Client"]]]},{"name":"data","description":"RichPresence to clone or raw data","optional":true,"default":"{}","type":[[["RichPresence"]]]}]},"methods":[{"name":"setup","description":"Sets the status from a JSON object","access":"private","params":[{"name":"data","description":"data","type":[[["RichPresence"]]]}],"meta":{"line":711,"file":"Presence.js","path":"src/structures"}},{"name":"setAssetsLargeImage","description":"Set the large image of this activity","params":[{"name":"image","description":"The large image asset's id","nullable":true,"type":[[["RichPresenceImage"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":721,"file":"Presence.js","path":"src/structures"}},{"name":"setAssetsSmallImage","description":"Set the small image of this activity","params":[{"name":"image","description":"The small image asset's id","nullable":true,"type":[[["RichPresenceImage"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":731,"file":"Presence.js","path":"src/structures"}},{"name":"setAssetsLargeText","description":"Hover text for the large image","params":[{"name":"text","description":"Assets text","type":[[["string"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":741,"file":"Presence.js","path":"src/structures"}},{"name":"setAssetsSmallText","description":"Hover text for the small image","params":[{"name":"text","description":"Assets text","type":[[["string"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":751,"file":"Presence.js","path":"src/structures"}},{"name":"setName","description":"Set the name of the activity","params":[{"name":"name","description":"The activity's name","nullable":true,"type":[[["string"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":761,"file":"Presence.js","path":"src/structures"}},{"name":"setURL","description":"If the activity is being streamed, a link to the stream","params":[{"name":"url","description":"URL of the stream","nullable":true,"type":[[["string"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":771,"file":"Presence.js","path":"src/structures"}},{"name":"setType","description":"The activity status's type","params":[{"name":"type","description":"The type of activity","nullable":true,"type":[[["ActivityTypes"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":782,"file":"Presence.js","path":"src/structures"}},{"name":"setApplicationId","description":"Set the application id of this activity","params":[{"name":"id","description":"Bot's id","nullable":true,"type":[[["Snowflake"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":792,"file":"Presence.js","path":"src/structures"}},{"name":"setState","description":"Set the state of the activity","params":[{"name":"state","description":"The state of the activity","nullable":true,"type":[[["string"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":802,"file":"Presence.js","path":"src/structures"}},{"name":"setDetails","description":"Set the details of the activity","params":[{"name":"details","description":"The details of the activity","nullable":true,"type":[[["string"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":812,"file":"Presence.js","path":"src/structures"}},{"name":"setParty","description":"Set the party of this activity","params":[{"name":"party","description":"The party to be displayed","nullable":true,"type":[[["RichParty"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":829,"file":"Presence.js","path":"src/structures"}},{"name":"setStartTimestamp","description":"Sets the start timestamp of the activity","params":[{"name":"timestamp","description":"The timestamp of the start of the activity","type":[[["Date"]],[["number"]],[["null"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":850,"file":"Presence.js","path":"src/structures"}},{"name":"setEndTimestamp","description":"Sets the end timestamp of the activity","params":[{"name":"timestamp","description":"The timestamp of the end of the activity","type":[[["Date"]],[["number"]],[["null"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":862,"file":"Presence.js","path":"src/structures"}},{"name":"setButtons","description":"Set the buttons of the rich presence","params":[{"name":"button","description":"A list of buttons to set","variable":true,"nullable":true,"type":[[["RichButton"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":879,"file":"Presence.js","path":"src/structures"}},{"name":"setPlatform","description":"The platform the activity is being played on","params":[{"name":"platform","description":"Any platform","type":[[["ActivityPlatform"]],[["null"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":908,"file":"Presence.js","path":"src/structures"}},{"name":"setJoinSecret","description":"Secrets for rich presence joining and spectating (send-only)","params":[{"name":"join","description":"Secrets for rich presence joining","nullable":true,"type":[[["string"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":918,"file":"Presence.js","path":"src/structures"}},{"name":"addButton","description":"Add a button to the rich presence","params":[{"name":"name","description":"The name of the button","type":[[["string"]]]},{"name":"url","description":"The url of the button","type":[[["string"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":929,"file":"Presence.js","path":"src/structures"}},{"name":"toJSON","description":"Convert the rich presence to a JSON object","returns":[[["Object"]]],"meta":{"line":945,"file":"Presence.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the activities' name instead of the Activity object.","returns":[[["string"]]],"meta":{"line":1000,"file":"Presence.js","path":"src/structures"}},{"name":"getExternal","description":"Get Assets from a RichPresence (Util)","scope":"static","params":[{"name":"client","description":"Discord Client","type":[[["Client"]]]},{"name":"applicationId","description":"Application id","type":[[["Snowflake"]]]},{"name":"image1","description":"URL image 1 (not from Discord)","type":[[["string"]]]},{"name":"image2","description":"URL image 2 (not from Discord)","type":[[["string"]]]}],"async":true,"returns":[[["Array","<"],["ExternalAssets",">"]]],"meta":{"line":971,"file":"Presence.js","path":"src/structures"}}],"meta":{"line":700,"file":"Presence.js","path":"src/structures"}},{"name":"SpotifyRPC","extends":[[["RichPresence"]]],"construct":{"name":"SpotifyRPC","description":"Create a new RichPresence (Spotify style)","params":[{"name":"client","description":"Discord Client","type":[[["Client"]]]},{"name":"options","description":"Options for the Spotify RPC","optional":true,"type":[[["SpotifyRPC"]]]}]},"props":[{"name":"metadata","description":"Spotify metadata","type":[[["SpotifyMetadata"]]],"meta":{"line":1049,"file":"Presence.js","path":"src/structures"}}],"methods":[{"name":"setup","description":"Sets the status from a JSON object","access":"private","params":[{"name":"options","description":"data","type":[[["SpotifyRPC"]]]}],"meta":{"line":1037,"file":"Presence.js","path":"src/structures"}},{"name":"setSongId","description":"Set Spotify song id to sync with","params":[{"name":"id","description":"Song id","type":[[["string"]]]}],"returns":[[["SpotifyRPC"]]],"meta":{"line":1061,"file":"Presence.js","path":"src/structures"}},{"name":"addArtistId","description":"Add the artist id","params":[{"name":"id","description":"Artist id","type":[[["string"]]]}],"returns":[[["SpotifyRPC"]]],"meta":{"line":1071,"file":"Presence.js","path":"src/structures"}},{"name":"setArtistIds","description":"Set the artist ids","params":[{"name":"ids","description":"Artist ids","variable":true,"type":[[["string"]],[["Array","<"],["string",">"]]]}],"returns":[[["SpotifyRPC"]]],"meta":{"line":1082,"file":"Presence.js","path":"src/structures"}},{"name":"setAlbumId","description":"Set the album id","params":[{"name":"id","description":"Album id","type":[[["string"]]]}],"returns":[[["SpotifyRPC"]]],"meta":{"line":1097,"file":"Presence.js","path":"src/structures"}},{"name":"setAssetsLargeImage","description":"Set the large image of this activity","inherits":"RichPresence#setAssetsLargeImage","inherited":true,"params":[{"name":"image","description":"The large image asset's id","nullable":true,"type":[[["RichPresenceImage"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":721,"file":"Presence.js","path":"src/structures"}},{"name":"setAssetsSmallImage","description":"Set the small image of this activity","inherits":"RichPresence#setAssetsSmallImage","inherited":true,"params":[{"name":"image","description":"The small image asset's id","nullable":true,"type":[[["RichPresenceImage"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":731,"file":"Presence.js","path":"src/structures"}},{"name":"setAssetsLargeText","description":"Hover text for the large image","inherits":"RichPresence#setAssetsLargeText","inherited":true,"params":[{"name":"text","description":"Assets text","type":[[["string"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":741,"file":"Presence.js","path":"src/structures"}},{"name":"setAssetsSmallText","description":"Hover text for the small image","inherits":"RichPresence#setAssetsSmallText","inherited":true,"params":[{"name":"text","description":"Assets text","type":[[["string"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":751,"file":"Presence.js","path":"src/structures"}},{"name":"setName","description":"Set the name of the activity","inherits":"RichPresence#setName","inherited":true,"params":[{"name":"name","description":"The activity's name","nullable":true,"type":[[["string"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":761,"file":"Presence.js","path":"src/structures"}},{"name":"setURL","description":"If the activity is being streamed, a link to the stream","inherits":"RichPresence#setURL","inherited":true,"params":[{"name":"url","description":"URL of the stream","nullable":true,"type":[[["string"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":771,"file":"Presence.js","path":"src/structures"}},{"name":"setType","description":"The activity status's type","inherits":"RichPresence#setType","inherited":true,"params":[{"name":"type","description":"The type of activity","nullable":true,"type":[[["ActivityTypes"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":782,"file":"Presence.js","path":"src/structures"}},{"name":"setApplicationId","description":"Set the application id of this activity","inherits":"RichPresence#setApplicationId","inherited":true,"params":[{"name":"id","description":"Bot's id","nullable":true,"type":[[["Snowflake"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":792,"file":"Presence.js","path":"src/structures"}},{"name":"setState","description":"Set the state of the activity","inherits":"RichPresence#setState","inherited":true,"params":[{"name":"state","description":"The state of the activity","nullable":true,"type":[[["string"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":802,"file":"Presence.js","path":"src/structures"}},{"name":"setDetails","description":"Set the details of the activity","inherits":"RichPresence#setDetails","inherited":true,"params":[{"name":"details","description":"The details of the activity","nullable":true,"type":[[["string"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":812,"file":"Presence.js","path":"src/structures"}},{"name":"setParty","description":"Set the party of this activity","inherits":"RichPresence#setParty","inherited":true,"params":[{"name":"party","description":"The party to be displayed","nullable":true,"type":[[["RichParty"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":829,"file":"Presence.js","path":"src/structures"}},{"name":"setStartTimestamp","description":"Sets the start timestamp of the activity","inherits":"RichPresence#setStartTimestamp","inherited":true,"params":[{"name":"timestamp","description":"The timestamp of the start of the activity","type":[[["Date"]],[["number"]],[["null"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":850,"file":"Presence.js","path":"src/structures"}},{"name":"setEndTimestamp","description":"Sets the end timestamp of the activity","inherits":"RichPresence#setEndTimestamp","inherited":true,"params":[{"name":"timestamp","description":"The timestamp of the end of the activity","type":[[["Date"]],[["number"]],[["null"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":862,"file":"Presence.js","path":"src/structures"}},{"name":"setButtons","description":"Set the buttons of the rich presence","inherits":"RichPresence#setButtons","inherited":true,"params":[{"name":"button","description":"A list of buttons to set","variable":true,"nullable":true,"type":[[["RichButton"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":879,"file":"Presence.js","path":"src/structures"}},{"name":"setPlatform","description":"The platform the activity is being played on","inherits":"RichPresence#setPlatform","inherited":true,"params":[{"name":"platform","description":"Any platform","type":[[["ActivityPlatform"]],[["null"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":908,"file":"Presence.js","path":"src/structures"}},{"name":"setJoinSecret","description":"Secrets for rich presence joining and spectating (send-only)","inherits":"RichPresence#setJoinSecret","inherited":true,"params":[{"name":"join","description":"Secrets for rich presence joining","nullable":true,"type":[[["string"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":918,"file":"Presence.js","path":"src/structures"}},{"name":"addButton","description":"Add a button to the rich presence","inherits":"RichPresence#addButton","inherited":true,"params":[{"name":"name","description":"The name of the button","type":[[["string"]]]},{"name":"url","description":"The url of the button","type":[[["string"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":929,"file":"Presence.js","path":"src/structures"}},{"name":"toJSON","description":"Convert the rich presence to a JSON object","inherits":"RichPresence#toJSON","inherited":true,"returns":[[["Object"]]],"meta":{"line":945,"file":"Presence.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the activities' name instead of the Activity object.","inherits":"RichPresence#toString","inherited":true,"returns":[[["string"]]],"meta":{"line":1000,"file":"Presence.js","path":"src/structures"}}],"meta":{"line":1012,"file":"Presence.js","path":"src/structures"}},{"name":"ReactionCollector","description":"Collects reactions on messages.\nWill automatically stop if the message ({@link Client#event:messageDelete messageDelete} or\n{@link Client#event:messageDeleteBulk messageDeleteBulk}),\nchannel ({@link Client#event:channelDelete channelDelete}),\nthread ({@link Client#event:threadDelete threadDelete}), or\nguild ({@link Client#event:guildDelete guildDelete}) is deleted.","extends":[[["Collector"]]],"construct":{"name":"ReactionCollector","params":[{"name":"message","description":"The message upon which to collect reactions","type":[[["Message"]]]},{"name":"options","description":"The options to apply to this collector","optional":true,"default":"{}","type":[[["ReactionCollectorOptions"]]]}]},"props":[{"name":"message","description":"The message upon which to collect reactions","type":[[["Message"]]],"meta":{"line":35,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"users","description":"The users that have reacted to this message","type":[[["Collection"]]],"meta":{"line":41,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"total","description":"The total number of reactions collected","type":[[["number"]]],"meta":{"line":47,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"endReason","description":"The reason this collector has ended with, or null if it hasn't ended yet","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":164,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this Collector","readonly":true,"type":[[["Client"]]],"meta":{"line":35,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"filter","description":"The filter applied to this collector","type":[[["CollectorFilter"]]],"meta":{"line":48,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"options","description":"The options of this collector","type":[[["CollectorOptions"]]],"meta":{"line":54,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"collected","description":"The items collected by this collector","type":[[["Collection"]]],"meta":{"line":60,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"ended","description":"Whether this collector has finished collecting","type":[[["boolean"]]],"meta":{"line":66,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"_timeout","description":"Timeout for cleanup","access":"private","nullable":true,"type":[[["Timeout"]]],"meta":{"line":73,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"_idletimeout","description":"Timeout for cleanup due to inactivity","access":"private","nullable":true,"type":[[["Timeout"]]],"meta":{"line":80,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"next","description":"Returns a promise that resolves with the next collected element;\nrejects with collected elements if the collector finishes without receiving a next element","readonly":true,"type":[[["Promise"]]],"meta":{"line":148,"file":"Collector.js","path":"src/structures/interfaces"}}],"methods":[{"name":"collect","description":"Handles an incoming reaction for possible collection.","access":"private","params":[{"name":"reaction","description":"The reaction to possibly collect","type":[[["MessageReaction"]]]},{"name":"user","description":"The user that added the reaction","type":[[["User"]]]}],"returns":{"types":[[["Snowflake"]],[["string"]]],"nullable":true},"meta":{"line":110,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"dispose","description":"Handles a reaction deletion for possible disposal.","params":[{"name":"reaction","description":"The reaction to possibly dispose of","type":[[["MessageReaction"]]]},{"name":"user","description":"The user that removed the reaction","type":[[["User"]]]}],"returns":{"types":[[["Snowflake"]],[["string"]]],"nullable":true},"meta":{"line":128,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"empty","description":"Empties this reaction collector.","meta":{"line":152,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"_handleMessageDeletion","description":"Handles checking if the message has been deleted, and if so, stops the collector with the reason 'messageDelete'.","access":"private","params":[{"name":"message","description":"The message that was deleted","type":[[["Message"]]]}],"returns":[[["void"]]],"meta":{"line":177,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"_handleChannelDeletion","description":"Handles checking if the channel has been deleted, and if so, stops the collector with the reason 'channelDelete'.","access":"private","params":[{"name":"channel","description":"The channel that was deleted","type":[[["GuildChannel"]]]}],"returns":[[["void"]]],"meta":{"line":189,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"_handleThreadDeletion","description":"Handles checking if the thread has been deleted, and if so, stops the collector with the reason 'threadDelete'.","access":"private","params":[{"name":"thread","description":"The thread that was deleted","type":[[["ThreadChannel"]]]}],"returns":[[["void"]]],"meta":{"line":201,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"_handleGuildDeletion","description":"Handles checking if the guild has been deleted, and if so, stops the collector with the reason 'guildDelete'.","access":"private","params":[{"name":"guild","description":"The guild that was deleted","type":[[["Guild"]]]}],"returns":[[["void"]]],"meta":{"line":213,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"handleCollect","description":"Call this to handle an event as a collectable element. Accepts any event data as parameters.","inherits":"Collector#handleCollect","inherited":true,"emits":["Collector#event:collect"],"params":[{"name":"args","description":"The arguments emitted by the listener","variable":true,"type":[["*"]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":99,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"handleDispose","description":"Call this to remove an element from the collection. Accepts any event data as parameters.","inherits":"Collector#handleDispose","inherited":true,"emits":["Collector#event:dispose"],"params":[{"name":"args","description":"The arguments emitted by the listener","variable":true,"type":[["*"]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":126,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"stop","description":"Stops this collector and emits the `end` event.","inherits":"Collector#stop","inherited":true,"emits":["Collector#event:end"],"params":[{"name":"reason","description":"The reason this collector is ending","optional":true,"default":"'user'","type":[[["string"]]]}],"meta":{"line":180,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"resetTimer","description":"Resets the collector's timeout and idle timer.","inherits":"Collector#resetTimer","inherited":true,"params":[{"name":"options","description":"Options for resetting","optional":true,"type":[[["CollectorResetTimerOptions"]]]}],"meta":{"line":213,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"checkEnd","description":"Checks whether the collector should end, and if so, ends it.","inherits":"Collector#checkEnd","inherited":true,"returns":{"types":[[["boolean"]]],"description":"Whether the collector ended or not"},"meta":{"line":228,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"key","description":"Gets the collector key for a reaction.","scope":"static","params":[{"name":"reaction","description":"The message reaction to get the key for","type":[[["MessageReaction"]]]}],"returns":[[["Snowflake"]],[["string"]]],"meta":{"line":224,"file":"ReactionCollector.js","path":"src/structures"}}],"events":[{"name":"create","description":"Emitted whenever a reaction is newly created on a message. Will emit only when a new reaction is\nadded to the message, as opposed to {@link Collector#collect} which will\nbe emitted even when a reaction has already been added to the message.","params":[{"name":"reaction","description":"The reaction that was added","type":[[["MessageReaction"]]]},{"name":"user","description":"The user that added the reaction","type":[[["User"]]]}],"meta":{"line":82,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"collect","description":"Emitted whenever a reaction is collected.","params":[{"name":"reaction","description":"The reaction that was collected","type":[[["MessageReaction"]]]},{"name":"user","description":"The user that added the reaction","type":[[["User"]]]}],"meta":{"line":111,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"dispose","description":"Emitted when the reaction had all the users removed and the `dispose` option is set to true.","params":[{"name":"reaction","description":"The reaction that was disposed of","type":[[["MessageReaction"]]]},{"name":"user","description":"The user that removed the reaction","type":[[["User"]]]}],"meta":{"line":129,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"remove","description":"Emitted when the reaction had one user removed and the `dispose` option is set to true.","params":[{"name":"reaction","description":"The reaction that was removed","type":[[["MessageReaction"]]]},{"name":"user","description":"The user that removed the reaction","type":[[["User"]]]}],"meta":{"line":137,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"end","description":"Emitted when the collector is finished collecting.","params":[{"name":"collected","description":"The elements collected by the collector","type":[[["Collection"]]]},{"name":"reason","description":"The reason the collector ended","type":[[["string"]]]}],"meta":{"line":193,"file":"Collector.js","path":"src/structures/interfaces"}}],"meta":{"line":23,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"ReactionEmoji","description":"Represents a limited emoji set used for both custom and unicode emojis. Custom emojis\nwill use this class opposed to the Emoji class when the client doesn't know enough\ninformation about them.","extends":[[["Emoji"]]],"props":[{"name":"reaction","description":"The message reaction this emoji refers to","type":[[["MessageReaction"]]],"meta":{"line":19,"file":"ReactionEmoji.js","path":"src/structures"}},{"name":"animated","description":"Whether or not the emoji is animated","nullable":true,"type":[[["boolean"]]],"meta":{"line":34,"file":"Emoji.js","path":"src/structures"}},{"name":"name","description":"The emoji's name","nullable":true,"type":[[["string"]]],"meta":{"line":40,"file":"Emoji.js","path":"src/structures"}},{"name":"id","description":"The emoji's id","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":46,"file":"Emoji.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":54,"file":"Emoji.js","path":"src/structures"}},{"name":"identifier","description":"The identifier of this emoji, used for message reactions","readonly":true,"type":[[["string"]]],"meta":{"line":84,"file":"Emoji.js","path":"src/structures"}},{"name":"url","description":"The URL to the emoji file if it's a custom emoji","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":94,"file":"Emoji.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the emoji was created at, or null if unicode","readonly":true,"nullable":true,"type":[[["number"]]],"meta":{"line":103,"file":"Emoji.js","path":"src/structures"}},{"name":"createdAt","description":"The time the emoji was created at, or null if unicode","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":112,"file":"Emoji.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"toString","description":"When concatenated with a string, this automatically returns the text required to form a graphical emoji on Discord\ninstead of the Emoji object.","inherits":"Emoji#toString","inherited":true,"examples":["// Send a custom emoji from a guild:\nconst emoji = guild.emojis.cache.first();\nmsg.channel.send(`Hello! ${emoji}`);","// Send the emoji used in a reaction to the channel the reaction is part of\nreaction.message.channel.send(`The emoji used was: ${reaction.emoji}`);"],"returns":[[["string"]]],"meta":{"line":128,"file":"Emoji.js","path":"src/structures"}}],"meta":{"line":12,"file":"ReactionEmoji.js","path":"src/structures"}},{"name":"Role","description":"Represents a role on Discord.","extends":[[["Base"]]],"props":[{"name":"guild","description":"The guild that the role belongs to","type":[[["Guild"]]],"meta":{"line":32,"file":"Role.js","path":"src/structures"}},{"name":"icon","description":"The icon hash of the role","nullable":true,"type":[[["string"]]],"meta":{"line":38,"file":"Role.js","path":"src/structures"}},{"name":"unicodeEmoji","description":"The unicode emoji for the role","nullable":true,"type":[[["string"]]],"meta":{"line":44,"file":"Role.js","path":"src/structures"}},{"name":"id","description":"The role's id (unique to the guild it is part of)","type":[[["Snowflake"]]],"meta":{"line":54,"file":"Role.js","path":"src/structures"}},{"name":"name","description":"The name of the role","type":[[["string"]]],"meta":{"line":60,"file":"Role.js","path":"src/structures"}},{"name":"color","description":"The base 10 color of the role","type":[[["number"]]],"meta":{"line":68,"file":"Role.js","path":"src/structures"}},{"name":"hoist","description":"If true, users that are part of this role will appear in a separate category in the users list","type":[[["boolean"]]],"meta":{"line":76,"file":"Role.js","path":"src/structures"}},{"name":"rawPosition","description":"The raw position of the role from the API","type":[[["number"]]],"meta":{"line":84,"file":"Role.js","path":"src/structures"}},{"name":"permissions","description":"The permissions of the role","type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":92,"file":"Role.js","path":"src/structures"}},{"name":"managed","description":"Whether or not the role is managed by an external service","type":[[["boolean"]]],"meta":{"line":100,"file":"Role.js","path":"src/structures"}},{"name":"mentionable","description":"Whether or not the role can be mentioned by anyone","type":[[["boolean"]]],"meta":{"line":108,"file":"Role.js","path":"src/structures"}},{"name":"tags","description":"The tags this role has","nullable":true,"type":[[["Object"]]],"props":[{"name":"botId","description":"The id of the bot this role belongs to","optional":true,"type":[[["Snowflake"]]]},{"name":"integrationId","description":"The id of the integration this role belongs to","optional":true,"type":[[["Snowflake"]],[["string"]]]},{"name":"premiumSubscriberRole","description":"Whether this is the guild's premium subscription role","optional":true,"type":[[["true"]]]},{"name":"subscriptionListingId","description":"The id of this role's subscription SKU and listing","optional":true,"type":[[["Snowflake"]]]},{"name":"availableForPurchase","description":"Whether this role is available for purchase","optional":true,"type":[[["true"]]]},{"name":"guildConnections","description":"Whether this role is a guild's linked role","optional":true,"type":[[["true"]]]}],"meta":{"line":125,"file":"Role.js","path":"src/structures"}},{"name":"flags","description":"The flags of this role","type":[[["Readonly","<"],["RoleFlags",">"]]],"meta":{"line":152,"file":"Role.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the role was created at","readonly":true,"type":[[["number"]]],"meta":{"line":163,"file":"Role.js","path":"src/structures"}},{"name":"createdAt","description":"The time the role was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":172,"file":"Role.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the role has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":181,"file":"Role.js","path":"src/structures"}},{"name":"hexColor","description":"The hexadecimal version of the role color, with a leading hashtag","readonly":true,"type":[[["string"]]],"meta":{"line":211,"file":"Role.js","path":"src/structures"}},{"name":"members","description":"The cached guild members that have this role","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]],"meta":{"line":220,"file":"Role.js","path":"src/structures"}},{"name":"editable","description":"Whether the role is editable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":229,"file":"Role.js","path":"src/structures"}},{"name":"position","description":"The position of the role in the role manager","readonly":true,"type":[[["number"]]],"meta":{"line":241,"file":"Role.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"comparePositionTo","description":"Compares this role's position to another role's.","examples":["// Compare the position of a role to another\nconst roleCompare = role.comparePositionTo(otherRole);\nif (roleCompare >= 1) console.log(`${role.name} is higher than ${otherRole.name}`);"],"params":[{"name":"role","description":"Role to compare to this one","type":[[["RoleResolvable"]]]}],"returns":{"types":[[["number"]]],"description":"Negative number if this role's position is lower (other role's is higher),\npositive number if this one is higher (other's is lower), 0 if equal"},"meta":{"line":261,"file":"Role.js","path":"src/structures"}},{"name":"edit","description":"Edits the role.","examples":["// Edit a role\nrole.edit({ name: 'new role' })\n .then(updated => console.log(`Edited role name to ${updated.name}`))\n .catch(console.error);"],"params":[{"name":"data","description":"The new data for the role","type":[[["RoleData"]]]},{"name":"reason","description":"Reason for editing this role","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Role",">"]]],"meta":{"line":291,"file":"Role.js","path":"src/structures"}},{"name":"permissionsIn","description":"Returns `channel.permissionsFor(role)`. Returns permissions for a role in a guild channel,\ntaking into account permission overwrites.","params":[{"name":"channel","description":"The guild channel to use as context","type":[[["GuildChannel"]],[["Snowflake"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":302,"file":"Role.js","path":"src/structures"}},{"name":"setName","description":"Sets a new name for the role.","examples":["// Set the name of the role\nrole.setName('new role')\n .then(updated => console.log(`Updated role name to ${updated.name}`))\n .catch(console.error);"],"params":[{"name":"name","description":"The new name of the role","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the role's name","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Role",">"]]],"meta":{"line":319,"file":"Role.js","path":"src/structures"}},{"name":"setColor","description":"Sets a new color for the role.","examples":["// Set the color of a role\nrole.setColor('#FF0000')\n .then(updated => console.log(`Set color of role to ${updated.color}`))\n .catch(console.error);"],"params":[{"name":"color","description":"The color of the role","type":[[["ColorResolvable"]]]},{"name":"reason","description":"Reason for changing the role's color","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Role",">"]]],"meta":{"line":334,"file":"Role.js","path":"src/structures"}},{"name":"setHoist","description":"Sets whether or not the role should be hoisted.","examples":["// Set the hoist of the role\nrole.setHoist(true)\n .then(updated => console.log(`Role hoisted: ${updated.hoist}`))\n .catch(console.error);"],"params":[{"name":"hoist","description":"Whether or not to hoist the role","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"Reason for setting whether or not the role should be hoisted","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Role",">"]]],"meta":{"line":349,"file":"Role.js","path":"src/structures"}},{"name":"setPermissions","description":"Sets the permissions of the role.","examples":["// Set the permissions of the role\nrole.setPermissions([Permissions.FLAGS.KICK_MEMBERS, Permissions.FLAGS.BAN_MEMBERS])\n .then(updated => console.log(`Updated permissions to ${updated.permissions.bitfield}`))\n .catch(console.error);","// Remove all permissions from a role\nrole.setPermissions(0n)\n .then(updated => console.log(`Updated permissions to ${updated.permissions.bitfield}`))\n .catch(console.error);"],"params":[{"name":"permissions","description":"The permissions of the role","type":[[["PermissionResolvable"]]]},{"name":"reason","description":"Reason for changing the role's permissions","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Role",">"]]],"meta":{"line":369,"file":"Role.js","path":"src/structures"}},{"name":"setMentionable","description":"Sets whether this role is mentionable.","examples":["// Make the role mentionable\nrole.setMentionable(true)\n .then(updated => console.log(`Role updated ${updated.name}`))\n .catch(console.error);"],"params":[{"name":"mentionable","description":"Whether this role should be mentionable","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"Reason for setting whether or not this role should be mentionable","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Role",">"]]],"meta":{"line":384,"file":"Role.js","path":"src/structures"}},{"name":"setIcon","description":"Sets a new icon for the role.","params":[{"name":"icon","description":"The icon for the role\nThe `EmojiResolvable` should belong to the same guild as the role.\nIf not, pass the emoji's URL directly","nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]],[["EmojiResolvable"]]]},{"name":"reason","description":"Reason for changing the role's icon","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Role",">"]]],"meta":{"line":396,"file":"Role.js","path":"src/structures"}},{"name":"setUnicodeEmoji","description":"Sets a new unicode emoji for the role.","examples":["// Set a new unicode emoji for the role\nrole.setUnicodeEmoji('🤖')\n .then(updated => console.log(`Set unicode emoji for the role to ${updated.unicodeEmoji}`))\n .catch(console.error);"],"params":[{"name":"unicodeEmoji","description":"The new unicode emoji for the role","nullable":true,"type":[[["string"]]]},{"name":"reason","description":"Reason for changing the role's unicode emoji","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Role",">"]]],"meta":{"line":411,"file":"Role.js","path":"src/structures"}},{"name":"setPosition","description":"Sets the new position of the role.","examples":["// Set the position of the role\nrole.setPosition(1)\n .then(updated => console.log(`Role position: ${updated.position}`))\n .catch(console.error);"],"params":[{"name":"position","description":"The new position for the role","type":[[["number"]]]},{"name":"options","description":"Options for setting the position","optional":true,"type":[[["SetRolePositionOptions"]]]}],"returns":[[["Promise","<"],["Role",">"]]],"meta":{"line":433,"file":"Role.js","path":"src/structures"}},{"name":"delete","description":"Deletes the role.","examples":["// Delete a role\nrole.delete('The role needed to go')\n .then(deleted => console.log(`Deleted role ${deleted.name}`))\n .catch(console.error);"],"params":[{"name":"reason","description":"Reason for deleting this role","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Role",">"]]],"meta":{"line":447,"file":"Role.js","path":"src/structures"}},{"name":"iconURL","description":"A link to the role's icon","params":[{"name":"options","description":"Options for the image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":457,"file":"Role.js","path":"src/structures"}},{"name":"equals","description":"Whether this role equals another role. It compares all properties, so for most operations\nit is advisable to just compare `role.id === role2.id` as it is much faster and is often\nwhat most users need.","params":[{"name":"role","description":"Role to compare with","type":[[["Role"]]]}],"returns":[[["boolean"]]],"meta":{"line":469,"file":"Role.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the role's mention instead of the Role object.","examples":["// Logs: Role: <@&123456789012345678>\nconsole.log(`Role: ${role}`);"],"returns":[[["string"]]],"meta":{"line":491,"file":"Role.js","path":"src/structures"}},{"name":"comparePositions","description":"Compares the positions of two roles.","scope":"static","deprecated":"Use {@link RoleManager#comparePositions} instead.","params":[{"name":"role1","description":"First role to compare","type":[[["Role"]]]},{"name":"role2","description":"Second role to compare","type":[[["Role"]]]}],"returns":{"types":[[["number"]]],"description":"Negative number if the first role's position is lower (second role's is higher),\npositive number if the first's is higher (second's is lower), 0 if equal"},"meta":{"line":511,"file":"Role.js","path":"src/structures"}}],"meta":{"line":24,"file":"Role.js","path":"src/structures"}},{"name":"SelectMenuInteraction","description":"Represents a select menu interaction.","extends":[[["MessageComponentInteraction"]]],"props":[{"name":"values","description":"The values selected, if the component which was interacted with was a select menu","type":[[["Array","<"],["string",">"]]],"meta":{"line":17,"file":"SelectMenuInteraction.js","path":"src/structures"}},{"name":"channelId","description":"The id of the channel this interaction was sent in","type":[[["Snowflake"]]],"meta":{"line":17,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"message","description":"The message to which the component was attached","type":[[["Message"]],[["APIMessage"]]],"meta":{"line":27,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"customId","description":"The custom id of the component which was interacted with","type":[[["string"]]],"meta":{"line":33,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"componentType","description":"The type of component which was interacted with","type":[[["string"]]],"meta":{"line":39,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"deferred","description":"Whether the reply to this interaction has been deferred","type":[[["boolean"]]],"meta":{"line":45,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"ephemeral","description":"Whether the reply to this interaction is ephemeral","nullable":true,"type":[[["boolean"]]],"meta":{"line":51,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"replied","description":"Whether this interaction has already been replied to","type":[[["boolean"]]],"meta":{"line":57,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"webhook","description":"An associated interaction webhook, can be used to further interact with this interaction","type":[[["InteractionWebhook"]]],"meta":{"line":63,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"component","description":"The component which was interacted with","readonly":true,"type":[[["MessageActionRowComponent"]],[["APIMessageActionRowComponent"]]],"meta":{"line":78,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"type","description":"The interaction's type","type":[[["InteractionType"]]],"meta":{"line":20,"file":"Interaction.js","path":"src/structures"}},{"name":"id","description":"The interaction's id","type":[[["Snowflake"]]],"meta":{"line":26,"file":"Interaction.js","path":"src/structures"}},{"name":"token","description":"The interaction's token","readonly":true,"type":[[["string"]]],"meta":{"line":28,"file":"Interaction.js","path":"src/structures"}},{"name":"applicationId","description":"The application's id","type":[[["Snowflake"]]],"meta":{"line":40,"file":"Interaction.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild this interaction was sent in","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":52,"file":"Interaction.js","path":"src/structures"}},{"name":"user","description":"The user which sent this interaction","type":[[["User"]]],"meta":{"line":58,"file":"Interaction.js","path":"src/structures"}},{"name":"member","description":"If this interaction was sent in a guild, the member which sent it","nullable":true,"type":[[["GuildMember"]],[["APIGuildMember"]]],"meta":{"line":64,"file":"Interaction.js","path":"src/structures"}},{"name":"version","description":"The version","type":[[["number"]]],"meta":{"line":70,"file":"Interaction.js","path":"src/structures"}},{"name":"appPermissions","description":"Set of permissions the application or bot has within the channel the interaction was sent from","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":76,"file":"Interaction.js","path":"src/structures"}},{"name":"memberPermissions","description":"The permissions of the member, if one exists, in the channel this interaction was executed in","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":82,"file":"Interaction.js","path":"src/structures"}},{"name":"locale","description":"The locale of the user who invoked this interaction","type":[[["Locale"]]],"meta":{"line":124,"file":"Interaction.js","path":"src/structures"}},{"name":"guildLocale","description":"The preferred locale from the guild this interaction was sent in","nullable":true,"type":[[["Locale"]]],"meta":{"line":130,"file":"Interaction.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the interaction was created at","readonly":true,"type":[[["number"]]],"meta":{"line":138,"file":"Interaction.js","path":"src/structures"}},{"name":"createdAt","description":"The time the interaction was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":147,"file":"Interaction.js","path":"src/structures"}},{"name":"channel","description":"The channel this interaction was sent in","readonly":true,"nullable":true,"type":[[["TextBasedChannels"]]],"meta":{"line":156,"file":"Interaction.js","path":"src/structures"}},{"name":"guild","description":"The guild this interaction was sent in","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":165,"file":"Interaction.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"deferReply","description":"Defers the reply to this interaction.","inherits":"MessageComponentInteraction#deferReply","inherited":true,"implements":["InteractionResponses#deferReply"],"examples":["// Defer the reply to this interaction\ninteraction.deferReply()\n .then(console.log)\n .catch(console.error)","// Defer to send an ephemeral reply later\ninteraction.deferReply({ ephemeral: true })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for deferring the reply to this interaction","optional":true,"type":[[["InteractionDeferReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":58,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"reply","description":"Creates a reply to this interaction.\nUse the `fetchReply` option to get the bot's reply message.","inherits":"MessageComponentInteraction#reply","inherited":true,"implements":["InteractionResponses#reply"],"examples":["// Reply to the interaction and fetch the response\ninteraction.reply({ content: 'Pong!', fetchReply: true })\n .then((message) => console.log(`Reply sent with content ${message.content}`))\n .catch(console.error);","// Create an ephemeral reply with an embed\nconst embed = new MessageEmbed().setDescription('Pong!');\n\ninteraction.reply({ embeds: [embed], ephemeral: true })\n .then(() => console.log('Reply sent.'))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":93,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"fetchReply","description":"Fetches a reply to this interaction.","see":["Webhook#fetchMessage"],"inherits":"MessageComponentInteraction#fetchReply","inherited":true,"implements":["InteractionResponses#fetchReply"],"examples":["// Fetch the initial reply to this interaction\ninteraction.fetchReply()\n .then(reply => console.log(`Replied with ${reply.content}`))\n .catch(console.error);"],"params":[{"name":"message","description":"The response to fetch","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":127,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"editReply","description":"Edits a reply to this interaction.","see":["Webhook#editMessage"],"inherits":"MessageComponentInteraction#editReply","inherited":true,"implements":["InteractionResponses#editReply"],"examples":["// Edit the initial reply to this interaction\ninteraction.editReply('New content')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The new options for the message","type":[[["string"]],[["MessagePayload"]],[["InteractionEditReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":148,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"deleteReply","description":"Deletes a reply to this interaction.","see":["Webhook#deleteMessage"],"inherits":"MessageComponentInteraction#deleteReply","inherited":true,"implements":["InteractionResponses#deleteReply"],"examples":["// Delete the initial reply to this interaction\ninteraction.deleteReply()\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"message","description":"The response to delete","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":166,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"followUp","description":"Send a follow-up message to this interaction.","inherits":"MessageComponentInteraction#followUp","inherited":true,"implements":["InteractionResponses#followUp"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":175,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"deferUpdate","description":"Defers an update to the message to which the component was attached.","inherits":"MessageComponentInteraction#deferUpdate","inherited":true,"implements":["InteractionResponses#deferUpdate"],"examples":["// Defer updating and reset the component's loading state\ninteraction.deferUpdate()\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for deferring the update to this interaction","optional":true,"type":[[["InteractionDeferUpdateOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":190,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"update","description":"Updates the original message of the component on which the interaction was received on.","inherits":"MessageComponentInteraction#update","inherited":true,"implements":["InteractionResponses#update"],"examples":["// Remove the components from the message\ninteraction.update({\n content: \"A component interaction was received\",\n components: []\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the updated message","type":[[["string"]],[["MessagePayload"]],[["InteractionUpdateOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":216,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"showModal","description":"Shows a modal component","inherits":"MessageComponentInteraction#showModal","inherited":true,"implements":["InteractionResponses#showModal"],"params":[{"name":"modal","description":"The modal to show","type":[[["Modal"]],[["ModalOptions"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":243,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"awaitModalSubmit","description":"Collects a single modal submit interaction that passes the filter.\nThe Promise will reject if the time expires.","inherits":"MessageComponentInteraction#awaitModalSubmit","inherited":true,"implements":["InteractionResponses#awaitModalSubmit"],"examples":["// Collect a modal submit interaction\nconst filter = (interaction) => interaction.customId === 'modal';\ninteraction.awaitModalSubmit({ filter, time: 15_000 })\n .then(interaction => console.log(`${interaction.customId} was submitted!`))\n .catch(console.error);"],"params":[{"name":"options","description":"Options to pass to the internal collector","type":[[["AwaitModalSubmitOptions"]]]}],"returns":[[["Promise","<"],["ModalSubmitInteraction",">"]]],"meta":{"line":275,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"inGuild","description":"Indicates whether this interaction is received from a guild.","inherits":"Interaction#inGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":173,"file":"Interaction.js","path":"src/structures"}},{"name":"inCachedGuild","description":"Indicates whether or not this interaction is both cached and received from a guild.","inherits":"Interaction#inCachedGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":181,"file":"Interaction.js","path":"src/structures"}},{"name":"inRawGuild","description":"Indicates whether or not this interaction is received from an uncached guild.","inherits":"Interaction#inRawGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":189,"file":"Interaction.js","path":"src/structures"}},{"name":"isApplicationCommand","description":"Indicates whether this interaction is a {@link BaseCommandInteraction}.","inherits":"Interaction#isApplicationCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":197,"file":"Interaction.js","path":"src/structures"}},{"name":"isCommand","description":"Indicates whether this interaction is a {@link CommandInteraction}.","inherits":"Interaction#isCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":205,"file":"Interaction.js","path":"src/structures"}},{"name":"isContextMenu","description":"Indicates whether this interaction is a {@link ContextMenuInteraction}","inherits":"Interaction#isContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":213,"file":"Interaction.js","path":"src/structures"}},{"name":"isModalSubmit","description":"Indicates whether this interaction is a {@link ModalSubmitInteraction}","inherits":"Interaction#isModalSubmit","inherited":true,"returns":[[["boolean"]]],"meta":{"line":221,"file":"Interaction.js","path":"src/structures"}},{"name":"isUserContextMenu","description":"Indicates whether this interaction is a {@link UserContextMenuInteraction}","inherits":"Interaction#isUserContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":229,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageContextMenu","description":"Indicates whether this interaction is a {@link MessageContextMenuInteraction}","inherits":"Interaction#isMessageContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":237,"file":"Interaction.js","path":"src/structures"}},{"name":"isAutocomplete","description":"Indicates whether this interaction is an {@link AutocompleteInteraction}","inherits":"Interaction#isAutocomplete","inherited":true,"returns":[[["boolean"]]],"meta":{"line":245,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageComponent","description":"Indicates whether this interaction is a {@link MessageComponentInteraction}.","inherits":"Interaction#isMessageComponent","inherited":true,"returns":[[["boolean"]]],"meta":{"line":253,"file":"Interaction.js","path":"src/structures"}},{"name":"isButton","description":"Indicates whether this interaction is a {@link ButtonInteraction}.","inherits":"Interaction#isButton","inherited":true,"returns":[[["boolean"]]],"meta":{"line":261,"file":"Interaction.js","path":"src/structures"}},{"name":"isSelectMenu","description":"Indicates whether this interaction is a {@link SelectMenuInteraction}.","inherits":"Interaction#isSelectMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":272,"file":"Interaction.js","path":"src/structures"}},{"name":"isRepliable","description":"Indicates whether this interaction can be replied to.","inherits":"Interaction#isRepliable","inherited":true,"returns":[[["boolean"]]],"meta":{"line":283,"file":"Interaction.js","path":"src/structures"}}],"meta":{"line":9,"file":"SelectMenuInteraction.js","path":"src/structures"}},{"name":"StageChannel","description":"Represents a guild stage channel on Discord.","extends":[[["BaseGuildVoiceChannel"]]],"props":[{"name":"topic","description":"The topic of the stage channel","nullable":true,"type":[[["string"]]],"meta":{"line":18,"file":"StageChannel.js","path":"src/structures"}},{"name":"stageInstance","description":"The stage instance of this stage channel, if it exists","readonly":true,"nullable":true,"type":[[["StageInstance"]]],"meta":{"line":27,"file":"StageChannel.js","path":"src/structures"}},{"name":"messages","description":"A manager of the messages sent to this channel","type":[[["MessageManager"]]],"meta":{"line":22,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"nsfw","description":"If the guild considers this channel NSFW","type":[[["boolean"]]],"meta":{"line":28,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"bitrate","description":"The bitrate of this voice-based channel","type":[[["number"]]],"meta":{"line":41,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"rtcRegion","description":"The RTC region for this voice-based channel. This region is automatically selected if `null`.","nullable":true,"type":[[["string"]]],"meta":{"line":49,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"userLimit","description":"The maximum amount of users allowed in this channel.","type":[[["number"]]],"meta":{"line":57,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"videoQualityMode","description":"The camera video quality mode of the channel.","nullable":true,"type":[[["VideoQualityMode"]]],"meta":{"line":65,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"lastMessageId","description":"The last message id sent in the channel, if one was sent","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":75,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"rateLimitPerUser","description":"The rate limit per user (slowmode) for this channel in seconds","type":[[["number"]]],"meta":{"line":87,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"status","description":"The status of the voice channel (max 500 characters)","nullable":true,"type":[[["string"]]],"meta":{"line":99,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"members","description":"The members in this voice-based channel","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]],"meta":{"line":108,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"full","description":"Checks if the voice-based channel is full","readonly":true,"type":[[["boolean"]]],"meta":{"line":123,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"joinable","description":"Whether the channel is joinable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":132,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"lastMessage","description":"The Message object of the last message in the channel, if one was sent","readonly":true,"nullable":true,"type":[[["Message"]]],"meta":{"line":50,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"guild","description":"The guild the channel is in","type":[[["Guild"]]],"meta":{"line":30,"file":"GuildChannel.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild the channel is in","type":[[["Snowflake"]]],"meta":{"line":36,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionOverwrites","description":"A manager of permission overwrites that belong to this channel","type":[[["PermissionOverwriteManager"]]],"meta":{"line":43,"file":"GuildChannel.js","path":"src/structures"}},{"name":"name","description":"The name of the guild channel","type":[[["string"]]],"meta":{"line":56,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rawPosition","description":"The raw position of the channel from Discord","type":[[["number"]]],"meta":{"line":64,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parentId","description":"The id of the category parent of this channel","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":76,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parent","description":"The category parent of this channel","readonly":true,"nullable":true,"type":[[["CategoryChannel"]]],"meta":{"line":98,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionsLocked","description":"If the permissionOverwrites match the parent channel, null if no parent","readonly":true,"nullable":true,"type":[[["boolean"]]],"meta":{"line":107,"file":"GuildChannel.js","path":"src/structures"}},{"name":"position","description":"The position of the channel","readonly":true,"type":[[["number"]]],"meta":{"line":148,"file":"GuildChannel.js","path":"src/structures"}},{"name":"deletable","description":"Whether the channel is deletable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":416,"file":"GuildChannel.js","path":"src/structures"}},{"name":"manageable","description":"Whether the channel is manageable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":425,"file":"GuildChannel.js","path":"src/structures"}},{"name":"viewable","description":"Whether the channel is viewable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":445,"file":"GuildChannel.js","path":"src/structures"}},{"name":"type","description":"The type of the channel","type":[[["ChannelType"]]],"meta":{"line":41,"file":"Channel.js","path":"src/structures"}},{"name":"id","description":"The channel's id","type":[[["Snowflake"]]],"meta":{"line":51,"file":"Channel.js","path":"src/structures"}},{"name":"flags","description":"The flags that are applied to the channel.","nullable":true,"type":[[["Readonly","<"],["ChannelFlags",">"]]],"meta":{"line":58,"file":"Channel.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the channel was created at","readonly":true,"type":[[["number"]]],"meta":{"line":69,"file":"Channel.js","path":"src/structures"}},{"name":"createdAt","description":"The time the channel was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":78,"file":"Channel.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":87,"file":"Channel.js","path":"src/structures"}},{"name":"partial","description":"Whether this Channel is a partial\nThis is always false outside of DM channels.","readonly":true,"type":[[["boolean"]]],"meta":{"line":118,"file":"Channel.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"createStageInstance","description":"Creates a stage instance associated with this stage channel.","params":[{"name":"options","description":"The options to create the stage instance","type":[[["StageInstanceCreateOptions"]]]}],"returns":[[["Promise","<"],["StageInstance",">"]]],"meta":{"line":36,"file":"StageChannel.js","path":"src/structures"}},{"name":"setTopic","description":"Sets a new topic for the guild channel.","examples":["// Set a new channel topic\nchannel.setTopic('needs more rate limiting')\n .then(newChannel => console.log(`Channel's new topic is ${newChannel.topic}`))\n .catch(console.error);"],"params":[{"name":"topic","description":"The new topic for the guild channel","nullable":true,"type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild channel's topic","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":51,"file":"StageChannel.js","path":"src/structures"}},{"name":"createInvite","description":"Creates an invite to this guild channel.","inherits":"BaseGuildVoiceChannel#createInvite","inherited":true,"examples":["// Create an invite to a channel\nchannel.createInvite()\n .then(invite => console.log(`Created an invite with a code of ${invite.code}`))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for creating the invite","optional":true,"default":"{}","type":[[["CreateInviteOptions"]]]}],"returns":[[["Promise","<"],["Invite",">"]]],"meta":{"line":156,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"fetchInvites","description":"Fetches a collection of invites to this guild channel.\nResolves with a collection mapping invites by their codes.","inherits":"BaseGuildVoiceChannel#fetchInvites","inherited":true,"params":[{"name":"cache","description":"Whether or not to cache the fetched invites","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Collection","<"],["string",", "],["Invite",">>"]]],"meta":{"line":166,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"setBitrate","description":"Sets the bitrate of the channel.","inherits":"BaseGuildVoiceChannel#setBitrate","inherited":true,"examples":["// Set the bitrate of a voice channel\nchannel.setBitrate(48_000)\n .then(channel => console.log(`Set bitrate to ${channel.bitrate}bps for ${channel.name}`))\n .catch(console.error);"],"params":[{"name":"bitrate","description":"The new bitrate","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the channel's bitrate","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["BaseGuildVoiceChannel",">"]]],"meta":{"line":181,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"setRTCRegion","description":"Sets the RTC region of the channel.","inherits":"BaseGuildVoiceChannel#setRTCRegion","inherited":true,"examples":["// Set the RTC region to sydney\nchannel.setRTCRegion('sydney');","// Remove a fixed region for this channel - let Discord decide automatically\nchannel.setRTCRegion(null, 'We want to let Discord decide.');"],"params":[{"name":"rtcRegion","description":"The new region of the channel. Set to `null` to remove a specific region for the channel","nullable":true,"type":[[["string"]]]},{"name":"reason","description":"The reason for modifying this region.","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["BaseGuildVoiceChannel",">"]]],"meta":{"line":197,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"setUserLimit","description":"Sets the user limit of the channel.","inherits":"BaseGuildVoiceChannel#setUserLimit","inherited":true,"examples":["// Set the user limit of a voice channel\nchannel.setUserLimit(42)\n .then(channel => console.log(`Set user limit to ${channel.userLimit} for ${channel.name}`))\n .catch(console.error);"],"params":[{"name":"userLimit","description":"The new user limit","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the user limit","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["BaseGuildVoiceChannel",">"]]],"meta":{"line":212,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"setVideoQualityMode","description":"Sets the camera video quality mode of the channel.","inherits":"BaseGuildVoiceChannel#setVideoQualityMode","inherited":true,"params":[{"name":"videoQualityMode","description":"The new camera video quality mode.","type":[[["VideoQualityMode"]],[["number"]]]},{"name":"reason","description":"Reason for changing the camera video quality mode.","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["BaseGuildVoiceChannel",">"]]],"meta":{"line":222,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"send","description":"Sends a message to this channel.","inherits":"BaseGuildVoiceChannel#send","inherited":true,"implements":["TextBasedChannel#send"],"examples":["// Send a basic message\nchannel.send('hello!')\n .then(message => console.log(`Sent message: ${message.content}`))\n .catch(console.error);","// Send a remote file\nchannel.send({\n files: ['https://cdn.discordapp.com/icons/222078108977594368/6e1019b3179d71046e463a75915e7244.png?size=2048']\n})\n .then(console.log)\n .catch(console.error);","// Send a local file\nchannel.send({\n files: [{\n attachment: 'entire/path/to/file.jpg',\n name: 'file.jpg',\n description: 'A description of the file'\n }]\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["MessageOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":150,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"sendTyping","description":"Sends a typing indicator in the channel.","inherits":"BaseGuildVoiceChannel#sendTyping","inherited":true,"implements":["TextBasedChannel#sendTyping"],"examples":["// Start typing in a channel\nchannel.sendTyping();"],"async":true,"returns":{"types":[[["Promise","<"],["void",">"]]],"description":"Resolves upon the typing status being sent"},"meta":{"line":355,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createMessageCollector","description":"Creates a Message Collector.","inherits":"BaseGuildVoiceChannel#createMessageCollector","inherited":true,"implements":["TextBasedChannel#createMessageCollector"],"examples":["// Create a message collector\nconst filter = m => m.content.includes('discord');\nconst collector = channel.createMessageCollector({ filter, time: 15_000 });\ncollector.on('collect', m => console.log(`Collected ${m.content}`));\ncollector.on('end', collected => console.log(`Collected ${collected.size} items`));"],"params":[{"name":"options","description":"The options to pass to the collector","optional":true,"default":"{}","type":[[["MessageCollectorOptions"]]]}],"returns":[[["MessageCollector"]]],"meta":{"line":370,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"awaitMessages","description":"Similar to createMessageCollector but in promise form.\nResolves with a collection of messages that pass the specified filter.","inherits":"BaseGuildVoiceChannel#awaitMessages","inherited":true,"implements":["TextBasedChannel#awaitMessages"],"examples":["// Await !vote messages\nconst filter = m => m.content.startsWith('!vote');\n// Errors: ['time'] treats ending because of the time limit as an error\nchannel.awaitMessages({ filter, max: 4, time: 60_000, errors: ['time'] })\n .then(collected => console.log(collected.size))\n .catch(collected => console.log(`After a minute, only ${collected.size} out of 4 voted.`));"],"params":[{"name":"options","description":"Optional options to pass to the internal collector","optional":true,"default":"{}","type":[[["AwaitMessagesOptions"]]]}],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Message",">>"]]],"meta":{"line":393,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"fetchWebhooks","description":"Fetches all webhooks for the channel.","inherits":"BaseGuildVoiceChannel#fetchWebhooks","inherited":true,"implements":["TextBasedChannel#fetchWebhooks"],"examples":["// Fetch webhooks\nchannel.fetchWebhooks()\n .then(hooks => console.log(`This channel has ${hooks.size} hooks`))\n .catch(console.error);"],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Webhook",">>"]]],"meta":{"line":415,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createWebhook","description":"Creates a webhook for the channel.","inherits":"BaseGuildVoiceChannel#createWebhook","inherited":true,"implements":["TextBasedChannel#createWebhook"],"examples":["// Create a webhook for the current channel\nchannel.createWebhook('Snek', {\n avatar: 'https://i.imgur.com/mI8XcpG.jpg',\n reason: 'Needed a cool new Webhook'\n})\n .then(console.log)\n .catch(console.error)"],"params":[{"name":"name","description":"The name of the webhook","type":[[["string"]]]},{"name":"options","description":"Options for creating the webhook","optional":true,"type":[[["ChannelWebhookCreateOptions"]]]}],"returns":{"types":[[["Promise","<"],["Webhook",">"]]],"description":"Returns the created Webhook"},"meta":{"line":440,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"setRateLimitPerUser","description":"Sets the rate limit per user (slowmode) for this channel.","inherits":"BaseGuildVoiceChannel#setRateLimitPerUser","inherited":true,"implements":["TextBasedChannel#setRateLimitPerUser"],"params":[{"name":"rateLimitPerUser","description":"The new rate limit in seconds","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the channel's rate limit","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":450,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"setNSFW","description":"Sets whether this channel is flagged as NSFW.","inherits":"BaseGuildVoiceChannel#setNSFW","inherited":true,"implements":["TextBasedChannel#setNSFW"],"params":[{"name":"nsfw","description":"Whether the channel should be considered NSFW","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"Reason for changing the channel's NSFW flag","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":460,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"permissionsFor","description":"Gets the overall set of permissions for a member or role in this channel, taking into account channel overwrites.","inherits":"GuildChannel#permissionsFor","inherited":true,"params":[{"name":"memberOrRole","description":"The member or role to obtain the overall permissions for","type":[[["GuildMemberResolvable"]],[["RoleResolvable"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":{"types":[[["Readonly","<"],["Permissions",">"]]],"nullable":true},"meta":{"line":172,"file":"GuildChannel.js","path":"src/structures"}},{"name":"memberPermissions","description":"Gets the overall set of permissions for a member in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#memberPermissions","inherited":true,"params":[{"name":"member","description":"The member to obtain the overall permissions for","type":[[["GuildMember"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","default":true,"type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":212,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rolePermissions","description":"Gets the overall set of permissions for a role in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#rolePermissions","inherited":true,"params":[{"name":"role","description":"The role to obtain the overall permissions for","type":[[["Role"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":241,"file":"GuildChannel.js","path":"src/structures"}},{"name":"lockPermissions","description":"Locks in the permission overwrites from the parent channel.","inherits":"GuildChannel#lockPermissions","inherited":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":261,"file":"GuildChannel.js","path":"src/structures"}},{"name":"edit","description":"Edits the channel.","inherits":"GuildChannel#edit","inherited":true,"examples":["// Edit a channel\nchannel.edit({ name: 'new-channel' })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"data","description":"The new data for the channel","type":[[["ChannelData"]]]},{"name":"reason","description":"Reason for editing this channel","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":289,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setName","description":"Sets a new name for the guild channel.","inherits":"GuildChannel#setName","inherited":true,"examples":["// Set a new channel name\nchannel.setName('not_general')\n .then(newChannel => console.log(`Channel's new name is ${newChannel.name}`))\n .catch(console.error);"],"params":[{"name":"name","description":"The new name for the guild channel","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild channel's name","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":304,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setParent","description":"Sets the parent of this channel.","inherits":"GuildChannel#setParent","inherited":true,"examples":["// Add a parent to a channel\nmessage.channel.setParent('355908108431917066', { lockPermissions: false })\n .then(channel => console.log(`New parent of ${message.channel.name}: ${channel.name}`))\n .catch(console.error);"],"params":[{"name":"channel","description":"The category channel to set as the parent","nullable":true,"type":[[["CategoryChannelResolvable"]]]},{"name":"options","description":"The options for setting the parent","optional":true,"default":"{}","type":[[["SetParentOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":326,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setPosition","description":"Sets a new position for the guild channel.","inherits":"GuildChannel#setPosition","inherited":true,"examples":["// Set a new channel position\nchannel.setPosition(2)\n .then(newChannel => console.log(`Channel's new position is ${newChannel.position}`))\n .catch(console.error);"],"params":[{"name":"position","description":"The new position for the guild channel","type":[[["number"]]]},{"name":"options","description":"Options for setting position","optional":true,"type":[[["SetChannelPositionOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":354,"file":"GuildChannel.js","path":"src/structures"}},{"name":"clone","description":"Clones this channel.","inherits":"GuildChannel#clone","inherited":true,"params":[{"name":"options","description":"The options for cloning this channel","optional":true,"type":[[["GuildChannelCloneOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":369,"file":"GuildChannel.js","path":"src/structures"}},{"name":"equals","description":"Checks if this channel has the same type, topic, position, name, overwrites, and id as another channel.\nIn most cases, a simple `channel.id === channel2.id` will do, and is much faster too.","inherits":"GuildChannel#equals","inherited":true,"params":[{"name":"channel","description":"Channel to compare with","type":[[["GuildChannel"]]]}],"returns":[[["boolean"]]],"meta":{"line":391,"file":"GuildChannel.js","path":"src/structures"}},{"name":"delete","description":"Deletes this channel.","inherits":"GuildChannel#delete","inherited":true,"examples":["// Delete the channel\nchannel.delete('making room for new channels')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"reason","description":"Reason for deleting this channel","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":462,"file":"GuildChannel.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the channel's mention instead of the Channel object.","inherits":"Channel#toString","inherited":true,"examples":["// Logs: Hello from <#123456789012345678>!\nconsole.log(`Hello from ${channel}!`);"],"returns":[[["string"]]],"meta":{"line":129,"file":"Channel.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this channel.","inherits":"Channel#fetch","inherited":true,"params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":152,"file":"Channel.js","path":"src/structures"}},{"name":"isText","description":"Indicates whether this channel is {@link TextBasedChannels text-based}.","inherits":"Channel#isText","inherited":true,"returns":[[["boolean"]]],"meta":{"line":160,"file":"Channel.js","path":"src/structures"}},{"name":"isVoice","description":"Indicates whether this channel is {@link BaseGuildVoiceChannel voice-based}.","inherits":"Channel#isVoice","inherited":true,"returns":[[["boolean"]]],"meta":{"line":168,"file":"Channel.js","path":"src/structures"}},{"name":"isThread","description":"Indicates whether this channel is a {@link ThreadChannel}.","inherits":"Channel#isThread","inherited":true,"returns":[[["boolean"]]],"meta":{"line":176,"file":"Channel.js","path":"src/structures"}},{"name":"isDirectory","description":"Indicates whether this channel is a {@link DirectoryChannel}","inherits":"Channel#isDirectory","inherited":true,"returns":[[["boolean"]]],"meta":{"line":184,"file":"Channel.js","path":"src/structures"}}],"meta":{"line":9,"file":"StageChannel.js","path":"src/structures"}},{"name":"StageInstance","description":"Represents a stage instance.","extends":[[["Base"]]],"props":[{"name":"id","description":"The stage instance's id","type":[[["Snowflake"]]],"meta":{"line":28,"file":"StageInstance.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild associated with the stage channel","type":[[["Snowflake"]]],"meta":{"line":39,"file":"StageInstance.js","path":"src/structures"}},{"name":"channelId","description":"The id of the channel associated with the stage channel","type":[[["Snowflake"]]],"meta":{"line":47,"file":"StageInstance.js","path":"src/structures"}},{"name":"topic","description":"The topic of the stage instance","type":[[["string"]]],"meta":{"line":55,"file":"StageInstance.js","path":"src/structures"}},{"name":"privacyLevel","description":"The privacy level of the stage instance","type":[[["PrivacyLevel"]]],"meta":{"line":63,"file":"StageInstance.js","path":"src/structures"}},{"name":"discoverableDisabled","description":"Whether or not stage discovery is disabled","nullable":true,"type":[[["boolean"]]],"meta":{"line":71,"file":"StageInstance.js","path":"src/structures"}},{"name":"guildScheduledEventId","description":"The associated guild scheduled event id of this stage instance","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":81,"file":"StageInstance.js","path":"src/structures"}},{"name":"channel","description":"The stage channel associated with this stage instance","readonly":true,"nullable":true,"type":[[["StageChannel"]]],"meta":{"line":92,"file":"StageInstance.js","path":"src/structures"}},{"name":"guildScheduledEvent","description":"The associated guild scheduled event of this stage instance","readonly":true,"nullable":true,"type":[[["GuildScheduledEvent"]]],"meta":{"line":101,"file":"StageInstance.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the stage instance has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":110,"file":"StageInstance.js","path":"src/structures"}},{"name":"guild","description":"The guild this stage instance belongs to","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":140,"file":"StageInstance.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp this stage instances was created at","readonly":true,"type":[[["number"]]],"meta":{"line":193,"file":"StageInstance.js","path":"src/structures"}},{"name":"createdAt","description":"The time this stage instance was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":202,"file":"StageInstance.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"edit","description":"Edits this stage instance.","examples":["// Edit a stage instance\nstageInstance.edit({ topic: 'new topic' })\n .then(stageInstance => console.log(stageInstance))\n .catch(console.error)"],"params":[{"name":"options","description":"The options to edit the stage instance","type":[[["StageInstanceEditOptions"]]]}],"returns":[[["Promise","<"],["StageInstance",">"]]],"meta":{"line":154,"file":"StageInstance.js","path":"src/structures"}},{"name":"delete","description":"Deletes this stage instance.","examples":["// Delete a stage instance\nstageInstance.delete()\n .then(stageInstance => console.log(stageInstance))\n .catch(console.error);"],"async":true,"returns":[[["Promise","<"],["StageInstance",">"]]],"meta":{"line":167,"file":"StageInstance.js","path":"src/structures"}},{"name":"setTopic","description":"Sets the topic of this stage instance.","examples":["// Set topic of a stage instance\nstageInstance.setTopic('new topic')\n .then(stageInstance => console.log(`Set the topic to: ${stageInstance.topic}`))\n .catch(console.error);"],"params":[{"name":"topic","description":"The topic for the stage instance","type":[[["string"]]]}],"returns":[[["Promise","<"],["StageInstance",">"]]],"meta":{"line":184,"file":"StageInstance.js","path":"src/structures"}}],"meta":{"line":20,"file":"StageInstance.js","path":"src/structures"}},{"name":"Sticker","description":"Represents a Sticker.","extends":[[["Base"]]],"props":[{"name":"id","description":"The sticker's id","type":[[["Snowflake"]]],"meta":{"line":33,"file":"Sticker.js","path":"src/structures"}},{"name":"description","description":"The description of the sticker","nullable":true,"type":[[["string"]]],"meta":{"line":40,"file":"Sticker.js","path":"src/structures"}},{"name":"type","description":"The type of the sticker","nullable":true,"type":[[["StickerType"]]],"meta":{"line":50,"file":"Sticker.js","path":"src/structures"}},{"name":"format","description":"The format of the sticker","type":[[["StickerFormatType"]]],"meta":{"line":60,"file":"Sticker.js","path":"src/structures"}},{"name":"name","description":"The name of the sticker","type":[[["string"]]],"meta":{"line":68,"file":"Sticker.js","path":"src/structures"}},{"name":"packId","description":"The id of the pack the sticker is from, for standard stickers","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":76,"file":"Sticker.js","path":"src/structures"}},{"name":"tags","description":"An array of tags for the sticker","nullable":true,"type":[[["Array","<"],["string",">"]]],"meta":{"line":86,"file":"Sticker.js","path":"src/structures"}},{"name":"available","description":"Whether or not the guild sticker is available","nullable":true,"type":[[["boolean"]]],"meta":{"line":96,"file":"Sticker.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild that owns this sticker","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":106,"file":"Sticker.js","path":"src/structures"}},{"name":"user","description":"The user that uploaded the guild sticker","nullable":true,"type":[[["User"]]],"meta":{"line":116,"file":"Sticker.js","path":"src/structures"}},{"name":"sortValue","description":"The standard sticker's sort order within its pack","nullable":true,"type":[[["number"]]],"meta":{"line":126,"file":"Sticker.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the sticker was created at","readonly":true,"type":[[["number"]]],"meta":{"line":137,"file":"Sticker.js","path":"src/structures"}},{"name":"createdAt","description":"The time the sticker was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":146,"file":"Sticker.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the sticker has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":155,"file":"Sticker.js","path":"src/structures"}},{"name":"partial","description":"Whether this sticker is partial","readonly":true,"type":[[["boolean"]]],"meta":{"line":185,"file":"Sticker.js","path":"src/structures"}},{"name":"guild","description":"The guild that owns this sticker","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":194,"file":"Sticker.js","path":"src/structures"}},{"name":"url","description":"A link to the sticker\nIf the sticker's format is LOTTIE, it returns the URL of the Lottie JSON file.","type":[[["string"]]],"meta":{"line":203,"file":"Sticker.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"fetch","description":"Fetches this sticker.","async":true,"returns":[[["Promise","<"],["Sticker",">"]]],"meta":{"line":211,"file":"Sticker.js","path":"src/structures"}},{"name":"fetchPack","description":"Fetches the pack this sticker is part of from Discord, if this is a Nitro sticker.","async":true,"returns":[[["Promise",""],["StickerPack",">"]]],"meta":{"line":221,"file":"Sticker.js","path":"src/structures"}},{"name":"fetchUser","description":"Fetches the user who uploaded this sticker, if this is a guild sticker.","async":true,"returns":[[["Promise",""],["User",">"]]],"meta":{"line":229,"file":"Sticker.js","path":"src/structures"}},{"name":"edit","description":"Edits the sticker.","examples":["// Update the name of a sticker\nsticker.edit({ name: 'new name' })\n .then(s => console.log(`Updated the name of the sticker to ${s.name}`))\n .catch(console.error);"],"params":[{"name":"data","description":"The new data for the sticker","optional":true,"type":[[["GuildStickerEditData"]]]},{"name":"reason","description":"Reason for editing this sticker","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Sticker",">"]]],"meta":{"line":254,"file":"Sticker.js","path":"src/structures"}},{"name":"delete","description":"Deletes the sticker.","examples":["// Delete a message\nsticker.delete()\n .then(s => console.log(`Deleted sticker ${s.name}`))\n .catch(console.error);"],"params":[{"name":"reason","description":"Reason for deleting this sticker","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Sticker",">"]]],"meta":{"line":268,"file":"Sticker.js","path":"src/structures"}},{"name":"equals","description":"Whether this sticker is the same as another one.","params":[{"name":"other","description":"The sticker to compare it to","type":[[["Sticker"]],[["APISticker"]]]}],"returns":[[["boolean"]]],"meta":{"line":278,"file":"Sticker.js","path":"src/structures"}}],"meta":{"line":21,"file":"Sticker.js","path":"src/structures"}},{"name":"StickerPack","description":"Represents a pack of standard stickers.","extends":[[["Base"]]],"props":[{"name":"id","description":"The Sticker pack's id","type":[[["Snowflake"]]],"meta":{"line":19,"file":"StickerPack.js","path":"src/structures"}},{"name":"stickers","description":"The stickers in the pack","type":[[["Collection","<"],["Snowflake",", "],["Sticker",">"]]],"meta":{"line":25,"file":"StickerPack.js","path":"src/structures"}},{"name":"name","description":"The name of the sticker pack","type":[[["string"]]],"meta":{"line":31,"file":"StickerPack.js","path":"src/structures"}},{"name":"skuId","description":"The id of the pack's SKU","type":[[["Snowflake"]]],"meta":{"line":37,"file":"StickerPack.js","path":"src/structures"}},{"name":"coverStickerId","description":"The id of a sticker in the pack which is shown as the pack's icon","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":43,"file":"StickerPack.js","path":"src/structures"}},{"name":"description","description":"The description of the sticker pack","type":[[["string"]]],"meta":{"line":49,"file":"StickerPack.js","path":"src/structures"}},{"name":"bannerId","description":"The id of the sticker pack's banner image","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":55,"file":"StickerPack.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the sticker was created at","readonly":true,"type":[[["number"]]],"meta":{"line":63,"file":"StickerPack.js","path":"src/structures"}},{"name":"createdAt","description":"The time the sticker was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":72,"file":"StickerPack.js","path":"src/structures"}},{"name":"coverSticker","description":"The sticker which is shown as the pack's icon","readonly":true,"nullable":true,"type":[[["Sticker"]]],"meta":{"line":81,"file":"StickerPack.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"bannerURL","description":"The URL to this sticker pack's banner.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":90,"file":"StickerPack.js","path":"src/structures"}}],"meta":{"line":12,"file":"StickerPack.js","path":"src/structures"}},{"name":"StoreChannel","description":"Represents a guild store channel on Discord.\nStore channels have been removed from Discord. See\n[Self-serve Game Selling Deprecation](https://support-dev.discord.com/hc/en-us/articles/6309018858647)\nfor more information.","extends":[[["GuildChannel"]]],"props":[{"name":"nsfw","description":"If the guild considers this channel NSFW","type":[[["boolean"]]],"meta":{"line":20,"file":"StoreChannel.js","path":"src/structures"}},{"name":"guild","description":"The guild the channel is in","type":[[["Guild"]]],"meta":{"line":30,"file":"GuildChannel.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild the channel is in","type":[[["Snowflake"]]],"meta":{"line":36,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionOverwrites","description":"A manager of permission overwrites that belong to this channel","type":[[["PermissionOverwriteManager"]]],"meta":{"line":43,"file":"GuildChannel.js","path":"src/structures"}},{"name":"name","description":"The name of the guild channel","type":[[["string"]]],"meta":{"line":56,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rawPosition","description":"The raw position of the channel from Discord","type":[[["number"]]],"meta":{"line":64,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parentId","description":"The id of the category parent of this channel","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":76,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parent","description":"The category parent of this channel","readonly":true,"nullable":true,"type":[[["CategoryChannel"]]],"meta":{"line":98,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionsLocked","description":"If the permissionOverwrites match the parent channel, null if no parent","readonly":true,"nullable":true,"type":[[["boolean"]]],"meta":{"line":107,"file":"GuildChannel.js","path":"src/structures"}},{"name":"position","description":"The position of the channel","readonly":true,"type":[[["number"]]],"meta":{"line":148,"file":"GuildChannel.js","path":"src/structures"}},{"name":"members","description":"A collection of cached members of this channel, mapped by their ids.\nMembers that can view this channel, if the channel is text-based.\nMembers in the channel, if the channel is voice-based.","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]],"meta":{"line":274,"file":"GuildChannel.js","path":"src/structures"}},{"name":"deletable","description":"Whether the channel is deletable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":416,"file":"GuildChannel.js","path":"src/structures"}},{"name":"manageable","description":"Whether the channel is manageable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":425,"file":"GuildChannel.js","path":"src/structures"}},{"name":"viewable","description":"Whether the channel is viewable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":445,"file":"GuildChannel.js","path":"src/structures"}},{"name":"type","description":"The type of the channel","type":[[["ChannelType"]]],"meta":{"line":41,"file":"Channel.js","path":"src/structures"}},{"name":"id","description":"The channel's id","type":[[["Snowflake"]]],"meta":{"line":51,"file":"Channel.js","path":"src/structures"}},{"name":"flags","description":"The flags that are applied to the channel.","nullable":true,"type":[[["Readonly","<"],["ChannelFlags",">"]]],"meta":{"line":58,"file":"Channel.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the channel was created at","readonly":true,"type":[[["number"]]],"meta":{"line":69,"file":"Channel.js","path":"src/structures"}},{"name":"createdAt","description":"The time the channel was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":78,"file":"Channel.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":87,"file":"Channel.js","path":"src/structures"}},{"name":"partial","description":"Whether this Channel is a partial\nThis is always false outside of DM channels.","readonly":true,"type":[[["boolean"]]],"meta":{"line":118,"file":"Channel.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"createInvite","description":"Creates an invite to this guild channel.","examples":["// Create an invite to a channel\nchannel.createInvite()\n .then(invite => console.log(`Created an invite with a code of ${invite.code}`))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for creating the invite","optional":true,"default":"{}","type":[[["CreateInviteOptions"]]]}],"returns":[[["Promise","<"],["Invite",">"]]],"meta":{"line":41,"file":"StoreChannel.js","path":"src/structures"}},{"name":"fetchInvites","description":"Fetches a collection of invites to this guild channel.\nResolves with a collection mapping invites by their codes.","params":[{"name":"cache","description":"Whether or not to cache the fetched invites","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Collection","<"],["string",", "],["Invite",">>"]]],"meta":{"line":51,"file":"StoreChannel.js","path":"src/structures"}},{"name":"permissionsFor","description":"Gets the overall set of permissions for a member or role in this channel, taking into account channel overwrites.","inherits":"GuildChannel#permissionsFor","inherited":true,"params":[{"name":"memberOrRole","description":"The member or role to obtain the overall permissions for","type":[[["GuildMemberResolvable"]],[["RoleResolvable"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":{"types":[[["Readonly","<"],["Permissions",">"]]],"nullable":true},"meta":{"line":172,"file":"GuildChannel.js","path":"src/structures"}},{"name":"memberPermissions","description":"Gets the overall set of permissions for a member in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#memberPermissions","inherited":true,"params":[{"name":"member","description":"The member to obtain the overall permissions for","type":[[["GuildMember"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","default":true,"type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":212,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rolePermissions","description":"Gets the overall set of permissions for a role in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#rolePermissions","inherited":true,"params":[{"name":"role","description":"The role to obtain the overall permissions for","type":[[["Role"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":241,"file":"GuildChannel.js","path":"src/structures"}},{"name":"lockPermissions","description":"Locks in the permission overwrites from the parent channel.","inherits":"GuildChannel#lockPermissions","inherited":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":261,"file":"GuildChannel.js","path":"src/structures"}},{"name":"edit","description":"Edits the channel.","inherits":"GuildChannel#edit","inherited":true,"examples":["// Edit a channel\nchannel.edit({ name: 'new-channel' })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"data","description":"The new data for the channel","type":[[["ChannelData"]]]},{"name":"reason","description":"Reason for editing this channel","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":289,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setName","description":"Sets a new name for the guild channel.","inherits":"GuildChannel#setName","inherited":true,"examples":["// Set a new channel name\nchannel.setName('not_general')\n .then(newChannel => console.log(`Channel's new name is ${newChannel.name}`))\n .catch(console.error);"],"params":[{"name":"name","description":"The new name for the guild channel","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild channel's name","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":304,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setParent","description":"Sets the parent of this channel.","inherits":"GuildChannel#setParent","inherited":true,"examples":["// Add a parent to a channel\nmessage.channel.setParent('355908108431917066', { lockPermissions: false })\n .then(channel => console.log(`New parent of ${message.channel.name}: ${channel.name}`))\n .catch(console.error);"],"params":[{"name":"channel","description":"The category channel to set as the parent","nullable":true,"type":[[["CategoryChannelResolvable"]]]},{"name":"options","description":"The options for setting the parent","optional":true,"default":"{}","type":[[["SetParentOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":326,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setPosition","description":"Sets a new position for the guild channel.","inherits":"GuildChannel#setPosition","inherited":true,"examples":["// Set a new channel position\nchannel.setPosition(2)\n .then(newChannel => console.log(`Channel's new position is ${newChannel.position}`))\n .catch(console.error);"],"params":[{"name":"position","description":"The new position for the guild channel","type":[[["number"]]]},{"name":"options","description":"Options for setting position","optional":true,"type":[[["SetChannelPositionOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":354,"file":"GuildChannel.js","path":"src/structures"}},{"name":"clone","description":"Clones this channel.","inherits":"GuildChannel#clone","inherited":true,"params":[{"name":"options","description":"The options for cloning this channel","optional":true,"type":[[["GuildChannelCloneOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":369,"file":"GuildChannel.js","path":"src/structures"}},{"name":"equals","description":"Checks if this channel has the same type, topic, position, name, overwrites, and id as another channel.\nIn most cases, a simple `channel.id === channel2.id` will do, and is much faster too.","inherits":"GuildChannel#equals","inherited":true,"params":[{"name":"channel","description":"Channel to compare with","type":[[["GuildChannel"]]]}],"returns":[[["boolean"]]],"meta":{"line":391,"file":"GuildChannel.js","path":"src/structures"}},{"name":"delete","description":"Deletes this channel.","inherits":"GuildChannel#delete","inherited":true,"examples":["// Delete the channel\nchannel.delete('making room for new channels')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"reason","description":"Reason for deleting this channel","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":462,"file":"GuildChannel.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the channel's mention instead of the Channel object.","inherits":"Channel#toString","inherited":true,"examples":["// Logs: Hello from <#123456789012345678>!\nconsole.log(`Hello from ${channel}!`);"],"returns":[[["string"]]],"meta":{"line":129,"file":"Channel.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this channel.","inherits":"Channel#fetch","inherited":true,"params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":152,"file":"Channel.js","path":"src/structures"}},{"name":"isText","description":"Indicates whether this channel is {@link TextBasedChannels text-based}.","inherits":"Channel#isText","inherited":true,"returns":[[["boolean"]]],"meta":{"line":160,"file":"Channel.js","path":"src/structures"}},{"name":"isVoice","description":"Indicates whether this channel is {@link BaseGuildVoiceChannel voice-based}.","inherits":"Channel#isVoice","inherited":true,"returns":[[["boolean"]]],"meta":{"line":168,"file":"Channel.js","path":"src/structures"}},{"name":"isThread","description":"Indicates whether this channel is a {@link ThreadChannel}.","inherits":"Channel#isThread","inherited":true,"returns":[[["boolean"]]],"meta":{"line":176,"file":"Channel.js","path":"src/structures"}},{"name":"isDirectory","description":"Indicates whether this channel is a {@link DirectoryChannel}","inherits":"Channel#isDirectory","inherited":true,"returns":[[["boolean"]]],"meta":{"line":184,"file":"Channel.js","path":"src/structures"}}],"meta":{"line":12,"file":"StoreChannel.js","path":"src/structures"}},{"name":"Team","description":"Represents a Client OAuth2 Application Team.","extends":[[["Base"]]],"props":[{"name":"id","description":"The Team's id","type":[[["Snowflake"]]],"meta":{"line":23,"file":"Team.js","path":"src/structures"}},{"name":"name","description":"The name of the Team","type":[[["string"]]],"meta":{"line":30,"file":"Team.js","path":"src/structures"}},{"name":"icon","description":"The Team's icon hash","nullable":true,"type":[[["string"]]],"meta":{"line":38,"file":"Team.js","path":"src/structures"}},{"name":"ownerId","description":"The Team's owner id","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":48,"file":"Team.js","path":"src/structures"}},{"name":"members","description":"The Team's members","type":[[["Collection","<"],["Snowflake",", "],["TeamMember",">"]]],"meta":{"line":56,"file":"Team.js","path":"src/structures"}},{"name":"owner","description":"The owner of this team","readonly":true,"nullable":true,"type":[[["TeamMember"]]],"meta":{"line":69,"file":"Team.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the team was created at","readonly":true,"type":[[["number"]]],"meta":{"line":78,"file":"Team.js","path":"src/structures"}},{"name":"createdAt","description":"The time the team was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":87,"file":"Team.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"iconURL","description":"A link to the team's icon.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":96,"file":"Team.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the Team's name instead of the\nTeam object.","examples":["// Logs: Team name: My Team\nconsole.log(`Team name: ${team}`);"],"returns":[[["string"]]],"meta":{"line":109,"file":"Team.js","path":"src/structures"}}],"meta":{"line":12,"file":"Team.js","path":"src/structures"}},{"name":"TeamMember","description":"Represents a Client OAuth2 Application Team Member.","extends":[[["Base"]]],"props":[{"name":"team","description":"The Team this member is part of","type":[[["Team"]]],"meta":{"line":18,"file":"TeamMember.js","path":"src/structures"}},{"name":"permissions","description":"The permissions this Team Member has with regard to the team","type":[[["Array","<"],["string",">"]]],"meta":{"line":29,"file":"TeamMember.js","path":"src/structures"}},{"name":"membershipState","description":"The permissions this Team Member has with regard to the team","type":[[["MembershipState"]]],"meta":{"line":37,"file":"TeamMember.js","path":"src/structures"}},{"name":"user","description":"The user for this Team Member","type":[[["User"]]],"meta":{"line":45,"file":"TeamMember.js","path":"src/structures"}},{"name":"id","description":"The Team Member's id","readonly":true,"type":[[["Snowflake"]]],"meta":{"line":54,"file":"TeamMember.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"toString","description":"When concatenated with a string, this automatically returns the team member's mention instead of the\nTeamMember object.","examples":["// Logs: Team Member's mention: <@123456789012345678>\nconsole.log(`Team Member's mention: ${teamMember}`);"],"returns":[[["string"]]],"meta":{"line":66,"file":"TeamMember.js","path":"src/structures"}}],"meta":{"line":10,"file":"TeamMember.js","path":"src/structures"}},{"name":"TextChannel","description":"Represents a guild text channel on Discord.","extends":[[["BaseGuildTextChannel"]]],"props":[{"name":"rateLimitPerUser","description":"The rate limit per user (slowmode) for this channel in seconds","type":[[["number"]]],"meta":{"line":18,"file":"TextChannel.js","path":"src/structures"}},{"name":"messages","description":"A manager of the messages sent to this channel","type":[[["MessageManager"]]],"meta":{"line":21,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"threads","description":"A manager of the threads belonging to this channel","type":[[["GuildTextThreadManager"]]],"meta":{"line":27,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"nsfw","description":"If the guild considers this channel NSFW","type":[[["boolean"]]],"meta":{"line":33,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"topic","description":"The topic of the text channel","nullable":true,"type":[[["string"]]],"meta":{"line":46,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"lastMessageId","description":"The last message id sent in the channel, if one was sent","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":58,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"lastPinTimestamp","description":"The timestamp when the last pinned message was pinned, if there was one","nullable":true,"type":[[["number"]]],"meta":{"line":66,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"defaultAutoArchiveDuration","description":"The default auto archive duration for newly created threads in this channel","nullable":true,"type":[[["number"]]],"meta":{"line":74,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"defaultThreadRateLimitPerUser","description":"The initial rate limit per user (slowmode) to set on newly created threads in a channel.","nullable":true,"type":[[["number"]]],"meta":{"line":82,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"lastMessage","description":"The Message object of the last message in the channel, if one was sent","readonly":true,"nullable":true,"type":[[["Message"]]],"meta":{"line":50,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"lastPinAt","description":"The date when the last pinned message was pinned, if there was one","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":59,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"guild","description":"The guild the channel is in","type":[[["Guild"]]],"meta":{"line":30,"file":"GuildChannel.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild the channel is in","type":[[["Snowflake"]]],"meta":{"line":36,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionOverwrites","description":"A manager of permission overwrites that belong to this channel","type":[[["PermissionOverwriteManager"]]],"meta":{"line":43,"file":"GuildChannel.js","path":"src/structures"}},{"name":"name","description":"The name of the guild channel","type":[[["string"]]],"meta":{"line":56,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rawPosition","description":"The raw position of the channel from Discord","type":[[["number"]]],"meta":{"line":64,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parentId","description":"The id of the category parent of this channel","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":76,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parent","description":"The category parent of this channel","readonly":true,"nullable":true,"type":[[["CategoryChannel"]]],"meta":{"line":98,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionsLocked","description":"If the permissionOverwrites match the parent channel, null if no parent","readonly":true,"nullable":true,"type":[[["boolean"]]],"meta":{"line":107,"file":"GuildChannel.js","path":"src/structures"}},{"name":"position","description":"The position of the channel","readonly":true,"type":[[["number"]]],"meta":{"line":148,"file":"GuildChannel.js","path":"src/structures"}},{"name":"members","description":"A collection of cached members of this channel, mapped by their ids.\nMembers that can view this channel, if the channel is text-based.\nMembers in the channel, if the channel is voice-based.","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]],"meta":{"line":274,"file":"GuildChannel.js","path":"src/structures"}},{"name":"deletable","description":"Whether the channel is deletable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":416,"file":"GuildChannel.js","path":"src/structures"}},{"name":"manageable","description":"Whether the channel is manageable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":425,"file":"GuildChannel.js","path":"src/structures"}},{"name":"viewable","description":"Whether the channel is viewable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":445,"file":"GuildChannel.js","path":"src/structures"}},{"name":"type","description":"The type of the channel","type":[[["ChannelType"]]],"meta":{"line":41,"file":"Channel.js","path":"src/structures"}},{"name":"id","description":"The channel's id","type":[[["Snowflake"]]],"meta":{"line":51,"file":"Channel.js","path":"src/structures"}},{"name":"flags","description":"The flags that are applied to the channel.","nullable":true,"type":[[["Readonly","<"],["ChannelFlags",">"]]],"meta":{"line":58,"file":"Channel.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the channel was created at","readonly":true,"type":[[["number"]]],"meta":{"line":69,"file":"Channel.js","path":"src/structures"}},{"name":"createdAt","description":"The time the channel was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":78,"file":"Channel.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":87,"file":"Channel.js","path":"src/structures"}},{"name":"partial","description":"Whether this Channel is a partial\nThis is always false outside of DM channels.","readonly":true,"type":[[["boolean"]]],"meta":{"line":118,"file":"Channel.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"setRateLimitPerUser","description":"Sets the rate limit per user (slowmode) for this channel.","params":[{"name":"rateLimitPerUser","description":"The new rate limit in seconds","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the channel's rate limit","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["TextChannel",">"]]],"meta":{"line":28,"file":"TextChannel.js","path":"src/structures"}},{"name":"setDefaultAutoArchiveDuration","description":"Sets the default auto archive duration for all newly created threads in this channel.","inherits":"BaseGuildTextChannel#setDefaultAutoArchiveDuration","inherited":true,"params":[{"name":"defaultAutoArchiveDuration","description":"The new default auto archive duration","type":[[["ThreadAutoArchiveDuration"]]]},{"name":"reason","description":"Reason for changing the channel's default auto archive duration","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["TextChannel",">"]]],"meta":{"line":98,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"setType","description":"Sets the type of this channel (only conversion between text and news is supported)","inherits":"BaseGuildTextChannel#setType","inherited":true,"params":[{"name":"type","description":"The new channel type","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the channel's type","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":108,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"setTopic","description":"Sets a new topic for the guild channel.","inherits":"BaseGuildTextChannel#setTopic","inherited":true,"examples":["// Set a new channel topic\nchannel.setTopic('needs more rate limiting')\n .then(newChannel => console.log(`Channel's new topic is ${newChannel.topic}`))\n .catch(console.error);"],"params":[{"name":"topic","description":"The new topic for the guild channel","nullable":true,"type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild channel's topic","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":123,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"createInvite","description":"Creates an invite to this guild channel.","inherits":"BaseGuildTextChannel#createInvite","inherited":true,"examples":["// Create an invite to a channel\nchannel.createInvite()\n .then(invite => console.log(`Created an invite with a code of ${invite.code}`))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for creating the invite","optional":true,"default":"{}","type":[[["CreateInviteOptions"]]]}],"returns":[[["Promise","<"],["Invite",">"]]],"meta":{"line":161,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"fetchInvites","description":"Fetches a collection of invites to this guild channel.\nResolves with a collection mapping invites by their codes.","inherits":"BaseGuildTextChannel#fetchInvites","inherited":true,"params":[{"name":"cache","description":"Whether or not to cache the fetched invites","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Collection","<"],["string",", "],["Invite",">>"]]],"meta":{"line":171,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"send","description":"Sends a message to this channel.","inherits":"BaseGuildTextChannel#send","inherited":true,"implements":["TextBasedChannel#send"],"examples":["// Send a basic message\nchannel.send('hello!')\n .then(message => console.log(`Sent message: ${message.content}`))\n .catch(console.error);","// Send a remote file\nchannel.send({\n files: ['https://cdn.discordapp.com/icons/222078108977594368/6e1019b3179d71046e463a75915e7244.png?size=2048']\n})\n .then(console.log)\n .catch(console.error);","// Send a local file\nchannel.send({\n files: [{\n attachment: 'entire/path/to/file.jpg',\n name: 'file.jpg',\n description: 'A description of the file'\n }]\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["MessageOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":150,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"sendTyping","description":"Sends a typing indicator in the channel.","inherits":"BaseGuildTextChannel#sendTyping","inherited":true,"implements":["TextBasedChannel#sendTyping"],"examples":["// Start typing in a channel\nchannel.sendTyping();"],"async":true,"returns":{"types":[[["Promise","<"],["void",">"]]],"description":"Resolves upon the typing status being sent"},"meta":{"line":355,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createMessageCollector","description":"Creates a Message Collector.","inherits":"BaseGuildTextChannel#createMessageCollector","inherited":true,"implements":["TextBasedChannel#createMessageCollector"],"examples":["// Create a message collector\nconst filter = m => m.content.includes('discord');\nconst collector = channel.createMessageCollector({ filter, time: 15_000 });\ncollector.on('collect', m => console.log(`Collected ${m.content}`));\ncollector.on('end', collected => console.log(`Collected ${collected.size} items`));"],"params":[{"name":"options","description":"The options to pass to the collector","optional":true,"default":"{}","type":[[["MessageCollectorOptions"]]]}],"returns":[[["MessageCollector"]]],"meta":{"line":370,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"awaitMessages","description":"Similar to createMessageCollector but in promise form.\nResolves with a collection of messages that pass the specified filter.","inherits":"BaseGuildTextChannel#awaitMessages","inherited":true,"implements":["TextBasedChannel#awaitMessages"],"examples":["// Await !vote messages\nconst filter = m => m.content.startsWith('!vote');\n// Errors: ['time'] treats ending because of the time limit as an error\nchannel.awaitMessages({ filter, max: 4, time: 60_000, errors: ['time'] })\n .then(collected => console.log(collected.size))\n .catch(collected => console.log(`After a minute, only ${collected.size} out of 4 voted.`));"],"params":[{"name":"options","description":"Optional options to pass to the internal collector","optional":true,"default":"{}","type":[[["AwaitMessagesOptions"]]]}],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Message",">>"]]],"meta":{"line":393,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"fetchWebhooks","description":"Fetches all webhooks for the channel.","inherits":"BaseGuildTextChannel#fetchWebhooks","inherited":true,"implements":["TextBasedChannel#fetchWebhooks"],"examples":["// Fetch webhooks\nchannel.fetchWebhooks()\n .then(hooks => console.log(`This channel has ${hooks.size} hooks`))\n .catch(console.error);"],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Webhook",">>"]]],"meta":{"line":415,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createWebhook","description":"Creates a webhook for the channel.","inherits":"BaseGuildTextChannel#createWebhook","inherited":true,"implements":["TextBasedChannel#createWebhook"],"examples":["// Create a webhook for the current channel\nchannel.createWebhook('Snek', {\n avatar: 'https://i.imgur.com/mI8XcpG.jpg',\n reason: 'Needed a cool new Webhook'\n})\n .then(console.log)\n .catch(console.error)"],"params":[{"name":"name","description":"The name of the webhook","type":[[["string"]]]},{"name":"options","description":"Options for creating the webhook","optional":true,"type":[[["ChannelWebhookCreateOptions"]]]}],"returns":{"types":[[["Promise","<"],["Webhook",">"]]],"description":"Returns the created Webhook"},"meta":{"line":440,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"setNSFW","description":"Sets whether this channel is flagged as NSFW.","inherits":"BaseGuildTextChannel#setNSFW","inherited":true,"implements":["TextBasedChannel#setNSFW"],"params":[{"name":"nsfw","description":"Whether the channel should be considered NSFW","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"Reason for changing the channel's NSFW flag","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":460,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"permissionsFor","description":"Gets the overall set of permissions for a member or role in this channel, taking into account channel overwrites.","inherits":"GuildChannel#permissionsFor","inherited":true,"params":[{"name":"memberOrRole","description":"The member or role to obtain the overall permissions for","type":[[["GuildMemberResolvable"]],[["RoleResolvable"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":{"types":[[["Readonly","<"],["Permissions",">"]]],"nullable":true},"meta":{"line":172,"file":"GuildChannel.js","path":"src/structures"}},{"name":"memberPermissions","description":"Gets the overall set of permissions for a member in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#memberPermissions","inherited":true,"params":[{"name":"member","description":"The member to obtain the overall permissions for","type":[[["GuildMember"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","default":true,"type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":212,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rolePermissions","description":"Gets the overall set of permissions for a role in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#rolePermissions","inherited":true,"params":[{"name":"role","description":"The role to obtain the overall permissions for","type":[[["Role"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":241,"file":"GuildChannel.js","path":"src/structures"}},{"name":"lockPermissions","description":"Locks in the permission overwrites from the parent channel.","inherits":"GuildChannel#lockPermissions","inherited":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":261,"file":"GuildChannel.js","path":"src/structures"}},{"name":"edit","description":"Edits the channel.","inherits":"GuildChannel#edit","inherited":true,"examples":["// Edit a channel\nchannel.edit({ name: 'new-channel' })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"data","description":"The new data for the channel","type":[[["ChannelData"]]]},{"name":"reason","description":"Reason for editing this channel","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":289,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setName","description":"Sets a new name for the guild channel.","inherits":"GuildChannel#setName","inherited":true,"examples":["// Set a new channel name\nchannel.setName('not_general')\n .then(newChannel => console.log(`Channel's new name is ${newChannel.name}`))\n .catch(console.error);"],"params":[{"name":"name","description":"The new name for the guild channel","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild channel's name","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":304,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setParent","description":"Sets the parent of this channel.","inherits":"GuildChannel#setParent","inherited":true,"examples":["// Add a parent to a channel\nmessage.channel.setParent('355908108431917066', { lockPermissions: false })\n .then(channel => console.log(`New parent of ${message.channel.name}: ${channel.name}`))\n .catch(console.error);"],"params":[{"name":"channel","description":"The category channel to set as the parent","nullable":true,"type":[[["CategoryChannelResolvable"]]]},{"name":"options","description":"The options for setting the parent","optional":true,"default":"{}","type":[[["SetParentOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":326,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setPosition","description":"Sets a new position for the guild channel.","inherits":"GuildChannel#setPosition","inherited":true,"examples":["// Set a new channel position\nchannel.setPosition(2)\n .then(newChannel => console.log(`Channel's new position is ${newChannel.position}`))\n .catch(console.error);"],"params":[{"name":"position","description":"The new position for the guild channel","type":[[["number"]]]},{"name":"options","description":"Options for setting position","optional":true,"type":[[["SetChannelPositionOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":354,"file":"GuildChannel.js","path":"src/structures"}},{"name":"clone","description":"Clones this channel.","inherits":"GuildChannel#clone","inherited":true,"params":[{"name":"options","description":"The options for cloning this channel","optional":true,"type":[[["GuildChannelCloneOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":369,"file":"GuildChannel.js","path":"src/structures"}},{"name":"equals","description":"Checks if this channel has the same type, topic, position, name, overwrites, and id as another channel.\nIn most cases, a simple `channel.id === channel2.id` will do, and is much faster too.","inherits":"GuildChannel#equals","inherited":true,"params":[{"name":"channel","description":"Channel to compare with","type":[[["GuildChannel"]]]}],"returns":[[["boolean"]]],"meta":{"line":391,"file":"GuildChannel.js","path":"src/structures"}},{"name":"delete","description":"Deletes this channel.","inherits":"GuildChannel#delete","inherited":true,"examples":["// Delete the channel\nchannel.delete('making room for new channels')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"reason","description":"Reason for deleting this channel","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":462,"file":"GuildChannel.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the channel's mention instead of the Channel object.","inherits":"Channel#toString","inherited":true,"examples":["// Logs: Hello from <#123456789012345678>!\nconsole.log(`Hello from ${channel}!`);"],"returns":[[["string"]]],"meta":{"line":129,"file":"Channel.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this channel.","inherits":"Channel#fetch","inherited":true,"params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":152,"file":"Channel.js","path":"src/structures"}},{"name":"isText","description":"Indicates whether this channel is {@link TextBasedChannels text-based}.","inherits":"Channel#isText","inherited":true,"returns":[[["boolean"]]],"meta":{"line":160,"file":"Channel.js","path":"src/structures"}},{"name":"isVoice","description":"Indicates whether this channel is {@link BaseGuildVoiceChannel voice-based}.","inherits":"Channel#isVoice","inherited":true,"returns":[[["boolean"]]],"meta":{"line":168,"file":"Channel.js","path":"src/structures"}},{"name":"isThread","description":"Indicates whether this channel is a {@link ThreadChannel}.","inherits":"Channel#isThread","inherited":true,"returns":[[["boolean"]]],"meta":{"line":176,"file":"Channel.js","path":"src/structures"}},{"name":"isDirectory","description":"Indicates whether this channel is a {@link DirectoryChannel}","inherits":"Channel#isDirectory","inherited":true,"returns":[[["boolean"]]],"meta":{"line":184,"file":"Channel.js","path":"src/structures"}}],"meta":{"line":9,"file":"TextChannel.js","path":"src/structures"}},{"name":"TextInputComponent","description":"Represents a text input component in a modal","extends":[[["BaseMessageComponent"]]],"construct":{"name":"TextInputComponent","params":[{"name":"data","description":"TextInputComponent to clone or raw data","optional":true,"default":"{}","type":[[["TextInputComponent"]],[["TextInputComponentOptions"]]]}]},"props":[{"name":"customId","description":"A unique string to be sent in the interaction when submitted","nullable":true,"type":[[["string"]]],"meta":{"line":40,"file":"TextInputComponent.js","path":"src/structures"}},{"name":"label","description":"The text to be displayed above this text input component","nullable":true,"type":[[["string"]]],"meta":{"line":46,"file":"TextInputComponent.js","path":"src/structures"}},{"name":"maxLength","description":"Maximum length of text that can be entered","nullable":true,"type":[[["number"]]],"meta":{"line":52,"file":"TextInputComponent.js","path":"src/structures"}},{"name":"minLength","description":"Minimum length of text required to be entered","nullable":true,"type":[[["string"]]],"meta":{"line":58,"file":"TextInputComponent.js","path":"src/structures"}},{"name":"placeholder","description":"Custom placeholder text to display when no text is entered","nullable":true,"type":[[["string"]]],"meta":{"line":64,"file":"TextInputComponent.js","path":"src/structures"}},{"name":"required","description":"Whether or not this text input component is required","nullable":true,"type":[[["boolean"]]],"meta":{"line":70,"file":"TextInputComponent.js","path":"src/structures"}},{"name":"style","description":"The style of this text input component","nullable":true,"type":[[["TextInputStyle"]]],"meta":{"line":76,"file":"TextInputComponent.js","path":"src/structures"}},{"name":"value","description":"Value of this text input component","nullable":true,"type":[[["string"]]],"meta":{"line":82,"file":"TextInputComponent.js","path":"src/structures"}},{"name":"type","description":"The type of this component","nullable":true,"type":[[["MessageComponentType"]]],"meta":{"line":52,"file":"BaseMessageComponent.js","path":"src/structures"}}],"methods":[{"name":"setValue","description":"Sets the value of this text input component","params":[{"name":"value","description":"Value of this text input component","type":[[["string"]]]}],"returns":[[["TextInputComponent"]]],"meta":{"line":90,"file":"TextInputComponent.js","path":"src/structures"}},{"name":"toJSON","description":"Transforms the text input component into a plain object","returns":{"types":[[["APITextInput"]]],"description":"The raw data of this text input component"},"meta":{"line":99,"file":"TextInputComponent.js","path":"src/structures"}},{"name":"resolveStyle","description":"Resolves the style of a text input component","scope":"static","access":"private","params":[{"name":"style","description":"The style to resolve","type":[[["TextInputStyleResolvable"]]]}],"returns":[[["TextInputStyle"]]],"meta":{"line":126,"file":"TextInputComponent.js","path":"src/structures"}}],"meta":{"line":13,"file":"TextInputComponent.js","path":"src/structures"}},{"name":"ThreadChannel","description":"Represents a thread channel on Discord.","extends":[[["Channel"]]],"implements":[[["TextBasedChannel"]]],"props":[{"name":"guild","description":"The guild the thread is in","type":[[["Guild"]]],"meta":{"line":25,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild the channel is in","type":[[["Snowflake"]]],"meta":{"line":31,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"messages","description":"A manager of the messages sent to this thread","type":[[["MessageManager"]]],"meta":{"line":37,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"members","description":"A manager of the members that are part of this thread","type":[[["ThreadMemberManager"]]],"meta":{"line":43,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"name","description":"The name of the thread","type":[[["string"]]],"meta":{"line":55,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"parentId","description":"The id of the parent channel of this thread","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":67,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"locked","description":"Whether the thread is locked","nullable":true,"type":[[["boolean"]]],"meta":{"line":77,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"invitable","description":"Whether members without `MANAGE_THREADS` can invite other members without `MANAGE_THREADS`\nAlways `null` in public threads","nullable":true,"type":[[["boolean"]]],"meta":{"line":84,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"archived","description":"Whether the thread is archived","nullable":true,"type":[[["boolean"]]],"meta":{"line":90,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"autoArchiveDuration","description":"The amount of time (in minutes) after which the thread will automatically archive in case of no recent activity","nullable":true,"type":[[["number"]]],"meta":{"line":96,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"archiveTimestamp","description":"The timestamp when the thread's archive status was last changed\nIf the thread was never archived or unarchived, this is the timestamp at which the thread was\ncreated","nullable":true,"type":[[["number"]]],"meta":{"line":104,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"ownerId","description":"The id of the member who created this thread","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":125,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"lastMessageId","description":"The last message id sent in this thread, if one was sent","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":135,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"lastPinTimestamp","description":"The timestamp when the last pinned message was pinned, if there was one","nullable":true,"type":[[["number"]]],"meta":{"line":145,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"rateLimitPerUser","description":"The rate limit per user (slowmode) for this thread in seconds","nullable":true,"type":[[["number"]]],"meta":{"line":155,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"messageCount","description":"Threads created before July 1, 2022 may have an inaccurate count.\nIf you need an approximate value higher than that, use `ThreadChannel#messages.cache.size`","nullable":true,"type":[[["number"]]],"meta":{"line":166,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"memberCount","description":"The approximate count of users in this thread\nThis stops counting at 50. If you need an approximate value higher than that, use\n`ThreadChannel#members.cache.size`","nullable":true,"type":[[["number"]]],"meta":{"line":178,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"totalMessageSent","description":"The number of messages ever sent in a thread, similar to {@link ThreadChannel#messageCount} except it\nwill not decrement whenever a message is deleted","nullable":true,"type":[[["number"]]],"meta":{"line":189,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"appliedTags","description":"The tags applied to this thread","type":[[["Array","<"],["Snowflake",">"]]],"meta":{"line":199,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp when this thread was created. This isn't available for threads\ncreated before 2022-01-09","readonly":true,"nullable":true,"type":[[["number"]]],"meta":{"line":214,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"guildMembers","description":"A collection of associated guild member objects of this thread's members","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]],"meta":{"line":223,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"archivedAt","description":"The time at which this thread's archive status was last changed\nIf the thread was never archived or unarchived, this is the time at which the thread was created","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":233,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"createdAt","description":"The time the thread was created at","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":243,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"parent","description":"The parent channel of this thread","readonly":true,"nullable":true,"type":[[["NewsChannel"]],[["TextChannel"]],[["ForumChannel"]]],"meta":{"line":252,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"joined","description":"Whether the client user is a member of the thread.","readonly":true,"type":[[["boolean"]]],"meta":{"line":482,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"editable","description":"Whether the thread is editable by the client user (name, archived, autoArchiveDuration)","readonly":true,"type":[[["boolean"]]],"meta":{"line":491,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"joinable","description":"Whether the thread is joinable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":502,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"manageable","description":"Whether the thread is manageable by the client user, for deleting or editing rateLimitPerUser or locked.","readonly":true,"type":[[["boolean"]]],"meta":{"line":518,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"viewable","description":"Whether the thread is viewable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":535,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"sendable","description":"Whether the client user can send messages in this thread","readonly":true,"type":[[["boolean"]]],"meta":{"line":547,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"unarchivable","description":"Whether the thread is unarchivable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":566,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"lastMessage","description":"The Message object of the last message in the channel, if one was sent","readonly":true,"nullable":true,"type":[[["Message"]]],"meta":{"line":50,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"lastPinAt","description":"The date when the last pinned message was pinned, if there was one","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":59,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"type","description":"The type of the channel","type":[[["ChannelType"]]],"meta":{"line":41,"file":"Channel.js","path":"src/structures"}},{"name":"id","description":"The channel's id","type":[[["Snowflake"]]],"meta":{"line":51,"file":"Channel.js","path":"src/structures"}},{"name":"flags","description":"The flags that are applied to the channel.","nullable":true,"type":[[["Readonly","<"],["ChannelFlags",">"]]],"meta":{"line":58,"file":"Channel.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":87,"file":"Channel.js","path":"src/structures"}},{"name":"partial","description":"Whether this Channel is a partial\nThis is always false outside of DM channels.","readonly":true,"type":[[["boolean"]]],"meta":{"line":118,"file":"Channel.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"join","description":"Makes the client user join the thread.","async":true,"returns":[[["Promise","<"],["ThreadChannel",">"]]],"meta":{"line":260,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"leave","description":"Makes the client user leave the thread.","async":true,"returns":[[["Promise","<"],["ThreadChannel",">"]]],"meta":{"line":269,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"permissionsFor","description":"Gets the overall set of permissions for a member or role in this thread's parent channel, taking overwrites into\naccount.","params":[{"name":"memberOrRole","description":"The member or role to obtain the overall permissions for","type":[[["GuildMemberResolvable"]],[["RoleResolvable"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":{"types":[[["Readonly","<"],["Permissions",">"]]],"nullable":true},"meta":{"line":281,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"fetchOwner","description":"Fetches the owner of this thread. If the thread member object isn't needed,\nuse {@link ThreadChannel#ownerId} instead.","params":[{"name":"options","description":"The options for fetching the member","optional":true,"type":[[["BaseFetchOptions"]]]}],"async":true,"returns":[[["Promise",""],["ThreadMember",">"]]],"meta":{"line":291,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"fetchStarterMessage","description":"Fetches the message that started this thread, if any.\nThe `Promise` will reject if the original message in a forum post is deleted\nor when the original message in the parent channel is deleted.\nIf you just need the id of that message, use {@link ThreadChannel#id} instead.","params":[{"name":"options","description":"Additional options for this fetch","optional":true,"type":[[["BaseFetchOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["null",")>"]]],"meta":{"line":311,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"edit","description":"Edits this thread.","examples":["// Edit a thread\nthread.edit({ name: 'new-thread' })\n .then(editedThread => console.log(editedThread))\n .catch(console.error);"],"params":[{"name":"data","description":"The new data for this thread","type":[[["ThreadEditData"]]]},{"name":"reason","description":"Reason for editing this thread","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["ThreadChannel",">"]]],"meta":{"line":342,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"setArchived","description":"Sets whether the thread is archived.","examples":["// Archive the thread\nthread.setArchived(true)\n .then(newThread => console.log(`Thread is now ${newThread.archived ? 'archived' : 'active'}`))\n .catch(console.error);"],"params":[{"name":"archived","description":"Whether the thread is archived","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"Reason for archiving or unarchiving","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ThreadChannel",">"]]],"meta":{"line":374,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"setAutoArchiveDuration","description":"Sets the duration after which the thread will automatically archive in case of no recent activity.","examples":["// Set the thread's auto archive time to 1 hour\nthread.setAutoArchiveDuration(60)\n .then(newThread => {\n console.log(`Thread will now archive after ${newThread.autoArchiveDuration} minutes of inactivity`);\n });\n .catch(console.error);"],"params":[{"name":"autoArchiveDuration","description":"The amount of time (in minutes) after which the thread\nshould automatically archive in case of no recent activity","type":[[["ThreadAutoArchiveDuration"]]]},{"name":"reason","description":"Reason for changing the auto archive duration","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ThreadChannel",">"]]],"meta":{"line":392,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"setInvitable","description":"Sets whether members without the `MANAGE_THREADS` permission can invite other members without the\n`MANAGE_THREADS` permission to this thread.","params":[{"name":"invitable","description":"Whether non-moderators can invite non-moderators to this thread","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"Reason for changing invite","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ThreadChannel",">"]]],"meta":{"line":403,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"setLocked","description":"Sets whether the thread can be **unarchived** by anyone with `SEND_MESSAGES` permission.\nWhen a thread is locked only members with `MANAGE_THREADS` can unarchive it.","examples":["// Set the thread to locked\nthread.setLocked(true)\n .then(newThread => console.log(`Thread is now ${newThread.locked ? 'locked' : 'unlocked'}`))\n .catch(console.error);"],"params":[{"name":"locked","description":"Whether the thread is locked","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"Reason for locking or unlocking the thread","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ThreadChannel",">"]]],"meta":{"line":420,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"setName","description":"Sets a new name for this thread.","examples":["// Change the thread's name\nthread.setName('not_general')\n .then(newThread => console.log(`Thread's new name is ${newThread.name}`))\n .catch(console.error);"],"params":[{"name":"name","description":"The new name for the thread","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the thread's name","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ThreadChannel",">"]]],"meta":{"line":435,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"setRateLimitPerUser","description":"Sets the rate limit per user (slowmode) for this thread.","implements":["TextBasedChannel#setRateLimitPerUser"],"params":[{"name":"rateLimitPerUser","description":"The new rate limit in seconds","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the thread's rate limit","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ThreadChannel",">"]]],"meta":{"line":445,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"pin","description":"Pins this thread from the forum channel.","params":[{"name":"reason","description":"Reason for pinning","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ThreadChannel",">"]]],"meta":{"line":454,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"unpin","description":"Unpins this thread from the forum channel.","params":[{"name":"reason","description":"Reason for unpinning","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ThreadChannel",">"]]],"meta":{"line":463,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"setAppliedTags","description":"Set the applied tags for this channel (only applicable to forum threads)","params":[{"name":"appliedTags","description":"The tags to set for this channel","type":[[["Array","<"],["Snowflake",">"]]]},{"name":"reason","description":"Reason for changing the thread's applied tags","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ThreadChannel",">"]]],"meta":{"line":473,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"isPrivate","description":"Whether this thread is a private thread","returns":[[["boolean"]]],"meta":{"line":574,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"delete","description":"Deletes this thread.","examples":["// Delete the thread\nthread.delete('cleaning out old threads')\n .then(deletedThread => console.log(deletedThread))\n .catch(console.error);"],"params":[{"name":"reason","description":"Reason for deleting this thread","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["ThreadChannel",">"]]],"meta":{"line":588,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"send","description":"Sends a message to this channel.","implements":["TextBasedChannel#send"],"examples":["// Send a basic message\nchannel.send('hello!')\n .then(message => console.log(`Sent message: ${message.content}`))\n .catch(console.error);","// Send a remote file\nchannel.send({\n files: ['https://cdn.discordapp.com/icons/222078108977594368/6e1019b3179d71046e463a75915e7244.png?size=2048']\n})\n .then(console.log)\n .catch(console.error);","// Send a local file\nchannel.send({\n files: [{\n attachment: 'entire/path/to/file.jpg',\n name: 'file.jpg',\n description: 'A description of the file'\n }]\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["MessageOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":150,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"sendTyping","description":"Sends a typing indicator in the channel.","implements":["TextBasedChannel#sendTyping"],"examples":["// Start typing in a channel\nchannel.sendTyping();"],"async":true,"returns":{"types":[[["Promise","<"],["void",">"]]],"description":"Resolves upon the typing status being sent"},"meta":{"line":355,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createMessageCollector","description":"Creates a Message Collector.","implements":["TextBasedChannel#createMessageCollector"],"examples":["// Create a message collector\nconst filter = m => m.content.includes('discord');\nconst collector = channel.createMessageCollector({ filter, time: 15_000 });\ncollector.on('collect', m => console.log(`Collected ${m.content}`));\ncollector.on('end', collected => console.log(`Collected ${collected.size} items`));"],"params":[{"name":"options","description":"The options to pass to the collector","optional":true,"default":"{}","type":[[["MessageCollectorOptions"]]]}],"returns":[[["MessageCollector"]]],"meta":{"line":370,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"awaitMessages","description":"Similar to createMessageCollector but in promise form.\nResolves with a collection of messages that pass the specified filter.","implements":["TextBasedChannel#awaitMessages"],"examples":["// Await !vote messages\nconst filter = m => m.content.startsWith('!vote');\n// Errors: ['time'] treats ending because of the time limit as an error\nchannel.awaitMessages({ filter, max: 4, time: 60_000, errors: ['time'] })\n .then(collected => console.log(collected.size))\n .catch(collected => console.log(`After a minute, only ${collected.size} out of 4 voted.`));"],"params":[{"name":"options","description":"Optional options to pass to the internal collector","optional":true,"default":"{}","type":[[["AwaitMessagesOptions"]]]}],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Message",">>"]]],"meta":{"line":393,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the channel's mention instead of the Channel object.","inherits":"Channel#toString","inherited":true,"examples":["// Logs: Hello from <#123456789012345678>!\nconsole.log(`Hello from ${channel}!`);"],"returns":[[["string"]]],"meta":{"line":129,"file":"Channel.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this channel.","inherits":"Channel#fetch","inherited":true,"params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":152,"file":"Channel.js","path":"src/structures"}},{"name":"isText","description":"Indicates whether this channel is {@link TextBasedChannels text-based}.","inherits":"Channel#isText","inherited":true,"returns":[[["boolean"]]],"meta":{"line":160,"file":"Channel.js","path":"src/structures"}},{"name":"isVoice","description":"Indicates whether this channel is {@link BaseGuildVoiceChannel voice-based}.","inherits":"Channel#isVoice","inherited":true,"returns":[[["boolean"]]],"meta":{"line":168,"file":"Channel.js","path":"src/structures"}},{"name":"isThread","description":"Indicates whether this channel is a {@link ThreadChannel}.","inherits":"Channel#isThread","inherited":true,"returns":[[["boolean"]]],"meta":{"line":176,"file":"Channel.js","path":"src/structures"}},{"name":"isDirectory","description":"Indicates whether this channel is a {@link DirectoryChannel}","inherits":"Channel#isDirectory","inherited":true,"returns":[[["boolean"]]],"meta":{"line":184,"file":"Channel.js","path":"src/structures"}}],"meta":{"line":17,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"ThreadMember","description":"Represents a Member for a Thread.","extends":[[["Base"]]],"props":[{"name":"thread","description":"The thread that this member is a part of","type":[[["ThreadChannel"]]],"meta":{"line":18,"file":"ThreadMember.js","path":"src/structures"}},{"name":"joinedTimestamp","description":"The timestamp the member last joined the thread at","nullable":true,"type":[[["number"]]],"meta":{"line":24,"file":"ThreadMember.js","path":"src/structures"}},{"name":"id","description":"The id of the thread member","type":[[["Snowflake"]]],"meta":{"line":30,"file":"ThreadMember.js","path":"src/structures"}},{"name":"flags","description":"The flags for this thread member","type":[[["ThreadMemberFlags"]]],"meta":{"line":43,"file":"ThreadMember.js","path":"src/structures"}},{"name":"member","description":"The guild member associated with this thread member.","access":"private","nullable":true,"type":[[["GuildMember"]]],"meta":{"line":52,"file":"ThreadMember.js","path":"src/structures"}},{"name":"guildMember","description":"The guild member associated with this thread member","readonly":true,"nullable":true,"type":[[["GuildMember"]]],"meta":{"line":63,"file":"ThreadMember.js","path":"src/structures"}},{"name":"joinedAt","description":"The last time this member joined the thread","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":72,"file":"ThreadMember.js","path":"src/structures"}},{"name":"user","description":"The user associated with this thread member","readonly":true,"nullable":true,"type":[[["User"]]],"meta":{"line":81,"file":"ThreadMember.js","path":"src/structures"}},{"name":"manageable","description":"Whether the client user can manage this thread member","readonly":true,"type":[[["boolean"]]],"meta":{"line":90,"file":"ThreadMember.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"remove","description":"Removes this member from the thread.","params":[{"name":"reason","description":"Reason for removing the member","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["ThreadMember"]]],"meta":{"line":99,"file":"ThreadMember.js","path":"src/structures"}}],"meta":{"line":10,"file":"ThreadMember.js","path":"src/structures"}},{"name":"Typing","description":"Represents a typing state for a user in a channel.","extends":[[["Base"]]],"props":[{"name":"channel","description":"The channel the status is from","type":[[["TextBasedChannels"]]],"meta":{"line":17,"file":"Typing.js","path":"src/structures"}},{"name":"user","description":"The user who is typing","type":[[["User"]]],"meta":{"line":23,"file":"Typing.js","path":"src/structures"}},{"name":"startedTimestamp","description":"The UNIX timestamp in milliseconds the user started typing at","type":[[["number"]]],"meta":{"line":34,"file":"Typing.js","path":"src/structures"}},{"name":"startedAt","description":"The time the user started typing at","readonly":true,"type":[[["Date"]]],"meta":{"line":51,"file":"Typing.js","path":"src/structures"}},{"name":"guild","description":"The guild the status is from","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":60,"file":"Typing.js","path":"src/structures"}},{"name":"member","description":"The member who is typing","readonly":true,"nullable":true,"type":[[["GuildMember"]]],"meta":{"line":69,"file":"Typing.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"inGuild","description":"Indicates whether the status is received from a guild.","returns":[[["boolean"]]],"meta":{"line":42,"file":"Typing.js","path":"src/structures"}}],"meta":{"line":9,"file":"Typing.js","path":"src/structures"}},{"name":"User","description":"Represents a user on Discord.","extends":[[["Base"]]],"implements":[[["TextBasedChannel"]]],"props":[{"name":"id","description":"The user's id","type":[[["Snowflake"]]],"meta":{"line":25,"file":"User.js","path":"src/structures"}},{"name":"username","description":"The username of the user","nullable":true,"type":[[["string"]]],"meta":{"line":42,"file":"User.js","path":"src/structures"}},{"name":"globalName","description":"The global name of this user","nullable":true,"type":[[["string"]]],"meta":{"line":52,"file":"User.js","path":"src/structures"}},{"name":"bot","description":"Whether or not the user is a bot","nullable":true,"type":[[["boolean"]]],"meta":{"line":62,"file":"User.js","path":"src/structures"}},{"name":"discriminator","description":"The discriminator of this user\n`'0'`, or a 4-digit stringified number if they're using the legacy username system","nullable":true,"type":[[["string"]]],"meta":{"line":73,"file":"User.js","path":"src/structures"}},{"name":"avatar","description":"The user avatar's hash","nullable":true,"type":[[["string"]]],"meta":{"line":83,"file":"User.js","path":"src/structures"}},{"name":"banner","description":"The user banner's hash\nThe user must be force fetched for this property to be present or be updated","nullable":true,"type":[[["string"]]],"meta":{"line":94,"file":"User.js","path":"src/structures"}},{"name":"bannerColor","description":"The user banner's hex\nThe user must be force fetched for this property to be present or be updated","nullable":true,"type":[[["string"]]],"meta":{"line":105,"file":"User.js","path":"src/structures"}},{"name":"accentColor","description":"The base 10 accent color of the user's banner\nThe user must be force fetched for this property to be present or be updated","nullable":true,"type":[[["number"]]],"meta":{"line":116,"file":"User.js","path":"src/structures"}},{"name":"system","description":"Whether the user is an Official Discord System user (part of the urgent message system)","nullable":true,"type":[[["boolean"]]],"meta":{"line":126,"file":"User.js","path":"src/structures"}},{"name":"flags","description":"The flags for this user","nullable":true,"type":[[["UserFlags"]]],"meta":{"line":136,"file":"User.js","path":"src/structures"}},{"name":"avatarDecoration","description":"The user avatar decoration's hash","nullable":true,"type":[[["string"]]],"meta":{"line":144,"file":"User.js","path":"src/structures"}},{"name":"avatarDecorationSKUId","description":"The ID of the avatar decoration's SKU","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":149,"file":"User.js","path":"src/structures"}},{"name":"clan","description":"The primary clan the user is in","nullable":true,"type":[[["UserClan"]]],"meta":{"line":169,"file":"User.js","path":"src/structures"}},{"name":"partial","description":"Whether this User is a partial","readonly":true,"type":[[["boolean"]]],"meta":{"line":185,"file":"User.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the user was created at","readonly":true,"type":[[["number"]]],"meta":{"line":194,"file":"User.js","path":"src/structures"}},{"name":"createdAt","description":"The time the user was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":203,"file":"User.js","path":"src/structures"}},{"name":"defaultAvatarURL","description":"A link to the user's default avatar","readonly":true,"type":[[["string"]]],"meta":{"line":241,"file":"User.js","path":"src/structures"}},{"name":"hexAccentColor","description":"The hexadecimal version of the user accent color, with a leading hash\nThe user must be force fetched for this property to be present","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":262,"file":"User.js","path":"src/structures"}},{"name":"tag","description":"The tag of this user\nThis user's username, or their legacy tag (e.g. `hydrabolt#0001`)\nif they're using the legacy username system","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":287,"file":"User.js","path":"src/structures"}},{"name":"displayName","description":"The global name of this user, or their username if they don't have one","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":300,"file":"User.js","path":"src/structures"}},{"name":"dmChannel","description":"The DM between the client's user and this user","readonly":true,"nullable":true,"type":[[["DMChannel"]]],"meta":{"line":309,"file":"User.js","path":"src/structures"}},{"name":"note","description":"The function returns the note associated with a specific client ID from a cache.","nullable":true,"type":[[["string"]]],"meta":{"line":454,"file":"User.js","path":"src/structures"}},{"name":"voice","description":"The voice state of this member","readonly":true,"type":[[["VoiceState"]]],"meta":{"line":463,"file":"User.js","path":"src/structures"}},{"name":"relationship","description":"Check relationship status (Client -> User)","readonly":true,"type":[[["RelationshipType"]]],"meta":{"line":507,"file":"User.js","path":"src/structures"}},{"name":"friendNickname","description":"Get friend nickname","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":517,"file":"User.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"avatarURL","description":"A link to the user's avatar.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["ImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":212,"file":"User.js","path":"src/structures"}},{"name":"avatarDecorationURL","description":"A link to the user's avatar decoration.","params":[{"name":"options","description":"Options for the image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":222,"file":"User.js","path":"src/structures"}},{"name":"clanBadgeURL","description":"A link to the user's clan badge.","returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":231,"file":"User.js","path":"src/structures"}},{"name":"displayAvatarURL","description":"A link to the user's avatar if they have one.\nOtherwise a link to their default avatar will be returned.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["ImageURLOptions"]]]}],"returns":[[["string"]]],"meta":{"line":252,"file":"User.js","path":"src/structures"}},{"name":"bannerURL","description":"A link to the user's banner.\nThis method will throw an error if called before the user is force fetched.\nSee {@link User#banner} for more info","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["ImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":274,"file":"User.js","path":"src/structures"}},{"name":"createDM","description":"Creates a DM channel between the client and the user.","params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["DMChannel",">"]]],"meta":{"line":318,"file":"User.js","path":"src/structures"}},{"name":"deleteDM","description":"Deletes a DM channel (if one exists) between the client and the user. Resolves with the channel if successful.","returns":[[["Promise","<"],["DMChannel",">"]]],"meta":{"line":326,"file":"User.js","path":"src/structures"}},{"name":"equals","description":"Checks if the user is equal to another.\nIt compares id, username, discriminator, avatar, banner, accent color, and bot flags.\nIt is recommended to compare equality by using `user.id === user2.id` unless you want to compare all properties.","params":[{"name":"user","description":"User to compare with","type":[[["User"]]]}],"returns":[[["boolean"]]],"meta":{"line":337,"file":"User.js","path":"src/structures"}},{"name":"_equals","description":"Compares the user with an API user object","access":"private","params":[{"name":"user","description":"The API user object to compare","type":[[["APIUser"]]]}],"returns":[[["boolean"]]],"meta":{"line":357,"file":"User.js","path":"src/structures"}},{"name":"fetchFlags","description":"Fetches this user's flags.","params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["UserFlags",">"]]],"meta":{"line":376,"file":"User.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this user.","params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["User",">"]]],"meta":{"line":385,"file":"User.js","path":"src/structures"}},{"name":"getProfile","description":"Returns a user profile object for a given user ID.\nThis endpoint requires one of the following:\n- The user is a bot\n- The user shares a mutual guild with the current user\n- The user is a friend of the current user\n- The user is a friend suggestion of the current user\n- The user has an outgoing friend request to the current user","see":["{@link https://discord-userdoccers.vercel.app/resources/user#response-body}"],"params":[{"name":"guildId","description":"The guild ID to get the user's member profile in","optional":true,"type":[[["Snowflake"]]]}],"returns":[[["Promise","<"],["Object",">"]]],"meta":{"line":401,"file":"User.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the user's mention instead of the User object.","examples":["// Logs: Hello from <@123456789012345678>!\nconsole.log(`Hello from ${user}!`);"],"returns":[[["string"]]],"meta":{"line":419,"file":"User.js","path":"src/structures"}},{"name":"setNote","description":"The function updates the note of a user and returns the updated user.","params":[{"name":"note","description":"The `note` parameter is the new value that you want to set for the note of the\nuser. It is an optional parameter and its default value is `null`.","optional":true,"default":null,"type":[[["string"]],[["null"]],[["undefined"]]]}],"async":true,"returns":{"types":[[["Promise","<"],["User",">"]]],"description":"The `setNote` method is returning the `User` object."},"meta":{"line":445,"file":"User.js","path":"src/structures"}},{"name":"ring","description":"Ring the user's phone / PC (call)","deprecated":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":476,"file":"User.js","path":"src/structures"}},{"name":"sendFriendRequest","description":"Send Friend Request to the user","returns":[[["Promise","<"],["boolean",">"]]],"meta":{"line":489,"file":"User.js","path":"src/structures"}},{"name":"deleteRelationship","description":"Unblock / Unfriend / Cancels a friend request","returns":[[["Promise","<"],["boolean",">"]]],"meta":{"line":498,"file":"User.js","path":"src/structures"}},{"name":"send","description":"Sends a message to this user.","implements":["TextBasedChannel#send"],"examples":["// Send a direct message\nuser.send('Hello!')\n .then(message => console.log(`Sent message: ${message.content} to ${user.tag}`))\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["MessageOptions"]]]}],"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":522,"file":"User.js","path":"src/structures"}}],"meta":{"line":17,"file":"User.js","path":"src/structures"}},{"name":"UserContextMenuInteraction","description":"Represents a user context menu interaction.","extends":[[["ContextMenuInteraction"]]],"props":[{"name":"targetUser","description":"The target user from this interaction","readonly":true,"type":[[["User"]]],"meta":{"line":15,"file":"UserContextMenuInteraction.js","path":"src/structures"}},{"name":"targetMember","description":"The target member from this interaction","readonly":true,"nullable":true,"type":[[["GuildMember"]],[["APIGuildMember"]]],"meta":{"line":24,"file":"UserContextMenuInteraction.js","path":"src/structures"}},{"name":"options","description":"The target of the interaction, parsed into options","type":[[["CommandInteractionOptionResolver"]]],"meta":{"line":18,"file":"ContextMenuInteraction.js","path":"src/structures"}},{"name":"targetId","description":"The id of the target of this interaction","type":[[["Snowflake"]]],"meta":{"line":28,"file":"ContextMenuInteraction.js","path":"src/structures"}},{"name":"targetType","description":"The type of the target of the interaction; either USER or MESSAGE","type":[[["ApplicationCommandType"]]],"meta":{"line":34,"file":"ContextMenuInteraction.js","path":"src/structures"}},{"name":"channelId","description":"The id of the channel this interaction was sent in","type":[[["Snowflake"]]],"meta":{"line":20,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"commandId","description":"The invoked application command's id","type":[[["Snowflake"]]],"meta":{"line":30,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"commandName","description":"The invoked application command's name","type":[[["string"]]],"meta":{"line":36,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"deferred","description":"Whether the reply to this interaction has been deferred","type":[[["boolean"]]],"meta":{"line":42,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"replied","description":"Whether this interaction has already been replied to","type":[[["boolean"]]],"meta":{"line":48,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"ephemeral","description":"Whether the reply to this interaction is ephemeral","nullable":true,"type":[[["boolean"]]],"meta":{"line":54,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"webhook","description":"An associated interaction webhook, can be used to further interact with this interaction","type":[[["InteractionWebhook"]]],"meta":{"line":60,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"command","description":"The invoked application command, if it was fetched before","nullable":true,"type":[[["ApplicationCommand"]]],"meta":{"line":67,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"type","description":"The interaction's type","type":[[["InteractionType"]]],"meta":{"line":20,"file":"Interaction.js","path":"src/structures"}},{"name":"id","description":"The interaction's id","type":[[["Snowflake"]]],"meta":{"line":26,"file":"Interaction.js","path":"src/structures"}},{"name":"token","description":"The interaction's token","readonly":true,"type":[[["string"]]],"meta":{"line":28,"file":"Interaction.js","path":"src/structures"}},{"name":"applicationId","description":"The application's id","type":[[["Snowflake"]]],"meta":{"line":40,"file":"Interaction.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild this interaction was sent in","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":52,"file":"Interaction.js","path":"src/structures"}},{"name":"user","description":"The user which sent this interaction","type":[[["User"]]],"meta":{"line":58,"file":"Interaction.js","path":"src/structures"}},{"name":"member","description":"If this interaction was sent in a guild, the member which sent it","nullable":true,"type":[[["GuildMember"]],[["APIGuildMember"]]],"meta":{"line":64,"file":"Interaction.js","path":"src/structures"}},{"name":"version","description":"The version","type":[[["number"]]],"meta":{"line":70,"file":"Interaction.js","path":"src/structures"}},{"name":"appPermissions","description":"Set of permissions the application or bot has within the channel the interaction was sent from","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":76,"file":"Interaction.js","path":"src/structures"}},{"name":"memberPermissions","description":"The permissions of the member, if one exists, in the channel this interaction was executed in","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":82,"file":"Interaction.js","path":"src/structures"}},{"name":"locale","description":"The locale of the user who invoked this interaction","type":[[["Locale"]]],"meta":{"line":124,"file":"Interaction.js","path":"src/structures"}},{"name":"guildLocale","description":"The preferred locale from the guild this interaction was sent in","nullable":true,"type":[[["Locale"]]],"meta":{"line":130,"file":"Interaction.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the interaction was created at","readonly":true,"type":[[["number"]]],"meta":{"line":138,"file":"Interaction.js","path":"src/structures"}},{"name":"createdAt","description":"The time the interaction was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":147,"file":"Interaction.js","path":"src/structures"}},{"name":"channel","description":"The channel this interaction was sent in","readonly":true,"nullable":true,"type":[[["TextBasedChannels"]]],"meta":{"line":156,"file":"Interaction.js","path":"src/structures"}},{"name":"guild","description":"The guild this interaction was sent in","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":165,"file":"Interaction.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"resolveContextMenuOptions","description":"Resolves and transforms options received from the API for a context menu interaction.","access":"private","inherits":"ContextMenuInteraction#resolveContextMenuOptions","inherited":true,"params":[{"name":"data","description":"The interaction data","type":[[["APIApplicationCommandInteractionData"]]]}],"returns":[[["Array","<"],["CommandInteractionOption",">"]]],"meta":{"line":43,"file":"ContextMenuInteraction.js","path":"src/structures"}},{"name":"transformResolved","description":"Transforms the resolved received from the API.","access":"private","inherits":"BaseCommandInteraction#transformResolved","inherited":true,"params":[{"name":"resolved","description":"The received resolved objects","type":[[["APIInteractionDataResolved"]]]}],"returns":[[["CommandInteractionResolvedData"]]],"meta":{"line":89,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"transformOption","description":"Transforms an option received from the API.","access":"private","inherits":"BaseCommandInteraction#transformOption","inherited":true,"params":[{"name":"option","description":"The received option","type":[[["APIApplicationCommandOption"]]]},{"name":"resolved","description":"The resolved interaction data","type":[[["APIInteractionDataResolved"]]]}],"returns":[[["CommandInteractionOption"]]],"meta":{"line":162,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"deferReply","description":"Defers the reply to this interaction.","inherits":"BaseCommandInteraction#deferReply","inherited":true,"implements":["InteractionResponses#deferReply"],"examples":["// Defer the reply to this interaction\ninteraction.deferReply()\n .then(console.log)\n .catch(console.error)","// Defer to send an ephemeral reply later\ninteraction.deferReply({ ephemeral: true })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for deferring the reply to this interaction","optional":true,"type":[[["InteractionDeferReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":58,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"reply","description":"Creates a reply to this interaction.\nUse the `fetchReply` option to get the bot's reply message.","inherits":"BaseCommandInteraction#reply","inherited":true,"implements":["InteractionResponses#reply"],"examples":["// Reply to the interaction and fetch the response\ninteraction.reply({ content: 'Pong!', fetchReply: true })\n .then((message) => console.log(`Reply sent with content ${message.content}`))\n .catch(console.error);","// Create an ephemeral reply with an embed\nconst embed = new MessageEmbed().setDescription('Pong!');\n\ninteraction.reply({ embeds: [embed], ephemeral: true })\n .then(() => console.log('Reply sent.'))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":93,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"fetchReply","description":"Fetches a reply to this interaction.","see":["Webhook#fetchMessage"],"inherits":"BaseCommandInteraction#fetchReply","inherited":true,"implements":["InteractionResponses#fetchReply"],"examples":["// Fetch the initial reply to this interaction\ninteraction.fetchReply()\n .then(reply => console.log(`Replied with ${reply.content}`))\n .catch(console.error);"],"params":[{"name":"message","description":"The response to fetch","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":127,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"editReply","description":"Edits a reply to this interaction.","see":["Webhook#editMessage"],"inherits":"BaseCommandInteraction#editReply","inherited":true,"implements":["InteractionResponses#editReply"],"examples":["// Edit the initial reply to this interaction\ninteraction.editReply('New content')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The new options for the message","type":[[["string"]],[["MessagePayload"]],[["InteractionEditReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":148,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"deleteReply","description":"Deletes a reply to this interaction.","see":["Webhook#deleteMessage"],"inherits":"BaseCommandInteraction#deleteReply","inherited":true,"implements":["InteractionResponses#deleteReply"],"examples":["// Delete the initial reply to this interaction\ninteraction.deleteReply()\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"message","description":"The response to delete","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":166,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"followUp","description":"Send a follow-up message to this interaction.","inherits":"BaseCommandInteraction#followUp","inherited":true,"implements":["InteractionResponses#followUp"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":175,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"showModal","description":"Shows a modal component","inherits":"BaseCommandInteraction#showModal","inherited":true,"implements":["InteractionResponses#showModal"],"params":[{"name":"modal","description":"The modal to show","type":[[["Modal"]],[["ModalOptions"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":243,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"awaitModalSubmit","description":"Collects a single modal submit interaction that passes the filter.\nThe Promise will reject if the time expires.","inherits":"BaseCommandInteraction#awaitModalSubmit","inherited":true,"implements":["InteractionResponses#awaitModalSubmit"],"examples":["// Collect a modal submit interaction\nconst filter = (interaction) => interaction.customId === 'modal';\ninteraction.awaitModalSubmit({ filter, time: 15_000 })\n .then(interaction => console.log(`${interaction.customId} was submitted!`))\n .catch(console.error);"],"params":[{"name":"options","description":"Options to pass to the internal collector","type":[[["AwaitModalSubmitOptions"]]]}],"returns":[[["Promise","<"],["ModalSubmitInteraction",">"]]],"meta":{"line":275,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"inGuild","description":"Indicates whether this interaction is received from a guild.","inherits":"Interaction#inGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":173,"file":"Interaction.js","path":"src/structures"}},{"name":"inCachedGuild","description":"Indicates whether or not this interaction is both cached and received from a guild.","inherits":"Interaction#inCachedGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":181,"file":"Interaction.js","path":"src/structures"}},{"name":"inRawGuild","description":"Indicates whether or not this interaction is received from an uncached guild.","inherits":"Interaction#inRawGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":189,"file":"Interaction.js","path":"src/structures"}},{"name":"isApplicationCommand","description":"Indicates whether this interaction is a {@link BaseCommandInteraction}.","inherits":"Interaction#isApplicationCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":197,"file":"Interaction.js","path":"src/structures"}},{"name":"isCommand","description":"Indicates whether this interaction is a {@link CommandInteraction}.","inherits":"Interaction#isCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":205,"file":"Interaction.js","path":"src/structures"}},{"name":"isContextMenu","description":"Indicates whether this interaction is a {@link ContextMenuInteraction}","inherits":"Interaction#isContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":213,"file":"Interaction.js","path":"src/structures"}},{"name":"isModalSubmit","description":"Indicates whether this interaction is a {@link ModalSubmitInteraction}","inherits":"Interaction#isModalSubmit","inherited":true,"returns":[[["boolean"]]],"meta":{"line":221,"file":"Interaction.js","path":"src/structures"}},{"name":"isUserContextMenu","description":"Indicates whether this interaction is a {@link UserContextMenuInteraction}","inherits":"Interaction#isUserContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":229,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageContextMenu","description":"Indicates whether this interaction is a {@link MessageContextMenuInteraction}","inherits":"Interaction#isMessageContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":237,"file":"Interaction.js","path":"src/structures"}},{"name":"isAutocomplete","description":"Indicates whether this interaction is an {@link AutocompleteInteraction}","inherits":"Interaction#isAutocomplete","inherited":true,"returns":[[["boolean"]]],"meta":{"line":245,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageComponent","description":"Indicates whether this interaction is a {@link MessageComponentInteraction}.","inherits":"Interaction#isMessageComponent","inherited":true,"returns":[[["boolean"]]],"meta":{"line":253,"file":"Interaction.js","path":"src/structures"}},{"name":"isButton","description":"Indicates whether this interaction is a {@link ButtonInteraction}.","inherits":"Interaction#isButton","inherited":true,"returns":[[["boolean"]]],"meta":{"line":261,"file":"Interaction.js","path":"src/structures"}},{"name":"isSelectMenu","description":"Indicates whether this interaction is a {@link SelectMenuInteraction}.","inherits":"Interaction#isSelectMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":272,"file":"Interaction.js","path":"src/structures"}},{"name":"isRepliable","description":"Indicates whether this interaction can be replied to.","inherits":"Interaction#isRepliable","inherited":true,"returns":[[["boolean"]]],"meta":{"line":283,"file":"Interaction.js","path":"src/structures"}}],"meta":{"line":9,"file":"UserContextMenuInteraction.js","path":"src/structures"}},{"name":"VoiceChannel","description":"Represents a guild voice channel on Discord.","extends":[[["BaseGuildVoiceChannel"]]],"props":[{"name":"editable","description":"Whether the channel is editable by the client user","readonly":true,"deprecated":"Use {@link VoiceChannel#manageable} instead","type":[[["boolean"]]],"meta":{"line":20,"file":"VoiceChannel.js","path":"src/structures"}},{"name":"joinable","description":"Whether the channel is joinable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":38,"file":"VoiceChannel.js","path":"src/structures"}},{"name":"speakable","description":"Checks if the client has permission to send audio to the voice channel","readonly":true,"type":[[["boolean"]]],"meta":{"line":49,"file":"VoiceChannel.js","path":"src/structures"}},{"name":"messages","description":"A manager of the messages sent to this channel","type":[[["MessageManager"]]],"meta":{"line":22,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"nsfw","description":"If the guild considers this channel NSFW","type":[[["boolean"]]],"meta":{"line":28,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"bitrate","description":"The bitrate of this voice-based channel","type":[[["number"]]],"meta":{"line":41,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"rtcRegion","description":"The RTC region for this voice-based channel. This region is automatically selected if `null`.","nullable":true,"type":[[["string"]]],"meta":{"line":49,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"userLimit","description":"The maximum amount of users allowed in this channel.","type":[[["number"]]],"meta":{"line":57,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"videoQualityMode","description":"The camera video quality mode of the channel.","nullable":true,"type":[[["VideoQualityMode"]]],"meta":{"line":65,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"lastMessageId","description":"The last message id sent in the channel, if one was sent","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":75,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"rateLimitPerUser","description":"The rate limit per user (slowmode) for this channel in seconds","type":[[["number"]]],"meta":{"line":87,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"status","description":"The status of the voice channel (max 500 characters)","nullable":true,"type":[[["string"]]],"meta":{"line":99,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"members","description":"The members in this voice-based channel","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]],"meta":{"line":108,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"full","description":"Checks if the voice-based channel is full","readonly":true,"type":[[["boolean"]]],"meta":{"line":123,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"lastMessage","description":"The Message object of the last message in the channel, if one was sent","readonly":true,"nullable":true,"type":[[["Message"]]],"meta":{"line":50,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"guild","description":"The guild the channel is in","type":[[["Guild"]]],"meta":{"line":30,"file":"GuildChannel.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild the channel is in","type":[[["Snowflake"]]],"meta":{"line":36,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionOverwrites","description":"A manager of permission overwrites that belong to this channel","type":[[["PermissionOverwriteManager"]]],"meta":{"line":43,"file":"GuildChannel.js","path":"src/structures"}},{"name":"name","description":"The name of the guild channel","type":[[["string"]]],"meta":{"line":56,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rawPosition","description":"The raw position of the channel from Discord","type":[[["number"]]],"meta":{"line":64,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parentId","description":"The id of the category parent of this channel","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":76,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parent","description":"The category parent of this channel","readonly":true,"nullable":true,"type":[[["CategoryChannel"]]],"meta":{"line":98,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionsLocked","description":"If the permissionOverwrites match the parent channel, null if no parent","readonly":true,"nullable":true,"type":[[["boolean"]]],"meta":{"line":107,"file":"GuildChannel.js","path":"src/structures"}},{"name":"position","description":"The position of the channel","readonly":true,"type":[[["number"]]],"meta":{"line":148,"file":"GuildChannel.js","path":"src/structures"}},{"name":"deletable","description":"Whether the channel is deletable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":416,"file":"GuildChannel.js","path":"src/structures"}},{"name":"manageable","description":"Whether the channel is manageable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":425,"file":"GuildChannel.js","path":"src/structures"}},{"name":"viewable","description":"Whether the channel is viewable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":445,"file":"GuildChannel.js","path":"src/structures"}},{"name":"type","description":"The type of the channel","type":[[["ChannelType"]]],"meta":{"line":41,"file":"Channel.js","path":"src/structures"}},{"name":"id","description":"The channel's id","type":[[["Snowflake"]]],"meta":{"line":51,"file":"Channel.js","path":"src/structures"}},{"name":"flags","description":"The flags that are applied to the channel.","nullable":true,"type":[[["Readonly","<"],["ChannelFlags",">"]]],"meta":{"line":58,"file":"Channel.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the channel was created at","readonly":true,"type":[[["number"]]],"meta":{"line":69,"file":"Channel.js","path":"src/structures"}},{"name":"createdAt","description":"The time the channel was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":78,"file":"Channel.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":87,"file":"Channel.js","path":"src/structures"}},{"name":"partial","description":"Whether this Channel is a partial\nThis is always false outside of DM channels.","readonly":true,"type":[[["boolean"]]],"meta":{"line":118,"file":"Channel.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"createInvite","description":"Creates an invite to this guild channel.","inherits":"BaseGuildVoiceChannel#createInvite","inherited":true,"examples":["// Create an invite to a channel\nchannel.createInvite()\n .then(invite => console.log(`Created an invite with a code of ${invite.code}`))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for creating the invite","optional":true,"default":"{}","type":[[["CreateInviteOptions"]]]}],"returns":[[["Promise","<"],["Invite",">"]]],"meta":{"line":156,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"fetchInvites","description":"Fetches a collection of invites to this guild channel.\nResolves with a collection mapping invites by their codes.","inherits":"BaseGuildVoiceChannel#fetchInvites","inherited":true,"params":[{"name":"cache","description":"Whether or not to cache the fetched invites","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Collection","<"],["string",", "],["Invite",">>"]]],"meta":{"line":166,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"setBitrate","description":"Sets the bitrate of the channel.","inherits":"BaseGuildVoiceChannel#setBitrate","inherited":true,"examples":["// Set the bitrate of a voice channel\nchannel.setBitrate(48_000)\n .then(channel => console.log(`Set bitrate to ${channel.bitrate}bps for ${channel.name}`))\n .catch(console.error);"],"params":[{"name":"bitrate","description":"The new bitrate","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the channel's bitrate","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["BaseGuildVoiceChannel",">"]]],"meta":{"line":181,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"setRTCRegion","description":"Sets the RTC region of the channel.","inherits":"BaseGuildVoiceChannel#setRTCRegion","inherited":true,"examples":["// Set the RTC region to sydney\nchannel.setRTCRegion('sydney');","// Remove a fixed region for this channel - let Discord decide automatically\nchannel.setRTCRegion(null, 'We want to let Discord decide.');"],"params":[{"name":"rtcRegion","description":"The new region of the channel. Set to `null` to remove a specific region for the channel","nullable":true,"type":[[["string"]]]},{"name":"reason","description":"The reason for modifying this region.","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["BaseGuildVoiceChannel",">"]]],"meta":{"line":197,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"setUserLimit","description":"Sets the user limit of the channel.","inherits":"BaseGuildVoiceChannel#setUserLimit","inherited":true,"examples":["// Set the user limit of a voice channel\nchannel.setUserLimit(42)\n .then(channel => console.log(`Set user limit to ${channel.userLimit} for ${channel.name}`))\n .catch(console.error);"],"params":[{"name":"userLimit","description":"The new user limit","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the user limit","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["BaseGuildVoiceChannel",">"]]],"meta":{"line":212,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"setVideoQualityMode","description":"Sets the camera video quality mode of the channel.","inherits":"BaseGuildVoiceChannel#setVideoQualityMode","inherited":true,"params":[{"name":"videoQualityMode","description":"The new camera video quality mode.","type":[[["VideoQualityMode"]],[["number"]]]},{"name":"reason","description":"Reason for changing the camera video quality mode.","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["BaseGuildVoiceChannel",">"]]],"meta":{"line":222,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"send","description":"Sends a message to this channel.","inherits":"BaseGuildVoiceChannel#send","inherited":true,"implements":["TextBasedChannel#send"],"examples":["// Send a basic message\nchannel.send('hello!')\n .then(message => console.log(`Sent message: ${message.content}`))\n .catch(console.error);","// Send a remote file\nchannel.send({\n files: ['https://cdn.discordapp.com/icons/222078108977594368/6e1019b3179d71046e463a75915e7244.png?size=2048']\n})\n .then(console.log)\n .catch(console.error);","// Send a local file\nchannel.send({\n files: [{\n attachment: 'entire/path/to/file.jpg',\n name: 'file.jpg',\n description: 'A description of the file'\n }]\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["MessageOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":150,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"sendTyping","description":"Sends a typing indicator in the channel.","inherits":"BaseGuildVoiceChannel#sendTyping","inherited":true,"implements":["TextBasedChannel#sendTyping"],"examples":["// Start typing in a channel\nchannel.sendTyping();"],"async":true,"returns":{"types":[[["Promise","<"],["void",">"]]],"description":"Resolves upon the typing status being sent"},"meta":{"line":355,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createMessageCollector","description":"Creates a Message Collector.","inherits":"BaseGuildVoiceChannel#createMessageCollector","inherited":true,"implements":["TextBasedChannel#createMessageCollector"],"examples":["// Create a message collector\nconst filter = m => m.content.includes('discord');\nconst collector = channel.createMessageCollector({ filter, time: 15_000 });\ncollector.on('collect', m => console.log(`Collected ${m.content}`));\ncollector.on('end', collected => console.log(`Collected ${collected.size} items`));"],"params":[{"name":"options","description":"The options to pass to the collector","optional":true,"default":"{}","type":[[["MessageCollectorOptions"]]]}],"returns":[[["MessageCollector"]]],"meta":{"line":370,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"awaitMessages","description":"Similar to createMessageCollector but in promise form.\nResolves with a collection of messages that pass the specified filter.","inherits":"BaseGuildVoiceChannel#awaitMessages","inherited":true,"implements":["TextBasedChannel#awaitMessages"],"examples":["// Await !vote messages\nconst filter = m => m.content.startsWith('!vote');\n// Errors: ['time'] treats ending because of the time limit as an error\nchannel.awaitMessages({ filter, max: 4, time: 60_000, errors: ['time'] })\n .then(collected => console.log(collected.size))\n .catch(collected => console.log(`After a minute, only ${collected.size} out of 4 voted.`));"],"params":[{"name":"options","description":"Optional options to pass to the internal collector","optional":true,"default":"{}","type":[[["AwaitMessagesOptions"]]]}],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Message",">>"]]],"meta":{"line":393,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"fetchWebhooks","description":"Fetches all webhooks for the channel.","inherits":"BaseGuildVoiceChannel#fetchWebhooks","inherited":true,"implements":["TextBasedChannel#fetchWebhooks"],"examples":["// Fetch webhooks\nchannel.fetchWebhooks()\n .then(hooks => console.log(`This channel has ${hooks.size} hooks`))\n .catch(console.error);"],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Webhook",">>"]]],"meta":{"line":415,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createWebhook","description":"Creates a webhook for the channel.","inherits":"BaseGuildVoiceChannel#createWebhook","inherited":true,"implements":["TextBasedChannel#createWebhook"],"examples":["// Create a webhook for the current channel\nchannel.createWebhook('Snek', {\n avatar: 'https://i.imgur.com/mI8XcpG.jpg',\n reason: 'Needed a cool new Webhook'\n})\n .then(console.log)\n .catch(console.error)"],"params":[{"name":"name","description":"The name of the webhook","type":[[["string"]]]},{"name":"options","description":"Options for creating the webhook","optional":true,"type":[[["ChannelWebhookCreateOptions"]]]}],"returns":{"types":[[["Promise","<"],["Webhook",">"]]],"description":"Returns the created Webhook"},"meta":{"line":440,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"setRateLimitPerUser","description":"Sets the rate limit per user (slowmode) for this channel.","inherits":"BaseGuildVoiceChannel#setRateLimitPerUser","inherited":true,"implements":["TextBasedChannel#setRateLimitPerUser"],"params":[{"name":"rateLimitPerUser","description":"The new rate limit in seconds","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the channel's rate limit","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":450,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"setNSFW","description":"Sets whether this channel is flagged as NSFW.","inherits":"BaseGuildVoiceChannel#setNSFW","inherited":true,"implements":["TextBasedChannel#setNSFW"],"params":[{"name":"nsfw","description":"Whether the channel should be considered NSFW","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"Reason for changing the channel's NSFW flag","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":460,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"permissionsFor","description":"Gets the overall set of permissions for a member or role in this channel, taking into account channel overwrites.","inherits":"GuildChannel#permissionsFor","inherited":true,"params":[{"name":"memberOrRole","description":"The member or role to obtain the overall permissions for","type":[[["GuildMemberResolvable"]],[["RoleResolvable"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":{"types":[[["Readonly","<"],["Permissions",">"]]],"nullable":true},"meta":{"line":172,"file":"GuildChannel.js","path":"src/structures"}},{"name":"memberPermissions","description":"Gets the overall set of permissions for a member in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#memberPermissions","inherited":true,"params":[{"name":"member","description":"The member to obtain the overall permissions for","type":[[["GuildMember"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","default":true,"type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":212,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rolePermissions","description":"Gets the overall set of permissions for a role in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#rolePermissions","inherited":true,"params":[{"name":"role","description":"The role to obtain the overall permissions for","type":[[["Role"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":241,"file":"GuildChannel.js","path":"src/structures"}},{"name":"lockPermissions","description":"Locks in the permission overwrites from the parent channel.","inherits":"GuildChannel#lockPermissions","inherited":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":261,"file":"GuildChannel.js","path":"src/structures"}},{"name":"edit","description":"Edits the channel.","inherits":"GuildChannel#edit","inherited":true,"examples":["// Edit a channel\nchannel.edit({ name: 'new-channel' })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"data","description":"The new data for the channel","type":[[["ChannelData"]]]},{"name":"reason","description":"Reason for editing this channel","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":289,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setName","description":"Sets a new name for the guild channel.","inherits":"GuildChannel#setName","inherited":true,"examples":["// Set a new channel name\nchannel.setName('not_general')\n .then(newChannel => console.log(`Channel's new name is ${newChannel.name}`))\n .catch(console.error);"],"params":[{"name":"name","description":"The new name for the guild channel","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild channel's name","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":304,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setParent","description":"Sets the parent of this channel.","inherits":"GuildChannel#setParent","inherited":true,"examples":["// Add a parent to a channel\nmessage.channel.setParent('355908108431917066', { lockPermissions: false })\n .then(channel => console.log(`New parent of ${message.channel.name}: ${channel.name}`))\n .catch(console.error);"],"params":[{"name":"channel","description":"The category channel to set as the parent","nullable":true,"type":[[["CategoryChannelResolvable"]]]},{"name":"options","description":"The options for setting the parent","optional":true,"default":"{}","type":[[["SetParentOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":326,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setPosition","description":"Sets a new position for the guild channel.","inherits":"GuildChannel#setPosition","inherited":true,"examples":["// Set a new channel position\nchannel.setPosition(2)\n .then(newChannel => console.log(`Channel's new position is ${newChannel.position}`))\n .catch(console.error);"],"params":[{"name":"position","description":"The new position for the guild channel","type":[[["number"]]]},{"name":"options","description":"Options for setting position","optional":true,"type":[[["SetChannelPositionOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":354,"file":"GuildChannel.js","path":"src/structures"}},{"name":"clone","description":"Clones this channel.","inherits":"GuildChannel#clone","inherited":true,"params":[{"name":"options","description":"The options for cloning this channel","optional":true,"type":[[["GuildChannelCloneOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":369,"file":"GuildChannel.js","path":"src/structures"}},{"name":"equals","description":"Checks if this channel has the same type, topic, position, name, overwrites, and id as another channel.\nIn most cases, a simple `channel.id === channel2.id` will do, and is much faster too.","inherits":"GuildChannel#equals","inherited":true,"params":[{"name":"channel","description":"Channel to compare with","type":[[["GuildChannel"]]]}],"returns":[[["boolean"]]],"meta":{"line":391,"file":"GuildChannel.js","path":"src/structures"}},{"name":"delete","description":"Deletes this channel.","inherits":"GuildChannel#delete","inherited":true,"examples":["// Delete the channel\nchannel.delete('making room for new channels')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"reason","description":"Reason for deleting this channel","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":462,"file":"GuildChannel.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the channel's mention instead of the Channel object.","inherits":"Channel#toString","inherited":true,"examples":["// Logs: Hello from <#123456789012345678>!\nconsole.log(`Hello from ${channel}!`);"],"returns":[[["string"]]],"meta":{"line":129,"file":"Channel.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this channel.","inherits":"Channel#fetch","inherited":true,"params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":152,"file":"Channel.js","path":"src/structures"}},{"name":"isText","description":"Indicates whether this channel is {@link TextBasedChannels text-based}.","inherits":"Channel#isText","inherited":true,"returns":[[["boolean"]]],"meta":{"line":160,"file":"Channel.js","path":"src/structures"}},{"name":"isVoice","description":"Indicates whether this channel is {@link BaseGuildVoiceChannel voice-based}.","inherits":"Channel#isVoice","inherited":true,"returns":[[["boolean"]]],"meta":{"line":168,"file":"Channel.js","path":"src/structures"}},{"name":"isThread","description":"Indicates whether this channel is a {@link ThreadChannel}.","inherits":"Channel#isThread","inherited":true,"returns":[[["boolean"]]],"meta":{"line":176,"file":"Channel.js","path":"src/structures"}},{"name":"isDirectory","description":"Indicates whether this channel is a {@link DirectoryChannel}","inherits":"Channel#isDirectory","inherited":true,"returns":[[["boolean"]]],"meta":{"line":184,"file":"Channel.js","path":"src/structures"}}],"meta":{"line":13,"file":"VoiceChannel.js","path":"src/structures"}},{"name":"VoiceRegion","description":"Represents a Discord voice region for guilds.","props":[{"name":"id","description":"The region's id","type":[[["string"]]],"meta":{"line":14,"file":"VoiceRegion.js","path":"src/structures"}},{"name":"name","description":"Name of the region","type":[[["string"]]],"meta":{"line":20,"file":"VoiceRegion.js","path":"src/structures"}},{"name":"vip","description":"Whether the region is VIP-only","deprecated":"This property is no longer being sent by the API.","type":[[["boolean"]]],"meta":{"line":27,"file":"VoiceRegion.js","path":"src/structures"}},{"name":"deprecated","description":"Whether the region is deprecated","type":[[["boolean"]]],"meta":{"line":33,"file":"VoiceRegion.js","path":"src/structures"}},{"name":"optimal","description":"Whether the region is optimal","type":[[["boolean"]]],"meta":{"line":39,"file":"VoiceRegion.js","path":"src/structures"}},{"name":"custom","description":"Whether the region is custom","type":[[["boolean"]]],"meta":{"line":45,"file":"VoiceRegion.js","path":"src/structures"}}],"meta":{"line":8,"file":"VoiceRegion.js","path":"src/structures"}},{"name":"VoiceState","description":"Represents the voice state for a Guild Member.","extends":[[["Base"]]],"props":[{"name":"guild","description":"The guild of this voice state","type":[[["Guild"]]],"meta":{"line":17,"file":"VoiceState.js","path":"src/structures"}},{"name":"id","description":"The id of the member of this voice state","type":[[["Snowflake"]]],"meta":{"line":22,"file":"VoiceState.js","path":"src/structures"}},{"name":"serverDeaf","description":"Whether this member is deafened server-wide","nullable":true,"type":[[["boolean"]]],"meta":{"line":32,"file":"VoiceState.js","path":"src/structures"}},{"name":"serverMute","description":"Whether this member is muted server-wide","nullable":true,"type":[[["boolean"]]],"meta":{"line":42,"file":"VoiceState.js","path":"src/structures"}},{"name":"selfDeaf","description":"Whether this member is self-deafened","nullable":true,"type":[[["boolean"]]],"meta":{"line":52,"file":"VoiceState.js","path":"src/structures"}},{"name":"selfMute","description":"Whether this member is self-muted","nullable":true,"type":[[["boolean"]]],"meta":{"line":62,"file":"VoiceState.js","path":"src/structures"}},{"name":"selfVideo","description":"Whether this member's camera is enabled","nullable":true,"type":[[["boolean"]]],"meta":{"line":72,"file":"VoiceState.js","path":"src/structures"}},{"name":"sessionId","description":"The session id for this member's connection","nullable":true,"type":[[["string"]]],"meta":{"line":82,"file":"VoiceState.js","path":"src/structures"}},{"name":"streaming","description":"Whether this member is streaming using \"Screen Share\"","type":[[["boolean"]]],"meta":{"line":94,"file":"VoiceState.js","path":"src/structures"}},{"name":"channelId","description":"The {@link VoiceChannel} or {@link StageChannel} id the member is in","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":104,"file":"VoiceState.js","path":"src/structures"}},{"name":"suppress","description":"Whether this member is suppressed from speaking. This property is specific to stage channels only.","type":[[["boolean"]]],"meta":{"line":114,"file":"VoiceState.js","path":"src/structures"}},{"name":"requestToSpeakTimestamp","description":"The time at which the member requested to speak. This property is specific to stage channels only.","nullable":true,"type":[[["number"]]],"meta":{"line":122,"file":"VoiceState.js","path":"src/structures"}},{"name":"member","description":"The member that this voice state belongs to","readonly":true,"nullable":true,"type":[[["GuildMember"]]],"meta":{"line":135,"file":"VoiceState.js","path":"src/structures"}},{"name":"user","description":"The user that this voice state belongs to","readonly":true,"nullable":true,"type":[[["User"]]],"meta":{"line":145,"file":"VoiceState.js","path":"src/structures"}},{"name":"channel","description":"The channel that the member is connected to","readonly":true,"nullable":true,"type":[[["VoiceChannel"]],[["StageChannel"]],[["DMChannel"]],[["GroupDMChannel"]]],"meta":{"line":154,"file":"VoiceState.js","path":"src/structures"}},{"name":"deaf","description":"Whether this member is either self-deafened or server-deafened","readonly":true,"nullable":true,"type":[[["boolean"]]],"meta":{"line":163,"file":"VoiceState.js","path":"src/structures"}},{"name":"mute","description":"Whether this member is either self-muted or server-muted","readonly":true,"nullable":true,"type":[[["boolean"]]],"meta":{"line":172,"file":"VoiceState.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"setMute","description":"Mutes/unmutes the member of this voice state.","params":[{"name":"mute","description":"Whether or not the member should be muted","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"Reason for muting or unmuting","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":182,"file":"VoiceState.js","path":"src/structures"}},{"name":"setDeaf","description":"Deafens/undeafens the member of this voice state.","params":[{"name":"deaf","description":"Whether or not the member should be deafened","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"Reason for deafening or undeafening","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":193,"file":"VoiceState.js","path":"src/structures"}},{"name":"disconnect","description":"Disconnects the member from the channel.","params":[{"name":"reason","description":"Reason for disconnecting the member from the channel","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":203,"file":"VoiceState.js","path":"src/structures"}},{"name":"setChannel","description":"Moves the member to a different channel, or disconnects them from the one they're in.","params":[{"name":"channel","description":"Channel to move the member to, or `null` if you want to\ndisconnect them from voice.","type":[[["GuildVoiceChannelResolvable"]],[["null"]]]},{"name":"reason","description":"Reason for moving member to another channel or disconnecting","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":214,"file":"VoiceState.js","path":"src/structures"}},{"name":"setRequestToSpeak","description":"Toggles the request to speak in the channel.\nOnly applicable for stage channels and for the client's own voice state.","examples":["// Making the client request to speak in a stage channel (raise its hand)\nguild.members.me.voice.setRequestToSpeak(true);","// Making the client cancel a request to speak\nguild.members.me.voice.setRequestToSpeak(false);"],"params":[{"name":"request","description":"Whether or not the client is requesting to become a speaker.","optional":true,"default":true,"type":[[["boolean"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":231,"file":"VoiceState.js","path":"src/structures"}},{"name":"setSuppressed","description":"Suppress/unsuppress the user. Only applicable for stage channels.","examples":["// Making the client a speaker\nguild.members.me.voice.setSuppressed(false);","// Making the client an audience member\nguild.members.me.voice.setSuppressed(true);","// Inviting another user to speak\nvoiceState.setSuppressed(false);","// Moving another user to the audience, or cancelling their invite to speak\nvoiceState.setSuppressed(true);"],"params":[{"name":"suppressed","description":"Whether or not the user should be suppressed.","optional":true,"default":true,"type":[[["boolean"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":261,"file":"VoiceState.js","path":"src/structures"}},{"name":"setStatus","description":"Sets the status of the voice channel","examples":["// Setting the status to something\nguild.members.me.voice.setStatus(\"something\")","// Removing the status\nguild.members.me.voice.setStatus()"],"params":[{"name":"status","description":"The message to set the channel status to","optional":true,"default":"\"\"","type":[[["string"]]]}],"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":288,"file":"VoiceState.js","path":"src/structures"}},{"name":"getPreview","description":"Get URL Image of the user's streaming video (NOT STREAMING !!!)","async":true,"returns":{"types":[[["Promise","<"],["string",">"]]],"description":"URL Image of the user's streaming video"},"meta":{"line":301,"file":"VoiceState.js","path":"src/structures"}},{"name":"postPreview","description":"Post Preview Image to the client user's streaming video","params":[{"name":"base64Image","description":"Base64 URI (data:image/jpeg;base64,data)","type":[[["string"]]]}],"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":317,"file":"VoiceState.js","path":"src/structures"}}],"meta":{"line":10,"file":"VoiceState.js","path":"src/structures"}},{"name":"WebEmbed","description":"Send Embedlink to Discord\nOnly works with Discord Web and Discord Client (no custom theme installed)\n- No Timestamp, Footer, Fields, Author iconURL\n- Video with Embed working\n- Can only choose between image and thumbnail\n- Description limit 350 characters","construct":{"name":"WebEmbed","params":[{"name":"data","description":"Raw data","optional":true,"default":"{}","type":[[["WebEmbed"]]]}]},"props":[{"name":"imageType","description":"Type image of this embed","type":[[["thumbnail"]],[["image"]]],"meta":{"line":60,"file":"WebEmbed.js","path":"src/structures"}},{"name":"title","description":"The title of this embed","nullable":true,"type":[[["string"]]],"meta":{"line":65,"file":"WebEmbed.js","path":"src/structures"}},{"name":"description","description":"The description of this embed","nullable":true,"type":[[["string"]]],"meta":{"line":71,"file":"WebEmbed.js","path":"src/structures"}},{"name":"url","description":"The URL of this embed","nullable":true,"type":[[["string"]]],"meta":{"line":77,"file":"WebEmbed.js","path":"src/structures"}},{"name":"color","description":"The color of this embed","nullable":true,"type":[[["number"]]],"meta":{"line":83,"file":"WebEmbed.js","path":"src/structures"}},{"name":"image","description":"The image of this embed, if there is one","nullable":true,"type":[[["WebEmbedImage"]]],"meta":{"line":98,"file":"WebEmbed.js","path":"src/structures"}},{"name":"thumbnail","description":"The thumbnail of this embed (if there is one)","nullable":true,"type":[[["WebEmbedThumbnail"]]],"meta":{"line":111,"file":"WebEmbed.js","path":"src/structures"}},{"name":"video","description":"The video of this embed (if there is one)","readonly":true,"nullable":true,"type":[[["WebEmbedVideo"]]],"meta":{"line":134,"file":"WebEmbed.js","path":"src/structures"}},{"name":"author","description":"The author of this embed (if there is one)","nullable":true,"type":[[["WebEmbedAuthor"]]],"meta":{"line":154,"file":"WebEmbed.js","path":"src/structures"}},{"name":"provider","description":"The provider of this embed (if there is one)","nullable":true,"type":[[["WebEmbedProvider"]]],"meta":{"line":172,"file":"WebEmbed.js","path":"src/structures"}},{"name":"redirect","description":"Redirect URL","type":[[["string"]]],"meta":{"line":183,"file":"WebEmbed.js","path":"src/structures"}}],"methods":[{"name":"_setup","access":"private","params":[{"name":"data","description":"The data for the embed","type":[[["Object"]]]}],"meta":{"line":55,"file":"WebEmbed.js","path":"src/structures"}},{"name":"setAuthor","description":"Sets the author of this embed.","params":[{"name":"options","description":"The options to provide for the author.\nProvide `null` to remove the author data.","type":[[["string"]],[["EmbedAuthorData"]],[["null"]]]}],"returns":[[["WebEmbed"]]],"meta":{"line":197,"file":"WebEmbed.js","path":"src/structures"}},{"name":"setProvider","description":"Sets the provider of this embed.","params":[{"name":"options","description":"The options to provide for the provider.\nProvide `null` to remove the provider data.","type":[[["string"]],[["EmbedProviderData"]],[["null"]]]}],"returns":[[["WebEmbed"]]],"meta":{"line":222,"file":"WebEmbed.js","path":"src/structures"}},{"name":"setColor","description":"Sets the color of this embed.","params":[{"name":"color","description":"The color of the embed","type":[[["ColorResolvable"]]]}],"returns":[[["WebEmbed"]]],"meta":{"line":240,"file":"WebEmbed.js","path":"src/structures"}},{"name":"setDescription","description":"Sets the description of this embed.","params":[{"name":"description","description":"The description (Limit 350 characters)","type":[[["string"]]]}],"returns":[[["WebEmbed"]]],"meta":{"line":250,"file":"WebEmbed.js","path":"src/structures"}},{"name":"setImage","description":"Sets the image of this embed.","params":[{"name":"url","description":"The URL of the image","type":[[["string"]]]}],"returns":[[["WebEmbed"]]],"meta":{"line":260,"file":"WebEmbed.js","path":"src/structures"}},{"name":"setThumbnail","description":"Sets the thumbnail of this embed.","params":[{"name":"url","description":"The URL of the image","type":[[["string"]]]}],"returns":[[["WebEmbed"]]],"meta":{"line":275,"file":"WebEmbed.js","path":"src/structures"}},{"name":"setVideo","description":"Sets the video of this embed.","params":[{"name":"url","description":"The URL of the video","type":[[["string"]]]}],"returns":[[["WebEmbed"]]],"meta":{"line":290,"file":"WebEmbed.js","path":"src/structures"}},{"name":"setTitle","description":"Sets the title of this embed.","params":[{"name":"title","description":"The title","type":[[["string"]]]}],"returns":[[["WebEmbed"]]],"meta":{"line":300,"file":"WebEmbed.js","path":"src/structures"}},{"name":"setURL","description":"Sets the URL of this embed.","params":[{"name":"url","description":"The URL","type":[[["string"]]]}],"returns":[[["WebEmbed"]]],"meta":{"line":310,"file":"WebEmbed.js","path":"src/structures"}},{"name":"setRedirect","description":"Sets the redirect URL of this embed.","params":[{"name":"url","description":"The URL","type":[[["string"]]]}],"returns":[[["WebEmbed"]]],"meta":{"line":320,"file":"WebEmbed.js","path":"src/structures"}}],"meta":{"line":17,"file":"WebEmbed.js","path":"src/structures"}},{"name":"Webhook","description":"Represents a webhook.","props":[{"name":"client","description":"The client that instantiated the webhook","readonly":true,"type":[[["Client"]]],"meta":{"line":17,"file":"Webhook.js","path":"src/structures"}},{"name":"name","description":"The name of the webhook","type":[[["string"]]],"meta":{"line":33,"file":"Webhook.js","path":"src/structures"}},{"name":"token","description":"The token for the webhook, unavailable for follower webhooks and webhooks owned by another application.","nullable":true,"type":[[["string"]]],"meta":{"line":36,"file":"Webhook.js","path":"src/structures"}},{"name":"avatar","description":"The avatar for the webhook","nullable":true,"type":[[["string"]]],"meta":{"line":48,"file":"Webhook.js","path":"src/structures"}},{"name":"id","description":"The webhook's id","type":[[["Snowflake"]]],"meta":{"line":55,"file":"Webhook.js","path":"src/structures"}},{"name":"type","description":"The type of the webhook","type":[[["WebhookType"]]],"meta":{"line":62,"file":"Webhook.js","path":"src/structures"}},{"name":"guildId","description":"The guild the webhook belongs to","type":[[["Snowflake"]]],"meta":{"line":70,"file":"Webhook.js","path":"src/structures"}},{"name":"channelId","description":"The id of the channel the webhook belongs to","type":[[["Snowflake"]]],"meta":{"line":78,"file":"Webhook.js","path":"src/structures"}},{"name":"owner","description":"The owner of the webhook","nullable":true,"type":[[["User"]],[["APIUser"]]],"meta":{"line":86,"file":"Webhook.js","path":"src/structures"}},{"name":"sourceGuild","description":"The source guild of the webhook","nullable":true,"type":[[["Guild"]],[["APIGuild"]]],"meta":{"line":96,"file":"Webhook.js","path":"src/structures"}},{"name":"sourceChannel","description":"The source channel of the webhook","nullable":true,"type":[[["NewsChannel"]],[["APIChannel"]]],"meta":{"line":106,"file":"Webhook.js","path":"src/structures"}},{"name":"channel","description":"The channel the webhook belongs to","readonly":true,"nullable":true,"type":[[["TextChannel"]],[["VoiceChannel"]],[["NewsChannel"]],[["ForumChannel"]]],"meta":{"line":391,"file":"Webhook.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the webhook was created at","readonly":true,"type":[[["number"]]],"meta":{"line":400,"file":"Webhook.js","path":"src/structures"}},{"name":"createdAt","description":"The time the webhook was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":409,"file":"Webhook.js","path":"src/structures"}},{"name":"url","description":"The URL of this webhook","readonly":true,"type":[[["string"]]],"meta":{"line":418,"file":"Webhook.js","path":"src/structures"}}],"methods":[{"name":"send","description":"Sends a message with this webhook.","examples":["// Send a basic message\nwebhook.send('hello!')\n .then(message => console.log(`Sent message: ${message.content}`))\n .catch(console.error);","// Send a basic message in a thread\nwebhook.send({ content: 'hello!', threadId: '836856309672348295' })\n .then(message => console.log(`Sent message: ${message.content}`))\n .catch(console.error);","// Send a remote file\nwebhook.send({\n files: ['https://cdn.discordapp.com/icons/222078108977594368/6e1019b3179d71046e463a75915e7244.png?size=2048']\n})\n .then(console.log)\n .catch(console.error);","// Send a local file\nwebhook.send({\n files: [{\n attachment: 'entire/path/to/file.jpg',\n name: 'file.jpg'\n }]\n})\n .then(console.log)\n .catch(console.error);","// Send an embed with a local image inside\nwebhook.send({\n content: 'This is an embed',\n embeds: [{\n thumbnail: {\n url: 'attachment://file.jpg'\n }\n }],\n files: [{\n attachment: 'entire/path/to/file.jpg',\n name: 'file.jpg'\n }]\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["WebhookMessageOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":185,"file":"Webhook.js","path":"src/structures"}},{"name":"sendSlackMessage","description":"Sends a raw slack message with this webhook.","see":["{@link https://api.slack.com/messaging/webhooks}"],"examples":["// Send a slack message\nwebhook.sendSlackMessage({\n 'username': 'Wumpus',\n 'attachments': [{\n 'pretext': 'this looks pretty cool',\n 'color': '#F0F',\n 'footer_icon': 'http://snek.s3.amazonaws.com/topSnek.png',\n 'footer': 'Powered by sneks',\n 'ts': Date.now() / 1_000\n }]\n}).catch(console.error);"],"params":[{"name":"body","description":"The raw body to send","type":[[["Object"]]]}],"async":true,"returns":[[["Promise","<"],["boolean",">"]]],"meta":{"line":225,"file":"Webhook.js","path":"src/structures"}},{"name":"edit","description":"Edits this webhook.","params":[{"name":"options","description":"Options for editing the webhook","type":[[["WebhookEditData"]]]},{"name":"reason","description":"Reason for editing the webhook","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Webhook",">"]]],"meta":{"line":252,"file":"Webhook.js","path":"src/structures"}},{"name":"fetchMessage","description":"Gets a message that was sent by this webhook.","params":[{"name":"message","description":"The id of the message to fetch","type":[[["Snowflake"]],[["original","'"]]]},{"name":"cacheOrOptions","description":"The options to provide to fetch the message.\nA **deprecated** boolean may be passed instead to specify whether to cache the message.","optional":true,"default":"{}","type":[[["WebhookFetchMessageOptions"]],[["boolean"]]]}],"async":true,"returns":{"types":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"description":"Returns the raw message data if the webhook was instantiated as a\n{@link WebhookClient} or if the channel is uncached, otherwise a {@link Message} will be returned"},"meta":{"line":286,"file":"Webhook.js","path":"src/structures"}},{"name":"editMessage","description":"Edits a message that was sent by this webhook.","params":[{"name":"message","description":"The message to edit","type":[[["MessageResolvable"]],[["original","'"]]]},{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["WebhookEditMessageOptions"]]]}],"async":true,"returns":{"types":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"description":"Returns the raw message data if the webhook was instantiated as a\n{@link WebhookClient} or if the channel is uncached, otherwise a {@link Message} will be returned"},"meta":{"line":322,"file":"Webhook.js","path":"src/structures"}},{"name":"delete","description":"Deletes the webhook.","params":[{"name":"reason","description":"Reason for deleting this webhook","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":361,"file":"Webhook.js","path":"src/structures"}},{"name":"deleteMessage","description":"Delete a message that was sent by this webhook.","params":[{"name":"message","description":"The message to delete","type":[[["MessageResolvable"]],[["original","'"]]]},{"name":"threadId","description":"The id of the thread this message belongs to","optional":true,"type":[[["Snowflake"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":371,"file":"Webhook.js","path":"src/structures"}},{"name":"avatarURL","description":"A link to the webhook's avatar.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":427,"file":"Webhook.js","path":"src/structures"}},{"name":"isChannelFollower","description":"Whether or not this webhook is a channel follower webhook.","returns":[[["boolean"]]],"meta":{"line":436,"file":"Webhook.js","path":"src/structures"}},{"name":"isIncoming","description":"Whether or not this webhook is an incoming webhook.","returns":[[["boolean"]]],"meta":{"line":444,"file":"Webhook.js","path":"src/structures"}}],"meta":{"line":15,"file":"Webhook.js","path":"src/structures"}},{"name":"WelcomeChannel","description":"Represents a channel link in a guild's welcome screen.","extends":[[["Base"]]],"props":[{"name":"guild","description":"The guild for this welcome channel","type":[[["Guild"]],[["InviteGuild"]]],"meta":{"line":18,"file":"WelcomeChannel.js","path":"src/structures"}},{"name":"description","description":"The description of this welcome channel","type":[[["string"]]],"meta":{"line":24,"file":"WelcomeChannel.js","path":"src/structures"}},{"name":"_emoji","description":"The raw emoji data","access":"private","type":[[["Object"]]],"meta":{"line":31,"file":"WelcomeChannel.js","path":"src/structures"}},{"name":"channelId","description":"The id of this welcome channel","type":[[["Snowflake"]]],"meta":{"line":40,"file":"WelcomeChannel.js","path":"src/structures"}},{"name":"channel","description":"The channel of this welcome channel","nullable":true,"type":[[["TextChannel"]],[["NewsChannel"]],[["StoreChannel"]],[["ForumChannel"]]],"meta":{"line":47,"file":"WelcomeChannel.js","path":"src/structures"}},{"name":"emoji","description":"The emoji of this welcome channel","type":[[["GuildEmoji"]],[["Emoji"]]],"meta":{"line":55,"file":"WelcomeChannel.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"meta":{"line":10,"file":"WelcomeChannel.js","path":"src/structures"}},{"name":"WelcomeScreen","description":"Represents a welcome screen.","extends":[[["Base"]]],"props":[{"name":"guild","description":"The guild for this welcome screen","type":[[["Guild"]]],"meta":{"line":19,"file":"WelcomeScreen.js","path":"src/structures"}},{"name":"description","description":"The description of this welcome screen","nullable":true,"type":[[["string"]]],"meta":{"line":25,"file":"WelcomeScreen.js","path":"src/structures"}},{"name":"welcomeChannels","description":"Collection of welcome channels belonging to this welcome screen","type":[[["Collection","<"],["Snowflake",", "],["WelcomeChannel",">"]]],"meta":{"line":31,"file":"WelcomeScreen.js","path":"src/structures"}},{"name":"enabled","description":"Whether the welcome screen is enabled on the guild or not","type":[[["boolean"]]],"meta":{"line":43,"file":"WelcomeScreen.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"meta":{"line":11,"file":"WelcomeScreen.js","path":"src/structures"}},{"name":"Widget","description":"Represents a Widget.","extends":[[["Base"]]],"props":[{"name":"id","description":"The id of the guild.","type":[[["Snowflake"]]],"meta":{"line":30,"file":"Widget.js","path":"src/structures"}},{"name":"name","description":"The name of the guild.","type":[[["string"]]],"meta":{"line":37,"file":"Widget.js","path":"src/structures"}},{"name":"instantInvite","description":"The invite of the guild.","nullable":true,"type":[[["string"]]],"meta":{"line":45,"file":"Widget.js","path":"src/structures"}},{"name":"channels","description":"The list of channels in the guild.","type":[[["Collection","<"],["Snowflake",", "],["WidgetChannel",">"]]],"meta":{"line":52,"file":"Widget.js","path":"src/structures"}},{"name":"members","description":"The list of members in the guild.\nThese strings are just arbitrary numbers, they aren't Snowflakes.","type":[[["Collection","<"],["string",", "],["WidgetMember",">"]]],"meta":{"line":62,"file":"Widget.js","path":"src/structures"}},{"name":"presenceCount","description":"The number of members online.","type":[[["number"]]],"meta":{"line":72,"file":"Widget.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"fetch","description":"Update the Widget.","async":true,"returns":[[["Promise","<"],["Widget",">"]]],"meta":{"line":80,"file":"Widget.js","path":"src/structures"}}],"meta":{"line":11,"file":"Widget.js","path":"src/structures"}},{"name":"WidgetMember","description":"Represents a WidgetMember.","extends":[[["Base"]]],"props":[{"name":"id","description":"The id of the user. It's an arbitrary number.","type":[[["string"]]],"meta":{"line":23,"file":"WidgetMember.js","path":"src/structures"}},{"name":"username","description":"The username of the member.","type":[[["string"]]],"meta":{"line":29,"file":"WidgetMember.js","path":"src/structures"}},{"name":"discriminator","description":"The discriminator of the member.","type":[[["string"]]],"meta":{"line":35,"file":"WidgetMember.js","path":"src/structures"}},{"name":"avatar","description":"The avatar of the member.","nullable":true,"type":[[["string"]]],"meta":{"line":41,"file":"WidgetMember.js","path":"src/structures"}},{"name":"status","description":"The status of the member.","type":[[["PresenceStatus"]]],"meta":{"line":47,"file":"WidgetMember.js","path":"src/structures"}},{"name":"deaf","description":"If the member is server deafened","nullable":true,"type":[[["boolean"]]],"meta":{"line":53,"file":"WidgetMember.js","path":"src/structures"}},{"name":"mute","description":"If the member is server muted","nullable":true,"type":[[["boolean"]]],"meta":{"line":59,"file":"WidgetMember.js","path":"src/structures"}},{"name":"selfDeaf","description":"If the member is self deafened","nullable":true,"type":[[["boolean"]]],"meta":{"line":65,"file":"WidgetMember.js","path":"src/structures"}},{"name":"selfMute","description":"If the member is self muted","nullable":true,"type":[[["boolean"]]],"meta":{"line":71,"file":"WidgetMember.js","path":"src/structures"}},{"name":"suppress","description":"If the member is suppressed","nullable":true,"type":[[["boolean"]]],"meta":{"line":77,"file":"WidgetMember.js","path":"src/structures"}},{"name":"channelId","description":"The id of the voice channel the member is in, if any","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":83,"file":"WidgetMember.js","path":"src/structures"}},{"name":"avatarURL","description":"The avatar URL of the member.","type":[[["string"]]],"meta":{"line":89,"file":"WidgetMember.js","path":"src/structures"}},{"name":"activity","description":"The activity of the member.","nullable":true,"type":[[["WidgetActivity"]]],"meta":{"line":95,"file":"WidgetMember.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"meta":{"line":9,"file":"WidgetMember.js","path":"src/structures"}},{"name":"ActivityFlags","description":"Data structure that makes it easy to interact with an {@link Activity#flags} bitfield.","extends":[[["BitField"]]],"construct":{"name":"ActivityFlags","params":[{"name":"bits","description":"Bit(s) to read from","optional":true,"default":0,"type":[[["BitFieldResolvable"]]]}]},"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["number"]],[["bigint"]]],"meta":{"line":17,"file":"BitField.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric activity flags. All available properties:\n* `INSTANCE`\n* `JOIN`\n* `SPECTATE`\n* `JOIN_REQUEST`\n* `SYNC`\n* `PLAY`\n* `PARTY_PRIVACY_FRIENDS`\n* `PARTY_PRIVACY_VOICE_CHANNEL`\n* `EMBEDDED`","see":["{@link https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-flags}"],"scope":"static","type":[[["Object"]]],"meta":{"line":32,"file":"ActivityFlags.js","path":"src/util"}}],"methods":[{"name":"any","description":"Checks whether the bitfield has a bit, or any of multiple bits.","inherits":"BitField#any","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":25,"file":"BitField.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","inherits":"BitField#equals","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a bit, or multiple bits.","inherits":"BitField#has","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"BitField.js","path":"src/util"}},{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","inherits":"BitField#missing","inherited":true,"params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":54,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","inherits":"BitField#freeze","inherited":true,"returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","inherits":"BitField#add","inherited":true,"params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","inherits":"BitField#remove","inherited":true,"params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","inherits":"BitField#serialize","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the bits available.","inherits":"BitField#toArray","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":113,"file":"BitField.js","path":"src/util"}}],"meta":{"line":9,"file":"ActivityFlags.js","path":"src/util"}},{"name":"ApplicationFlags","description":"Data structure that makes it easy to interact with a {@link Application#flags} bitfield.","extends":[[["BitField"]]],"construct":{"name":"ApplicationFlags","params":[{"name":"bits","description":"Bit(s) to read from","optional":true,"default":0,"type":[[["BitFieldResolvable"]]]}]},"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["number"]]],"meta":{"line":18,"file":"ApplicationFlags.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric application flags. All available properties:\n* `EMBEDDED_RELEASED`\n* `MANAGED_EMOJI`\n* `GROUP_DM_CREATE`\n* `RPC_PRIVATE_BETA`\n* `APPLICATION_AUTO_MODERATION_RULE_CREATE_BADGE`\n* `ALLOW_ASSETS`\n* `ALLOW_ACTIVITY_ACTION_SPECTATE`\n* `ALLOW_ACTIVITY_ACTION_JOIN_REQUEST`\n* `RPC_HAS_CONNECTED`\n* `GATEWAY_PRESENCE`\n* `GATEWAY_PRESENCE_LIMITED`\n* `GATEWAY_GUILD_MEMBERS`\n* `GATEWAY_GUILD_MEMBERS_LIMITED`\n* `VERIFICATION_PENDING_GUILD_LIMIT`\n* `EMBEDDED`\n* `GATEWAY_MESSAGE_CONTENT`\n* `GATEWAY_MESSAGE_CONTENT_LIMITED`\n* `EMBEDDED_FIRST_PARTY`\n* `APPLICATION_COMMAND_BADGE`\n* `ACTIVE`\n* `IFRAME_MODAL`","see":["{@link https://discord.com/developers/docs/resources/application#application-object-application-flags}","{@link https://flags.lewistehminerz.dev/}"],"scope":"static","type":[[["Object"]]],"meta":{"line":51,"file":"ApplicationFlags.js","path":"src/util"}}],"methods":[{"name":"any","description":"Checks whether the bitfield has a bit, or any of multiple bits.","inherits":"BitField#any","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":25,"file":"BitField.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","inherits":"BitField#equals","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a bit, or multiple bits.","inherits":"BitField#has","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"BitField.js","path":"src/util"}},{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","inherits":"BitField#missing","inherited":true,"params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":54,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","inherits":"BitField#freeze","inherited":true,"returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","inherits":"BitField#add","inherited":true,"params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","inherits":"BitField#remove","inherited":true,"params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","inherits":"BitField#serialize","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the bits available.","inherits":"BitField#toArray","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":113,"file":"BitField.js","path":"src/util"}}],"meta":{"line":9,"file":"ApplicationFlags.js","path":"src/util"}},{"name":"AttachmentFlags","description":"Data structure that makes it easy to interact with an {@link GuildMember#flags} bitfield.","extends":[[["BitField"]]],"construct":{"name":"AttachmentFlags","params":[{"name":"bits","description":"Bit(s) to read from","optional":true,"default":0,"type":[[["BitFieldResolvable"]]]}]},"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["number"]],[["bigint"]]],"meta":{"line":17,"file":"BitField.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric guild member flags. All available properties:\n* `IS_REMIX`","see":["{@link https://discord.com/developers/docs/resources/channel#attachment-object-attachment-structure-attachment-flags}"],"scope":"static","type":[[["Object"]]],"meta":{"line":25,"file":"AttachmentFlags.js","path":"src/util"}}],"methods":[{"name":"any","description":"Checks whether the bitfield has a bit, or any of multiple bits.","inherits":"BitField#any","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":25,"file":"BitField.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","inherits":"BitField#equals","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a bit, or multiple bits.","inherits":"BitField#has","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"BitField.js","path":"src/util"}},{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","inherits":"BitField#missing","inherited":true,"params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":54,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","inherits":"BitField#freeze","inherited":true,"returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","inherits":"BitField#add","inherited":true,"params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","inherits":"BitField#remove","inherited":true,"params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","inherits":"BitField#serialize","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the bits available.","inherits":"BitField#toArray","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":113,"file":"BitField.js","path":"src/util"}}],"meta":{"line":9,"file":"AttachmentFlags.js","path":"src/util"}},{"name":"BitField","description":"Data structure that makes it easy to interact with a bitfield.","construct":{"name":"BitField","params":[{"name":"bits","description":"Bit(s) to read from","optional":true,"default":"this.constructor.defaultBit","type":[[["BitFieldResolvable"]]]}]},"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["number"]],[["bigint"]]],"meta":{"line":17,"file":"BitField.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric bitfield flags.\nDefined in extension classes","scope":"static","abstract":true,"type":[[["Object"]]],"meta":{"line":162,"file":"BitField.js","path":"src/util"}},{"name":"defaultBit","scope":"static","access":"private","type":[[["number"]],[["bigint"]]],"meta":{"line":168,"file":"BitField.js","path":"src/util"}}],"methods":[{"name":"any","description":"Checks whether the bitfield has a bit, or any of multiple bits.","params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":25,"file":"BitField.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a bit, or multiple bits.","params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"BitField.js","path":"src/util"}},{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":54,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the bits available.","params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":113,"file":"BitField.js","path":"src/util"}},{"name":"resolve","description":"Resolves bitfields to their numeric form.","scope":"static","params":[{"name":"bit","description":"bit(s) to resolve","optional":true,"type":[[["BitFieldResolvable"]]]}],"returns":[[["number"]],[["bigint"]]],"meta":{"line":143,"file":"BitField.js","path":"src/util"}}],"meta":{"line":8,"file":"BitField.js","path":"src/util"}},{"name":"ChannelFlags","description":"Data structure that makes it easy to interact with a {@link Channel#flags} bitfield.","extends":[[["BitField"]]],"construct":{"name":"ChannelFlags","params":[{"name":"bits","description":"Bit(s) to read from","optional":true,"default":0,"type":[[["BitFieldResolvable"]]]}]},"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["number"]]],"meta":{"line":30,"file":"ChannelFlags.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric guild channel flags. All available properties:\n* `PINNED`\n* `REQUIRE_TAG`","see":["{@link https://discord.com/developers/docs/resources/channel#channel-object-channel-flags}"],"scope":"static","type":[[["Object"]]],"meta":{"line":18,"file":"ChannelFlags.js","path":"src/util"}}],"methods":[{"name":"any","description":"Checks whether the bitfield has a bit, or any of multiple bits.","inherits":"BitField#any","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":25,"file":"BitField.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","inherits":"BitField#equals","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a bit, or multiple bits.","inherits":"BitField#has","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"BitField.js","path":"src/util"}},{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","inherits":"BitField#missing","inherited":true,"params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":54,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","inherits":"BitField#freeze","inherited":true,"returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","inherits":"BitField#add","inherited":true,"params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","inherits":"BitField#remove","inherited":true,"params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","inherits":"BitField#serialize","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the bits available.","inherits":"BitField#toArray","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":113,"file":"BitField.js","path":"src/util"}}],"meta":{"line":9,"file":"ChannelFlags.js","path":"src/util"}},{"name":"DataResolver","description":"The DataResolver identifies different objects and tries to resolve a specific piece of information from them.","access":"private","methods":[{"name":"resolveCode","description":"Resolves the string to a code based on the passed regex.","scope":"static","params":[{"name":"data","description":"The string to resolve","type":[[["string"]]]},{"name":"regex","description":"The RegExp used to extract the code","type":[[["RegExp"]]]}],"returns":[[["string"]]],"meta":{"line":36,"file":"DataResolver.js","path":"src/util"}},{"name":"resolveInviteCode","description":"Resolves InviteResolvable to an invite code.","scope":"static","params":[{"name":"data","description":"The invite resolvable to resolve","type":[[["InviteResolvable"]]]}],"returns":[[["string"]]],"meta":{"line":45,"file":"DataResolver.js","path":"src/util"}},{"name":"resolveGuildTemplateCode","description":"Resolves GuildTemplateResolvable to a template code.","scope":"static","params":[{"name":"data","description":"The template resolvable to resolve","type":[[["GuildTemplateResolvable"]]]}],"returns":[[["string"]]],"meta":{"line":54,"file":"DataResolver.js","path":"src/util"}},{"name":"resolveImage","description":"Resolves a Base64Resolvable, a string, or a BufferResolvable to a Base 64 image.","scope":"static","params":[{"name":"image","description":"The image to be resolved","type":[[["BufferResolvable"]],[["Base64Resolvable"]]]}],"async":true,"returns":[[["Promise",""],["string",">"]]],"meta":{"line":64,"file":"DataResolver.js","path":"src/util"}},{"name":"resolveBase64","description":"Resolves a Base64Resolvable to a Base 64 image.","scope":"static","params":[{"name":"data","description":"The base 64 resolvable you want to resolve","type":[[["Base64Resolvable"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":85,"file":"DataResolver.js","path":"src/util"}},{"name":"resolveFile","description":"Resolves a BufferResolvable to a Buffer or a Stream.","scope":"static","params":[{"name":"resource","description":"The buffer or stream resolvable to resolve","type":[[["BufferResolvable"]],[["Stream"]]]}],"async":true,"returns":[[["Promise","<("],["Buffer","|"],["Stream",")>"]]],"meta":{"line":109,"file":"DataResolver.js","path":"src/util"}},{"name":"resolveFileAsBuffer","description":"Resolves a BufferResolvable to a Buffer.","scope":"static","params":[{"name":"resource","description":"The buffer or stream resolvable to resolve","type":[[["BufferResolvable"]],[["Stream"]]]}],"async":true,"returns":[[["Promise","<"],["Buffer",">"]]],"meta":{"line":135,"file":"DataResolver.js","path":"src/util"}}],"meta":{"line":15,"file":"DataResolver.js","path":"src/util"}},{"name":"Formatters","description":"Contains various Discord-specific functions for formatting messages.","props":[{"name":"TimestampStyles","description":"The message formatting timestamp\n[styles](https://discord.com/developers/docs/reference#message-formatting-timestamp-styles) supported by Discord.","scope":"static","type":[[["Object","<"],["string",", "],["TimestampStylesString",">"]]],"meta":{"line":208,"file":"Formatters.js","path":"src/util"}}],"methods":[{"name":"blockQuote","description":"Formats the content into a block quote. This needs to be at the start of the line for Discord to format it.","scope":"static","params":[{"name":"content","description":"The content to wrap.","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":28,"file":"Formatters.js","path":"src/util"}},{"name":"bold","description":"Formats the content into bold text.","scope":"static","params":[{"name":"content","description":"The content to wrap.","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":37,"file":"Formatters.js","path":"src/util"}},{"name":"channelMention","description":"Formats a channel id into a channel mention.","scope":"static","params":[{"name":"channelId","description":"The channel id to format.","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":46,"file":"Formatters.js","path":"src/util"}},{"name":"chatInputApplicationCommandMention","description":"Formats an application command name, subcommand group name, subcommand name, and ID\ninto an application command mention","scope":"static","params":[{"name":"commandName","description":"The name of the application command","type":[[["string"]]]},{"name":"subcommandGroupOrSubOrId","description":"The subcommand group name, subcommand name, or application command id","type":[[["string"]],[["Snowflake"]]]},{"name":"subcommandNameOrId","description":"The subcommand name or application command id","optional":true,"nullable":true,"type":[[["string"]],[["Snowflake"]]]},{"name":"commandId","description":"The id of the application command","optional":true,"nullable":true,"type":[[["Snowflake"]]]}],"returns":[[["string"]]],"meta":{"line":55,"file":"Formatters.js","path":"src/util"}},{"name":"codeBlock","description":"Wraps the content inside a code block with an optional language.","scope":"static","params":[{"name":"contentOrLanguage","description":"The language to use, content if a second parameter isn't provided.","type":[[["string"]]]},{"name":"content","description":"The content to wrap.","optional":true,"type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":85,"file":"Formatters.js","path":"src/util"}},{"name":"formatEmoji","description":"Formats an emoji id into a fully qualified emoji identifier","scope":"static","params":[{"name":"emojiId","description":"The emoji id to format.","type":[[["string"]]]},{"name":"animated","description":"Whether the emoji is animated or not. Defaults to `false`","optional":true,"type":[[["boolean"]]]}],"returns":[[["string"]]],"meta":{"line":95,"file":"Formatters.js","path":"src/util"}},{"name":"hideLinkEmbed","description":"Wraps the URL into `<>`, which stops it from embedding.","scope":"static","params":[{"name":"content","description":"The content to wrap.","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":105,"file":"Formatters.js","path":"src/util"}},{"name":"hyperlink","description":"Formats the content and the URL into a masked URL with an optional title.","scope":"static","params":[{"name":"content","description":"The content to display.","type":[[["string"]]]},{"name":"url","description":"The URL the content links to.","type":[[["string"]]]},{"name":"title","description":"The title shown when hovering on the masked link.","optional":true,"type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":114,"file":"Formatters.js","path":"src/util"}},{"name":"inlineCode","description":"Wraps the content inside \\`backticks\\`, which formats it as inline code.","scope":"static","params":[{"name":"content","description":"The content to wrap.","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":125,"file":"Formatters.js","path":"src/util"}},{"name":"italic","description":"Formats the content into italic text.","scope":"static","params":[{"name":"content","description":"The content to wrap.","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":134,"file":"Formatters.js","path":"src/util"}},{"name":"quote","description":"Formats the content into a quote. This needs to be at the start of the line for Discord to format it.","scope":"static","params":[{"name":"content","description":"The content to wrap.","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":143,"file":"Formatters.js","path":"src/util"}},{"name":"roleMention","description":"Formats a role id into a role mention.","scope":"static","params":[{"name":"roleId","description":"The role id to format.","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":152,"file":"Formatters.js","path":"src/util"}},{"name":"spoiler","description":"Formats the content into spoiler text.","scope":"static","params":[{"name":"content","description":"The content to spoiler.","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":161,"file":"Formatters.js","path":"src/util"}},{"name":"strikethrough","description":"Formats the content into strike-through text.","scope":"static","params":[{"name":"content","description":"The content to wrap.","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":170,"file":"Formatters.js","path":"src/util"}},{"name":"time","description":"Formats a date into a short date-time string.","scope":"static","params":[{"name":"date","description":"The date to format.","optional":true,"type":[[["number"]],[["Date"]]]},{"name":"style","description":"The style to use.","optional":true,"type":[[["TimestampStylesString"]]]}],"returns":[[["string"]]],"meta":{"line":179,"file":"Formatters.js","path":"src/util"}},{"name":"underscore","description":"Formats the content into underscored text.","scope":"static","params":[{"name":"content","description":"The content to wrap.","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":210,"file":"Formatters.js","path":"src/util"}},{"name":"userMention","description":"Formats a user id into a user mention.","scope":"static","params":[{"name":"userId","description":"The user id to format.","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":219,"file":"Formatters.js","path":"src/util"}}],"meta":{"line":26,"file":"Formatters.js","path":"src/util"}},{"name":"GuildMemberFlags","description":"Data structure that makes it easy to interact with an {@link GuildMember#flags} bitfield.","extends":[[["BitField"]]],"construct":{"name":"GuildMemberFlags","params":[{"name":"bits","description":"Bit(s) to read from","optional":true,"default":0,"type":[[["BitFieldResolvable"]]]}]},"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["number"]],[["bigint"]]],"meta":{"line":17,"file":"BitField.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric guild member flags. All available properties:\n* `DID_REJOIN`\n* `COMPLETED_ONBOARDING`\n* `BYPASSES_VERIFICATION`\n* `STARTED_ONBOARDING`","see":["{@link https://discord.com/developers/docs/resources/guild#guild-member-object-guild-member-flags}"],"scope":"static","type":[[["Object"]]],"meta":{"line":27,"file":"GuildMemberFlags.js","path":"src/util"}}],"methods":[{"name":"any","description":"Checks whether the bitfield has a bit, or any of multiple bits.","inherits":"BitField#any","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":25,"file":"BitField.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","inherits":"BitField#equals","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a bit, or multiple bits.","inherits":"BitField#has","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"BitField.js","path":"src/util"}},{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","inherits":"BitField#missing","inherited":true,"params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":54,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","inherits":"BitField#freeze","inherited":true,"returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","inherits":"BitField#add","inherited":true,"params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","inherits":"BitField#remove","inherited":true,"params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","inherits":"BitField#serialize","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the bits available.","inherits":"BitField#toArray","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":113,"file":"BitField.js","path":"src/util"}}],"meta":{"line":9,"file":"GuildMemberFlags.js","path":"src/util"}},{"name":"Intents","description":"Data structure that makes it easy to calculate intents.","extends":[[["BitField"]]],"construct":{"name":"Intents","params":[{"name":"bits","description":"Bit(s) to read from","optional":true,"default":0,"type":[[["IntentsResolvable"]]]}]},"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["number"]],[["bigint"]]],"meta":{"line":17,"file":"BitField.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric WebSocket intents. All available properties:\n* `GUILDS`\n* `GUILD_MEMBERS`\n* `GUILD_BANS`\n* `GUILD_EMOJIS_AND_STICKERS`\n* `GUILD_INTEGRATIONS`\n* `GUILD_WEBHOOKS`\n* `GUILD_INVITES`\n* `GUILD_VOICE_STATES`\n* `GUILD_PRESENCES`\n* `GUILD_MESSAGES`\n* `GUILD_MESSAGE_REACTIONS`\n* `GUILD_MESSAGE_TYPING`\n* `DIRECT_MESSAGES`\n* `DIRECT_MESSAGE_REACTIONS`\n* `DIRECT_MESSAGE_TYPING`\n* `MESSAGE_CONTENT`\n* `GUILD_SCHEDULED_EVENTS`\n* `AUTO_MODERATION_CONFIGURATION`\n* `AUTO_MODERATION_EXECUTION`","see":["{@link https://discord.com/developers/docs/topics/gateway#list-of-intents}"],"scope":"static","type":[[["Object"]]],"meta":{"line":50,"file":"Intents.js","path":"src/util"}}],"methods":[{"name":"any","description":"Checks whether the bitfield has a bit, or any of multiple bits.","inherits":"BitField#any","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":25,"file":"BitField.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","inherits":"BitField#equals","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a bit, or multiple bits.","inherits":"BitField#has","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"BitField.js","path":"src/util"}},{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","inherits":"BitField#missing","inherited":true,"params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":54,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","inherits":"BitField#freeze","inherited":true,"returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","inherits":"BitField#add","inherited":true,"params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","inherits":"BitField#remove","inherited":true,"params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","inherits":"BitField#serialize","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the bits available.","inherits":"BitField#toArray","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":113,"file":"BitField.js","path":"src/util"}}],"meta":{"line":8,"file":"Intents.js","path":"src/util"}},{"name":"InviteFlags","description":"Data structure that makes it easy to interact with an {@link InviteFlags#flags} bitfield.","extends":[[["BitField"]]],"construct":{"name":"InviteFlags","params":[{"name":"bits","description":"Bit(s) to read from","optional":true,"default":0,"type":[[["BitFieldResolvable"]]]}]},"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["number"]],[["bigint"]]],"meta":{"line":17,"file":"BitField.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric the Discord invite flags. All available properties:\n* `GUEST`\n* `VIEWED`","scope":"static","type":[[["Object"]]],"meta":{"line":24,"file":"InviteFlags.js","path":"src/util"}}],"methods":[{"name":"any","description":"Checks whether the bitfield has a bit, or any of multiple bits.","inherits":"BitField#any","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":25,"file":"BitField.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","inherits":"BitField#equals","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a bit, or multiple bits.","inherits":"BitField#has","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"BitField.js","path":"src/util"}},{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","inherits":"BitField#missing","inherited":true,"params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":54,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","inherits":"BitField#freeze","inherited":true,"returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","inherits":"BitField#add","inherited":true,"params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","inherits":"BitField#remove","inherited":true,"params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","inherits":"BitField#serialize","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the bits available.","inherits":"BitField#toArray","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":113,"file":"BitField.js","path":"src/util"}}],"meta":{"line":9,"file":"InviteFlags.js","path":"src/util"}},{"name":"LimitedCollection","description":"A Collection which holds a max amount of entries and sweeps periodically.","extends":[[["Collection"]]],"construct":{"name":"LimitedCollection","params":[{"name":"options","description":"Options for constructing the Collection.","optional":true,"default":"{}","type":[[["LimitedCollectionOptions"]]]},{"name":"iterable","description":"Optional entries passed to the Map constructor.","optional":true,"default":null,"type":[[["Iterable"]]]}]},"props":[{"name":"maxSize","description":"The max size of the Collection.","type":[[["number"]]],"meta":{"line":63,"file":"LimitedCollection.js","path":"src/util"}},{"name":"keepOverLimit","description":"A function called to check if an entry should be kept when the Collection is at max size.","nullable":true,"type":[[["function"]]],"meta":{"line":69,"file":"LimitedCollection.js","path":"src/util"}},{"name":"sweepFilter","description":"A function called every sweep interval that returns a function passed to `sweep`.","nullable":true,"deprecated":"in favor of {@link Client#sweepers}","type":[[["SweepFilter"]]],"meta":{"line":76,"file":"LimitedCollection.js","path":"src/util"}},{"name":"interval","description":"The id of the interval being used to sweep.","nullable":true,"deprecated":"in favor of {@link Client#sweepers}","type":[[["Timeout"]]],"meta":{"line":83,"file":"LimitedCollection.js","path":"src/util"}}],"methods":[{"name":"filterByLifetime","description":"Create a sweepFilter function that uses a lifetime to determine sweepability.","scope":"static","deprecated":"Use {@link Sweepers.filterByLifetime} instead","params":[{"name":"options","description":"The options used to generate the filter function","optional":true,"default":"{}","type":[[["LifetimeFilterOptions"]]]}],"returns":[[["SweepFilter"]]],"meta":{"line":114,"file":"LimitedCollection.js","path":"src/util"}}],"meta":{"line":37,"file":"LimitedCollection.js","path":"src/util"}},{"name":"MessageFlags","description":"Data structure that makes it easy to interact with a {@link Message#flags} bitfield.","extends":[[["BitField"]]],"construct":{"name":"MessageFlags","params":[{"name":"bits","description":"Bit(s) to read from","optional":true,"default":0,"type":[[["BitFieldResolvable"]]]}]},"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["number"]]],"meta":{"line":18,"file":"MessageFlags.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric message flags. All available properties:\n* `CROSSPOSTED`\n* `IS_CROSSPOST`\n* `SUPPRESS_EMBEDS`\n* `SOURCE_MESSAGE_DELETED`\n* `URGENT`\n* `HAS_THREAD`\n* `EPHEMERAL`\n* `LOADING`\n* `FAILED_TO_MENTION_SOME_ROLES_IN_THREAD`\n* `SUPPRESS_NOTIFICATIONS`\n* `IS_VOICE_MESSAGE`","see":["{@link https://discord.com/developers/docs/resources/channel#message-object-message-flags}"],"scope":"static","type":[[["Object"]]],"meta":{"line":40,"file":"MessageFlags.js","path":"src/util"}}],"methods":[{"name":"any","description":"Checks whether the bitfield has a bit, or any of multiple bits.","inherits":"BitField#any","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":25,"file":"BitField.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","inherits":"BitField#equals","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a bit, or multiple bits.","inherits":"BitField#has","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"BitField.js","path":"src/util"}},{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","inherits":"BitField#missing","inherited":true,"params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":54,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","inherits":"BitField#freeze","inherited":true,"returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","inherits":"BitField#add","inherited":true,"params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","inherits":"BitField#remove","inherited":true,"params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","inherits":"BitField#serialize","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the bits available.","inherits":"BitField#toArray","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":113,"file":"BitField.js","path":"src/util"}}],"meta":{"line":9,"file":"MessageFlags.js","path":"src/util"}},{"name":"Options","description":"Contains various utilities for client options.","props":[{"name":"defaultMakeCacheSettings","description":"The default settings passed to {@link ClientOptions.makeCache}.\nThe caches that this changes are:\n* `MessageManager` - Limit to 200 messages\n* `ChannelManager` - Sweep archived threads\n* `GuildChannelManager` - Sweep archived threads\n* `ThreadManager` - Sweep archived threads\nIf you want to keep default behavior and add on top of it you can use this object and add on to it, e.g.\n`makeCache: Options.cacheWithLimits({ ...Options.defaultMakeCacheSettings, ReactionManager: 0 })`","scope":"static","type":[[["Object","<"],["string",", ("],["LimitedCollectionOptions","|"],["number",")>"]]],"meta":{"line":302,"file":"Options.js","path":"src/util"}},{"name":"defaultSweeperSettings","description":"The default settings passed to {@link ClientOptions.sweepers}.\nThe sweepers that this changes are:\n* `threads` - Sweep archived threads every hour, removing those archived more than 4 hours ago\nIf you want to keep default behavior and add on top of it you can use this object and add on to it, e.g.\n`sweepers: { ...Options.defaultSweeperSettings, messages: { interval: 300, lifetime: 600 } }`","scope":"static","type":[[["SweeperOptions"]]],"meta":{"line":329,"file":"Options.js","path":"src/util"}}],"methods":[{"name":"createDefault","description":"The default client options.","scope":"static","returns":[[["ClientOptions"]]],"meta":{"line":152,"file":"Options.js","path":"src/util"}},{"name":"cacheWithLimits","description":"Create a cache factory using predefined settings to sweep or limit.","scope":"static","examples":["// Store up to 200 messages per channel and discard archived threads if they were archived more than 4 hours ago.\n// Note archived threads will remain in the guild and client caches with these settings\nOptions.cacheWithLimits({\n MessageManager: 200,\n ThreadManager: {\n sweepInterval: 3600,\n sweepFilter: LimitedCollection.filterByLifetime({\n getComparisonTimestamp: e => e.archiveTimestamp,\n excludeFromSweep: e => !e.archived,\n }),\n },\n });","// Sweep messages every 5 minutes, removing messages that have not been edited or created in the last 30 minutes\nOptions.cacheWithLimits({\n // Keep default thread sweeping behavior\n ...Options.defaultMakeCacheSettings,\n // Override MessageManager\n MessageManager: {\n sweepInterval: 300,\n sweepFilter: LimitedCollection.filterByLifetime({\n lifetime: 1800,\n getComparisonTimestamp: e => e.editedTimestamp ?? e.createdTimestamp,\n })\n }\n});"],"params":[{"name":"settings","description":"Settings passed to the relevant constructor.\nIf no setting is provided for a manager, it uses Collection.\nIf a number is provided for a manager, it uses that number as the max size for a LimitedCollection.\nIf LimitedCollectionOptions are provided for a manager, it uses those settings to form a LimitedCollection.","optional":true,"default":"{}","type":[[["Object","<"],["string",", ("],["LimitedCollectionOptions","|"],["number",")>"]]]}],"returns":[[["CacheFactory"]]],"meta":{"line":251,"file":"Options.js","path":"src/util"}},{"name":"cacheEverything","description":"Create a cache factory that always caches everything.","scope":"static","returns":[[["CacheFactory"]]],"meta":{"line":286,"file":"Options.js","path":"src/util"}}],"meta":{"line":147,"file":"Options.js","path":"src/util"}},{"name":"Permissions","description":"Data structure that makes it easy to interact with a permission bitfield. All {@link GuildMember}s have a set of\npermissions in their guild, and each channel in the guild may also have {@link PermissionOverwrites} for the member\nthat override their default permissions.","extends":[[["BitField"]]],"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["bigint"]]],"meta":{"line":12,"file":"Permissions.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric permission flags. All available properties:\n* `CREATE_INSTANT_INVITE` (create invitations to the guild)\n* `KICK_MEMBERS`\n* `BAN_MEMBERS`\n* `ADMINISTRATOR` (implicitly has *all* permissions, and bypasses all channel overwrites)\n* `MANAGE_CHANNELS` (edit and reorder channels)\n* `MANAGE_GUILD` (edit the guild information, region, etc.)\n* `ADD_REACTIONS` (add new reactions to messages)\n* `VIEW_AUDIT_LOG`\n* `PRIORITY_SPEAKER`\n* `STREAM`\n* `VIEW_CHANNEL`\n* `SEND_MESSAGES`\n* `SEND_TTS_MESSAGES`\n* `MANAGE_MESSAGES` (delete messages and reactions)\n* `EMBED_LINKS` (links posted will have a preview embedded)\n* `ATTACH_FILES`\n* `READ_MESSAGE_HISTORY` (view messages that were posted prior to opening Discord)\n* `MENTION_EVERYONE`\n* `USE_EXTERNAL_EMOJIS` (use emojis from different guilds)\n* `VIEW_GUILD_INSIGHTS`\n* `CONNECT` (connect to a voice channel)\n* `SPEAK` (speak in a voice channel)\n* `MUTE_MEMBERS` (mute members across all voice channels)\n* `DEAFEN_MEMBERS` (deafen members across all voice channels)\n* `MOVE_MEMBERS` (move members between voice channels)\n* `USE_VAD` (use voice activity detection)\n* `CHANGE_NICKNAME`\n* `MANAGE_NICKNAMES` (change other members' nicknames)\n* `MANAGE_ROLES`\n* `MANAGE_WEBHOOKS`\n* `MANAGE_EMOJIS_AND_STICKERS`\n* `USE_APPLICATION_COMMANDS`\n* `REQUEST_TO_SPEAK`\n* `MANAGE_EVENTS`\n* `MANAGE_THREADS`\n* `USE_PUBLIC_THREADS` (deprecated)\n* `CREATE_PUBLIC_THREADS`\n* `USE_PRIVATE_THREADS` (deprecated)\n* `CREATE_PRIVATE_THREADS`\n* `USE_EXTERNAL_STICKERS` (use stickers from different guilds)\n* `SEND_MESSAGES_IN_THREADS`\n* `START_EMBEDDED_ACTIVITIES`\n* `MODERATE_MEMBERS`\n* `VIEW_CREATOR_MONETIZATION_ANALYTICS`\n* `USE_SOUNDBOARD`\n* `CREATE_GUILD_EXPRESSIONS`\n* `CREATE_EVENTS`\n* `USE_EXTERNAL_SOUNDS`\n* `SEND_VOICE_MESSAGES`\n* `USE_CLYDE_AI`\n* `SET_VOICE_CHANNEL_STATUS`\n* `SEND_POLLS`\n* `USE_EXTERNAL_APPS`","see":["{@link https://discord.com/developers/docs/topics/permissions#permissions-bitwise-permission-flags}"],"scope":"static","type":[[["Object","<"],["string",", "],["bigint",">"]]],"meta":{"line":124,"file":"Permissions.js","path":"src/util"}},{"name":"ALL","description":"Bitfield representing every permission combined","scope":"static","type":[[["bigint"]]],"meta":{"line":185,"file":"Permissions.js","path":"src/util"}},{"name":"DEFAULT","description":"Bitfield representing the default permissions for users","scope":"static","type":[[["bigint"]]],"meta":{"line":191,"file":"Permissions.js","path":"src/util"}},{"name":"STAGE_MODERATOR","description":"Bitfield representing the permissions required for moderators of stage channels","scope":"static","type":[[["bigint"]]],"meta":{"line":197,"file":"Permissions.js","path":"src/util"}}],"methods":[{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"checkAdmin","description":"Whether to allow the administrator permission to override","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":33,"file":"Permissions.js","path":"src/util"}},{"name":"any","description":"Checks whether the bitfield has a permission, or any of multiple permissions.","params":[{"name":"permission","description":"Permission(s) to check for","type":[[["PermissionResolvable"]]]},{"name":"checkAdmin","description":"Whether to allow the administrator permission to override","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"Permissions.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a permission, or multiple permissions.","params":[{"name":"permission","description":"Permission(s) to check for","type":[[["PermissionResolvable"]]]},{"name":"checkAdmin","description":"Whether to allow the administrator permission to override","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["boolean"]]],"meta":{"line":53,"file":"Permissions.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the permissions available.","returns":[[["Array","<"],["string",">"]]],"meta":{"line":61,"file":"Permissions.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","inherits":"BitField#equals","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","inherits":"BitField#freeze","inherited":true,"returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","inherits":"BitField#add","inherited":true,"params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","inherits":"BitField#remove","inherited":true,"params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","inherits":"BitField#serialize","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}}],"meta":{"line":11,"file":"Permissions.js","path":"src/util"}},{"name":"PremiumUsageFlags","description":"Data structure that makes it easy to interact with an {@link PremiumUsageFlags#flags} bitfield.","extends":[[["BitField"]]],"construct":{"name":"PremiumUsageFlags","params":[{"name":"bits","description":"Bit(s) to read from","optional":true,"default":0,"type":[[["BitFieldResolvable"]]]}]},"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["number"]],[["bigint"]]],"meta":{"line":17,"file":"BitField.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric the Discord premium usage flags. All available properties:\n* `PREMIUM_DISCRIMINATOR`\n* `ANIMATED_AVATAR`\n* `PROFILE_BANNER`","scope":"static","type":[[["Object"]]],"meta":{"line":25,"file":"PremiumUsageFlags.js","path":"src/util"}}],"methods":[{"name":"any","description":"Checks whether the bitfield has a bit, or any of multiple bits.","inherits":"BitField#any","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":25,"file":"BitField.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","inherits":"BitField#equals","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a bit, or multiple bits.","inherits":"BitField#has","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"BitField.js","path":"src/util"}},{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","inherits":"BitField#missing","inherited":true,"params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":54,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","inherits":"BitField#freeze","inherited":true,"returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","inherits":"BitField#add","inherited":true,"params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","inherits":"BitField#remove","inherited":true,"params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","inherits":"BitField#serialize","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the bits available.","inherits":"BitField#toArray","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":113,"file":"BitField.js","path":"src/util"}}],"meta":{"line":9,"file":"PremiumUsageFlags.js","path":"src/util"}},{"name":"PurchasedFlags","description":"Data structure that makes it easy to interact with an {@link PurchasedFlags#flags} bitfield.","extends":[[["BitField"]]],"construct":{"name":"PurchasedFlags","params":[{"name":"bits","description":"Bit(s) to read from","optional":true,"default":0,"type":[[["BitFieldResolvable"]]]}]},"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["number"]],[["bigint"]]],"meta":{"line":17,"file":"BitField.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric the Discord purchased flags. All available properties:\n* `NITRO_CLASSIC`\n* `NITRO`\n* `GUILD_BOOST`\n* `NITRO_BASIC`","scope":"static","type":[[["Object"]]],"meta":{"line":26,"file":"PurchasedFlags.js","path":"src/util"}}],"methods":[{"name":"any","description":"Checks whether the bitfield has a bit, or any of multiple bits.","inherits":"BitField#any","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":25,"file":"BitField.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","inherits":"BitField#equals","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a bit, or multiple bits.","inherits":"BitField#has","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"BitField.js","path":"src/util"}},{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","inherits":"BitField#missing","inherited":true,"params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":54,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","inherits":"BitField#freeze","inherited":true,"returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","inherits":"BitField#add","inherited":true,"params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","inherits":"BitField#remove","inherited":true,"params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","inherits":"BitField#serialize","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the bits available.","inherits":"BitField#toArray","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":113,"file":"BitField.js","path":"src/util"}}],"meta":{"line":9,"file":"PurchasedFlags.js","path":"src/util"}},{"name":"DiscordAuthWebsocket","description":"Discord Auth QR","extends":[[["EventEmitter"]]],"abstract":true,"construct":{"name":"DiscordAuthWebsocket","description":"Creates a new DiscordAuthWebsocket instance."},"props":[{"name":"AuthURL","type":[[["string"]]],"meta":{"line":71,"file":"RemoteAuth.js","path":"src/util"}},{"name":"exprire","type":[[["Date"]]],"meta":{"line":78,"file":"RemoteAuth.js","path":"src/util"}},{"name":"user","type":[[["UserRaw"]]],"meta":{"line":85,"file":"RemoteAuth.js","path":"src/util"}}],"methods":[{"name":"connect","description":"Connect WS","params":[{"name":"client","description":"DiscordJS Client","optional":true,"type":[[["Client"]]]}],"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":289,"file":"RemoteAuth.js","path":"src/util"}},{"name":"destroy","description":"Destroy client","returns":[[["void"]]],"meta":{"line":302,"file":"RemoteAuth.js","path":"src/util"}},{"name":"generateQR","description":"Generate QR code for user to scan (Terminal)","returns":[[["void"]]],"meta":{"line":317,"file":"RemoteAuth.js","path":"src/util"}}],"events":[{"name":"error","description":"WS Error","params":[{"name":"error","description":"Error","type":[[["Error"]]]}],"meta":{"line":101,"file":"RemoteAuth.js","path":"src/util"}},{"name":"debug","description":"Debug Event","params":[{"name":"msg","description":"Debug msg","type":[[["string"]]]}],"meta":{"line":109,"file":"RemoteAuth.js","path":"src/util"}},{"name":"ready","description":"Ready Event","params":[{"name":"client","description":"WS","type":[[["DiscordAuthWebsocket"]]]}],"meta":{"line":137,"file":"RemoteAuth.js","path":"src/util"}},{"name":"cancel","description":"Cancel","params":[{"name":"client","description":"WS","type":[[["DiscordAuthWebsocket"]]]}],"meta":{"line":158,"file":"RemoteAuth.js","path":"src/util"}},{"name":"pending","description":"Emitted whenever a user is scan QR Code.","params":[{"name":"user","description":"Discord User Raw","type":[[["UserRaw"]]]}],"meta":{"line":268,"file":"RemoteAuth.js","path":"src/util"}},{"name":"closed","description":"Emitted whenever a connection is closed.","meta":{"line":306,"file":"RemoteAuth.js","path":"src/util"}},{"name":"finish","description":"Emitted whenever a real token is found.","params":[{"name":"token","description":"Discord Token","type":[[["string"]]]}],"meta":{"line":356,"file":"RemoteAuth.js","path":"src/util"}}],"meta":{"line":50,"file":"RemoteAuth.js","path":"src/util"}},{"name":"RoleFlags","description":"Data structure that makes it easy to interact with an {@link GuildMember#flags} bitfield.","extends":[[["BitField"]]],"construct":{"name":"RoleFlags","params":[{"name":"bits","description":"Bit(s) to read from","optional":true,"default":0,"type":[[["BitFieldResolvable"]]]}]},"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["number"]],[["bigint"]]],"meta":{"line":17,"file":"BitField.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric guild member flags. All available properties:\n* `IN_PROMPT`","see":["{@link https://discord.com/developers/docs/topics/permissions#role-object-role-flags}"],"scope":"static","type":[[["Object"]]],"meta":{"line":24,"file":"RoleFlags.js","path":"src/util"}}],"methods":[{"name":"any","description":"Checks whether the bitfield has a bit, or any of multiple bits.","inherits":"BitField#any","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":25,"file":"BitField.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","inherits":"BitField#equals","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a bit, or multiple bits.","inherits":"BitField#has","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"BitField.js","path":"src/util"}},{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","inherits":"BitField#missing","inherited":true,"params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":54,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","inherits":"BitField#freeze","inherited":true,"returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","inherits":"BitField#add","inherited":true,"params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","inherits":"BitField#remove","inherited":true,"params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","inherits":"BitField#serialize","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the bits available.","inherits":"BitField#toArray","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":113,"file":"BitField.js","path":"src/util"}}],"meta":{"line":9,"file":"RoleFlags.js","path":"src/util"}},{"name":"SnowflakeUtil","description":"A container for useful snowflake-related methods.","props":[{"name":"EPOCH","description":"Discord's epoch value (2015-01-01T00:00:00.000Z).","scope":"static","readonly":true,"type":[[["number"]]],"meta":{"line":87,"file":"SnowflakeUtil.js","path":"src/util"}}],"methods":[{"name":"generate","description":"Generates a Discord snowflake.\nThis hardcodes the worker's id as 1 and the process's id as 0.","scope":"static","params":[{"name":"timestamp","description":"Timestamp or date of the snowflake to generate","optional":true,"default":"Date.now()","type":[[["number"]],[["Date"]]]}],"returns":{"types":[[["Snowflake"]]],"description":"The generated snowflake"},"meta":{"line":30,"file":"SnowflakeUtil.js","path":"src/util"}},{"name":"deconstruct","description":"Deconstructs a Discord snowflake.","scope":"static","params":[{"name":"snowflake","description":"Snowflake to deconstruct","type":[[["Snowflake"]]]}],"returns":[[["DeconstructedSnowflake"]]],"meta":{"line":59,"file":"SnowflakeUtil.js","path":"src/util"}},{"name":"timestampFrom","description":"Retrieves the timestamp field's value from a Discord snowflake.","scope":"static","params":[{"name":"snowflake","description":"Snowflake to get the timestamp value from","type":[[["Snowflake"]]]}],"returns":[[["number"]]],"meta":{"line":78,"file":"SnowflakeUtil.js","path":"src/util"}}],"meta":{"line":10,"file":"SnowflakeUtil.js","path":"src/util"}},{"name":"Speaking","description":"Data structure that makes it easy to interact with a {@link VoiceConnection#speaking}\nand {@link guildMemberSpeaking} event bitfields.","extends":[[["BitField"]]],"construct":{"name":"Speaking","params":[{"name":"bits","description":"Bit(s) to read from","optional":true,"default":0,"type":[[["BitFieldResolvable"]]]}]},"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["number"]],[["bigint"]]],"meta":{"line":17,"file":"BitField.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric speaking flags. All available properties:\n* `SPEAKING`\n* `SOUNDSHARE`\n* `PRIORITY_SPEAKING`","see":["{@link https://discord.com/developers/docs/topics/voice-connections#speaking}"],"scope":"static","type":[[["Object"]]],"meta":{"line":27,"file":"Speaking.js","path":"src/util"}}],"methods":[{"name":"any","description":"Checks whether the bitfield has a bit, or any of multiple bits.","inherits":"BitField#any","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":25,"file":"BitField.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","inherits":"BitField#equals","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a bit, or multiple bits.","inherits":"BitField#has","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"BitField.js","path":"src/util"}},{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","inherits":"BitField#missing","inherited":true,"params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":54,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","inherits":"BitField#freeze","inherited":true,"returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","inherits":"BitField#add","inherited":true,"params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","inherits":"BitField#remove","inherited":true,"params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","inherits":"BitField#serialize","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the bits available.","inherits":"BitField#toArray","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":113,"file":"BitField.js","path":"src/util"}}],"meta":{"line":10,"file":"Speaking.js","path":"src/util"}},{"name":"Sweepers","description":"A container for all cache sweeping intervals and their associated sweep methods.","props":[{"name":"options","description":"The options the sweepers were instantiated with","type":[[["SweeperOptions"]]],"meta":{"line":30,"file":"Sweepers.js","path":"src/util"}},{"name":"intervals","description":"A record of interval timeout that is used to sweep the indicated items, or null if not being swept","type":[[["Object","<"],["SweeperKey",", ?"],["Timeout",">"]]],"meta":{"line":36,"file":"Sweepers.js","path":"src/util"}}],"methods":[{"name":"sweepApplicationCommands","description":"Sweeps all guild and global application commands and removes the ones which are indicated by the filter.","params":[{"name":"filter","description":"The function used to determine which commands will be removed from the caches.","type":[[["function"]]]}],"returns":{"types":[[["number"]]],"description":"Amount of commands that were removed from the caches"},"meta":{"line":68,"file":"Sweepers.js","path":"src/util"}},{"name":"sweepAutoModerationRules","description":"Sweeps all auto moderation rules and removes the ones which are indicated by the filter.","params":[{"name":"filter","description":"The function used to determine\nwhich auto moderation rules will be removed from the caches","type":[[["function"]]]}],"returns":{"types":[[["number"]]],"description":"Amount of auto moderation rules that were removed from the caches"},"meta":{"line":86,"file":"Sweepers.js","path":"src/util"}},{"name":"sweepBans","description":"Sweeps all guild bans and removes the ones which are indicated by the filter.","params":[{"name":"filter","description":"The function used to determine which bans will be removed from the caches.","type":[[["function"]]]}],"returns":{"types":[[["number"]]],"description":"Amount of bans that were removed from the caches"},"meta":{"line":95,"file":"Sweepers.js","path":"src/util"}},{"name":"sweepEmojis","description":"Sweeps all guild emojis and removes the ones which are indicated by the filter.","params":[{"name":"filter","description":"The function used to determine which emojis will be removed from the caches.","type":[[["function"]]]}],"returns":{"types":[[["number"]]],"description":"Amount of emojis that were removed from the caches"},"meta":{"line":104,"file":"Sweepers.js","path":"src/util"}},{"name":"sweepInvites","description":"Sweeps all guild invites and removes the ones which are indicated by the filter.","params":[{"name":"filter","description":"The function used to determine which invites will be removed from the caches.","type":[[["function"]]]}],"returns":{"types":[[["number"]]],"description":"Amount of invites that were removed from the caches"},"meta":{"line":113,"file":"Sweepers.js","path":"src/util"}},{"name":"sweepGuildMembers","description":"Sweeps all guild members and removes the ones which are indicated by the filter.\nIt is highly recommended to keep the client guild member cached","params":[{"name":"filter","description":"The function used to determine which guild members will be removed from the caches.","type":[[["function"]]]}],"returns":{"types":[[["number"]]],"description":"Amount of guild members that were removed from the caches"},"meta":{"line":123,"file":"Sweepers.js","path":"src/util"}},{"name":"sweepMessages","description":"Sweeps all text-based channels' messages and removes the ones which are indicated by the filter.","examples":["// Remove all messages older than 1800 seconds from the messages cache\nconst amount = sweepers.sweepMessages(\n Sweepers.filterByLifetime({\n lifetime: 1800,\n getComparisonTimestamp: m => m.editedTimestamp ?? m.createdTimestamp,\n })(),\n);\nconsole.log(`Successfully removed ${amount} messages from the cache.`);"],"params":[{"name":"filter","description":"The function used to determine which messages will be removed from the caches.","type":[[["function"]]]}],"returns":{"types":[[["number"]]],"description":"Amount of messages that were removed from the caches"},"meta":{"line":141,"file":"Sweepers.js","path":"src/util"}},{"name":"sweepPresences","description":"Sweeps all presences and removes the ones which are indicated by the filter.","params":[{"name":"filter","description":"The function used to determine which presences will be removed from the caches.","type":[[["function"]]]}],"returns":{"types":[[["number"]]],"description":"Amount of presences that were removed from the caches"},"meta":{"line":163,"file":"Sweepers.js","path":"src/util"}},{"name":"sweepReactions","description":"Sweeps all message reactions and removes the ones which are indicated by the filter.","params":[{"name":"filter","description":"The function used to determine which reactions will be removed from the caches.","type":[[["function"]]]}],"returns":{"types":[[["number"]]],"description":"Amount of reactions that were removed from the caches"},"meta":{"line":172,"file":"Sweepers.js","path":"src/util"}},{"name":"sweepStageInstances","description":"Sweeps all guild stage instances and removes the ones which are indicated by the filter.","params":[{"name":"filter","description":"The function used to determine which stage instances will be removed from the caches.","type":[[["function"]]]}],"returns":{"types":[[["number"]]],"description":"Amount of stage instances that were removed from the caches"},"meta":{"line":201,"file":"Sweepers.js","path":"src/util"}},{"name":"sweepStickers","description":"Sweeps all guild stickers and removes the ones which are indicated by the filter.","params":[{"name":"filter","description":"The function used to determine which stickers will be removed from the caches.","type":[[["function"]]]}],"returns":{"types":[[["number"]]],"description":"Amount of stickers that were removed from the caches"},"meta":{"line":210,"file":"Sweepers.js","path":"src/util"}},{"name":"sweepThreadMembers","description":"Sweeps all thread members and removes the ones which are indicated by the filter.\nIt is highly recommended to keep the client thread member cached","params":[{"name":"filter","description":"The function used to determine which thread members will be removed from the caches.","type":[[["function"]]]}],"returns":{"types":[[["number"]]],"description":"Amount of thread members that were removed from the caches"},"meta":{"line":220,"file":"Sweepers.js","path":"src/util"}},{"name":"sweepThreads","description":"Sweeps all threads and removes the ones which are indicated by the filter.","examples":["// Remove all threads archived greater than 1 day ago from all the channel caches\nconst amount = sweepers.sweepThreads(\n Sweepers.filterByLifetime({\n getComparisonTimestamp: t => t.archivedTimestamp,\n excludeFromSweep: t => !t.archived,\n })(),\n);\nconsole.log(`Successfully removed ${amount} threads from the cache.`);"],"params":[{"name":"filter","description":"The function used to determine which threads will be removed from the caches.","type":[[["function"]]]}],"returns":{"types":[[["number"]]],"description":"filter Amount of threads that were removed from the caches"},"meta":{"line":250,"file":"Sweepers.js","path":"src/util"}},{"name":"sweepUsers","description":"Sweeps all users and removes the ones which are indicated by the filter.","params":[{"name":"filter","description":"The function used to determine which users will be removed from the caches.","type":[[["function"]]]}],"returns":{"types":[[["number"]]],"description":"Amount of users that were removed from the caches"},"meta":{"line":272,"file":"Sweepers.js","path":"src/util"}},{"name":"sweepVoiceStates","description":"Sweeps all guild voice states and removes the ones which are indicated by the filter.","params":[{"name":"filter","description":"The function used to determine which voice states will be removed from the caches.","type":[[["function"]]]}],"returns":{"types":[[["number"]]],"description":"Amount of voice states that were removed from the caches"},"meta":{"line":289,"file":"Sweepers.js","path":"src/util"}},{"name":"destroy","description":"Cancels all sweeping intervals","returns":[[["void"]]],"meta":{"line":297,"file":"Sweepers.js","path":"src/util"}},{"name":"_sweepGuildDirectProp","description":"Sweep a direct sub property of all guilds","access":"private","params":[{"name":"key","description":"The name of the property","type":[[["string"]]]},{"name":"filter","description":"Filter function passed to sweep","type":[[["function"]]]},{"name":"eventOptions","description":"Options for the Client event emitted here","optional":true,"default":"{}","type":[[["SweepEventOptions"]]]}],"returns":{"types":[[["Object"]]],"description":"Object containing the number of guilds swept and the number of items swept"},"meta":{"line":401,"file":"Sweepers.js","path":"src/util"}},{"name":"_validateProperties","description":"Validates a set of properties","access":"private","params":[{"name":"key","description":"Key of the options object to check","type":[[["string"]]]}],"meta":{"line":428,"file":"Sweepers.js","path":"src/util"}},{"name":"_initInterval","description":"Initialize an interval for sweeping","access":"private","params":[{"name":"intervalKey","description":"The name of the property that stores the interval for this sweeper","type":[[["string"]]]},{"name":"sweepKey","description":"The name of the function that sweeps the desired caches","type":[[["string"]]]},{"name":"opts","description":"Validated options for a sweep","type":[[["Object"]]]}],"meta":{"line":455,"file":"Sweepers.js","path":"src/util"}},{"name":"filterByLifetime","description":"Create a sweepFilter function that uses a lifetime to determine sweepability.","scope":"static","params":[{"name":"options","description":"The options used to generate the filter function","optional":true,"default":"{}","type":[[["LifetimeFilterOptions"]]]}],"returns":[[["GlobalSweepFilter"]]],"meta":{"line":319,"file":"Sweepers.js","path":"src/util"}},{"name":"archivedThreadSweepFilter","description":"Creates a sweep filter that sweeps archived threads","scope":"static","params":[{"name":"lifetime","description":"How long a thread has to be archived to be valid for sweeping","optional":true,"default":14400,"type":[[["number"]]]}],"returns":[[["GlobalSweepFilter"]]],"meta":{"line":353,"file":"Sweepers.js","path":"src/util"}},{"name":"expiredInviteSweepFilter","description":"Creates a sweep filter that sweeps expired invites","scope":"static","params":[{"name":"lifetime","description":"How long ago an invite has to have expired to be valid for sweeping","optional":true,"default":14400,"type":[[["number"]]]}],"returns":[[["GlobalSweepFilter"]]],"meta":{"line":366,"file":"Sweepers.js","path":"src/util"}},{"name":"outdatedMessageSweepFilter","description":"Creates a sweep filter that sweeps outdated messages (edits taken into account)","scope":"static","params":[{"name":"lifetime","description":"How long ago a message has to have been sent or edited to be valid for sweeping","optional":true,"default":3600,"type":[[["number"]]]}],"returns":[[["GlobalSweepFilter"]]],"meta":{"line":378,"file":"Sweepers.js","path":"src/util"}}],"meta":{"line":17,"file":"Sweepers.js","path":"src/util"}},{"name":"SystemChannelFlags","description":"Data structure that makes it easy to interact with a {@link Guild#systemChannelFlags} bitfield.\nNote that all event message types are enabled by default,\nand by setting their corresponding flags you are disabling them","extends":[[["BitField"]]],"construct":{"name":"SystemChannelFlags","params":[{"name":"bits","description":"Bit(s) to read from","optional":true,"default":0,"type":[[["SystemChannelFlagsResolvable"]]]}]},"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["number"]]],"meta":{"line":20,"file":"SystemChannelFlags.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric system channel flags. All available properties:\n* `SUPPRESS_JOIN_NOTIFICATIONS` (Suppress member join notifications)\n* `SUPPRESS_PREMIUM_SUBSCRIPTIONS` (Suppress server boost notifications)\n* `SUPPRESS_GUILD_REMINDER_NOTIFICATIONS` (Suppress server setup tips)\n* `SUPPRESS_JOIN_NOTIFICATION_REPLIES` (Hide member join sticker reply buttons)\n* `SUPPRESS_ROLE_SUBSCRIPTION_PURCHASE_NOTIFICATIONS` (Suppress role subscription purchase and renewal notifications)\n* `SUPPRESS_ROLE_SUBSCRIPTION_PURCHASE_NOTIFICATION_REPLIES` (HHide role subscription sticker reply buttons)","see":["{@link https://discord.com/developers/docs/resources/guild#guild-object-system-channel-flags}"],"scope":"static","type":[[["Object"]]],"meta":{"line":46,"file":"SystemChannelFlags.js","path":"src/util"}}],"methods":[{"name":"any","description":"Checks whether the bitfield has a bit, or any of multiple bits.","inherits":"BitField#any","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":25,"file":"BitField.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","inherits":"BitField#equals","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a bit, or multiple bits.","inherits":"BitField#has","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"BitField.js","path":"src/util"}},{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","inherits":"BitField#missing","inherited":true,"params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":54,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","inherits":"BitField#freeze","inherited":true,"returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","inherits":"BitField#add","inherited":true,"params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","inherits":"BitField#remove","inherited":true,"params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","inherits":"BitField#serialize","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the bits available.","inherits":"BitField#toArray","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":113,"file":"BitField.js","path":"src/util"}}],"meta":{"line":11,"file":"SystemChannelFlags.js","path":"src/util"}},{"name":"ThreadMemberFlags","description":"Data structure that makes it easy to interact with a {@link ThreadMember#flags} bitfield.","extends":[[["BitField"]]],"construct":{"name":"ThreadMemberFlags","params":[{"name":"bits","description":"Bit(s) to read from","optional":true,"default":0,"type":[[["BitFieldResolvable"]]]}]},"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["number"]]],"meta":{"line":18,"file":"ThreadMemberFlags.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric thread member flags. There are currently no bitflags relevant to bots for this.","scope":"static","type":[[["Object","<"],["string",", "],["number",">"]]],"meta":{"line":28,"file":"ThreadMemberFlags.js","path":"src/util"}}],"methods":[{"name":"any","description":"Checks whether the bitfield has a bit, or any of multiple bits.","inherits":"BitField#any","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":25,"file":"BitField.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","inherits":"BitField#equals","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a bit, or multiple bits.","inherits":"BitField#has","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"BitField.js","path":"src/util"}},{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","inherits":"BitField#missing","inherited":true,"params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":54,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","inherits":"BitField#freeze","inherited":true,"returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","inherits":"BitField#add","inherited":true,"params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","inherits":"BitField#remove","inherited":true,"params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","inherits":"BitField#serialize","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the bits available.","inherits":"BitField#toArray","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":113,"file":"BitField.js","path":"src/util"}}],"meta":{"line":9,"file":"ThreadMemberFlags.js","path":"src/util"}},{"name":"UserFlags","description":"Data structure that makes it easy to interact with a {@link User#flags} bitfield.","extends":[[["BitField"]]],"construct":{"name":"UserFlags","params":[{"name":"bits","description":"Bit(s) to read from","optional":true,"default":0,"type":[[["BitFieldResolvable"]]]}]},"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["number"]]],"meta":{"line":17,"file":"UserFlags.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric user flags. All available properties:\n* `DISCORD_EMPLOYEE`\n* `PARTNERED_SERVER_OWNER`\n* `HYPESQUAD_EVENTS`\n* `BUGHUNTER_LEVEL_1`\n* `MFA_SMS`\n* `PREMIUM_PROMO_DISMISSED`\n* `HOUSE_BRAVERY`\n* `HOUSE_BRILLIANCE`\n* `HOUSE_BALANCE`\n* `EARLY_SUPPORTER`\n* `TEAM_USER`\n* `INTERNAL_APPLICATION`\n* `SYSTEM`\n* `HAS_UNREAD_URGENT_MESSAGES`\n* `BUGHUNTER_LEVEL_2`\n* `UNDERAGE_DELETED`\n* `VERIFIED_BOT`\n* `EARLY_VERIFIED_BOT_DEVELOPER`\n* `DISCORD_CERTIFIED_MODERATOR`\n* `BOT_HTTP_INTERACTIONS`\n* `SPAMMER`\n* `DISABLE_PREMIUM`\n* `ACTIVE_DEVELOPER`\n* `HIGH_GLOBAL_RATE_LIMIT`\n* `DELETED`\n* `DISABLED_SUSPICIOUS_ACTIVITY`\n* `SELF_DELETED`\n* `PREMIUM_DISCRIMINATOR`\n* `USED_DESKTOP_CLIENT`\n* `USED_WEB_CLIENT`\n* `USED_MOBILE_CLIENT`\n* `DISABLED`\n* `VERIFIED_EMAIL`\n* `QUARANTINED`\n* `COLLABORATOR`\n* `RESTRICTED_COLLABORATOR`","see":["{@link https://discord.com/developers/docs/resources/user#user-object-user-flags}","{@link https://github.com/LewisTehMinerz/discord-flags}"],"scope":"static","type":[[["Object"]]],"meta":{"line":65,"file":"UserFlags.js","path":"src/util"}}],"methods":[{"name":"any","description":"Checks whether the bitfield has a bit, or any of multiple bits.","inherits":"BitField#any","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":25,"file":"BitField.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","inherits":"BitField#equals","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a bit, or multiple bits.","inherits":"BitField#has","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"BitField.js","path":"src/util"}},{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","inherits":"BitField#missing","inherited":true,"params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":54,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","inherits":"BitField#freeze","inherited":true,"returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","inherits":"BitField#add","inherited":true,"params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","inherits":"BitField#remove","inherited":true,"params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","inherits":"BitField#serialize","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the bits available.","inherits":"BitField#toArray","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":113,"file":"BitField.js","path":"src/util"}}],"meta":{"line":8,"file":"UserFlags.js","path":"src/util"}},{"name":"Util","description":"Contains various general-purpose utility methods.","methods":[{"name":"flatten","description":"Flatten an object. Any properties that are collections will get converted to an array of keys.","scope":"static","params":[{"name":"obj","description":"The object to flatten.","type":[[["Object"]]]},{"name":"props","description":"Specific properties to include/exclude.","optional":true,"variable":true,"type":[[["Object","<"],["string",", ("],["boolean","|"],["string",")>"]]]}],"returns":[[["Object"]]],"meta":{"line":32,"file":"Util.js","path":"src/util"}},{"name":"splitMessage","description":"Splits a string into multiple chunks at a designated character that do not exceed a specific length.","scope":"static","deprecated":"This will be removed in the next major version.","params":[{"name":"text","description":"Content to split","type":[[["string"]]]},{"name":"options","description":"Options controlling the behavior of the split","optional":true,"type":[[["SplitOptions"]]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":88,"file":"Util.js","path":"src/util"}},{"name":"escapeMarkdown","description":"Escapes any Discord-flavour markdown in a string.","scope":"static","params":[{"name":"text","description":"Content to escape","type":[[["string"]]]},{"name":"options","description":"Options for escaping the markdown","optional":true,"default":"{}","type":[[["EscapeMarkdownOptions"]]]}],"returns":[[["string"]]],"meta":{"line":151,"file":"Util.js","path":"src/util"}},{"name":"escapeCodeBlock","description":"Escapes code block markdown in a string.","scope":"static","params":[{"name":"text","description":"Content to escape","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":233,"file":"Util.js","path":"src/util"}},{"name":"escapeInlineCode","description":"Escapes inline code markdown in a string.","scope":"static","params":[{"name":"text","description":"Content to escape","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":242,"file":"Util.js","path":"src/util"}},{"name":"escapeItalic","description":"Escapes italic markdown in a string.","scope":"static","params":[{"name":"text","description":"Content to escape","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":251,"file":"Util.js","path":"src/util"}},{"name":"escapeBold","description":"Escapes bold markdown in a string.","scope":"static","params":[{"name":"text","description":"Content to escape","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":269,"file":"Util.js","path":"src/util"}},{"name":"escapeUnderline","description":"Escapes underline markdown in a string.","scope":"static","params":[{"name":"text","description":"Content to escape","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":282,"file":"Util.js","path":"src/util"}},{"name":"escapeStrikethrough","description":"Escapes strikethrough markdown in a string.","scope":"static","params":[{"name":"text","description":"Content to escape","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":295,"file":"Util.js","path":"src/util"}},{"name":"escapeSpoiler","description":"Escapes spoiler markdown in a string.","scope":"static","params":[{"name":"text","description":"Content to escape","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":304,"file":"Util.js","path":"src/util"}},{"name":"escapeEscape","description":"Escapes escape characters in a string.","scope":"static","params":[{"name":"text","description":"Content to escape","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":313,"file":"Util.js","path":"src/util"}},{"name":"escapeHeading","description":"Escapes heading characters in a string.","scope":"static","params":[{"name":"text","description":"Content to escape","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":322,"file":"Util.js","path":"src/util"}},{"name":"escapeBulletedList","description":"Escapes bulleted list characters in a string.","scope":"static","params":[{"name":"text","description":"Content to escape","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":331,"file":"Util.js","path":"src/util"}},{"name":"escapeNumberedList","description":"Escapes numbered list characters in a string.","scope":"static","params":[{"name":"text","description":"Content to escape","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":340,"file":"Util.js","path":"src/util"}},{"name":"escapeMaskedLink","description":"Escapes masked link characters in a string.","scope":"static","params":[{"name":"text","description":"Content to escape","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":349,"file":"Util.js","path":"src/util"}},{"name":"parseEmoji","description":"Parses emoji info out of a string. The string must be one of:\n* A UTF-8 emoji (no id)\n* A URL-encoded UTF-8 emoji (no id)\n* A Discord custom emoji (`<:name:id>` or ``)","scope":"static","access":"private","params":[{"name":"text","description":"Emoji string to parse","type":[[["string"]]]}],"returns":{"types":[[["APIEmoji"]]],"description":"Object with `animated`, `name`, and `id` properties"},"meta":{"line":372,"file":"Util.js","path":"src/util"}},{"name":"resolvePartialEmoji","description":"Resolves a partial emoji object from an {@link EmojiIdentifierResolvable}, without checking a Client.","scope":"static","access":"private","params":[{"name":"emoji","description":"Emoji identifier to resolve","type":[[["EmojiIdentifierResolvable"]]]}],"returns":{"types":[[["RawEmoji"]]],"nullable":true},"meta":{"line":385,"file":"Util.js","path":"src/util"}},{"name":"cloneObject","description":"Shallow-copies an object with its class/prototype intact.","scope":"static","access":"private","params":[{"name":"obj","description":"Object to clone","type":[[["Object"]]]}],"returns":[[["Object"]]],"meta":{"line":399,"file":"Util.js","path":"src/util"}},{"name":"mergeDefault","description":"Sets default properties on an object that aren't already specified.","scope":"static","access":"private","params":[{"name":"def","description":"Default properties","type":[[["Object"]]]},{"name":"given","description":"Object to assign defaults to","type":[[["Object"]]]}],"returns":[[["Object"]]],"meta":{"line":410,"file":"Util.js","path":"src/util"}},{"name":"makeError","description":"Makes an Error from a plain info object.","scope":"static","access":"private","params":[{"name":"obj","description":"Error info","type":[[["MakeErrorOptions"]]]}],"returns":[[["Error"]]],"meta":{"line":437,"file":"Util.js","path":"src/util"}},{"name":"makePlainError","description":"Makes a plain error info object from an Error.","scope":"static","access":"private","params":[{"name":"err","description":"Error to get info from","type":[[["Error"]]]}],"returns":[[["MakeErrorOptions"]]],"meta":{"line":450,"file":"Util.js","path":"src/util"}},{"name":"moveElementInArray","description":"Moves an element in an array *in place*.","scope":"static","access":"private","params":[{"name":"array","description":"Array to modify","type":[[["Array","<"],["*",">"]]]},{"name":"element","description":"Element to move","type":[["*"]]},{"name":"newIndex","description":"Index or offset to move the element to","type":[[["number"]]]},{"name":"offset","description":"Move the element by an offset amount rather than to a set index","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":[[["number"]]],"meta":{"line":467,"file":"Util.js","path":"src/util"}},{"name":"verifyString","description":"Verifies the provided data is a string, otherwise throws provided error.","scope":"static","params":[{"name":"data","description":"The string resolvable to resolve","type":[[["string"]]]},{"name":"error","description":"The Error constructor to instantiate. Defaults to Error","optional":true,"type":[[["function"]]]},{"name":"errorMessage","description":"The error message to throw with. Defaults to \"Expected string, got instead.\"","optional":true,"type":[[["string"]]]},{"name":"allowEmpty","description":"Whether an empty string should be allowed","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["string"]]],"meta":{"line":485,"file":"Util.js","path":"src/util"}},{"name":"resolveColor","description":"Resolves a ColorResolvable into a color number.","scope":"static","params":[{"name":"color","description":"Color to resolve","type":[[["ColorResolvable"]]]}],"returns":{"types":[[["number"]]],"description":"A color"},"meta":{"line":509,"file":"Util.js","path":"src/util"}},{"name":"discordSort","description":"Sorts by Discord's position and id.","scope":"static","params":[{"name":"collection","description":"Collection of objects to sort","type":[[["Collection"]]]}],"returns":[[["Collection"]]],"meta":{"line":529,"file":"Util.js","path":"src/util"}},{"name":"setPosition","description":"Sets the position of a Channel or Role.","scope":"static","access":"private","params":[{"name":"item","description":"Object to set the position of","type":[[["Channel"]],[["Role"]]]},{"name":"position","description":"New position for the object","type":[[["number"]]]},{"name":"relative","description":"Whether `position` is relative to its current position","type":[[["boolean"]]]},{"name":"sorted","description":"A collection of the objects sorted properly","type":[[["Collection","<"],["string",", ("],["Channel","|"],["Role",")>"]]]},{"name":"route","description":"Route to call PATCH on","type":[[["APIRouter"]]]},{"name":"reason","description":"Reason for the change","optional":true,"type":[[["string"]]]}],"async":true,"returns":{"types":[[["Promise","<("],["Array","<"],["Channel",">|"],["Array","<"],["Role",">)>"]]],"description":"Updated item list, with `id` and `position` properties"},"meta":{"line":549,"file":"Util.js","path":"src/util"}},{"name":"basename","description":"Alternative to Node's `path.basename`, removing query string after the extension if it exists.","scope":"static","access":"private","params":[{"name":"path","description":"Path to get the basename of","type":[[["string"]]]},{"name":"ext","description":"File extension to remove","optional":true,"type":[[["string"]]]}],"returns":{"types":[[["string"]]],"description":"Basename of the path"},"meta":{"line":564,"file":"Util.js","path":"src/util"}},{"name":"removeMentions","description":"Breaks user, role and everyone/here mentions by adding a zero width space after every @ character","scope":"static","deprecated":"Use {@link BaseMessageOptions#allowedMentions} instead.","params":[{"name":"str","description":"The string to sanitize","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":575,"file":"Util.js","path":"src/util"}},{"name":"cleanContent","description":"The content to have all mentions replaced by the equivalent text.\nWhen {@link Util.removeMentions} is removed, this method will no longer sanitize mentions.\nUse {@link BaseMessageOptions#allowedMentions} instead to prevent mentions when sending a message.","scope":"static","params":[{"name":"str","description":"The string to be converted","type":[[["string"]]]},{"name":"channel","description":"The channel the string was sent in","type":[[["TextBasedChannels"]]]}],"returns":[[["string"]]],"meta":{"line":600,"file":"Util.js","path":"src/util"}},{"name":"cleanCodeBlockContent","description":"The content to put in a code block with all code block fences replaced by the equivalent backticks.","scope":"static","params":[{"name":"text","description":"The string to be converted","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":634,"file":"Util.js","path":"src/util"}},{"name":"archivedThreadSweepFilter","description":"Creates a sweep filter that sweeps archived threads","scope":"static","deprecated":"When not using with `makeCache` use `Sweepers.archivedThreadSweepFilter` instead","params":[{"name":"lifetime","description":"How long a thread has to be archived to be valid for sweeping","optional":true,"default":14400,"type":[[["number"]]]}],"returns":[[["SweepFilter"]]],"meta":{"line":644,"file":"Util.js","path":"src/util"}},{"name":"resolveAutoArchiveMaxLimit","description":"Resolves the maximum time a guild's thread channels should automatically archive in case of no recent activity.","scope":"static","deprecated":"This will be removed in the next major version.","params":[{"name":"guild","description":"The guild to resolve this limit from.","type":[[["Guild"]]]}],"returns":[[["number"]]],"meta":{"line":656,"file":"Util.js","path":"src/util"}},{"name":"transformAPIGuildForumTag","description":"Transforms an API guild forum tag to camel-cased guild forum tag.","scope":"static","params":[{"name":"tag","description":"The tag to transform","type":[[["APIGuildForumTag"]]]}],"returns":[[["GuildForumTag"]]],"meta":{"line":674,"file":"Util.js","path":"src/util"}},{"name":"transformGuildForumTag","description":"Transforms a camel-cased guild forum tag to an API guild forum tag.","scope":"static","params":[{"name":"tag","description":"The tag to transform","type":[[["GuildForumTag"]]]}],"returns":[[["APIGuildForumTag"]]],"meta":{"line":695,"file":"Util.js","path":"src/util"}},{"name":"transformAPIGuildDefaultReaction","description":"Transforms an API guild forum default reaction object to a\ncamel-cased guild forum default reaction object.","scope":"static","params":[{"name":"defaultReaction","description":"The default reaction to transform","type":[[["APIGuildForumDefaultReactionEmoji"]]]}],"returns":[[["DefaultReactionEmoji"]]],"meta":{"line":712,"file":"Util.js","path":"src/util"}},{"name":"transformGuildDefaultReaction","description":"Transforms a camel-cased guild forum default reaction object to an\nAPI guild forum default reaction object.","scope":"static","params":[{"name":"defaultReaction","description":"The default reaction to transform","type":[[["DefaultReactionEmoji"]]]}],"returns":[[["APIGuildForumDefaultReactionEmoji"]]],"meta":{"line":726,"file":"Util.js","path":"src/util"}},{"name":"getSortableGroupTypes","description":"Gets an array of the channel types that can be moved in the channel group. For example, a GuildText channel would\nreturn an array containing the types that can be ordered within the text channels (always at the top), and a voice\nchannel would return an array containing the types that can be ordered within the voice channels (always at the\nbottom).","scope":"static","params":[{"name":"type","description":"The type of the channel","type":[[["ChannelType"]]]}],"returns":[[["Array","<"],["ChannelType",">"]]],"meta":{"line":742,"file":"Util.js","path":"src/util"}},{"name":"calculateUserDefaultAvatarIndex","description":"Calculates the default avatar index for a given user id.","scope":"static","params":[{"name":"userId","description":"The user id to calculate the default avatar index for","type":[[["Snowflake"]]]}],"returns":[[["number"]]],"meta":{"line":763,"file":"Util.js","path":"src/util"}},{"name":"lazy","description":"Lazily evaluates a callback function (yea it's v14 :yay:)","scope":"static","examples":["const User = lazy(() => require('./User'));\nconst user = new (User())(client, data);"],"params":[{"name":"cb","description":"The callback to lazily evaluate","type":[[["function"]]]}],"returns":[[["function"]]],"meta":{"line":809,"file":"Util.js","path":"src/util"}},{"name":"verifyProxyAgent","description":"Hacking check object instanceof Proxy-agent","scope":"static","params":[{"name":"object","description":"any","type":[[["Object"]]]}],"returns":[[["boolean"]]],"meta":{"line":819,"file":"Util.js","path":"src/util"}}],"meta":{"line":25,"file":"Util.js","path":"src/util"}}],"interfaces":[{"name":"InteractionResponses","description":"Interface for classes that support shared interaction response types.","methods":[{"name":"deferReply","description":"Defers the reply to this interaction.","examples":["// Defer the reply to this interaction\ninteraction.deferReply()\n .then(console.log)\n .catch(console.error)","// Defer to send an ephemeral reply later\ninteraction.deferReply({ ephemeral: true })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for deferring the reply to this interaction","optional":true,"type":[[["InteractionDeferReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":58,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"reply","description":"Creates a reply to this interaction.\nUse the `fetchReply` option to get the bot's reply message.","examples":["// Reply to the interaction and fetch the response\ninteraction.reply({ content: 'Pong!', fetchReply: true })\n .then((message) => console.log(`Reply sent with content ${message.content}`))\n .catch(console.error);","// Create an ephemeral reply with an embed\nconst embed = new MessageEmbed().setDescription('Pong!');\n\ninteraction.reply({ embeds: [embed], ephemeral: true })\n .then(() => console.log('Reply sent.'))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":93,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"fetchReply","description":"Fetches a reply to this interaction.","see":["Webhook#fetchMessage"],"examples":["// Fetch the initial reply to this interaction\ninteraction.fetchReply()\n .then(reply => console.log(`Replied with ${reply.content}`))\n .catch(console.error);"],"params":[{"name":"message","description":"The response to fetch","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":127,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"editReply","description":"Edits a reply to this interaction.","see":["Webhook#editMessage"],"examples":["// Edit the initial reply to this interaction\ninteraction.editReply('New content')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The new options for the message","type":[[["string"]],[["MessagePayload"]],[["InteractionEditReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":148,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"deleteReply","description":"Deletes a reply to this interaction.","see":["Webhook#deleteMessage"],"examples":["// Delete the initial reply to this interaction\ninteraction.deleteReply()\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"message","description":"The response to delete","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":166,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"followUp","description":"Send a follow-up message to this interaction.","params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":175,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"deferUpdate","description":"Defers an update to the message to which the component was attached.","examples":["// Defer updating and reset the component's loading state\ninteraction.deferUpdate()\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for deferring the update to this interaction","optional":true,"type":[[["InteractionDeferUpdateOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":190,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"update","description":"Updates the original message of the component on which the interaction was received on.","examples":["// Remove the components from the message\ninteraction.update({\n content: \"A component interaction was received\",\n components: []\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the updated message","type":[[["string"]],[["MessagePayload"]],[["InteractionUpdateOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":216,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"showModal","description":"Shows a modal component","params":[{"name":"modal","description":"The modal to show","type":[[["Modal"]],[["ModalOptions"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":243,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"awaitModalSubmit","description":"Collects a single modal submit interaction that passes the filter.\nThe Promise will reject if the time expires.","examples":["// Collect a modal submit interaction\nconst filter = (interaction) => interaction.customId === 'modal';\ninteraction.awaitModalSubmit({ filter, time: 15_000 })\n .then(interaction => console.log(`${interaction.customId} was submitted!`))\n .catch(console.error);"],"params":[{"name":"options","description":"Options to pass to the internal collector","type":[[["AwaitModalSubmitOptions"]]]}],"returns":[[["Promise","<"],["ModalSubmitInteraction",">"]]],"meta":{"line":275,"file":"InteractionResponses.js","path":"src/structures/interfaces"}}],"meta":{"line":14,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"TextBasedChannel","description":"Interface for classes that have text-channel-like features.","props":[{"name":"messages","description":"A manager of the messages sent to this channel","type":[[["MessageManager"]]],"meta":{"line":30,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"lastMessageId","description":"The channel's last message id, if one was sent","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":36,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"lastPinTimestamp","description":"The timestamp when the last pinned message was pinned, if there was one","nullable":true,"type":[[["number"]]],"meta":{"line":42,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"lastMessage","description":"The Message object of the last message in the channel, if one was sent","readonly":true,"nullable":true,"type":[[["Message"]]],"meta":{"line":50,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"lastPinAt","description":"The date when the last pinned message was pinned, if there was one","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":59,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}}],"methods":[{"name":"send","description":"Sends a message to this channel.","examples":["// Send a basic message\nchannel.send('hello!')\n .then(message => console.log(`Sent message: ${message.content}`))\n .catch(console.error);","// Send a remote file\nchannel.send({\n files: ['https://cdn.discordapp.com/icons/222078108977594368/6e1019b3179d71046e463a75915e7244.png?size=2048']\n})\n .then(console.log)\n .catch(console.error);","// Send a local file\nchannel.send({\n files: [{\n attachment: 'entire/path/to/file.jpg',\n name: 'file.jpg',\n description: 'A description of the file'\n }]\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["MessageOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":150,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"sendTyping","description":"Sends a typing indicator in the channel.","examples":["// Start typing in a channel\nchannel.sendTyping();"],"async":true,"returns":{"types":[[["Promise","<"],["void",">"]]],"description":"Resolves upon the typing status being sent"},"meta":{"line":355,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createMessageCollector","description":"Creates a Message Collector.","examples":["// Create a message collector\nconst filter = m => m.content.includes('discord');\nconst collector = channel.createMessageCollector({ filter, time: 15_000 });\ncollector.on('collect', m => console.log(`Collected ${m.content}`));\ncollector.on('end', collected => console.log(`Collected ${collected.size} items`));"],"params":[{"name":"options","description":"The options to pass to the collector","optional":true,"default":"{}","type":[[["MessageCollectorOptions"]]]}],"returns":[[["MessageCollector"]]],"meta":{"line":370,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"awaitMessages","description":"Similar to createMessageCollector but in promise form.\nResolves with a collection of messages that pass the specified filter.","examples":["// Await !vote messages\nconst filter = m => m.content.startsWith('!vote');\n// Errors: ['time'] treats ending because of the time limit as an error\nchannel.awaitMessages({ filter, max: 4, time: 60_000, errors: ['time'] })\n .then(collected => console.log(collected.size))\n .catch(collected => console.log(`After a minute, only ${collected.size} out of 4 voted.`));"],"params":[{"name":"options","description":"Optional options to pass to the internal collector","optional":true,"default":"{}","type":[[["AwaitMessagesOptions"]]]}],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Message",">>"]]],"meta":{"line":393,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"fetchWebhooks","description":"Fetches all webhooks for the channel.","examples":["// Fetch webhooks\nchannel.fetchWebhooks()\n .then(hooks => console.log(`This channel has ${hooks.size} hooks`))\n .catch(console.error);"],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Webhook",">>"]]],"meta":{"line":415,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createWebhook","description":"Creates a webhook for the channel.","examples":["// Create a webhook for the current channel\nchannel.createWebhook('Snek', {\n avatar: 'https://i.imgur.com/mI8XcpG.jpg',\n reason: 'Needed a cool new Webhook'\n})\n .then(console.log)\n .catch(console.error)"],"params":[{"name":"name","description":"The name of the webhook","type":[[["string"]]]},{"name":"options","description":"Options for creating the webhook","optional":true,"type":[[["ChannelWebhookCreateOptions"]]]}],"returns":{"types":[[["Promise","<"],["Webhook",">"]]],"description":"Returns the created Webhook"},"meta":{"line":440,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"setRateLimitPerUser","description":"Sets the rate limit per user (slowmode) for this channel.","params":[{"name":"rateLimitPerUser","description":"The new rate limit in seconds","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the channel's rate limit","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":450,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"setNSFW","description":"Sets whether this channel is flagged as NSFW.","params":[{"name":"nsfw","description":"Whether the channel should be considered NSFW","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"Reason for changing the channel's NSFW flag","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":460,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}}],"meta":{"line":24,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}}],"typedefs":[{"name":"ApplicationCommandPermissionsUpdateData","description":"The data received in the {@link Client#event:applicationCommandPermissionsUpdate} event","type":[[["Object"]]],"props":[{"name":"id","description":"The id of the command or global entity that was updated","type":[[["Snowflake"]]]},{"name":"guildId","description":"The id of the guild in which permissions were updated","type":[[["Snowflake"]]]},{"name":"applicationId","description":"The id of the application that owns the command or entity being updated","type":[[["Snowflake"]]]},{"name":"permissions","description":"The updated permissions","type":[[["Array","<"],["ApplicationCommandPermissions",">"]]]}],"meta":{"line":6,"file":"ApplicationCommandPermissionsUpdate.js","path":"src/client/actions"}},{"name":"ClientFetchInviteOptions","description":"Options used when fetching an invite from Discord.","type":[[["Object"]]],"props":[{"name":"guildScheduledEventId","description":"The id of the guild scheduled event to include with\nthe invite","optional":true,"type":[[["Snowflake"]]]}],"meta":{"line":354,"file":"Client.js","path":"src/client"}},{"name":"InviteGenerationOptions","description":"Options for {@link Client#generateInvite}.","type":[[["Object"]]],"props":[{"name":"scopes","description":"Scopes that should be requested","type":[[["Array","<"],["InviteScope",">"]]]},{"name":"permissions","description":"Permissions to request","optional":true,"type":[[["PermissionResolvable"]]]},{"name":"guild","description":"Guild to preselect","optional":true,"type":[[["GuildResolvable"]]]},{"name":"disableGuildSelect","description":"Whether to disable the guild selection","optional":true,"type":[[["boolean"]]]}],"meta":{"line":519,"file":"Client.js","path":"src/client"}},{"name":"AcceptInviteOptions","description":"Options for {@link Client#acceptInvite}.","type":[[["Object"]]],"props":[{"name":"bypassOnboarding","description":"Whether to bypass onboarding","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"bypassVerify","description":"Whether to bypass rule screening","optional":true,"default":true,"type":[[["boolean"]]]}],"meta":{"line":552,"file":"Client.js","path":"src/client"}},{"name":"OAuth2AuthorizeOptions","type":[[["Object"]]],"props":[{"name":"guild_id","description":"Guild ID","optional":true,"type":[[["string"]]]},{"name":"permissions","description":"Permissions","optional":true,"type":[[["PermissionResolvable"]]]},{"name":"authorize","description":"Whether to authorize or not","optional":true,"type":[[["boolean"]]]},{"name":"code","description":"2FA Code","optional":true,"type":[[["string"]]]},{"name":"webhook_channel_id","description":"Webhook Channel ID","optional":true,"type":[[["string"]]]}],"meta":{"line":668,"file":"Client.js","path":"src/client"}},{"name":"JoinChannelConfig","type":[[["Object"]]],"props":[{"name":"selfMute","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"selfDeaf","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"selfVideo","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"videoCodec","optional":true,"default":"'H264'","type":[[["VideoCodec"]]]}],"meta":{"line":88,"file":"ClientVoiceManager.js","path":"src/client/voice"}},{"name":"ReceiveStreamOptions","description":"Options passed to `VoiceReceiver#createStream`.","type":[[["Object"]]],"props":[{"name":"mode","description":"The mode for audio output. This defaults to opus, meaning discord.js won't decode\nthe packets for you. You can set this to 'pcm' so that the stream's output will be 16-bit little-endian stereo\naudio","optional":true,"default":"'opus'","type":[[["string"]]]},{"name":"end","description":"When the stream should be destroyed. If `silence`, this will be when the user\nstops talking. Otherwise, if `manual`, this should be handled by you.","optional":true,"default":"'silence'","type":[[["string"]]]}],"meta":{"line":28,"file":"Receiver.js","path":"src/client/voice/receiver"}},{"name":"StreamOptions","description":"Options that can be passed to stream-playing methods:","type":[[["Object"]]],"props":[{"name":"type","description":"The type of stream.","optional":true,"default":"'unknown'","type":[[["StreamType"]]]},{"name":"seek","description":"The time to seek to, will be ignored when playing `ogg/opus` or `webm/opus` streams","optional":true,"default":0,"type":[[["number"]]]},{"name":"volume","description":"The volume to play at. Set this to false to disable volume transforms for\nthis stream to improve performance.","optional":true,"default":1,"type":[[["number"]],[["boolean"]]]},{"name":"plp","description":"Expected packet loss percentage","optional":true,"type":[[["number"]]]},{"name":"fec","description":"Enabled forward error correction","optional":true,"type":[[["boolean"]]]},{"name":"bitrate","description":"The bitrate (quality) of the audio in kbps.\nIf set to 'auto', the voice channel's bitrate will be used","optional":true,"default":96,"type":[[["number"]],[["string"]]]},{"name":"highWaterMark","description":"The maximum number of opus packets to make and store before they are\nactually needed. See https://nodejs.org/en/docs/guides/backpressuring-in-streams/. Setting this value to\n1 means that changes in volume will be more instant.","optional":true,"default":12,"type":[[["number"]]]}],"meta":{"line":7,"file":"PlayInterface.js","path":"src/client/voice/util"}},{"name":"StreamType","description":"An option passed as part of `StreamOptions` specifying the type of the stream.\n* `unknown`: The default type, streams/input will be passed through to ffmpeg before encoding.\nWill play most streams.\n* `converted`: Play a stream of 16bit signed stereo PCM data, skipping ffmpeg.\n* `opus`: Play a stream of opus packets, skipping ffmpeg. You lose the ability to alter volume.\n* `ogg/opus`: Play an ogg file with the opus encoding, skipping ffmpeg. You lose the ability to alter volume.\n* `webm/opus`: Play a webm file with opus audio, skipping ffmpeg. You lose the ability to alter volume.","type":[[["string"]]],"meta":{"line":23,"file":"PlayInterface.js","path":"src/client/voice/util"}},{"name":"VideoOptions","description":"Options that can be passed to stream-playing methods:","type":[[["Object"]]],"props":[{"name":"seek","description":"The time to seek to, will be ignored when playing `ogg/opus` or `webm/opus` streams","optional":true,"default":0,"type":[[["number"]]]},{"name":"fps","description":"Video fps","optional":true,"default":30,"type":[[["number"]]]},{"name":"copy","description":"Copy codec ?","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"highWaterMark","description":"The maximum number of opus packets to make and store before they are\nactually needed. See https://nodejs.org/en/docs/guides/backpressuring-in-streams/. Setting this value to\n1 means that changes in volume will be more instant.","optional":true,"default":12,"type":[[["number"]]]},{"name":"preset","description":"ffmpeg preset","optional":true,"default":"'veryfast'","type":[[["ultrafast","'"]],[["superfast","'"]],[["veryfast","'"]],[["faster","'"]],[["fast","'"]],[["medium","'"]],[["slow","'"]],[["slower","'"]],[["veryslow","'"]]]},{"name":"hwAccel","description":"Enables hardware accelerated video decoding. Enabling this option might result in an exception\nbeing thrown by Ffmpeg process if your system does not support hardware acceleration","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"inputFFmpegArgs","description":"input ffmpeg\nEx: ['-config1', 'value1', '-config2', 'value2']","optional":true,"type":[[["Array","<"],["string",">"]]]},{"name":"outputFFmpegArgs","description":"output ffmpeg\nEx: ['-config1', 'value1', '-config2', 'value2']","optional":true,"type":[[["Array","<"],["string",">"]]]}],"meta":{"line":77,"file":"PlayInterface.js","path":"src/client/voice/util"}},{"name":"VideoCodec","description":"Video codec (encoded)\n* `VP8`\n* `VP9` (Not supported)\n* `H264`\n* `H265` (Not supported)","type":[[["string"]]],"meta":{"line":134,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"WebhookClientData","description":"The data for the webhook client containing either an id and token or just a URL","type":[[["Object"]]],"props":[{"name":"id","description":"The id of the webhook","optional":true,"type":[[["Snowflake"]]]},{"name":"token","description":"The token of the webhook","optional":true,"type":[[["string"]]]},{"name":"url","description":"The full URL for the webhook client","optional":true,"type":[[["string"]]]}],"meta":{"line":13,"file":"WebhookClient.js","path":"src/client"}},{"name":"GuildMembersChunk","description":"Represents the properties of a guild members chunk","type":[[["Object"]]],"props":[{"name":"index","description":"Index of the received chunk","type":[[["number"]]]},{"name":"count","description":"Number of chunks the client should receive","type":[[["number"]]]},{"name":"nonce","description":"Nonce for this chunk","nullable":true,"type":[[["string"]]]},{"name":"notFound","description":"An array of whatever could not be found\nwhen using {@link Opcodes.REQUEST_GUILD_MEMBERS}","type":[[["Array","<"],["*",">"]]]}],"meta":{"line":16,"file":"GUILD_MEMBERS_CHUNK.js","path":"src/client/websocket/handlers"}},{"name":"MessagePollUserVote","description":"Poll Vote Structure","see":["{@link https://docs.discord.sex/resources/message#poll-results-structure}"],"type":[[["Object"]]],"props":[{"name":"user_id","description":"ID of the user","type":[[["Snowflake"]]]},{"name":"channel_id","description":"ID of the channel","type":[[["Snowflake"]]]},{"name":"message_id","description":"ID of the message","type":[[["Snowflake"]]]},{"name":"guild_id","description":"ID of the guild","nullable":true,"type":[[["Snowflake"]]]},{"name":"answer_id","description":"ID of the answer","type":[[["number"]]]}],"meta":{"line":6,"file":"MESSAGE_POLL_VOTE_ADD.js","path":"src/client/websocket/handlers"}},{"name":"RelationshipUpdateObject","type":[[["Object"]]],"props":[{"name":"type","description":"The type of relationship","type":[[["RelationshipType"]]]},{"name":"since","description":"When the user requested a relationship","type":[[["Date"]]]},{"name":"nickname","description":"The nickname of the user in this relationship (1-32 characters)","type":[[["string"]],[["null"]]]}],"meta":{"line":6,"file":"RELATIONSHIP_UPDATE.js","path":"src/client/websocket/handlers"}},{"name":"ApplicationCommandResolvable","description":"Data that resolves to give an ApplicationCommand object. This can be:\n* An ApplicationCommand object\n* A Snowflake","type":[[["ApplicationCommand"]],[["Snowflake"]]],"meta":{"line":51,"file":"ApplicationCommandManager.js","path":"src/managers"}},{"name":"ApplicationCommandDataResolvable","description":"Data that resolves to the data of an ApplicationCommand","type":[[["ApplicationCommandData"]],[["APIApplicationCommand"]],[["SlashCommandBuilder"]],[["ContextMenuCommandBuilder"]]],"meta":{"line":59,"file":"ApplicationCommandManager.js","path":"src/managers"}},{"name":"BaseFetchOptions","description":"Options used to fetch data from Discord","type":[[["Object"]]],"props":[{"name":"cache","description":"Whether to cache the fetched data if it wasn't already","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":false,"type":[[["boolean"]]]}],"meta":{"line":65,"file":"ApplicationCommandManager.js","path":"src/managers"}},{"name":"FetchApplicationCommandOptions","description":"Options used to fetch Application Commands from Discord","type":[[["BaseFetchOptions"]]],"props":[{"name":"guildId","description":"The guild's id to fetch commands for, for when the guild is not cached","optional":true,"type":[[["Snowflake"]]]},{"name":"locale","description":"The locale to use when fetching this command","optional":true,"type":[[["LocaleString"]]]},{"name":"withLocalizations","description":"Whether to fetch all localization data","optional":true,"type":[[["boolean"]]]}],"meta":{"line":72,"file":"ApplicationCommandManager.js","path":"src/managers"}},{"name":"ApplicationCommandPermissionData","description":"Data for setting the permissions of an application command.","type":[[["Object"]]],"props":[{"name":"id","description":"The role or user's id","type":[[["Snowflake"]]]},{"name":"type","description":"Whether this permission is for a role or a user","type":[[["ApplicationCommandPermissionType"]],[["number"]]]},{"name":"permission","description":"Whether the role or user has the permission to use this command","type":[[["boolean"]]]}],"meta":{"line":53,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"ApplicationCommandPermissions","description":"The object returned when fetching permissions for an application command.","type":[[["Object"]]],"props":[{"name":"id","description":"The role or user's id","type":[[["Snowflake"]]]},{"name":"type","description":"Whether this permission is for a role or a user","type":[[["ApplicationCommandPermissionType"]]]},{"name":"permission","description":"Whether the role or user has the permission to use this command","type":[[["boolean"]]]}],"meta":{"line":61,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"BaseApplicationCommandPermissionsOptions","description":"Options for managing permissions for one or more Application Commands\nWhen passing these options to a manager where `guildId` is `null`,\n`guild` is a required parameter","type":[[["Object"]]],"props":[{"name":"guild","description":"The guild to modify / check permissions for\nIgnored when the manager has a non-null `guildId` property","optional":true,"type":[[["GuildResolvable"]]]},{"name":"command","description":"The command to modify / check permissions for\nIgnored when the manager has a non-null `commandId` property","optional":true,"type":[[["ApplicationCommandResolvable"]]]}],"meta":{"line":69,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"GuildApplicationCommandPermissionData","description":"Data used for overwriting the permissions for all application commands in a guild.","type":[[["Object"]]],"props":[{"name":"id","description":"The command's id","type":[[["Snowflake"]]]},{"name":"permissions","description":"The permissions for this command","type":[[["Array","<"],["ApplicationCommandPermissionData",">"]]]}],"meta":{"line":113,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"SetApplicationCommandPermissionsOptions","description":"Options used to set permissions for one or more Application Commands in a guild\nOne of `command` AND `permissions`, OR `fullPermissions` is required.\n`fullPermissions` is not a valid option when passing to a manager where `commandId` is non-null","type":[[["BaseApplicationCommandPermissionsOptions"]]],"props":[{"name":"permissions","description":"The new permissions for the command","optional":true,"type":[[["Array","<"],["ApplicationCommandPermissionData",">"]]]},{"name":"fullPermissions","description":"The new permissions for all commands\nin a guild When this parameter is set, `permissions` and `command` are ignored","optional":true,"type":[[["Array","<"],["GuildApplicationCommandPermissionData",">"]]]}],"meta":{"line":120,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"AddApplicationCommandPermissionsOptions","description":"Options used to add permissions to a command\nThe `command` parameter is not optional when the managers `commandId` is `null`","type":[[["BaseApplicationCommandPermissionsOptions"]]],"props":[{"name":"permissions","description":"The permissions to add to the command","type":[[["Array","<"],["ApplicationCommandPermissionData",">"]]]}],"meta":{"line":199,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"RemoveApplicationCommandPermissionsOptions","description":"Options used to remove permissions from a command\nThe `command` parameter is not optional when the managers `commandId` is `null`","type":[[["BaseApplicationCommandPermissionsOptions"]]],"props":[{"name":"users","description":"The user(s) to remove from the command permissions\nOne of `users` or `roles` is required","optional":true,"type":[[["UserResolvable"]],[["Array","<"],["UserResolvable",">"]]]},{"name":"roles","description":"The role(s) to remove from the command permissions\nOne of `users` or `roles` is required","optional":true,"type":[[["RoleResolvable"]],[["Array","<"],["RoleResolvable",">"]]]}],"meta":{"line":246,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"HasApplicationCommandPermissionsOptions","description":"Options used to check the existence of permissions on a command\nThe `command` parameter is not optional when the managers `commandId` is `null`","type":[[["BaseApplicationCommandPermissionsOptions"]]],"props":[{"name":"permissionId","description":"The user or role to check if a permission exists for\non this command.","type":[[["UserResolvable"]],[["RoleResolvable"]]]}],"meta":{"line":330,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"AutoModerationTriggerMetadataOptions","description":"Options used to set the trigger metadata of an auto moderation rule.","type":[[["Object"]]],"props":[{"name":"keywordFilter","description":"The substrings that will be searched for in the content","optional":true,"type":[[["Array","<"],["string",">"]]]},{"name":"regexPatterns","description":"The regular expression patterns which will be matched against the content\nOnly Rust-flavored regular expressions are supported.","optional":true,"type":[[["Array","<"],["string",">"]]]},{"name":"presets","description":"The internally pre-defined wordsets which will be searched for in the content","optional":true,"type":[[["Array","<"],["AutoModerationRuleKeywordPresetType",">"]]]},{"name":"allowList","description":"The substrings that will be exempt from triggering\n{@link AutoModerationRuleTriggerType.KEYWORD} and {@link AutoModerationRuleTriggerType.KEYWORD_PRESET}","optional":true,"type":[[["Array","<"],["string",">"]]]},{"name":"mentionTotalLimit","description":"The total number of role & user mentions allowed per message","optional":true,"nullable":true,"type":[[["number"]]]},{"name":"mentionRaidProtectionEnabled","description":"Whether to automatically detect mention raids","optional":true,"type":[[["boolean"]]]}],"meta":{"line":50,"file":"AutoModerationRuleManager.js","path":"src/managers"}},{"name":"AutoModerationActionOptions","description":"Options used to set the actions of an auto moderation rule.","type":[[["Object"]]],"props":[{"name":"type","description":"The type of this auto moderation rule action","type":[[["AutoModerationActionType"]]]},{"name":"metadata","description":"Additional metadata needed during execution\nThis property is required if using a `type` of\n{@link AutoModerationActionType.SEND_ALERT_MESSAGE} or {@link AutoModerationActionType.TIMEOUT}.","optional":true,"type":[[["AutoModerationActionMetadataOptions"]]]}],"meta":{"line":64,"file":"AutoModerationRuleManager.js","path":"src/managers"}},{"name":"AutoModerationActionMetadataOptions","description":"Options used to set the metadata of an auto moderation rule action.","type":[[["Object"]]],"props":[{"name":"channel","description":"The channel to which content will be logged","optional":true,"type":[[["GuildTextChannelResolvable"]],[["ThreadChannel"]]]},{"name":"durationSeconds","description":"The timeout duration in seconds","optional":true,"type":[[["number"]]]},{"name":"customMessage","description":"The custom message that is shown whenever a message is blocked","optional":true,"type":[[["string"]]]}],"meta":{"line":73,"file":"AutoModerationRuleManager.js","path":"src/managers"}},{"name":"AutoModerationRuleCreateOptions","description":"Options used to create an auto moderation rule.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the auto moderation rule","type":[[["string"]]]},{"name":"eventType","description":"The event type of the auto moderation rule","type":[[["AutoModerationRuleEventType"]]]},{"name":"triggerType","description":"The trigger type of the auto moderation rule","type":[[["AutoModerationRuleTriggerType"]]]},{"name":"triggerMetadata","description":"The trigger metadata of the auto moderation rule\nThis property is required if the following `triggerType`s are used:\n* {@link AutoModerationRuleTriggerType.KEYWORD KEYWORD}\n* {@link AutoModerationRuleTriggerType.KEYWORD_PRESET KEYWORD_PRESET}\n* {@link AutoModerationRuleTriggerType.MENTION_SPAM MENTION_SPAM}\n","optional":true,"type":[[["AutoModerationTriggerMetadataOptions"]]]},{"name":"actions","description":"The actions that will execute when the auto moderation rule is triggered","type":[[["Array","<"],["AutoModerationActionOptions",">"]]]},{"name":"enabled","description":"Whether the auto moderation rule should be enabled","optional":true,"type":[[["boolean"]]]},{"name":"exemptRoles","description":"The roles that should not be affected by the auto moderation rule","optional":true,"type":[[["Collection","<"],["Snowflake",", "],["Role",">"]],[["Array","<"],["RoleResolvable",">"]]]},{"name":"exemptChannels","description":"The channels that should not be affected by the auto moderation rule","optional":true,"type":[[["Collection","<"],["Snowflake",", ("],["GuildChannel","|"],["ThreadChannel",")>"]],[["Array","<"],["GuildChannelResolvable",">"]]]},{"name":"reason","description":"The reason for creating the auto moderation rule","optional":true,"type":[[["string"]]]}],"meta":{"line":81,"file":"AutoModerationRuleManager.js","path":"src/managers"}},{"name":"AutoModerationRuleEditOptions","description":"Options used to edit an auto moderation rule.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the auto moderation rule","optional":true,"type":[[["string"]]]},{"name":"eventType","description":"The event type of the auto moderation rule","optional":true,"type":[[["AutoModerationRuleEventType"]]]},{"name":"triggerMetadata","description":"The trigger metadata of the auto moderation rule","optional":true,"type":[[["AutoModerationTriggerMetadataOptions"]]]},{"name":"actions","description":"The actions that will execute when the auto moderation rule is triggered","optional":true,"type":[[["Array","<"],["AutoModerationActionOptions",">"]]]},{"name":"enabled","description":"Whether the auto moderation rule should be enabled","optional":true,"type":[[["boolean"]]]},{"name":"exemptRoles","description":"The roles that should not be affected by the auto moderation rule","optional":true,"type":[[["Collection","<"],["Snowflake",", "],["Role",">"]],[["Array","<"],["RoleResolvable",">"]]]},{"name":"exemptChannels","description":"The channels that should not be affected by the auto moderation rule","optional":true,"type":[[["Collection","<"],["Snowflake",", ("],["GuildChannel","|"],["ThreadChannel",")>"]],[["Array","<"],["GuildChannelResolvable",">"]]]},{"name":"reason","description":"The reason for creating the auto moderation rule","optional":true,"type":[[["string"]]]}],"meta":{"line":152,"file":"AutoModerationRuleManager.js","path":"src/managers"}},{"name":"AutoModerationRuleResolvable","description":"Data that can be resolved to give an AutoModerationRule object. This can be:\n* An AutoModerationRule\n* A Snowflake","type":[[["AutoModerationRule"]],[["Snowflake"]]],"meta":{"line":215,"file":"AutoModerationRuleManager.js","path":"src/managers"}},{"name":"FetchAutoModerationRuleOptions","description":"Options used to fetch a single auto moderation rule from a guild.","type":[[["BaseFetchOptions"]]],"props":[{"name":"autoModerationRule","description":"The auto moderation rule to fetch","type":[[["AutoModerationRuleResolvable"]]]}],"meta":{"line":222,"file":"AutoModerationRuleManager.js","path":"src/managers"}},{"name":"FetchAutoModerationRulesOptions","description":"Options used to fetch all auto moderation rules from a guild.","type":[[["Object"]]],"props":[{"name":"cache","description":"Whether to cache the fetched auto moderation rules","optional":true,"type":[[["boolean"]]]}],"meta":{"line":228,"file":"AutoModerationRuleManager.js","path":"src/managers"}},{"name":"EmojiResolvable","description":"Data that can be resolved into a GuildEmoji object. This can be:\n* A Snowflake\n* A GuildEmoji object\n* A ReactionEmoji object","type":[[["Snowflake"]],[["GuildEmoji"]],[["ReactionEmoji"]]],"meta":{"line":23,"file":"BaseGuildEmojiManager.js","path":"src/managers"}},{"name":"EmojiIdentifierResolvable","description":"Data that can be resolved to give an emoji identifier. This can be:\n* An EmojiResolvable\n* The ``, `<:name:id>`, `a:name:id` or `name:id` emoji identifier string of an emoji\n* The Unicode representation of an emoji","type":[[["string"]],[["EmojiResolvable"]]],"meta":{"line":51,"file":"BaseGuildEmojiManager.js","path":"src/managers"}},{"name":"ChannelResolvable","description":"Data that can be resolved to give a Channel object. This can be:\n* A Channel object\n* A Snowflake","type":[[["Channel"]],[["Snowflake"]]],"meta":{"line":66,"file":"ChannelManager.js","path":"src/managers"}},{"name":"FetchChannelOptions","description":"Options for fetching a channel from Discord","type":[[["BaseFetchOptions"]]],"props":[{"name":"allowUnknownGuild","description":"Allows the channel to be returned even if the guild is not in cache,\nit will not be cached. Many of the properties and methods on the returned channel will throw errors","optional":true,"default":false,"type":[[["boolean"]]]}],"meta":{"line":91,"file":"ChannelManager.js","path":"src/managers"}},{"name":"CustomStatusOption","description":"CustomStatus Object","type":[[["Object"]]],"props":[{"name":"text","description":"Text to set","type":[[["string"]],[["null"]]]},{"name":"status","description":"The status to set: 'online', 'idle', 'dnd', 'invisible' or null.","type":[[["string"]],[["null"]]]},{"name":"emoji","description":"UnicodeEmoji, DiscordEmoji, or null.","type":[[["EmojiResolvable"]],[["null"]]]},{"name":"expires","description":"The number of seconds until the status expires, or null.","type":[[["number"]],[["null"]]]}],"meta":{"line":264,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"GuildBanResolvable","description":"Data that resolves to give a GuildBan object. This can be:\n* A GuildBan object\n* A User resolvable","type":[[["GuildBan"]],[["UserResolvable"]]],"meta":{"line":37,"file":"GuildBanManager.js","path":"src/managers"}},{"name":"FetchBanOptions","description":"Options used to fetch a single ban from a guild.","type":[[["BaseFetchOptions"]]],"props":[{"name":"user","description":"The ban to fetch","type":[[["UserResolvable"]]]}],"meta":{"line":53,"file":"GuildBanManager.js","path":"src/managers"}},{"name":"FetchBansOptions","description":"Options used to fetch multiple bans from a guild.","type":[[["Object"]]],"props":[{"name":"limit","description":"The maximum number of bans to return","optional":true,"type":[[["number"]]]},{"name":"before","description":"Consider only bans before this id","optional":true,"type":[[["Snowflake"]]]},{"name":"after","description":"Consider only bans after this id","optional":true,"type":[[["Snowflake"]]]},{"name":"cache","description":"Whether to cache the fetched bans","optional":true,"type":[[["boolean"]]]}],"meta":{"line":59,"file":"GuildBanManager.js","path":"src/managers"}},{"name":"BanOptions","description":"Options used to ban a user from a guild.","type":[[["Object"]]],"props":[{"name":"days","description":"Number of days of messages to delete, must be between 0 and 7, inclusive\nThis property is deprecated. Use `deleteMessageSeconds` instead.","optional":true,"default":0,"type":[[["number"]]]},{"name":"deleteMessageSeconds","description":"Number of seconds of messages to delete,\nmust be between 0 and 604800 (7 days), inclusive","optional":true,"type":[[["number"]]]},{"name":"reason","description":"The reason for the ban","optional":true,"type":[[["string"]]]}],"meta":{"line":128,"file":"GuildBanManager.js","path":"src/managers"}},{"name":"GuildChannelResolvable","description":"Data that can be resolved to give a Guild Channel object. This can be:\n* A GuildChannel object\n* A ThreadChannel object\n* A Snowflake","type":[[["GuildChannel"]],[["ThreadChannel"]],[["Snowflake"]]],"meta":{"line":78,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"GuildChannelCreateOptions","description":"Options used to create a new channel in a guild.","type":[[["CategoryCreateChannelOptions"]]],"props":[{"name":"parent","description":"Parent of the new channel","optional":true,"type":[[["CategoryChannelResolvable"]]]}],"meta":{"line":106,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"ChannelData","description":"The data for a guild channel.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the channel","optional":true,"type":[[["string"]]]},{"name":"type","description":"The type of the channel (only conversion between text and news is supported)","optional":true,"type":[[["ChannelType"]]]},{"name":"position","description":"The position of the channel","optional":true,"type":[[["number"]]]},{"name":"topic","description":"The topic of the text channel","optional":true,"type":[[["string"]]]},{"name":"nsfw","description":"Whether the channel is NSFW","optional":true,"type":[[["boolean"]]]},{"name":"bitrate","description":"The bitrate of the voice channel","optional":true,"type":[[["number"]]]},{"name":"userLimit","description":"The user limit of the voice channel","optional":true,"type":[[["number"]]]},{"name":"parent","description":"The parent of the channel","optional":true,"nullable":true,"type":[[["CategoryChannelResolvable"]]]},{"name":"lockPermissions","description":"Lock the permissions of the channel to what the parent's permissions are","optional":true,"type":[[["boolean"]]]},{"name":"permissionOverwrites","description":"Permission overwrites for the channel","optional":true,"type":[[["Array","<"],["OverwriteResolvable",">"]],[["Collection","<"],["Snowflake",", "],["OverwriteResolvable",">"]]]},{"name":"rateLimitPerUser","description":"The rate limit per user (slowmode) for the channel in seconds","optional":true,"type":[[["number"]]]},{"name":"defaultAutoArchiveDuration","description":"The default auto archive duration for all new threads in this channel","optional":true,"type":[[["ThreadAutoArchiveDuration"]]]},{"name":"rtcRegion","description":"The RTC region of the channel","optional":true,"nullable":true,"type":[[["string"]]]},{"name":"videoQualityMode","description":"The camera video quality mode of the channel","optional":true,"type":[[["VideoQualityMode"]],[["number"]]]},{"name":"flags","description":"The flags to set on the channel","optional":true,"type":[[["ChannelFlagsResolvable"]]]},{"name":"availableTags","description":"The tags to set as available in a forum channel","optional":true,"type":[[["Array","<"],["GuildForumTagData",">"]]]},{"name":"defaultReactionEmoji","description":"The emoji to set as the default reaction emoji","optional":true,"nullable":true,"type":[[["DefaultReactionEmoji"]]]},{"name":"defaultThreadRateLimitPerUser","description":"The rate limit per user (slowmode) to set on forum posts","optional":true,"type":[[["number"]]]},{"name":"defaultSortOrder","description":"The default sort order mode to set on the channel","optional":true,"nullable":true,"type":[[["SortOrderType"]]]}],"meta":{"line":250,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"CategoryChannelResolvable","description":"Data that can be resolved to give a Category Channel object. This can be:\n* A CategoryChannel object\n* A Snowflake","type":[[["CategoryChannel"]],[["Snowflake"]]],"meta":{"line":1286,"file":"Guild.js","path":"src/structures"}},{"name":"ChannelPosition","description":"The data needed for updating a channel's position.","type":[[["Object"]]],"props":[{"name":"channel","description":"Channel to update","type":[[["GuildChannel"]],[["Snowflake"]]]},{"name":"position","description":"New position for the channel","optional":true,"type":[[["number"]]]},{"name":"parent","description":"Parent channel for this channel","optional":true,"type":[[["CategoryChannelResolvable"]]]},{"name":"lockPermissions","description":"If the overwrites should be locked to the parents overwrites","optional":true,"type":[[["boolean"]]]}],"meta":{"line":1293,"file":"Guild.js","path":"src/structures"}},{"name":"GuildEmojiCreateOptions","description":"Options used for creating an emoji in a guild.","type":[[["Object"]]],"props":[{"name":"roles","description":"The roles to limit the emoji to","optional":true,"type":[[["Collection","<"],["Snowflake",", "],["Role",">"]],[["Array","<"],["RoleResolvable",">"]]]},{"name":"reason","description":"The reason for creating the emoji","optional":true,"type":[[["string"]]]}],"meta":{"line":28,"file":"GuildEmojiManager.js","path":"src/managers"}},{"name":"GuildForumThreadMessageCreateOptions","type":[[["BaseMessageOptions"]]],"props":[{"name":"stickers","description":"The stickers to send with the message","optional":true,"type":[[["StickerResolvable"]]]},{"name":"flags","description":"The flags to send with the message.\nOnly `SUPPRESS_EMBEDS` and `SUPPRESS_NOTIFICATIONS` can be set.","optional":true,"type":[[["BitFieldResolvable"]]]}],"meta":{"line":19,"file":"GuildForumThreadManager.js","path":"src/managers"}},{"name":"GuildForumThreadCreateOptions","description":"Options for creating a thread.","type":[[["StartThreadOptions"]]],"props":[{"name":"message","description":"The message associated with the thread post","type":[[["GuildForumThreadMessageCreateOptions"]],[["MessagePayload"]]]},{"name":"appliedTags","description":"The tags to apply to the thread","optional":true,"type":[[["Array","<"],["Snowflake",">"]]]}],"meta":{"line":26,"file":"GuildForumThreadManager.js","path":"src/managers"}},{"name":"InviteResolvable","description":"Data that can be resolved to give an invite code. This can be:\n* An invite code\n* An invite URL","type":[[["string"]]],"meta":{"line":16,"file":"DataResolver.js","path":"src/util"}},{"name":"GuildInvitableChannelResolvable","description":"Data that can be resolved to a channel that an invite can be created on. This can be:\n* TextChannel\n* VoiceChannel\n* NewsChannel\n* StoreChannel\n* StageChannel\n* Snowflake","type":[[["TextChannel"]],[["VoiceChannel"]],[["NewsChannel"]],[["StoreChannel"]],[["StageChannel"]],[["Snowflake"]]],"meta":{"line":41,"file":"GuildInviteManager.js","path":"src/managers"}},{"name":"FetchInviteOptions","description":"Options used to fetch a single invite from a guild.","type":[[["Object"]]],"props":[{"name":"code","description":"The invite to fetch","type":[[["InviteResolvable"]]]},{"name":"cache","description":"Whether or not to cache the fetched invite","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":false,"type":[[["boolean"]]]}],"meta":{"line":71,"file":"GuildInviteManager.js","path":"src/managers"}},{"name":"FetchInvitesOptions","description":"Options used to fetch all invites from a guild.","type":[[["Object"]]],"props":[{"name":"channelId","description":"The channel to fetch all invites from","optional":true,"type":[[["GuildInvitableChannelResolvable"]]]},{"name":"cache","description":"Whether or not to cache the fetched invites","optional":true,"default":true,"type":[[["boolean"]]]}],"meta":{"line":79,"file":"GuildInviteManager.js","path":"src/managers"}},{"name":"GuildResolvable","description":"Data that resolves to give a Guild object. This can be:\n* A Guild object\n* A GuildChannel object\n* A GuildEmoji object\n* A Role object\n* A Snowflake\n* An Invite object","type":[[["Guild"]],[["GuildChannel"]],[["GuildMember"]],[["GuildEmoji"]],[["Role"]],[["Snowflake"]],[["Invite"]]],"meta":{"line":52,"file":"GuildManager.js","path":"src/managers"}},{"name":"PartialRoleData","description":"Partial data for a Role.","type":[[["Object"]]],"props":[{"name":"id","description":"The role's id, used to set channel overrides,\nthis is a placeholder and will be replaced by the API after consumption","optional":true,"type":[[["Snowflake"]],[["number"]]]},{"name":"name","description":"The name of the role","optional":true,"type":[[["string"]]]},{"name":"color","description":"The color of the role, either a hex string or a base 10 number","optional":true,"type":[[["ColorResolvable"]]]},{"name":"hoist","description":"Whether or not the role should be hoisted","optional":true,"type":[[["boolean"]]]},{"name":"position","description":"The position of the role","optional":true,"type":[[["number"]]]},{"name":"permissions","description":"The permissions of the role","optional":true,"type":[[["PermissionResolvable"]]]},{"name":"mentionable","description":"Whether or not the role should be mentionable","optional":true,"type":[[["boolean"]]]}],"meta":{"line":63,"file":"GuildManager.js","path":"src/managers"}},{"name":"PartialOverwriteData","description":"Partial overwrite data.","type":[[["Object"]]],"props":[{"name":"id","description":"The id of the {@link Role} or {@link User} this overwrite belongs to","type":[[["Snowflake"]],[["number"]]]},{"name":"type","description":"The type of this overwrite","optional":true,"type":[[["OverwriteType"]]]},{"name":"allow","description":"The permissions to allow","optional":true,"type":[[["PermissionResolvable"]]]},{"name":"deny","description":"The permissions to deny","optional":true,"type":[[["PermissionResolvable"]]]}],"meta":{"line":76,"file":"GuildManager.js","path":"src/managers"}},{"name":"PartialChannelData","description":"Partial data for a Channel.","type":[[["Object"]]],"props":[{"name":"id","description":"The channel's id, used to set its parent,\nthis is a placeholder and will be replaced by the API after consumption","optional":true,"type":[[["Snowflake"]],[["number"]]]},{"name":"parentId","description":"The parent id for this channel","optional":true,"type":[[["Snowflake"]],[["number"]]]},{"name":"type","description":"The type of the channel","optional":true,"type":[[["ChannelType"]],[["number"]]]},{"name":"name","description":"The name of the channel","type":[[["string"]]]},{"name":"topic","description":"The topic of the text channel","optional":true,"type":[[["string"]]]},{"name":"nsfw","description":"Whether the channel is NSFW","optional":true,"type":[[["boolean"]]]},{"name":"bitrate","description":"The bitrate of the voice channel","optional":true,"type":[[["number"]]]},{"name":"userLimit","description":"The user limit of the channel","optional":true,"type":[[["number"]]]},{"name":"rtcRegion","description":"The RTC region of the channel","optional":true,"nullable":true,"type":[[["string"]]]},{"name":"videoQualityMode","description":"The camera video quality mode of the channel","optional":true,"type":[[["VideoQualityMode"]],[["number"]]]},{"name":"permissionOverwrites","description":"Overwrites of the channel","optional":true,"type":[[["Array","<"],["PartialOverwriteData",">"]]]},{"name":"rateLimitPerUser","description":"The rate limit per user (slowmode) of the channel in seconds","optional":true,"type":[[["number"]]]}],"meta":{"line":85,"file":"GuildManager.js","path":"src/managers"}},{"name":"GuildCreateOptions","description":"Options used to create a guild.","type":[[["Object"]]],"props":[{"name":"afkChannelId","description":"The AFK channel's id","optional":true,"type":[[["Snowflake"]],[["number"]]]},{"name":"afkTimeout","description":"The AFK timeout in seconds","optional":true,"type":[[["number"]]]},{"name":"channels","description":"The channels for this guild","optional":true,"default":"[]","type":[[["Array","<"],["PartialChannelData",">"]]]},{"name":"defaultMessageNotifications","description":"The default message notifications\nfor the guild","optional":true,"type":[[["DefaultMessageNotificationLevel"]],[["number"]]]},{"name":"explicitContentFilter","description":"The explicit content filter level for the guild","optional":true,"type":[[["ExplicitContentFilterLevel"]]]},{"name":"icon","description":"The icon for the guild","optional":true,"default":null,"nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]},{"name":"roles","description":"The roles for this guild,\nthe first element of this array is used to change properties of the guild's everyone role.","optional":true,"default":"[]","type":[[["Array","<"],["PartialRoleData",">"]]]},{"name":"systemChannelId","description":"The system channel's id","optional":true,"type":[[["Snowflake"]],[["number"]]]},{"name":"systemChannelFlags","description":"The flags of the system channel","optional":true,"type":[[["SystemChannelFlagsResolvable"]]]},{"name":"verificationLevel","description":"The verification level for the guild","optional":true,"type":[[["VerificationLevel"]]]}],"meta":{"line":146,"file":"GuildManager.js","path":"src/managers"}},{"name":"FetchGuildOptions","description":"Options used to fetch a single guild.","type":[[["BaseFetchOptions"]]],"props":[{"name":"guild","description":"The guild to fetch","type":[[["GuildResolvable"]]]},{"name":"withCounts","description":"Whether the approximate member and presence counts should be returned","optional":true,"default":true,"type":[[["boolean"]]]}],"meta":{"line":266,"file":"GuildManager.js","path":"src/managers"}},{"name":"FetchGuildsOptions","description":"Options used to fetch multiple guilds.","type":[[["Object"]]],"props":[{"name":"before","description":"Get guilds before this guild id","optional":true,"type":[[["Snowflake"]]]},{"name":"after","description":"Get guilds after this guild id","optional":true,"type":[[["Snowflake"]]]},{"name":"limit","description":"Maximum number of guilds to request (1-200)","optional":true,"default":200,"type":[[["number"]]]}],"meta":{"line":273,"file":"GuildManager.js","path":"src/managers"}},{"name":"GuildMemberResolvable","description":"Data that resolves to give a GuildMember object. This can be:\n* A GuildMember object\n* A User resolvable","type":[[["GuildMember"]],[["UserResolvable"]]],"meta":{"line":43,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"AddGuildMemberOptions","description":"Options used to add a user to a guild using OAuth2.","type":[[["Object"]]],"props":[{"name":"accessToken","description":"An OAuth2 access token for the user with the `guilds.join` scope granted to the\nbot's application","type":[[["string"]]]},{"name":"nick","description":"The nickname to give to the member (requires `MANAGE_NICKNAMES`)","optional":true,"type":[[["string"]]]},{"name":"roles","description":"The roles to add to the member\n(requires `MANAGE_ROLES`)","optional":true,"type":[[["Collection","<"],["Snowflake",", "],["Role",">"]],[["Array","<"],["RoleResolvable",">"]]]},{"name":"mute","description":"Whether the member should be muted (requires `MUTE_MEMBERS`)","optional":true,"type":[[["boolean"]]]},{"name":"deaf","description":"Whether the member should be deafened (requires `DEAFEN_MEMBERS`)","optional":true,"type":[[["boolean"]]]},{"name":"force","description":"Whether to skip the cache check and call the API directly","optional":true,"type":[[["boolean"]]]},{"name":"fetchWhenExisting","description":"Whether to fetch the user if not cached and already a member","optional":true,"default":true,"type":[[["boolean"]]]}],"meta":{"line":75,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"FetchMemberOptions","description":"Options used to fetch a single member from a guild.","type":[[["BaseFetchOptions"]]],"props":[{"name":"user","description":"The user to fetch","type":[[["UserResolvable"]]]}],"meta":{"line":139,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"FetchMembersOptions","description":"Options used to fetch multiple members from a guild.","type":[[["Object"]]],"props":[{"name":"user","description":"The user(s) to fetch","type":[[["UserResolvable"]],[["Array","<"],["UserResolvable",">"]]]},{"name":"query","description":"Limit fetch to members with similar usernames","nullable":true,"type":[[["string"]]]},{"name":"limit","description":"Maximum number of members to request","optional":true,"default":0,"type":[[["number"]]]},{"name":"withPresences","description":"Whether or not to include the presences","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"time","description":"Timeout for receipt of members","optional":true,"default":"120e3","type":[[["number"]]]},{"name":"nonce","description":"Nonce for this request (32 characters max - default to base 16 now timestamp)","nullable":true,"type":[[["string"]]]},{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":false,"type":[[["boolean"]]]}],"meta":{"line":145,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"GuildSearchMembersOptions","description":"Options used for searching guild members.","type":[[["Object"]]],"props":[{"name":"query","description":"Filter members whose username or nickname start with this query","type":[[["string"]]]},{"name":"limit","description":"Maximum number of members to search","optional":true,"default":1,"type":[[["number"]]]},{"name":"cache","description":"Whether or not to cache the fetched member(s)","optional":true,"default":true,"type":[[["boolean"]]]}],"meta":{"line":229,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"GuildListMembersOptions","description":"Options used for listing guild members.","type":[[["Object"]]],"props":[{"name":"after","description":"Limit fetching members to those with an id greater than the supplied id","optional":true,"type":[[["Snowflake"]]]},{"name":"limit","description":"Maximum number of members to list","optional":true,"default":1,"type":[[["number"]]]},{"name":"cache","description":"Whether or not to cache the fetched member(s)","optional":true,"default":true,"type":[[["boolean"]]]}],"meta":{"line":247,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"GuildMemberEditData","description":"The data for editing a guild member.","type":[[["Object"]]],"props":[{"name":"nick","description":"The nickname to set for the member","optional":true,"nullable":true,"type":[[["string"]]]},{"name":"roles","description":"The roles or role ids to apply","optional":true,"type":[[["Collection","<"],["Snowflake",", "],["Role",">"]],[["Array","<"],["RoleResolvable",">"]]]},{"name":"mute","description":"Whether or not the member should be muted","optional":true,"type":[[["boolean"]]]},{"name":"deaf","description":"Whether or not the member should be deafened","optional":true,"type":[[["boolean"]]]},{"name":"channel","description":"Channel to move the member to\n(if they are connected to voice), or `null` if you want to disconnect them from voice","optional":true,"type":[[["GuildVoiceChannelResolvable"]],[["null"]]]},{"name":"communicationDisabledUntil","description":"The date or timestamp\nfor the member's communication to be disabled until. Provide `null` to enable communication again.","optional":true,"type":[[["DateResolvable"]],[["null"]]]},{"name":"flags","description":"The flags to set for the member","optional":true,"type":[[["GuildMemberFlagsResolvable"]]]},{"name":"avatar","description":"The new guild avatar","optional":true,"nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]},{"name":"banner","description":"The new guild banner","optional":true,"nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]},{"name":"bio","description":"The new guild about me","optional":true,"nullable":true,"type":[[["string"]]]}],"meta":{"line":265,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"GuildPruneMembersOptions","description":"Options used for pruning guild members.\nIt's recommended to set {@link GuildPruneMembersOptions#count options.count}\nto `false` for large guilds.","type":[[["Object"]]],"props":[{"name":"days","description":"Number of days of inactivity required to kick","optional":true,"default":7,"type":[[["number"]]]},{"name":"dry","description":"Get the number of users that will be kicked, without actually kicking them","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"count","description":"Whether or not to return the number of users that have been kicked.","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"roles","description":"Array of roles to bypass the \"...and no roles\" constraint when pruning","optional":true,"type":[[["Array","<"],["RoleResolvable",">"]]]},{"name":"reason","description":"Reason for this prune","optional":true,"type":[[["string"]]]}],"meta":{"line":340,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"GuildScheduledEventResolvable","description":"Data that resolves to give a GuildScheduledEvent object. This can be:\n* A Snowflake\n* A GuildScheduledEvent object","type":[[["Snowflake"]],[["GuildScheduledEvent"]]],"meta":{"line":31,"file":"GuildScheduledEventManager.js","path":"src/managers"}},{"name":"GuildScheduledEventCreateOptions","description":"Options used to create a guild scheduled event.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the guild scheduled event","type":[[["string"]]]},{"name":"scheduledStartTime","description":"The time to schedule the event at","type":[[["DateResolvable"]]]},{"name":"scheduledEndTime","description":"The time to end the event at\nThis is required if `entityType` is 'EXTERNAL'","optional":true,"type":[[["DateResolvable"]]]},{"name":"privacyLevel","description":"The privacy level of the guild scheduled event","type":[[["PrivacyLevel"]],[["number"]]]},{"name":"entityType","description":"The scheduled entity type of the event","type":[[["GuildScheduledEventEntityType"]],[["number"]]]},{"name":"description","description":"The description of the guild scheduled event","optional":true,"type":[[["string"]]]},{"name":"channel","description":"The channel of the guild scheduled event\nThis is required if `entityType` is 'STAGE_INSTANCE' or `VOICE`","optional":true,"type":[[["GuildVoiceChannelResolvable"]]]},{"name":"entityMetadata","description":"The entity metadata of the\nguild scheduled event\nThis is required if `entityType` is 'EXTERNAL'","optional":true,"type":[[["GuildScheduledEventEntityMetadataOptions"]]]},{"name":"image","description":"The cover image of the guild scheduled event","optional":true,"nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]},{"name":"reason","description":"The reason for creating the guild scheduled event","optional":true,"type":[[["string"]]]}],"meta":{"line":38,"file":"GuildScheduledEventManager.js","path":"src/managers"}},{"name":"GuildScheduledEventEntityMetadataOptions","description":"Options used to set entity metadata of a guild scheduled event.","type":[[["Object"]]],"props":[{"name":"location","description":"The location of the guild scheduled event\nThis is required if `entityType` is 'EXTERNAL'","optional":true,"type":[[["string"]]]}],"meta":{"line":57,"file":"GuildScheduledEventManager.js","path":"src/managers"}},{"name":"FetchGuildScheduledEventOptions","description":"Options used to fetch a single guild scheduled event from a guild.","type":[[["BaseFetchOptions"]]],"props":[{"name":"guildScheduledEvent","description":"The guild scheduled event to fetch","type":[[["GuildScheduledEventResolvable"]]]},{"name":"withUserCount","description":"Whether to fetch the number of users subscribed to the scheduled event","optional":true,"default":true,"type":[[["boolean"]]]}],"meta":{"line":115,"file":"GuildScheduledEventManager.js","path":"src/managers"}},{"name":"FetchGuildScheduledEventsOptions","description":"Options used to fetch multiple guild scheduled events from a guild.","type":[[["Object"]]],"props":[{"name":"cache","description":"Whether or not to cache the fetched guild scheduled events","optional":true,"type":[[["boolean"]]]},{"name":"withUserCount","description":"Whether to fetch the number of users subscribed to each scheduled event\nshould be returned","optional":true,"default":true,"type":[[["boolean"]]]}],"meta":{"line":122,"file":"GuildScheduledEventManager.js","path":"src/managers"}},{"name":"GuildScheduledEventEditOptions","description":"Options used to edit a guild scheduled event.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the guild scheduled event","optional":true,"type":[[["string"]]]},{"name":"scheduledStartTime","description":"The time to schedule the event at","optional":true,"type":[[["DateResolvable"]]]},{"name":"scheduledEndTime","description":"The time to end the event at","optional":true,"type":[[["DateResolvable"]]]},{"name":"privacyLevel","description":"The privacy level of the guild scheduled event","optional":true,"type":[[["PrivacyLevel"]],[["number"]]]},{"name":"entityType","description":"The scheduled entity type of the event","optional":true,"type":[[["GuildScheduledEventEntityType"]],[["number"]]]},{"name":"description","description":"The description of the guild scheduled event","optional":true,"type":[[["string"]]]},{"name":"channel","description":"The channel of the guild scheduled event","optional":true,"nullable":true,"type":[[["GuildVoiceChannelResolvable"]]]},{"name":"status","description":"The status of the guild scheduled event","optional":true,"type":[[["GuildScheduledEventStatus"]],[["number"]]]},{"name":"entityMetadata","description":"The entity metadata of the\nguild scheduled event\nThis can be modified only if `entityType` of the `GuildScheduledEvent` to be edited is 'EXTERNAL'","optional":true,"type":[[["GuildScheduledEventEntityMetadataOptions"]]]},{"name":"image","description":"The cover image of the guild scheduled event","optional":true,"nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]},{"name":"reason","description":"The reason for editing the guild scheduled event","optional":true,"type":[[["string"]]]}],"meta":{"line":165,"file":"GuildScheduledEventManager.js","path":"src/managers"}},{"name":"FetchGuildScheduledEventSubscribersOptions","description":"Options used to fetch subscribers of a guild scheduled event","type":[[["Object"]]],"props":[{"name":"limit","description":"The maximum numbers of users to fetch","optional":true,"type":[[["number"]]]},{"name":"withMember","description":"Whether to fetch guild member data of the users","optional":true,"type":[[["boolean"]]]},{"name":"before","description":"Consider only users before this user id","optional":true,"type":[[["Snowflake"]]]},{"name":"after","description":"Consider only users after this user id\nIf both `before` and `after` are provided, only `before` is respected","optional":true,"type":[[["Snowflake"]]]}],"meta":{"line":250,"file":"GuildScheduledEventManager.js","path":"src/managers"}},{"name":"GuildScheduledEventUser","description":"Represents a subscriber of a {@link GuildScheduledEvent}","type":[[["Object"]]],"props":[{"name":"guildScheduledEventId","description":"The id of the guild scheduled event which the user subscribed to","type":[[["Snowflake"]]]},{"name":"user","description":"The user that subscribed to the guild scheduled event","type":[[["User"]]]},{"name":"member","description":"The guild member associated with the user, if any","nullable":true,"type":[[["GuildMember"]]]}],"meta":{"line":260,"file":"GuildScheduledEventManager.js","path":"src/managers"}},{"name":"GuildStickerCreateOptions","description":"Options for creating a guild sticker.","type":[[["Object"]]],"props":[{"name":"description","description":"The description for the sticker","optional":true,"nullable":true,"type":[[["string"]]]},{"name":"reason","description":"Reason for creating the sticker","optional":true,"type":[[["string"]]]}],"meta":{"line":34,"file":"GuildStickerManager.js","path":"src/managers"}},{"name":"StickerResolvable","description":"Data that resolves to give a Sticker object. This can be:\n* A Sticker object\n* A Snowflake","type":[[["Sticker"]],[["Snowflake"]]],"meta":{"line":72,"file":"GuildStickerManager.js","path":"src/managers"}},{"name":"GuildTextThreadCreateOptions","description":"Options for creating a thread. Only one of `startMessage` or `type` can be defined.","type":[[["StartThreadOptions"]]],"props":[{"name":"startMessage","description":"The message to start a thread from. If this is defined then type\nof thread gets automatically defined and cannot be changed. The provided `type` field will be ignored","optional":true,"type":[[["MessageResolvable"]]]},{"name":"type","description":"The type of thread to create. Defaults to `GUILD_PUBLIC_THREAD` if\ncreated in a {@link TextChannel} When creating threads in a {@link NewsChannel} this is ignored and is always\n`GUILD_NEWS_THREAD`","optional":true,"type":[[["ThreadChannelTypes"]],[["number"]]]},{"name":"invitable","description":"Whether non-moderators can add other non-moderators to the thread\nCan only be set when type will be `GUILD_PRIVATE_THREAD`","optional":true,"type":[[["boolean"]]]},{"name":"rateLimitPerUser","description":"The rate limit per user (slowmode) for the new channel in seconds","optional":true,"type":[[["number"]]]}],"meta":{"line":19,"file":"GuildTextThreadManager.js","path":"src/managers"}},{"name":"ChannelLogsQueryOptions","description":"The parameters to pass in when requesting previous messages from a channel. `around`, `before` and\n`after` are mutually exclusive. All the parameters are optional.","type":[[["Object"]]],"props":[{"name":"limit","description":"Number of messages to acquire","optional":true,"default":50,"type":[[["number"]]]},{"name":"before","description":"The message's id to get the messages that were posted before it","optional":true,"type":[[["Snowflake"]]]},{"name":"after","description":"The message's id to get the messages that were posted after it","optional":true,"type":[[["Snowflake"]]]},{"name":"around","description":"The message's id to get the messages that were posted around it","optional":true,"type":[[["Snowflake"]]]}],"meta":{"line":35,"file":"MessageManager.js","path":"src/managers"}},{"name":"MessageResolvable","description":"Data that can be resolved to a Message object. This can be:\n* A Message\n* A Snowflake","type":[[["Message"]],[["Snowflake"]]],"meta":{"line":91,"file":"MessageManager.js","path":"src/managers"}},{"name":"MessageSearchOptions","type":[[["object"]]],"props":[{"name":"authors","description":"An array of author to filter by","optional":true,"type":[[["Array","<"],["UserResolvable",">"]]]},{"name":"mentions","description":"An array of user (mentioned) to filter by","optional":true,"type":[[["Array","<"],["UserResolvable",">"]]]},{"name":"content","description":"A messageContent to filter by","optional":true,"type":[[["string"]]]},{"name":"maxId","description":"The maximum Message ID to filter by","optional":true,"type":[[["Snowflake"]]]},{"name":"minId","description":"The minimum Message ID to filter by","optional":true,"type":[[["Snowflake"]]]},{"name":"channels","description":"An array of channel to filter by","optional":true,"type":[[["Array","<"],["TextChannelResolvable",">"]]]},{"name":"pinned","description":"Whether to filter by pinned messages","optional":true,"type":[[["boolean"]]]},{"name":"has","description":"Message has: `link`, `embed`, `file`, `video`, `image`, or `sound`","optional":true,"type":[[["Array","<"],["string",">"]]]},{"name":"nsfw","description":"Whether to filter by NSFW channels","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"offset","description":"The number of messages to skip (for pagination, 25 results per page)","optional":true,"default":0,"type":[[["number"]]]},{"name":"limit","description":"The number of messages to fetch\nThe maximum limit allowed is 25.","optional":true,"default":25,"type":[[["number"]]]},{"name":"sortBy","description":"The order to sort by (`timestamp` or `relevance`)","optional":true,"type":[[["string"]]]},{"name":"sortOrder","description":"The order to return results in (`asc` or `desc`)\nThe default sort is timestamp
in descending order desc
(newest first).","optional":true,"type":[[["string"]]]}],"meta":{"line":265,"file":"MessageManager.js","path":"src/managers"}},{"name":"MessageSearchResult","type":[[["object"]]],"props":[{"name":"messages","description":"A collection of found messages","type":[[["Collection","<"],["Snowflake",", "],["Message",">"]]]},{"name":"total","description":"The total number of messages that match the search criteria","type":[[["number"]]]}],"meta":{"line":284,"file":"MessageManager.js","path":"src/managers"}},{"name":"GuildChannelOverwriteOptions","description":"Extra information about the overwrite","type":[[["Object"]]],"props":[{"name":"reason","description":"Reason for creating/editing this overwrite","optional":true,"type":[[["string"]]]},{"name":"type","description":"The type of overwrite, either `0` for a role or `1` for a member. Use this to bypass\nautomatic resolution of type that results in an error for uncached structure","optional":true,"type":[[["number"]]]}],"meta":{"line":74,"file":"PermissionOverwriteManager.js","path":"src/managers"}},{"name":"PresenceResolvable","description":"Data that can be resolved to a Presence object. This can be:\n* A Presence\n* A UserResolvable\n* A Snowflake","type":[[["Presence"]],[["UserResolvable"]],[["Snowflake"]]],"meta":{"line":25,"file":"PresenceManager.js","path":"src/managers"}},{"name":"MessageReactionResolvable","description":"Data that can be resolved to a MessageReaction object. This can be:\n* A MessageReaction\n* A Snowflake\n* The Unicode representation of an emoji","type":[[["MessageReaction"]],[["Snowflake"]]],"meta":{"line":31,"file":"ReactionManager.js","path":"src/managers"}},{"name":"FetchReactionUsersOptions","description":"Options used to fetch users who gave a reaction.","type":[[["Object"]]],"props":[{"name":"limit","description":"The maximum amount of users to fetch, defaults to `100`","optional":true,"default":100,"type":[[["number"]]]},{"name":"after","description":"Limit fetching users to those with an id greater than the supplied id","optional":true,"type":[[["Snowflake"]]]}],"meta":{"line":29,"file":"ReactionUserManager.js","path":"src/managers"}},{"name":"RelationshipJSONData","type":[[["Object"]]],"props":[{"name":"id","description":"The ID of the target user","type":[[["Snowflake"]]]},{"name":"type","description":"The type of relationship","type":[[["RelationshipType"]]]},{"name":"nickname","description":"The nickname of the user in this relationship (1-32 characters)","type":[[["string"]],[["null"]]]},{"name":"since","description":"When the user requested a relationship (ISO8601 timestamp)","type":[[["string"]]]}],"meta":{"line":81,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"FriendRequestOptions","type":[[["Object"]]],"props":[{"name":"user","description":"Target","optional":true,"type":[[["UserResolvable"]]]},{"name":"username","description":"Discord username","optional":true,"type":[[["string"]]]},{"name":"discriminator","description":"Discord discriminator","optional":true,"type":[[["number"]],[["null"]]]}],"meta":{"line":172,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"RoleResolvable","description":"Data that can be resolved to a Role object. This can be:\n* A Role\n* A Snowflake","type":[[["Role"]],[["Snowflake"]]],"meta":{"line":76,"file":"RoleManager.js","path":"src/managers"}},{"name":"CreateRoleOptions","description":"Options used to create a new role.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the new role","optional":true,"type":[[["string"]]]},{"name":"color","description":"The data to create the role with","optional":true,"type":[[["ColorResolvable"]]]},{"name":"hoist","description":"Whether or not the new role should be hoisted","optional":true,"type":[[["boolean"]]]},{"name":"permissions","description":"The permissions for the new role","optional":true,"type":[[["PermissionResolvable"]]]},{"name":"position","description":"The position of the new role","optional":true,"type":[[["number"]]]},{"name":"mentionable","description":"Whether or not the new role should be mentionable","optional":true,"type":[[["boolean"]]]},{"name":"icon","description":"The icon for the role\nThe `EmojiResolvable` should belong to the same guild as the role.\nIf not, pass the emoji's URL directly","optional":true,"nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]],[["EmojiResolvable"]]]},{"name":"unicodeEmoji","description":"The unicode emoji for the role","optional":true,"nullable":true,"type":[[["string"]]]},{"name":"reason","description":"The reason for creating this role","optional":true,"type":[[["string"]]]}],"meta":{"line":101,"file":"RoleManager.js","path":"src/managers"}},{"name":"GuildRolePosition","description":"The data needed for updating a guild role's position","type":[[["Object"]]],"props":[{"name":"role","description":"The role's id","type":[[["RoleResolvable"]]]},{"name":"position","description":"The position to update","type":[[["number"]]]}],"meta":{"line":1326,"file":"Guild.js","path":"src/structures"}},{"name":"StageInstanceCreateOptions","description":"Options used to create a stage instance.","type":[[["Object"]]],"props":[{"name":"topic","description":"The topic of the stage instance","type":[[["string"]]]},{"name":"privacyLevel","description":"The privacy level of the stage instance","optional":true,"type":[[["PrivacyLevel"]],[["number"]]]},{"name":"sendStartNotification","description":"Whether to notify `@everyone` that the stage instance has started","optional":true,"type":[[["boolean"]]]},{"name":"guildScheduledEvent","description":"The guild scheduled event associated with the stage instance","optional":true,"type":[[["GuildScheduledEventResolvable"]]]}],"meta":{"line":29,"file":"StageInstanceManager.js","path":"src/managers"}},{"name":"StageChannelResolvable","description":"Data that can be resolved to a Stage Channel object. This can be:\n* A StageChannel\n* A Snowflake","type":[[["StageChannel"]],[["Snowflake"]]],"meta":{"line":39,"file":"StageInstanceManager.js","path":"src/managers"}},{"name":"StageInstanceEditOptions","description":"Options used to edit an existing stage instance.","type":[[["Object"]]],"props":[{"name":"topic","description":"The new topic of the stage instance","optional":true,"type":[[["string"]]]},{"name":"privacyLevel","description":"The new privacy level of the stage instance","optional":true,"type":[[["PrivacyLevel"]],[["number"]]]}],"meta":{"line":106,"file":"StageInstanceManager.js","path":"src/managers"}},{"name":"ThreadChannelResolvable","description":"Data that can be resolved to a Thread Channel object. This can be:\n* A ThreadChannel object\n* A Snowflake","type":[[["ThreadChannel"]],[["Snowflake"]]],"meta":{"line":35,"file":"ThreadManager.js","path":"src/managers"}},{"name":"FetchThreadsOptions","description":"Options for fetching multiple threads.","type":[[["Object"]]],"props":[{"name":"archived","description":"The options used to fetch archived threads","optional":true,"type":[[["FetchArchivedThreadOptions"]]]}],"meta":{"line":60,"file":"ThreadManager.js","path":"src/managers"}},{"name":"DateResolvable","description":"Data that can be resolved to a Date object. This can be:\n* A Date object\n* A number representing a timestamp\n* An [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) string","type":[[["Date"]],[["number"]],[["string"]]],"meta":{"line":89,"file":"ThreadManager.js","path":"src/managers"}},{"name":"FetchArchivedThreadOptions","description":"The options used to fetch archived threads.","type":[[["Object"]]],"props":[{"name":"type","description":"The type of threads to fetch, either `public` or `private`","optional":true,"default":"'public'","type":[[["string"]]]},{"name":"fetchAll","description":"Whether to fetch **all** archived threads when type is `private`.\nRequires `MANAGE_THREADS` if true","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"before","description":"Only return threads that were archived before this Date\nor Snowflake. Must be a {@link ThreadChannelResolvable} when type is `private` and fetchAll is `false`","optional":true,"type":[[["DateResolvable"]],[["ThreadChannelResolvable"]]]},{"name":"limit","description":"Maximum number of threads to return","optional":true,"type":[[["number"]]]}],"meta":{"line":97,"file":"ThreadManager.js","path":"src/managers"}},{"name":"FetchedThreads","description":"The data returned from a thread fetch that returns multiple threads.","type":[[["Object"]]],"props":[{"name":"threads","description":"The threads that were fetched, with any members returned","type":[[["Collection","<"],["Snowflake",", "],["ThreadChannel",">"]]]},{"name":"hasMore","description":"Whether there are potentially additional threads that require a subsequent call","nullable":true,"type":[[["boolean"]]]}],"meta":{"line":108,"file":"ThreadManager.js","path":"src/managers"}},{"name":"FetchChannelThreadsOptions","description":"Discord.js self-bot specific options field for fetching active threads.","type":[[["Object"]]],"props":[{"name":"archived","description":"Whether to fetch archived threads (default is false)","optional":true,"type":[[["boolean"]]]},{"name":"sortBy","description":"The order in which the threads should be fetched in (default is last_message_time)","optional":true,"type":[[["string"]]]},{"name":"sortOrder","description":"How the threads should be ordered (default is desc)","optional":true,"type":[[["string"]]]},{"name":"limit","description":"The maximum number of threads to return (default is 25)","optional":true,"type":[[["number"]]]},{"name":"offset","description":"The number of threads to offset fetching (useful when making multiple fetches) (default is 0)","optional":true,"type":[[["number"]]]}],"meta":{"line":125,"file":"ThreadManager.js","path":"src/managers"}},{"name":"ThreadMemberResolvable","description":"Data that resolves to give a ThreadMember object. This can be:\n* A ThreadMember object\n* A User resolvable","type":[[["ThreadMember"]],[["UserResolvable"]]],"meta":{"line":60,"file":"ThreadMemberManager.js","path":"src/managers"}},{"name":"FetchThreadMemberOptions","description":"Options used to fetch a thread member.","type":[[["BaseFetchOptions"]]],"props":[{"name":"withMember","description":"Whether to also return the guild member associated with this thread member","optional":true,"type":[[["boolean"]]]}],"meta":{"line":135,"file":"ThreadMemberManager.js","path":"src/managers"}},{"name":"FetchThreadMembersWithGuildMemberDataOptions","description":"Options used to fetch multiple thread members with guild member data.\nWith `withMember` set to `true`, pagination is enabled.","type":[[["Object"]]],"props":[{"name":"withMember","description":"Whether to also return the guild member data","type":[[["true"]]]},{"name":"after","description":"Consider only thread members after this id","optional":true,"type":[[["Snowflake"]]]},{"name":"limit","description":"The maximum number of thread members to return","optional":true,"type":[[["number"]]]},{"name":"cache","description":"Whether to cache the fetched thread members and guild members","optional":true,"type":[[["boolean"]]]}],"meta":{"line":141,"file":"ThreadMemberManager.js","path":"src/managers"}},{"name":"FetchThreadMembersWithoutGuildMemberDataOptions","description":"Options used to fetch multiple thread members without guild member data.","type":[[["Object"]]],"props":[{"name":"withMember","description":"Whether to also return the guild member data","optional":true,"type":[[["false"]]]},{"name":"cache","description":"Whether to cache the fetched thread members","optional":true,"type":[[["boolean"]]]}],"meta":{"line":151,"file":"ThreadMemberManager.js","path":"src/managers"}},{"name":"FetchThreadMembersOptions","description":"Options used to fetch multiple thread members.","type":[[["FetchThreadMembersWithGuildMemberDataOptions"]],[["FetchThreadMembersWithoutGuildMemberDataOptions"]]],"meta":{"line":158,"file":"ThreadMemberManager.js","path":"src/managers"}},{"name":"UserResolvable","description":"Data that resolves to give a User object. This can be:\n* A User object\n* A Snowflake\n* A Message object (resolves to the message author)\n* A GuildMember object\n* A ThreadMember object","type":[[["User"]],[["Snowflake"]],[["Message"]],[["GuildMember"]],[["ThreadMember"]]],"meta":{"line":25,"file":"UserManager.js","path":"src/managers"}},{"name":"Captcha","type":[[["Object"]]],"props":[{"name":"captcha_key","description":"['message']","type":[[["Array","<"],["string",">"]]]},{"name":"captcha_sitekey","description":"Captcha sitekey (hcaptcha)","type":[[["string"]]]},{"name":"captcha_service","description":"hcaptcha","type":[[["string"]]]},{"name":"captcha_rqdata","optional":true,"type":[[["string"]]]},{"name":"captcha_rqtoken","optional":true,"type":[[["string"]]]}],"meta":{"line":54,"file":"DiscordAPIError.js","path":"src/rest"}},{"name":"HTTPErrorData","description":"The HTTP data that was sent to Discord","type":[[["Object"]]],"props":[{"name":"json","description":"The JSON data that was sent","type":[["*"]]},{"name":"files","description":"The files that were sent with this request, if any","type":[[["Array","<"],["HTTPAttachmentData",">"]]]}],"meta":{"line":35,"file":"HTTPError.js","path":"src/rest"}},{"name":"HTTPAttachmentData","description":"The attachment data that is sent to Discord","type":[[["Object"]]],"props":[{"name":"attachment","description":"The source of this attachment data","type":[[["string"]],[["Buffer"]],[["Stream"]]]},{"name":"name","description":"The file name","type":[[["string"]]]},{"name":"file","description":"The file buffer","type":[[["Buffer"]],[["Stream"]]]}],"meta":{"line":42,"file":"HTTPError.js","path":"src/rest"}},{"name":"APIRequest","description":"Represents a request that will or has been made to the Discord API","type":[[["Object"]]],"props":[{"name":"method","description":"The HTTP method used in this request","type":[[["HTTPMethod"]]]},{"name":"path","description":"The full path used to make the request","type":[[["string"]]]},{"name":"route","description":"The API route identifying the rate limit for this request","type":[[["string"]]]},{"name":"options","description":"Additional options for this request","type":[[["Object"]]]},{"name":"retries","description":"The number of times this request has been attempted","type":[[["number"]]]}],"meta":{"line":178,"file":"RequestHandler.js","path":"src/rest"}},{"name":"InvalidRequestWarningData","type":[[["Object"]]],"props":[{"name":"count","description":"Number of invalid requests that have been made in the window","type":[[["number"]]]},{"name":"remainingTime","description":"Time in milliseconds remaining before the count resets","type":[[["number"]]]}],"meta":{"line":292,"file":"RequestHandler.js","path":"src/rest"}},{"name":"ShardRespawnOptions","description":"Options used to respawn a shard.","type":[[["Object"]]],"props":[{"name":"delay","description":"How long to wait between killing the process/worker and\nrestarting it (in milliseconds)","optional":true,"default":500,"type":[[["number"]]]},{"name":"timeout","description":"The amount in milliseconds to wait until the {@link Client}\nhas become ready before resolving (`-1` or `Infinity` for no wait)","optional":true,"default":30000,"type":[[["number"]]]}],"meta":{"line":191,"file":"Shard.js","path":"src/sharding"}},{"name":"ShardingManagerMode","description":"The mode to spawn shards with for a {@link ShardingManager}. Can be either one of:\n* 'process' to use child processes\n* 'worker' to use [Worker threads](https://nodejs.org/api/worker_threads.html)","type":[[["string"]]],"meta":{"line":23,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"ShardingManagerOptions","description":"The options to spawn shards with for a {@link ShardingManager}.","type":[[["Object"]]],"props":[{"name":"totalShards","description":"Number of total shards of all shard managers or \"auto\"","optional":true,"default":"'auto'","type":[[["string"]],[["number"]]]},{"name":"shardList","description":"List of shards to spawn or \"auto\"","optional":true,"default":"'auto'","type":[[["string"]],[["Array","<"],["number",">"]]]},{"name":"mode","description":"Which mode to use for shards","optional":true,"default":"'process'","type":[[["ShardingManagerMode"]]]},{"name":"respawn","description":"Whether shards should automatically respawn upon exiting","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"shardArgs","description":"Arguments to pass to the shard script when spawning\n(only available when mode is set to 'process')","optional":true,"default":"[]","type":[[["Array","<"],["string",">"]]]},{"name":"execArgv","description":"Arguments to pass to the shard script executable when spawning\n(only available when mode is set to 'process')","optional":true,"default":"[]","type":[[["Array","<"],["string",">"]]]},{"name":"token","description":"Token to use for automatic shard count and passing to shards","optional":true,"type":[[["string"]]]}],"meta":{"line":30,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"MultipleShardSpawnOptions","description":"Options used to spawn multiple shards.","type":[[["Object"]]],"props":[{"name":"amount","description":"Number of shards to spawn","optional":true,"default":"this.totalShards","type":[[["number"]],[["string"]]]},{"name":"delay","description":"How long to wait in between spawning each shard (in milliseconds)","optional":true,"default":5500,"type":[[["number"]]]},{"name":"timeout","description":"The amount in milliseconds to wait until the {@link Client} has become ready","optional":true,"default":30000,"type":[[["number"]]]}],"meta":{"line":170,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"BroadcastEvalOptions","description":"Options for {@link ShardingManager#broadcastEval} and {@link ShardClientUtil#broadcastEval}.","type":[[["Object"]]],"props":[{"name":"shard","description":"Shard to run script on, all if undefined","optional":true,"type":[[["number"]]]},{"name":"context","description":"The JSON-serializable values to call the script with","optional":true,"type":[["*"]]}],"meta":{"line":237,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"MultipleShardRespawnOptions","description":"Options used to respawn all shards.","type":[[["Object"]]],"props":[{"name":"shardDelay","description":"How long to wait between shards (in milliseconds)","optional":true,"default":5000,"type":[[["number"]]]},{"name":"respawnDelay","description":"How long to wait between killing a shard's process and restarting it\n(in milliseconds)","optional":true,"default":500,"type":[[["number"]]]},{"name":"timeout","description":"The amount in milliseconds to wait for a shard to become ready before\ncontinuing to another (`-1` or `Infinity` for no wait)","optional":true,"default":30000,"type":[[["number"]]]}],"meta":{"line":292,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"ApplicationCommandData","description":"Data for creating or editing an application command.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the command","type":[[["string"]]]},{"name":"nameLocalizations","description":"The localizations for the command name","optional":true,"type":[[["Object","<"],["Locale",", "],["string",">"]]]},{"name":"description","description":"The description of the command","type":[[["string"]]]},{"name":"descriptionLocalizations","description":"The localizations for the command description","optional":true,"type":[[["Object","<"],["Locale",", "],["string",">"]]]},{"name":"type","description":"The type of the command","optional":true,"type":[[["ApplicationCommandType"]]]},{"name":"options","description":"Options for the command","optional":true,"type":[[["Array","<"],["ApplicationCommandOptionData",">"]]]},{"name":"defaultPermission","description":"Whether the command is enabled by default when the app is added to a guild","optional":true,"type":[[["boolean"]]]},{"name":"defaultMemberPermissions","description":"The bitfield used to determine the default permissions\na member needs in order to run the command","optional":true,"nullable":true,"type":[[["PermissionResolvable"]]]},{"name":"dmPermission","description":"Whether the command is enabled in DMs","optional":true,"type":[[["boolean"]]]}],"meta":{"line":194,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"ApplicationCommandOptionData","description":"An option for an application command or subcommand.\nIn addition to the listed properties, when used as a parameter,\nAPI style `snake_case` properties can be used for compatibility with generators like `@discordjs/builders`.\nNote that providing a value for the `camelCase` counterpart for any `snake_case` property\nwill discard the provided `snake_case` property.","type":[[["Object"]]],"props":[{"name":"type","description":"The type of the option","type":[[["ApplicationCommandOptionType"]],[["number"]]]},{"name":"name","description":"The name of the option","type":[[["string"]]]},{"name":"nameLocalizations","description":"The name localizations for the option","optional":true,"type":[[["Object","<"],["Locale",", "],["string",">"]]]},{"name":"description","description":"The description of the option","type":[[["string"]]]},{"name":"descriptionLocalizations","description":"The description localizations for the option","optional":true,"type":[[["Object","<"],["Locale",", "],["string",">"]]]},{"name":"autocomplete","description":"Whether the option is an autocomplete option","optional":true,"type":[[["boolean"]]]},{"name":"required","description":"Whether the option is required","optional":true,"type":[[["boolean"]]]},{"name":"choices","description":"The choices of the option for the user to pick from","optional":true,"type":[[["Array","<"],["ApplicationCommandOptionChoiceData",">"]]]},{"name":"options","description":"Additional options if this option is a subcommand (group)","optional":true,"type":[[["Array","<"],["ApplicationCommandOptionData",">"]]]},{"name":"channelTypes","description":"When the option type is channel,\nthe allowed types of channels that can be selected","optional":true,"type":[[["Array","<"],["ChannelType",">"]],[["Array","<"],["number",">"]]]},{"name":"minValue","description":"The minimum value for an `INTEGER` or `NUMBER` option","optional":true,"type":[[["number"]]]},{"name":"maxValue","description":"The maximum value for an `INTEGER` or `NUMBER` option","optional":true,"type":[[["number"]]]},{"name":"minLength","description":"The minimum length for a `STRING` option\n(maximum of `6000`)","optional":true,"type":[[["number"]]]},{"name":"maxLength","description":"The maximum length for a `STRING` option\n(maximum of `6000`)","optional":true,"type":[[["number"]]]}],"meta":{"line":209,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"ApplicationCommandOptionChoiceData","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the choice","type":[[["string"]]]},{"name":"nameLocalizations","description":"The localized names for this choice","optional":true,"type":[[["Object","<"],["Locale",", "],["string",">"]]]},{"name":"value","description":"The value of the choice","type":[[["string"]],[["number"]]]}],"meta":{"line":235,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"ApplicationCommandOption","description":"An option for an application command or subcommand.","type":[[["Object"]]],"props":[{"name":"type","description":"The type of the option","type":[[["ApplicationCommandOptionType"]]]},{"name":"name","description":"The name of the option","type":[[["string"]]]},{"name":"nameLocalizations","description":"The localizations for the option name","optional":true,"type":[[["Object","<"],["string",", "],["string",">"]]]},{"name":"nameLocalized","description":"The localized name for this option","optional":true,"type":[[["string"]]]},{"name":"description","description":"The description of the option","type":[[["string"]]]},{"name":"descriptionLocalizations","description":"The localizations for the option description","optional":true,"type":[[["Object","<"],["string",", "],["string",">"]]]},{"name":"descriptionLocalized","description":"The localized description for this option","optional":true,"type":[[["string"]]]},{"name":"required","description":"Whether the option is required","optional":true,"type":[[["boolean"]]]},{"name":"autocomplete","description":"Whether the option is an autocomplete option","optional":true,"type":[[["boolean"]]]},{"name":"choices","description":"The choices of the option for the user to pick from","optional":true,"type":[[["Array","<"],["ApplicationCommandOptionChoice",">"]]]},{"name":"options","description":"Additional options if this option is a subcommand (group)","optional":true,"type":[[["Array","<"],["ApplicationCommandOption",">"]]]},{"name":"channelTypes","description":"When the option type is channel,\nthe allowed types of channels that can be selected","optional":true,"type":[[["Array","<"],["ChannelType",">"]]]},{"name":"minValue","description":"The minimum value for an `INTEGER` or `NUMBER` option","optional":true,"type":[[["number"]]]},{"name":"maxValue","description":"The maximum value for an `INTEGER` or `NUMBER` option","optional":true,"type":[[["number"]]]},{"name":"minLength","description":"The minimum length for a `STRING` option\n(maximum of `6000`)","optional":true,"type":[[["number"]]]},{"name":"maxLength","description":"The maximum length for a `STRING` option\n(maximum of `6000`)","optional":true,"type":[[["number"]]]}],"meta":{"line":500,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"ApplicationCommandOptionChoice","description":"A choice for an application command option.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the choice","type":[[["string"]]]},{"name":"nameLocalized","description":"The localized name of the choice in the provided locale, if any","nullable":true,"type":[[["string"]]]},{"name":"nameLocalizations","description":"The localized names for this choice","optional":true,"nullable":true,"type":[[["Object","<"],["string",", "],["string",">"]]]},{"name":"value","description":"The value of the choice","type":[[["string"]],[["number"]]]}],"meta":{"line":524,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"AutoModerationTriggerMetadata","description":"Additional data used to determine whether an auto moderation rule should be triggered.","type":[[["Object"]]],"props":[{"name":"keywordFilter","description":"The substrings that will be searched for in the content","type":[[["Array","<"],["string",">"]]]},{"name":"regexPatterns","description":"The regular expression patterns which will be matched against the content\nOnly Rust-flavored regular expressions are supported.","type":[[["Array","<"],["string",">"]]]},{"name":"presets","description":"The internally pre-defined wordsets which will be searched for in the content","type":[[["Array","<"],["AutoModerationRuleKeywordPresetType",">"]]]},{"name":"allowList","description":"The substrings that will be exempt from triggering\n{@link AutoModerationRuleTriggerType.KEYWORD} and {@link AutoModerationRuleTriggerType.KEYWORD_PRESET}","type":[[["Array","<"],["string",">"]]]},{"name":"mentionTotalLimit","description":"The total number of role & user mentions allowed per message","nullable":true,"type":[[["number"]]]},{"name":"mentionRaidProtectionEnabled","description":"Whether mention raid protection is enabled","type":[[["boolean"]]]}],"meta":{"line":65,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"AutoModerationAction","description":"An object containing information about an auto moderation rule action.","type":[[["Object"]]],"props":[{"name":"type","description":"The type of this auto moderation rule action","type":[[["AutoModerationActionType"]]]},{"name":"metadata","description":"Additional metadata needed during execution","type":[[["AutoModerationActionMetadata"]]]}],"meta":{"line":94,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"AutoModerationActionMetadata","description":"Additional data used when an auto moderation rule is executed.","type":[[["Object"]]],"props":[{"name":"channelId","description":"The id of the channel to which content will be logged","nullable":true,"type":[[["Snowflake"]]]},{"name":"durationSeconds","description":"The timeout duration in seconds","nullable":true,"type":[[["number"]]]},{"name":"customMessage","description":"The custom message that is shown whenever a message is blocked","nullable":true,"type":[[["string"]]]}],"meta":{"line":101,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"CommandInteractionResolvedData","description":"Represents the resolved data of a received command interaction.","type":[[["Object"]]],"props":[{"name":"users","description":"The resolved users","optional":true,"type":[[["Collection","<"],["Snowflake",", "],["User",">"]]]},{"name":"members","description":"The resolved guild members","optional":true,"type":[[["Collection","<"],["Snowflake",", ("],["GuildMember","|"],["APIGuildMember",")>"]]]},{"name":"roles","description":"The resolved roles","optional":true,"type":[[["Collection","<"],["Snowflake",", ("],["Role","|"],["APIRole",")>"]]]},{"name":"channels","description":"The resolved channels","optional":true,"type":[[["Collection","<"],["Snowflake",", ("],["Channel","|"],["APIChannel",")>"]]]},{"name":"messages","description":"The resolved messages","optional":true,"type":[[["Collection","<"],["Snowflake",", ("],["Message","|"],["APIMessage",")>"]]]},{"name":"attachments","description":"The resolved attachments","optional":true,"type":[[["Collection","<"],["Snowflake",", "],["MessageAttachment",">"]]]}],"meta":{"line":72,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"CommandInteractionOption","description":"Represents an option of a received command interaction.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the option","type":[[["string"]]]},{"name":"type","description":"The type of the option","type":[[["ApplicationCommandOptionType"]]]},{"name":"autocomplete","description":"Whether the option is an autocomplete option","optional":true,"type":[[["boolean"]]]},{"name":"value","description":"The value of the option","optional":true,"type":[[["string"]],[["number"]],[["boolean"]]]},{"name":"options","description":"Additional options if this option is a\nsubcommand (group)","optional":true,"type":[[["Array","<"],["CommandInteractionOption",">"]]]},{"name":"user","description":"The resolved user","optional":true,"type":[[["User"]]]},{"name":"member","description":"The resolved member","optional":true,"type":[[["GuildMember"]],[["APIGuildMember"]]]},{"name":"channel","description":"The resolved channel","optional":true,"type":[[["GuildChannel"]],[["ThreadChannel"]],[["APIChannel"]]]},{"name":"role","description":"The resolved role","optional":true,"type":[[["Role"]],[["APIRole"]]]},{"name":"attachment","description":"The resolved attachment","optional":true,"type":[[["MessageAttachment"]]]}],"meta":{"line":139,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"ApplicationResolvable","description":"Data that can be resolved to an Application. This can be:\n* An Application\n* An Activity with associated Application\n* A Snowflake","type":[[["Application"]],[["Snowflake"]]],"meta":{"line":127,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"CreateInviteOptions","description":"Options used to create an invite to a guild channel.","type":[[["Object"]]],"props":[{"name":"temporary","description":"Whether members that joined via the invite should be automatically\nkicked after 24 hours if they have not yet received a role","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"maxAge","description":"How long the invite should last (in seconds, 0 for forever)","optional":true,"default":86400,"type":[[["number"]]]},{"name":"maxUses","description":"Maximum number of uses","optional":true,"default":0,"type":[[["number"]]]},{"name":"unique","description":"Create a unique invite, or use an existing one with similar settings","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"targetUser","description":"The user whose stream to display for this invite,\nrequired if `targetType` is 1, the user must be streaming in the channel","optional":true,"type":[[["UserResolvable"]]]},{"name":"targetApplication","description":"The embedded application to open for this invite,\nrequired if `targetType` is 2, the application must have the `EMBEDDED` flag","optional":true,"type":[[["ApplicationResolvable"]]]},{"name":"targetType","description":"The type of the target for this voice channel invite","optional":true,"type":[[["TargetType"]]]},{"name":"reason","description":"The reason for creating the invite","optional":true,"type":[[["string"]]]}],"meta":{"line":135,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"BaseMessageComponentOptions","description":"Options for a BaseMessageComponent","type":[[["Object"]]],"props":[{"name":"type","description":"The type of this component","type":[[["MessageComponentTypeResolvable"]]]}],"meta":{"line":11,"file":"BaseMessageComponent.js","path":"src/structures"}},{"name":"MessageComponentOptions","description":"Data that can be resolved into options for a component. This can be:\n* MessageActionRowOptions\n* MessageButtonOptions\n* MessageSelectMenuOptions\n* TextInputComponentOptions","type":[[["MessageActionRowOptions"]],[["MessageButtonOptions"]],[["MessageSelectMenuOptions"]]],"meta":{"line":17,"file":"BaseMessageComponent.js","path":"src/structures"}},{"name":"MessageComponent","description":"Components that can be sent in a payload. These can be:\n* MessageActionRow\n* MessageButton\n* MessageSelectMenu\n* TextInputComponent","see":["{@link https://discord.com/developers/docs/interactions/message-components#component-object-component-types}"],"type":[[["MessageActionRow"]],[["MessageButton"]],[["MessageSelectMenu"]]],"meta":{"line":26,"file":"BaseMessageComponent.js","path":"src/structures"}},{"name":"MessageComponentTypeResolvable","description":"Data that can be resolved to a MessageComponentType. This can be:\n* MessageComponentType\n* string\n* number","type":[[["string"]],[["number"]],[["MessageComponentType"]]],"meta":{"line":36,"file":"BaseMessageComponent.js","path":"src/structures"}},{"name":"CategoryCreateChannelOptions","description":"Options for creating a channel using {@link CategoryChannel#createChannel}.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the new channel","optional":true,"type":[[["string"]]]},{"name":"type","description":"The type of the new channel.","optional":true,"default":"'GUILD_TEXT'","type":[[["ChannelType"]],[["number"]]]},{"name":"position","description":"Position of the new channel","optional":true,"type":[[["number"]]]},{"name":"topic","description":"The topic for the new channel","optional":true,"type":[[["string"]]]},{"name":"nsfw","description":"Whether the new channel is NSFW","optional":true,"type":[[["boolean"]]]},{"name":"bitrate","description":"Bitrate of the new channel in bits (only voice)","optional":true,"type":[[["number"]]]},{"name":"userLimit","description":"Maximum amount of users allowed in the new channel (only voice)","optional":true,"type":[[["number"]]]},{"name":"permissionOverwrites","description":"Permission overwrites of the new channel","optional":true,"type":[[["Array","<"],["OverwriteResolvable",">"]],[["Collection","<"],["Snowflake",", "],["OverwriteResolvable",">"]]]},{"name":"rateLimitPerUser","description":"The rate limit per user (slowmode) for the new channel in seconds","optional":true,"type":[[["number"]]]},{"name":"defaultAutoArchiveDuration","description":"The default auto archive duration for all new threads in this channel","optional":true,"type":[[["ThreadAutoArchiveDuration"]]]},{"name":"rtcRegion","description":"The specific region of the new channel","optional":true,"nullable":true,"type":[[["string"]]]},{"name":"videoQualityMode","description":"The camera video quality mode of the new channel","optional":true,"type":[[["VideoQualityMode"]],[["number"]]]},{"name":"flags","description":"The flags to set on the new channel","optional":true,"type":[[["ChannelFlagsResolvable"]]]},{"name":"availableTags","description":"The tags to set as available in a forum channel","optional":true,"type":[[["Array","<"],["GuildForumTagData",">"]]]},{"name":"defaultReactionEmoji","description":"The emoji to set as the default reaction emoji","optional":true,"nullable":true,"type":[[["DefaultReactionEmoji"]]]},{"name":"defaultThreadRateLimitPerUser","description":"The rate limit per user (slowmode) to set on forum posts","optional":true,"type":[[["number"]]]},{"name":"defaultSortOrder","description":"The default sort order mode to set on the new channel","optional":true,"nullable":true,"type":[[["SortOrderType"]]]},{"name":"defaultThreadRateLimitPerUser","description":"The initial rate limit per user (slowmode)\nto set on newly created threads in a channel.","optional":true,"type":[[["number"]]]},{"name":"reason","description":"Reason for creating the new channel","optional":true,"type":[[["string"]]]}],"meta":{"line":43,"file":"CategoryChannel.js","path":"src/structures"}},{"name":"ClientUserEditData","description":"Data used to edit the logged in client","type":[[["Object"]]],"props":[{"name":"username","description":"The new username","optional":true,"type":[[["string"]]]},{"name":"avatar","description":"The new avatar","optional":true,"nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]},{"name":"banner","description":"The new banner","optional":true,"nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]},{"name":"bio","description":"The new bio","optional":true,"nullable":true,"type":[[["string"]]]}],"meta":{"line":128,"file":"ClientUser.js","path":"src/structures"}},{"name":"ActivitiesOptions","description":"Options for setting activities","type":[[["Object"]]],"props":[{"name":"name","description":"Name of the activity","type":[[["string"]]]},{"name":"state","description":"State of the activity","optional":true,"type":[[["string"]]]},{"name":"type","description":"Type of the activity","optional":true,"type":[[["ActivityType"]],[["number"]]]},{"name":"url","description":"Twitch / YouTube stream URL","optional":true,"type":[[["string"]]]}],"meta":{"line":181,"file":"ClientUser.js","path":"src/structures"}},{"name":"PresenceData","description":"Data resembling a raw Discord presence.","type":[[["Object"]]],"props":[{"name":"status","description":"Status of the user","optional":true,"type":[[["PresenceStatusData"]]]},{"name":"afk","description":"Whether the user is AFK","optional":true,"type":[[["boolean"]]]},{"name":"activities","description":"Activity the user is playing","optional":true,"type":[[["Array","<"],["ActivitiesOptions",">"]],[["Array","<"],["CustomStatus",">"]],[["Array","<"],["RichPresence",">"]],[["Array","<"],["SpotifyRPC",">"]]]},{"name":"shardId","description":"Shard id(s) to have the activity set on","optional":true,"type":[[["number"]],[["Array","<"],["number",">"]]]}],"meta":{"line":190,"file":"ClientUser.js","path":"src/structures"}},{"name":"PresenceStatusData","description":"A user's status. Must be one of:\n* `online`\n* `idle`\n* `invisible`\n* `dnd` (do not disturb)","type":[[["string"]]],"meta":{"line":212,"file":"ClientUser.js","path":"src/structures"}},{"name":"ActivityOptions","description":"Options for setting an activity.","type":[[["Object"]]],"props":[{"name":"name","description":"Name of the activity","type":[[["string"]]]},{"name":"url","description":"Twitch / YouTube stream URL","optional":true,"type":[[["string"]]]},{"name":"type","description":"Type of the activity","optional":true,"type":[[["ActivityType"]],[["number"]]]},{"name":"shardId","description":"Shard Id(s) to have the activity set on","optional":true,"type":[[["number"]],[["Array","<"],["number",">"]]]}],"meta":{"line":234,"file":"ClientUser.js","path":"src/structures"}},{"name":"AutocompleteFocusedOption","description":"The full autocomplete option object.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the option","type":[[["string"]]]},{"name":"type","description":"The type of the application command option","type":[[["ApplicationCommandOptionType"]]]},{"name":"value","description":"The value of the option","type":[[["string"]]]},{"name":"focused","description":"Whether this option is currently in focus for autocomplete","type":[[["boolean"]]]}],"meta":{"line":243,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"RawEmoji","description":"Represents raw emoji data from the API","type":[[["APIEmoji"]]],"props":[{"name":"id","description":"The emoji's id","nullable":true,"type":[[["Snowflake"]]]},{"name":"name","description":"The emoji's name","nullable":true,"type":[[["string"]]]},{"name":"animated","description":"Whether the emoji is animated","nullable":true,"type":[[["boolean"]]]}],"meta":{"line":15,"file":"Emoji.js","path":"src/structures"}},{"name":"GuildForumTagEmoji","type":[[["Object"]]],"props":[{"name":"id","description":"The id of a guild's custom emoji","nullable":true,"type":[[["Snowflake"]]]},{"name":"name","description":"The unicode character of the emoji","nullable":true,"type":[[["string"]]]}],"meta":{"line":9,"file":"ForumChannel.js","path":"src/structures"}},{"name":"GuildForumTag","type":[[["Object"]]],"props":[{"name":"id","description":"The id of the tag","type":[[["Snowflake"]]]},{"name":"name","description":"The name of the tag","type":[[["string"]]]},{"name":"moderated","description":"Whether this tag can only be added to or removed from threads\nby a member with the `ManageThreads` permission","type":[[["boolean"]]]},{"name":"emoji","description":"The emoji of this tag","nullable":true,"type":[[["GuildForumTagEmoji"]]]}],"meta":{"line":15,"file":"ForumChannel.js","path":"src/structures"}},{"name":"GuildForumTagData","type":[[["Object"]]],"props":[{"name":"id","description":"The id of the tag","optional":true,"type":[[["Snowflake"]]]},{"name":"name","description":"The name of the tag","type":[[["string"]]]},{"name":"moderated","description":"Whether this tag can only be added to or removed from threads\nby a member with the `ManageThreads` permission","optional":true,"type":[[["boolean"]]]},{"name":"emoji","description":"The emoji of this tag","optional":true,"nullable":true,"type":[[["GuildForumTagEmoji"]]]}],"meta":{"line":24,"file":"ForumChannel.js","path":"src/structures"}},{"name":"DefaultReactionEmoji","type":[[["Object"]]],"props":[{"name":"id","description":"The id of a guild's custom emoji","nullable":true,"type":[[["Snowflake"]]]},{"name":"name","description":"The unicode character of the emoji","nullable":true,"type":[[["string"]]]}],"meta":{"line":33,"file":"ForumChannel.js","path":"src/structures"}},{"name":"GroupDMChannelEditData","description":"The data for editing a channe;.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the channel","optional":true,"type":[[["string"]]]},{"name":"icon","description":"The icon of the channel","optional":true,"nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]},{"name":"owner","description":"The owner of the channel","optional":true,"type":[[["GuildMemberResolvable"]]]}],"meta":{"line":170,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"Features","description":"An array of enabled guild features, here are the possible values:\n* ANIMATED_ICON\n* AUTO_MODERATION\n* BANNER\n* COMMERCE\n* COMMUNITY\n* CREATOR_MONETIZABLE_PROVISIONAL\n* CREATOR_STORE_PAGE\n* DISCOVERABLE\n* FEATURABLE\n* INVITES_DISABLED\n* INVITE_SPLASH\n* MEMBER_VERIFICATION_GATE_ENABLED\n* NEWS\n* PARTNERED\n* PREVIEW_ENABLED\n* VANITY_URL\n* VERIFIED\n* VIP_REGIONS\n* WELCOME_SCREEN_ENABLED\n* TICKETED_EVENTS_ENABLED\n* MONETIZATION_ENABLED\n`MONETIZATION_ENABLED` has been replaced.\nSee [this pull request](https://github.com/discord/discord-api-docs/pull/5724) for more information.\n* MORE_STICKERS\n* THREE_DAY_THREAD_ARCHIVE\n* SEVEN_DAY_THREAD_ARCHIVE\n* PRIVATE_THREADS\n* ROLE_ICONS\n* RAID_ALERTS_DISABLED\n* ROLE_SUBSCRIPTIONS_AVAILABLE_FOR_PURCHASE\n* ROLE_SUBSCRIPTIONS_ENABLED","see":["{@link https://discord.com/developers/docs/resources/guild#guild-object-guild-features}"],"type":[[["string"]]],"meta":{"line":228,"file":"Guild.js","path":"src/structures"}},{"name":"Vanity","description":"An object containing information about a guild's vanity invite.","type":[[["Object"]]],"props":[{"name":"code","description":"Vanity invite code","nullable":true,"type":[[["string"]]]},{"name":"uses","description":"How many times this invite has been used","type":[[["number"]]]}],"meta":{"line":729,"file":"Guild.js","path":"src/structures"}},{"name":"GuildWidgetSettings","description":"Data for the Guild Widget Settings object","type":[[["Object"]]],"props":[{"name":"enabled","description":"Whether the widget is enabled","type":[[["boolean"]]]},{"name":"channel","description":"The widget invite channel","nullable":true,"type":[[["GuildChannel"]]]}],"meta":{"line":785,"file":"Guild.js","path":"src/structures"}},{"name":"GuildWidgetSettingsData","description":"The Guild Widget Settings object","type":[[["Object"]]],"props":[{"name":"enabled","description":"Whether the widget is enabled","type":[[["boolean"]]]},{"name":"channel","description":"The widget invite channel","nullable":true,"type":[[["GuildChannelResolvable"]]]}],"meta":{"line":792,"file":"Guild.js","path":"src/structures"}},{"name":"GuildAuditLogsFetchOptions","description":"Options used to fetch audit logs.","type":[[["Object"]]],"props":[{"name":"before","description":"Consider only entries before this entry","optional":true,"type":[[["Snowflake"]],[["GuildAuditLogsEntry"]]]},{"name":"after","description":"Consider only entries after this entry","optional":true,"type":[[["Snowflake"]],[["GuildAuditLogsEntry"]]]},{"name":"limit","description":"The number of entries to return","optional":true,"type":[[["number"]]]},{"name":"user","description":"Only return entries for actions made by this user","optional":true,"type":[[["UserResolvable"]]]},{"name":"type","description":"Only return entries for this action type","optional":true,"type":[[["AuditLogAction"]],[["number"]]]}],"meta":{"line":818,"file":"Guild.js","path":"src/structures"}},{"name":"GuildEditData","description":"The data for editing a guild.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the guild","optional":true,"type":[[["string"]]]},{"name":"verificationLevel","description":"The verification level of the guild","optional":true,"nullable":true,"type":[[["VerificationLevel"]],[["number"]]]},{"name":"explicitContentFilter","description":"The level of the explicit content filter","optional":true,"nullable":true,"type":[[["ExplicitContentFilterLevel"]],[["number"]]]},{"name":"afkChannel","description":"The AFK channel of the guild","optional":true,"nullable":true,"type":[[["VoiceChannelResolvable"]]]},{"name":"systemChannel","description":"The system channel of the guild","optional":true,"nullable":true,"type":[[["TextChannelResolvable"]]]},{"name":"afkTimeout","description":"The AFK timeout of the guild","optional":true,"type":[[["number"]]]},{"name":"icon","description":"The icon of the guild","optional":true,"nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]},{"name":"owner","description":"The owner of the guild","optional":true,"type":[[["GuildMemberResolvable"]]]},{"name":"splash","description":"The invite splash image of the guild","optional":true,"nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]},{"name":"discoverySplash","description":"The discovery splash image of the guild","optional":true,"nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]},{"name":"banner","description":"The banner of the guild","optional":true,"nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]},{"name":"defaultMessageNotifications","description":"The default message\nnotification level of the guild","optional":true,"nullable":true,"type":[[["DefaultMessageNotificationLevel"]],[["number"]]]},{"name":"systemChannelFlags","description":"The system channel flags of the guild","optional":true,"type":[[["SystemChannelFlagsResolvable"]]]},{"name":"rulesChannel","description":"The rules channel of the guild","optional":true,"nullable":true,"type":[[["TextChannelResolvable"]]]},{"name":"publicUpdatesChannel","description":"The community updates channel of the guild","optional":true,"nullable":true,"type":[[["TextChannelResolvable"]]]},{"name":"preferredLocale","description":"The preferred locale of the guild","optional":true,"nullable":true,"type":[[["string"]]]},{"name":"safetyAlertsChannel","description":"The safety alerts channel of the guild","optional":true,"nullable":true,"type":[[["TextChannelResolvable"]]]},{"name":"premiumProgressBarEnabled","description":"Whether the guild's premium progress bar is enabled","optional":true,"type":[[["boolean"]]]},{"name":"description","description":"The discovery description of the guild","optional":true,"nullable":true,"type":[[["string"]]]},{"name":"features","description":"The features of the guild","optional":true,"type":[[["Array","<"],["Features",">"]]]}],"meta":{"line":852,"file":"Guild.js","path":"src/structures"}},{"name":"TextChannelResolvable","description":"Data that can be resolved to a Text Channel object. This can be:\n* A TextChannel\n* A Snowflake","type":[[["TextChannel"]],[["Snowflake"]]],"meta":{"line":878,"file":"Guild.js","path":"src/structures"}},{"name":"VoiceChannelResolvable","description":"Data that can be resolved to a Voice Channel object. This can be:\n* A VoiceChannel\n* A Snowflake","type":[[["VoiceChannel"]],[["Snowflake"]]],"meta":{"line":885,"file":"Guild.js","path":"src/structures"}},{"name":"WelcomeChannelData","description":"Welcome channel data","type":[[["Object"]]],"props":[{"name":"description","description":"The description to show for this welcome channel","type":[[["string"]]]},{"name":"channel","description":"The channel to link for this welcome channel","type":[[["TextChannel"]],[["NewsChannel"]],[["StoreChannel"]],[["Snowflake"]]]},{"name":"emoji","description":"The emoji to display for this welcome channel","optional":true,"type":[[["EmojiIdentifierResolvable"]]]}],"meta":{"line":964,"file":"Guild.js","path":"src/structures"}},{"name":"WelcomeScreenEditData","description":"Welcome screen edit data","type":[[["Object"]]],"props":[{"name":"enabled","description":"Whether the welcome screen is enabled","optional":true,"type":[[["boolean"]]]},{"name":"description","description":"The description for the welcome screen","optional":true,"type":[[["string"]]]},{"name":"welcomeChannels","description":"The welcome channel data for the welcome screen","optional":true,"type":[[["Array","<"],["WelcomeChannelData",">"]]]}],"meta":{"line":972,"file":"Guild.js","path":"src/structures"}},{"name":"GuildTextChannelResolvable","description":"Data that can be resolved to a GuildTextChannel object. This can be:\n* A TextChannel\n* A NewsChannel\n* A Snowflake","type":[[["TextChannel"]],[["NewsChannel"]],[["Snowflake"]]],"meta":{"line":980,"file":"Guild.js","path":"src/structures"}},{"name":"GuildVoiceChannelResolvable","description":"Data that can be resolved to a GuildVoiceChannel object. This can be:\n* A VoiceChannel\n* A StageChannel\n* A Snowflake","type":[[["VoiceChannel"]],[["StageChannel"]],[["Snowflake"]]],"meta":{"line":988,"file":"Guild.js","path":"src/structures"}},{"name":"AuditLogTargetType","description":"The target type of an entry. Here are the available types:\n* GUILD\n* CHANNEL\n* USER\n* ROLE\n* INVITE\n* WEBHOOK\n* EMOJI\n* MESSAGE\n* INTEGRATION\n* STAGE_INSTANCE\n* STICKER\n* THREAD\n* GUILD_SCHEDULED_EVENT\n* APPLICATION_COMMAND\n* AUTO_MODERATION","type":[[["string"]]],"meta":{"line":16,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"AuditLogAction","description":"The action of an entry. Here are the available actions:\n* ALL: null\n* GUILD_UPDATE: 1\n* CHANNEL_CREATE: 10\n* CHANNEL_UPDATE: 11\n* CHANNEL_DELETE: 12\n* CHANNEL_OVERWRITE_CREATE: 13\n* CHANNEL_OVERWRITE_UPDATE: 14\n* CHANNEL_OVERWRITE_DELETE: 15\n* MEMBER_KICK: 20\n* MEMBER_PRUNE: 21\n* MEMBER_BAN_ADD: 22\n* MEMBER_BAN_REMOVE: 23\n* MEMBER_UPDATE: 24\n* MEMBER_ROLE_UPDATE: 25\n* MEMBER_MOVE: 26\n* MEMBER_DISCONNECT: 27\n* BOT_ADD: 28,\n* ROLE_CREATE: 30\n* ROLE_UPDATE: 31\n* ROLE_DELETE: 32\n* INVITE_CREATE: 40\n* INVITE_UPDATE: 41\n* INVITE_DELETE: 42\n* WEBHOOK_CREATE: 50\n* WEBHOOK_UPDATE: 51\n* WEBHOOK_DELETE: 52\n* EMOJI_CREATE: 60\n* EMOJI_UPDATE: 61\n* EMOJI_DELETE: 62\n* MESSAGE_DELETE: 72\n* MESSAGE_BULK_DELETE: 73\n* MESSAGE_PIN: 74\n* MESSAGE_UNPIN: 75\n* INTEGRATION_CREATE: 80\n* INTEGRATION_UPDATE: 81\n* INTEGRATION_DELETE: 82\n* STAGE_INSTANCE_CREATE: 83\n* STAGE_INSTANCE_UPDATE: 84\n* STAGE_INSTANCE_DELETE: 85\n* STICKER_CREATE: 90\n* STICKER_UPDATE: 91\n* STICKER_DELETE: 92\n* GUILD_SCHEDULED_EVENT_CREATE: 100\n* GUILD_SCHEDULED_EVENT_UPDATE: 101\n* GUILD_SCHEDULED_EVENT_DELETE: 102\n* THREAD_CREATE: 110\n* THREAD_UPDATE: 111\n* THREAD_DELETE: 112\n* APPLICATION_COMMAND_PERMISSION_UPDATE: 121\n* AUTO_MODERATION_RULE_CREATE: 140\n* AUTO_MODERATION_RULE_UPDATE: 141\n* AUTO_MODERATION_RULE_DELETE: 142\n* AUTO_MODERATION_BLOCK_MESSAGE: 143\n* AUTO_MODERATION_FLAG_TO_CHANNEL: 144\n* AUTO_MODERATION_USER_COMMUNICATION_DISABLED: 145","see":["{@link https://discord.com/developers/docs/resources/audit-log#audit-log-entry-object-audit-log-events}"],"type":[[["number"]],[["string"]]],"meta":{"line":61,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"AuditLogEntryTarget","description":"The target of an entry. It can be one of:\n* A guild\n* A channel\n* A user\n* A role\n* An invite\n* A webhook\n* An emoji\n* A message\n* An integration\n* A stage instance\n* A sticker\n* A guild scheduled event\n* A thread\n* An application command\n* An auto moderation rule\n* An object with an id key if target was deleted\n* An object where the keys represent either the new value or the old value","type":[[["Object"]],[["Guild"]],[["Channel"]],[["User"]],[["Role"]],[["Invite"]],[["Webhook"]],[["GuildEmoji"]],[["Message"]],[["Integration"]],[["StageInstance"]],[["Sticker"]],[["GuildScheduledEvent"]],[["ApplicationCommand"]],[["AutoModerationRule"]]],"meta":{"line":259,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"AuditLogActionType","description":"The action type of an entry, e.g. `CREATE`. Here are the available types:\n* CREATE\n* DELETE\n* UPDATE\n* ALL","type":[[["string"]]],"meta":{"line":306,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"AuditLogChange","description":"An entry in the audit log representing a specific change.","type":[[["Object"]]],"props":[{"name":"key","description":"The property that was changed, e.g. `nick` for nickname changes","type":[[["string"]]]},{"name":"old","description":"The old value of the change, e.g. for nicknames, the old nickname","optional":true,"type":[["*"]]},{"name":"new","description":"The new value of the change, e.g. for nicknames, the new nickname","optional":true,"type":[["*"]]}],"meta":{"line":448,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"SetParentOptions","description":"Options used to set the parent of a channel.","type":[[["Object"]]],"props":[{"name":"lockPermissions","description":"Whether to lock the permissions to what the parent's permissions are","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"The reason for modifying the parent of the channel","optional":true,"type":[[["string"]]]}],"meta":{"line":308,"file":"GuildChannel.js","path":"src/structures"}},{"name":"SetChannelPositionOptions","description":"Options used to set the position of a channel.","type":[[["Object"]]],"props":[{"name":"relative","description":"Whether or not to change the position relative to its current value","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"reason","description":"The reason for changing the position","optional":true,"type":[[["string"]]]}],"meta":{"line":336,"file":"GuildChannel.js","path":"src/structures"}},{"name":"GuildChannelCloneOptions","description":"Options used to clone a guild channel.","type":[[["GuildChannelCreateOptions"]]],"props":[{"name":"name","description":"Name of the new channel","optional":true,"default":"this.name","type":[[["string"]]]}],"meta":{"line":358,"file":"GuildChannel.js","path":"src/structures"}},{"name":"GuildEmojiEditData","description":"Data for editing an emoji.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the emoji","optional":true,"type":[[["string"]]]},{"name":"roles","description":"Roles to restrict emoji to","optional":true,"type":[[["Collection","<"],["Snowflake",", "],["Role",">"]],[["Array","<"],["RoleResolvable",">"]]]}],"meta":{"line":79,"file":"GuildEmoji.js","path":"src/structures"}},{"name":"GuildScheduledEventEntityMetadata","description":"Represents the additional metadata for a {@link GuildScheduledEvent}","see":["{@link https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-entity-metadata}"],"type":[[["Object"]]],"props":[{"name":"location","description":"The location of the guild scheduled event","nullable":true,"type":[[["string"]]]}],"meta":{"line":136,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"CreateGuildScheduledEventInviteURLOptions","description":"Options used to create an invite URL to a {@link GuildScheduledEvent}","type":[[["CreateInviteOptions"]]],"props":[{"name":"channel","description":"The channel to create the invite in.\nThis is required when the `entityType` of `GuildScheduledEvent` is `EXTERNAL`, gets ignored otherwise","optional":true,"type":[[["GuildInvitableChannelResolvable"]]]}],"meta":{"line":244,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"EditGuildTemplateOptions","description":"Options used to edit a guild template.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of this template","optional":true,"type":[[["string"]]]},{"name":"description","description":"The description of this template","optional":true,"type":[[["string"]]]}],"meta":{"line":147,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"IntegrationAccount","description":"The information account for an integration","type":[[["Object"]]],"props":[{"name":"id","description":"The id of the account","type":[[["Snowflake"]],[["string"]]]},{"name":"name","description":"The name of the account","type":[[["string"]]]}],"meta":{"line":6,"file":"Integration.js","path":"src/structures"}},{"name":"IntegrationType","description":"The type of an {@link Integration}. This can be:\n* `twitch`\n* `youtube`\n* `discord`\n* `guild_subscription`","type":[[["string"]]],"meta":{"line":13,"file":"Integration.js","path":"src/structures"}},{"name":"Locale","description":"A Discord locale string, possible values are:\n* en-US (English, US)\n* en-GB (English, UK)\n* bg (Bulgarian)\n* zh-CN (Chinese, China)\n* zh-TW (Chinese, Taiwan)\n* hr (Croatian)\n* cs (Czech)\n* da (Danish)\n* nl (Dutch)\n* fi (Finnish)\n* fr (French)\n* de (German)\n* el (Greek)\n* hi (Hindi)\n* hu (Hungarian)\n* it (Italian)\n* ja (Japanese)\n* ko (Korean)\n* lt (Lithuanian)\n* no (Norwegian)\n* pl (Polish)\n* pt-BR (Portuguese, Brazilian)\n* ro (Romanian, Romania)\n* ru (Russian)\n* es-ES (Spanish)\n* sv-SE (Swedish)\n* th (Thai)\n* tr (Turkish)\n* uk (Ukrainian)\n* vi (Vietnamese)","see":["{@link https://discord.com/developers/docs/reference#locales}"],"type":[[["string"]]],"meta":{"line":84,"file":"Interaction.js","path":"src/structures"}},{"name":"InteractionCollectorOptions","type":[[["CollectorOptions"]]],"props":[{"name":"channel","description":"The channel to listen to interactions from","optional":true,"type":[[["TextBasedChannelsResolvable"]]]},{"name":"componentType","description":"The type of component to listen for","optional":true,"type":[[["MessageComponentType"]]]},{"name":"guild","description":"The guild to listen to interactions from","optional":true,"type":[[["GuildResolvable"]]]},{"name":"interactionType","description":"The type of interaction to listen for","optional":true,"type":[[["InteractionType"]]]},{"name":"max","description":"The maximum total amount of interactions to collect","optional":true,"type":[[["number"]]]},{"name":"maxComponents","description":"The maximum number of components to collect","optional":true,"type":[[["number"]]]},{"name":"maxUsers","description":"The maximum number of users to interact","optional":true,"type":[[["number"]]]},{"name":"message","description":"The message to listen to interactions from","optional":true,"type":[[["Message"]],[["APIMessage"]]]}],"meta":{"line":8,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"ApplicationAsset","description":"Asset data.","type":[[["Object"]]],"props":[{"name":"id","description":"The asset's id","type":[[["Snowflake"]]]},{"name":"name","description":"The asset's name","type":[[["string"]]]},{"name":"type","description":"The asset's type","type":[[["string"]]]}],"meta":{"line":265,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"CollectorFilter","description":"Filter to be applied to the collector.","type":[[["function"]]],"params":[{"name":"args","description":"Any arguments received by the listener","variable":true,"type":[["*"]]},{"name":"collection","description":"The items collected by this collector","type":[[["Collection"]]]}],"returns":[[["boolean"]],[["Promise","<"],["boolean",">"]]],"meta":{"line":9,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"CollectorOptions","description":"Options to be applied to the collector.","type":[[["Object"]]],"props":[{"name":"filter","description":"The filter applied to this collector","optional":true,"type":[[["CollectorFilter"]]]},{"name":"time","description":"How long to run the collector for in milliseconds","optional":true,"type":[[["number"]]]},{"name":"idle","description":"How long to stop the collector after inactivity in milliseconds","optional":true,"type":[[["number"]]]},{"name":"dispose","description":"Whether to dispose data when it's deleted","optional":true,"default":false,"type":[[["boolean"]]]}],"meta":{"line":17,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"CollectorResetTimerOptions","description":"Options used to reset the timeout and idle timer of a {@link Collector}.","type":[[["Object"]]],"props":[{"name":"time","description":"How long to run the collector for (in milliseconds)","optional":true,"type":[[["number"]]]},{"name":"idle","description":"How long to wait to stop the collector after inactivity (in milliseconds)","optional":true,"type":[[["number"]]]}],"meta":{"line":202,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"InteractionDeferReplyOptions","description":"Options for deferring the reply to an {@link Interaction}.","type":[[["Object"]]],"props":[{"name":"ephemeral","description":"Whether the reply should be ephemeral","optional":true,"type":[[["boolean"]]]},{"name":"fetchReply","description":"Whether to fetch the reply","optional":true,"type":[[["boolean"]]]}],"meta":{"line":15,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"InteractionDeferUpdateOptions","description":"Options for deferring and updating the reply to a {@link MessageComponentInteraction}.","type":[[["Object"]]],"props":[{"name":"fetchReply","description":"Whether to fetch the reply","optional":true,"type":[[["boolean"]]]}],"meta":{"line":22,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"InteractionReplyOptions","description":"Options for a reply to an {@link Interaction}.","type":[[["BaseMessageOptions"]]],"props":[{"name":"ephemeral","description":"Whether the reply should be ephemeral","optional":true,"type":[[["boolean"]]]},{"name":"fetchReply","description":"Whether to fetch the reply","optional":true,"type":[[["boolean"]]]},{"name":"flags","description":"Which flags to set for the message.\nOnly `SUPPRESS_EMBEDS` and `EPHEMERAL` can be set.","optional":true,"type":[[["MessageFlags"]]]}],"meta":{"line":28,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"InteractionUpdateOptions","description":"Options for updating the message received from a {@link MessageComponentInteraction}.","type":[[["MessageEditOptions"]]],"props":[{"name":"fetchReply","description":"Whether to fetch the reply","optional":true,"type":[[["boolean"]]]}],"meta":{"line":37,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"InteractionEditReplyOptions","description":"Options that can be passed into {@link InteractionResponses#editReply}.","type":[[["WebhookEditMessageOptions"]]],"props":[{"name":"message","description":"The response to edit","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"meta":{"line":131,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"AwaitModalSubmitOptions","description":"An object containing the same properties as CollectorOptions, but a few more:","type":[[["Object"]]],"props":[{"name":"filter","description":"The filter applied to this collector","optional":true,"type":[[["CollectorFilter"]]]},{"name":"time","description":"Time in milliseconds to wait for an interaction before rejecting","type":[[["number"]]]}],"meta":{"line":256,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"BaseMessageOptions","description":"Base options provided when sending.","type":[[["Object"]]],"props":[{"name":"activity","description":"Group activity","optional":true,"type":[[["MessageActivity"]]]},{"name":"tts","description":"Whether or not the message should be spoken aloud","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"nonce","description":"The nonce for the message","optional":true,"default":"''","type":[[["string"]]]},{"name":"content","description":"The content for the message","optional":true,"default":"''","type":[[["string"]]]},{"name":"embeds","description":"The embeds for the message\n(see [here](https://discord.com/developers/docs/resources/channel#embed-object) for more details)","optional":true,"type":[[["Array","<("],["MessageEmbed","|"],["APIEmbed",")>"]]]},{"name":"allowedMentions","description":"Which mentions should be parsed from the message content\n(see [here](https://discord.com/developers/docs/resources/channel#allowed-mentions-object) for more details)","optional":true,"type":[[["MessageMentionOptions"]]]},{"name":"files","description":"Files to send with the message","optional":true,"type":[[["Array","<("],["FileOptions","|"],["BufferResolvable","|"],["Array","<"],["MessageAttachment",">)>"]]]},{"name":"components","description":"Action rows containing interactive components for the message (buttons, select menus)","optional":true,"type":[[["Array","<("],["MessageActionRow","|"],["MessageActionRowOptions",")>"]]]},{"name":"attachments","description":"Attachments to send in the message","optional":true,"type":[[["Array","<"],["MessageAttachment",">"]]]},{"name":"poll","description":"A poll!","optional":true,"type":[[["MessagePoll"]]]}],"meta":{"line":63,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"MessageOptions","description":"Options provided when sending or editing a message.","type":[[["BaseMessageOptions"]]],"props":[{"name":"reply","description":"The options for replying to a message","optional":true,"type":[[["ReplyOptions"]]]},{"name":"stickers","description":"Stickers to send in the message","optional":true,"default":"[]","type":[[["Array","<"],["StickerResolvable",">"]]]},{"name":"flags","description":"Which flags to set for the message.\nOnly `SUPPRESS_EMBEDS`, `SUPPRESS_NOTIFICATIONS` and `IS_VOICE_MESSAGE` can be set.","optional":true,"type":[[["MessageFlags"]]]}],"meta":{"line":81,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"MessageMentionOptions","description":"Options provided to control parsing of mentions by Discord","type":[[["Object"]]],"props":[{"name":"parse","description":"Types of mentions to be parsed","optional":true,"type":[[["Array","<"],["MessageMentionTypes",">"]]]},{"name":"users","description":"Snowflakes of Users to be parsed as mentions","optional":true,"type":[[["Array","<"],["Snowflake",">"]]]},{"name":"roles","description":"Snowflakes of Roles to be parsed as mentions","optional":true,"type":[[["Array","<"],["Snowflake",">"]]]},{"name":"repliedUser","description":"Whether the author of the Message being replied to should be pinged","optional":true,"default":true,"type":[[["boolean"]]]}],"meta":{"line":90,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"MessageMentionTypes","description":"Types of mentions to enable in MessageMentionOptions.\n- `roles`\n- `users`\n- `everyone`","type":[[["string"]]],"meta":{"line":99,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"FileOptions","type":[[["Object"]]],"props":[{"name":"attachment","description":"File to attach","type":[[["BufferResolvable"]]]},{"name":"name","description":"Filename of the attachment","optional":true,"default":"'file.jpg'","type":[[["string"]]]},{"name":"description","description":"The description of the file","type":[[["string"]]]}],"meta":{"line":107,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"ReplyOptions","description":"Options for sending a message with a reply.","type":[[["Object"]]],"props":[{"name":"messageReference","description":"The message to reply to (must be in the same channel and not system)","type":[[["MessageResolvable"]]]},{"name":"failIfNotExists","description":"Whether to error if the referenced message\ndoes not exist (creates a standard message in this case when false)","optional":true,"default":true,"type":[[["boolean"]]]}],"meta":{"line":114,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"AwaitMessagesOptions","description":"An object containing the same properties as CollectorOptions, but a few more:","type":[[["MessageCollectorOptions"]]],"props":[{"name":"errors","description":"Stop/end reasons that cause the promise to reject","optional":true,"type":[[["Array","<"],["string",">"]]]}],"meta":{"line":374,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"ChannelWebhookCreateOptions","description":"Options used to create a {@link Webhook} in a guild text-based channel.","type":[[["Object"]]],"props":[{"name":"avatar","description":"Avatar for the webhook","optional":true,"nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]},{"name":"reason","description":"Reason for creating the webhook","optional":true,"type":[[["string"]]]}],"meta":{"line":419,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"TargetType","description":"The type of the invite target:\n* 1: STREAM\n* 2: EMBEDDED_APPLICATION\n* 3: ROLE_SUBSCRIPTIONS\n* 4: CREATOR_PAGE","see":["{@link https://discord.com/developers/docs/resources/invite#invite-object-invite-target-types}"],"type":[[["number"]]],"meta":{"line":155,"file":"Invite.js","path":"src/structures"}},{"name":"InviteType","description":"The type of the invite:\n* 0: GUILD\n* 1: GROUP_DM\n* 2: FRIEND","see":["{@link https://docs.discord.sex/resources/invite#invite-type}"],"type":[[["number"]]],"meta":{"line":175,"file":"Invite.js","path":"src/structures"}},{"name":"MessageReference","description":"Reference data sent in a message that contains ids identifying the referenced message.\nThis can be present in the following types of message:\n* Crossposted messages (IS_CROSSPOST {@link MessageFlags.FLAGS message flag})\n* CHANNEL_FOLLOW_ADD\n* CHANNEL_PINNED_MESSAGE\n* REPLY\n* THREAD_STARTER_MESSAGE","see":["{@link https://discord.com/developers/docs/resources/channel#message-types}"],"type":[[["Object"]]],"props":[{"name":"channelId","description":"The channel's id the message was referenced","type":[[["Snowflake"]]]},{"name":"guildId","description":"The guild's id the message was referenced","nullable":true,"type":[[["Snowflake"]]]},{"name":"messageId","description":"The message's id that was referenced","nullable":true,"type":[[["Snowflake"]]]}],"meta":{"line":317,"file":"Message.js","path":"src/structures"}},{"name":"MessageInteraction","description":"Partial data of the interaction that a message is a reply to","type":[[["Object"]]],"props":[{"name":"id","description":"The interaction's id","type":[[["Snowflake"]]]},{"name":"type","description":"The type of the interaction","type":[[["InteractionType"]]]},{"name":"commandName","description":"The name of the interaction's application command,\nas well as the subcommand and subcommand group, where applicable","type":[[["string"]]]},{"name":"user","description":"The user that invoked the interaction","type":[[["User"]]]}],"meta":{"line":350,"file":"Message.js","path":"src/structures"}},{"name":"AwaitReactionsOptions","description":"An object containing the same properties as CollectorOptions, but a few more:","type":[[["ReactionCollectorOptions"]]],"props":[{"name":"errors","description":"Stop/end reasons that cause the promise to reject","optional":true,"type":[[["Array","<"],["string",">"]]]}],"meta":{"line":516,"file":"Message.js","path":"src/structures"}},{"name":"MessageEditOptions","description":"Options that can be passed into {@link Message#edit}.","type":[[["Object"]]],"props":[{"name":"content","description":"Content to be edited","optional":true,"nullable":true,"type":[[["string"]]]},{"name":"embeds","description":"Embeds to be added/edited","optional":true,"type":[[["Array","<"],["MessageEmbed",">"]],[["Array","<"],["APIEmbed",">"]]]},{"name":"allowedMentions","description":"Which mentions should be parsed from the message content","optional":true,"type":[[["MessageMentionOptions"]]]},{"name":"flags","description":"Which flags to set for the message. Only `SUPPRESS_EMBEDS` can be edited.","optional":true,"type":[[["MessageFlags"]]]},{"name":"attachments","description":"An array of attachments to keep,\nall attachments will be kept if omitted","optional":true,"type":[[["Array","<"],["MessageAttachment",">"]]]},{"name":"files","description":"Files to add to the message","optional":true,"type":[[["Array","<"],["FileOptions",">"]],[["Array","<"],["BufferResolvable",">"]],[["Array","<"],["MessageAttachment",">"]]]},{"name":"components","description":"Action rows containing interactive components for the message (buttons, select menus)","optional":true,"type":[[["Array","<"],["MessageActionRow",">"]],[["Array","<"],["MessageActionRowOptions",">"]]]}],"meta":{"line":657,"file":"Message.js","path":"src/structures"}},{"name":"ReplyMessageOptions","description":"Options provided when sending a message as an inline reply.","type":[[["BaseMessageOptions"]]],"props":[{"name":"failIfNotExists","description":"Whether to error if the referenced message\ndoes not exist (creates a standard message in this case when false)","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"stickers","description":"Stickers to send in the message","optional":true,"default":"[]","type":[[["Array","<"],["StickerResolvable",">"]]]}],"meta":{"line":781,"file":"Message.js","path":"src/structures"}},{"name":"ThreadAutoArchiveDuration","description":"A number that is allowed to be the duration (in minutes) of inactivity after which a thread is automatically\narchived. This can be:\n* `60` (1 hour)\n* `1440` (1 day)\n* `4320` (3 days)\n* `10080` (7 days)\n* `'MAX'` (7 days)\nThis option is deprecated and will be removed in the next major version.","type":[[["number"]],[["string"]]],"meta":{"line":816,"file":"Message.js","path":"src/structures"}},{"name":"StartThreadOptions","description":"Options for starting a thread on a message.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the new thread","type":[[["string"]]]},{"name":"autoArchiveDuration","description":"The amount of\ntime (in minutes) after which the thread should automatically archive in case of no recent activity","optional":true,"default":"this.channel.defaultAutoArchiveDuration","type":[[["ThreadAutoArchiveDuration"]]]},{"name":"reason","description":"Reason for creating the thread","optional":true,"type":[[["string"]]]},{"name":"rateLimitPerUser","description":"The rate limit per user (slowmode) for the thread in seconds","optional":true,"type":[[["number"]]]}],"meta":{"line":828,"file":"Message.js","path":"src/structures"}},{"name":"MessageButtonLocation","description":"Click specific button with X and Y","type":[[["Object"]]],"props":[{"name":"X","description":"Index of the row","type":[[["number"]]]},{"name":"Y","description":"Index of the column","type":[[["number"]]]}],"meta":{"line":1029,"file":"Message.js","path":"src/structures"}},{"name":"MessageActionRowComponent","description":"Components that can be placed in an action row\n* MessageButton\n* MessageSelectMenu\n* TextInputComponent","type":[[["MessageButton"]],[["MessageSelectMenu"]],[["TextInputComponent"]]],"meta":{"line":11,"file":"MessageActionRow.js","path":"src/structures"}},{"name":"MessageActionRowComponentOptions","description":"Options for components that can be placed in an action row\n* MessageButtonOptions\n* MessageSelectMenuOptions\n* TextInputComponentOptions","type":[[["MessageButtonOptions"]],[["MessageSelectMenuOptions"]],[["TextInputComponentOptions"]]],"meta":{"line":19,"file":"MessageActionRow.js","path":"src/structures"}},{"name":"MessageActionRowComponentResolvable","description":"Data that can be resolved into components that can be placed in an action row\n* MessageActionRowComponent\n* MessageActionRowComponentOptions","type":[[["MessageActionRowComponent"]],[["MessageActionRowComponentOptions"]]],"meta":{"line":27,"file":"MessageActionRow.js","path":"src/structures"}},{"name":"MessageActionRowOptions","type":[[["BaseMessageComponentOptions"]]],"props":[{"name":"components","description":"The components to place in this action row","optional":true,"type":[[["Array","<"],["MessageActionRowComponentResolvable",">"]]]}],"meta":{"line":34,"file":"MessageActionRow.js","path":"src/structures"}},{"name":"MessageButtonOptions","type":[[["BaseMessageComponentOptions"]]],"props":[{"name":"label","description":"The text to be displayed on this button","optional":true,"type":[[["string"]]]},{"name":"customId","description":"A unique string to be sent in the interaction when clicked","optional":true,"type":[[["string"]]]},{"name":"style","description":"The style of this button","optional":true,"type":[[["MessageButtonStyleResolvable"]]]},{"name":"emoji","description":"The emoji to be displayed to the left of the text","optional":true,"type":[[["EmojiIdentifierResolvable"]]]},{"name":"url","description":"Optional URL for link-style buttons","optional":true,"type":[[["string"]]]},{"name":"disabled","description":"Disables the button to prevent interactions","optional":true,"default":false,"type":[[["boolean"]]]}],"meta":{"line":13,"file":"MessageButton.js","path":"src/structures"}},{"name":"MessageButtonStyleResolvable","description":"Data that can be resolved to a MessageButtonStyle. This can be\n* MessageButtonStyle\n* number","type":[[["number"]],[["MessageButtonStyle"]]],"meta":{"line":147,"file":"MessageButton.js","path":"src/structures"}},{"name":"MessageCollectorOptions","type":[[["CollectorOptions"]]],"props":[{"name":"max","description":"The maximum amount of messages to collect","type":[[["number"]]]},{"name":"maxProcessed","description":"The maximum amount of messages to process","type":[[["number"]]]}],"meta":{"line":6,"file":"MessageCollector.js","path":"src/structures"}},{"name":"APIMessageActionRowComponent","description":"Raw message components from the API\n* APIMessageButton\n* APIMessageSelectMenu","type":[[["APIMessageButton"]],[["APIMessageSelectMenu"]]],"meta":{"line":66,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"Partial","description":"A `Partial` object is a representation of any existing object.\nThis object contains between 0 and all of the original objects parameters.\nThis is true regardless of whether the parameters are optional in the base object.","type":[[["Object"]]],"meta":{"line":22,"file":"WebEmbed.js","path":"src/structures"}},{"name":"MessageEmbedOptions","description":"Represents the possible options for a MessageEmbed","type":[[["Object"]]],"props":[{"name":"title","description":"The title of this embed","optional":true,"type":[[["string"]]]},{"name":"description","description":"The description of this embed","optional":true,"type":[[["string"]]]},{"name":"url","description":"The URL of this embed","optional":true,"type":[[["string"]]]},{"name":"timestamp","description":"The timestamp of this embed","optional":true,"type":[[["Date"]],[["number"]]]},{"name":"color","description":"The color of this embed","optional":true,"type":[[["ColorResolvable"]]]},{"name":"fields","description":"The fields of this embed","optional":true,"type":[[["Array","<"],["EmbedFieldData",">"]]]},{"name":"author","description":"The author of this embed","optional":true,"type":[[["Partial","<"],["MessageEmbedAuthor",">"]]]},{"name":"thumbnail","description":"The thumbnail of this embed","optional":true,"type":[[["Partial","<"],["MessageEmbedThumbnail",">"]]]},{"name":"image","description":"The image of this embed","optional":true,"type":[[["Partial","<"],["MessageEmbedImage",">"]]]},{"name":"video","description":"The video of this embed","optional":true,"type":[[["Partial","<"],["MessageEmbedVideo",">"]]]},{"name":"footer","description":"The footer of this embed","optional":true,"type":[[["Partial","<"],["MessageEmbedFooter",">"]]]}],"meta":{"line":24,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"EmbedField","description":"Represents a field of a MessageEmbed","type":[[["Object"]]],"props":[{"name":"name","description":"The name of this field","type":[[["string"]]]},{"name":"value","description":"The value of this field","type":[[["string"]]]},{"name":"inline","description":"If this field will be displayed inline","type":[[["boolean"]]]}],"meta":{"line":93,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"MessageEmbedThumbnail","description":"Represents the thumbnail of a MessageEmbed","type":[[["Object"]]],"props":[{"name":"url","description":"URL for this thumbnail","type":[[["string"]]]},{"name":"proxyURL","description":"ProxyURL for this thumbnail","type":[[["string"]]]},{"name":"height","description":"Height of this thumbnail","type":[[["number"]]]},{"name":"width","description":"Width of this thumbnail","type":[[["number"]]]}],"meta":{"line":110,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"MessageEmbedImage","description":"Represents the image of a MessageEmbed","type":[[["Object"]]],"props":[{"name":"url","description":"URL for this image","type":[[["string"]]]},{"name":"proxyURL","description":"ProxyURL for this image","type":[[["string"]]]},{"name":"height","description":"Height of this image","type":[[["number"]]]},{"name":"width","description":"Width of this image","type":[[["number"]]]}],"meta":{"line":132,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"MessageEmbedVideo","description":"Represents the video of a MessageEmbed","type":[[["Object"]]],"props":[{"name":"url","description":"URL of this video","type":[[["string"]]]},{"name":"proxyURL","description":"ProxyURL for this video","type":[[["string"]]]},{"name":"height","description":"Height of this video","type":[[["number"]]]},{"name":"width","description":"Width of this video","type":[[["number"]]]}],"meta":{"line":154,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"MessageEmbedAuthor","description":"Represents the author field of a MessageEmbed","type":[[["Object"]]],"props":[{"name":"name","description":"The name of this author","type":[[["string"]]]},{"name":"url","description":"URL of this author","type":[[["string"]]]},{"name":"iconURL","description":"URL of the icon for this author","type":[[["string"]]]},{"name":"proxyIconURL","description":"Proxied URL of the icon for this author","type":[[["string"]]]}],"meta":{"line":177,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"MessageEmbedProvider","description":"Represents the provider of a MessageEmbed","type":[[["Object"]]],"props":[{"name":"name","description":"The name of this provider","type":[[["string"]]]},{"name":"url","description":"URL of this provider","type":[[["string"]]]}],"meta":{"line":199,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"MessageEmbedFooter","description":"Represents the footer field of a MessageEmbed","type":[[["Object"]]],"props":[{"name":"text","description":"The text of this footer","type":[[["string"]]]},{"name":"iconURL","description":"URL of the icon for this footer","type":[[["string"]]]},{"name":"proxyIconURL","description":"Proxied URL of the icon for this footer","type":[[["string"]]]}],"meta":{"line":217,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"EmbedAuthorData","description":"The options to provide for setting an author for a {@link WebEmbed}.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of this author.","type":[[["string"]]]}],"meta":{"line":185,"file":"WebEmbed.js","path":"src/structures"}},{"name":"EmbedFooterData","description":"The options to provide for setting a footer for a {@link MessageEmbed}.","type":[[["Object"]]],"props":[{"name":"text","description":"The text of the footer.","type":[[["string"]]]},{"name":"iconURL","description":"The icon URL of the footer.","optional":true,"type":[[["string"]]]}],"meta":{"line":427,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"EmbedFieldData","type":[[["Object"]]],"props":[{"name":"name","description":"The name of this field","type":[[["string"]]]},{"name":"value","description":"The value of this field","type":[[["string"]]]},{"name":"inline","description":"If this field will be displayed inline","optional":true,"type":[[["boolean"]]]}],"meta":{"line":560,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"CrosspostedChannel","description":"Crossposted channel data.","type":[[["Object"]]],"props":[{"name":"channelId","description":"The mentioned channel's id","type":[[["Snowflake"]]]},{"name":"guildId","description":"The id of the guild that has the channel","type":[[["Snowflake"]]]},{"name":"type","description":"The channel's type","type":[[["ChannelType"]]]},{"name":"name","description":"The channel's name","type":[[["string"]]]}],"meta":{"line":103,"file":"MessageMentions.js","path":"src/structures"}},{"name":"MessageMentionsHasOptions","description":"Options used to check for a mention.","type":[[["Object"]]],"props":[{"name":"ignoreDirect","description":"Whether to ignore direct mentions to the item","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"ignoreRoles","description":"Whether to ignore role mentions to a guild member","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"ignoreRepliedUser","description":"Whether to ignore replied user mention to an user","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"ignoreEveryone","description":"Whether to ignore `@everyone`/`@here` mentions","optional":true,"default":false,"type":[[["boolean"]]]}],"meta":{"line":195,"file":"MessageMentions.js","path":"src/structures"}},{"name":"MessageTarget","description":"A target for a message.","type":[[["TextBasedChannels"]],[["User"]],[["GuildMember"]],[["Webhook"]],[["WebhookClient"]],[["Interaction"]],[["InteractionWebhook"]],[["Message"]],[["MessageManager"]]],"meta":{"line":309,"file":"MessagePayload.js","path":"src/structures"}},{"name":"MessageFile","type":[[["Object"]]],"props":[{"name":"attachment","description":"The original attachment that generated this file","type":[[["Buffer"]],[["string"]],[["Stream"]]]},{"name":"name","description":"The name of this file","type":[[["string"]]]},{"name":"file","description":"The file to be sent to the API","type":[[["Buffer"]],[["Stream"]]]}],"meta":{"line":40,"file":"MessagePayload.js","path":"src/structures"}},{"name":"MessagePollMedia","description":"The poll media object is a common object that backs both the question and answers. For now, `question` only supports `text`, while `answers` can have an optional `emoji`.","see":["{@link https://docs.discord.sex/resources/message#poll-media-structure}"],"type":[[["Object"]]],"props":[{"name":"text","description":"The text of the field (max 300 characters for question, 55 characters for answer)","nullable":true,"type":[[["string"]]]},{"name":"emoji","description":"The emoji of the field","nullable":true,"type":[[["RawEmoji"]]]}],"meta":{"line":20,"file":"MessagePoll.js","path":"src/structures"}},{"name":"MessagePollResult","description":"Poll Results Structure","see":["{@link https://docs.discord.sex/resources/message#poll-results-structure}"],"type":[[["Object"]]],"props":[{"name":"isFinalized","description":"Whether the votes have been precisely counted","type":[[["boolean"]]]},{"name":"answerCounts","description":"The counts for each answer","type":[[["Collection","<"],["number",", "],["MessagePollResultAnswerCount",">"]]]}],"meta":{"line":93,"file":"MessagePoll.js","path":"src/structures"}},{"name":"MessagePollResultAnswerCount","description":"Poll Answer Count Structure","see":["{@link https://docs.discord.sex/resources/message#poll-answer-count-structure}"],"type":[[["Object"]]],"props":[{"name":"answer","description":"answer","type":[[["MessagePollMedia"]]]},{"name":"count","description":"The number of votes for this answer","type":[[["number"]]]},{"name":"selfVoted","description":"Whether the current user voted for this answer","type":[[["boolean"]]]}],"meta":{"line":100,"file":"MessagePoll.js","path":"src/structures"}},{"name":"ReactionCountDetailsData","description":"The reaction count details object contains information about super and normal reaction counts.","type":[[["Object"]]],"props":[{"name":"burst","description":"Count of super reaction","type":[[["number"]]]},{"name":"normal","description":"Count of normal reaction","type":[[["number"]]]}],"meta":{"line":76,"file":"MessageReaction.js","path":"src/structures"}},{"name":"MessageSelectMenuOptions","type":[[["BaseMessageComponentOptions"]]],"props":[{"name":"customId","description":"A unique string to be sent in the interaction when clicked","optional":true,"type":[[["string"]]]},{"name":"placeholder","description":"Custom placeholder text to display when nothing is selected","optional":true,"type":[[["string"]]]},{"name":"minValues","description":"The minimum number of selections required","optional":true,"type":[[["number"]]]},{"name":"maxValues","description":"The maximum number of selections allowed","optional":true,"type":[[["number"]]]},{"name":"options","description":"Options for the select menu","optional":true,"type":[[["Array","<"],["MessageSelectOption",">"]]]},{"name":"disabled","description":"Disables the select menu to prevent interactions","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"channelTypes","description":"List of channel types to include in the ChannelSelect component","optional":true,"type":[[["Array","<"],["ChannelType",">"]]]}],"meta":{"line":12,"file":"MessageSelectMenu.js","path":"src/structures"}},{"name":"MessageSelectOption","type":[[["Object"]]],"props":[{"name":"label","description":"The text to be displayed on this option","type":[[["string"]]]},{"name":"value","description":"The value to be sent for this option","type":[[["string"]]]},{"name":"description","description":"Optional description to show for this option","nullable":true,"type":[[["string"]]]},{"name":"emoji","description":"Emoji to display for this option","nullable":true,"type":[[["RawEmoji"]]]},{"name":"default","description":"Render this option as the default selection","type":[[["boolean"]]]}],"meta":{"line":23,"file":"MessageSelectMenu.js","path":"src/structures"}},{"name":"MessageSelectOptionData","type":[[["Object"]]],"props":[{"name":"label","description":"The text to be displayed on this option","type":[[["string"]]]},{"name":"value","description":"The value to be sent for this option","type":[[["string"]]]},{"name":"description","description":"Optional description to show for this option","optional":true,"type":[[["string"]]]},{"name":"emoji","description":"Emoji to display for this option","optional":true,"type":[[["EmojiIdentifierResolvable"]]]},{"name":"default","description":"Render this option as the default selection","optional":true,"type":[[["boolean"]]]}],"meta":{"line":32,"file":"MessageSelectMenu.js","path":"src/structures"}},{"name":"PartialTextInputData","type":[[["Object"]]],"props":[{"name":"customId","description":"A unique string to be sent in the interaction when submitted","optional":true,"type":[[["string"]]]},{"name":"type","description":"The type of this component","optional":true,"type":[[["MessageComponentType"]]]},{"name":"value","description":"Value of this text input component","optional":true,"type":[[["string"]]]}],"meta":{"line":24,"file":"ModalSubmitInteraction.js","path":"src/structures"}},{"name":"PartialModalActionRow","type":[[["Object"]]],"props":[{"name":"type","description":"The type of this component","optional":true,"type":[[["MessageComponentType"]]]},{"name":"components","description":"Partial text input components","optional":true,"type":[[["Array","<"],["PartialTextInputData",">"]]]}],"meta":{"line":31,"file":"ModalSubmitInteraction.js","path":"src/structures"}},{"name":"PermissionOverwriteOptions","description":"An object mapping permission flags to `true` (enabled), `null` (unset) or `false` (disabled).\n```js\n{\n 'SEND_MESSAGES': true,\n 'EMBED_LINKS': null,\n 'ATTACH_FILES': false,\n}\n```","type":[[["Object"]]],"meta":{"line":97,"file":"PermissionOverwrites.js","path":"src/structures"}},{"name":"ResolvedOverwriteOptions","type":[[["Object"]]],"props":[{"name":"allow","description":"The allowed permissions","type":[[["Permissions"]]]},{"name":"deny","description":"The denied permissions","type":[[["Permissions"]]]}],"meta":{"line":109,"file":"PermissionOverwrites.js","path":"src/structures"}},{"name":"RawOverwriteData","description":"The raw data for a permission overwrite","type":[[["Object"]]],"props":[{"name":"id","description":"The id of the {@link Role} or {@link User} this overwrite belongs to","type":[[["Snowflake"]]]},{"name":"allow","description":"The permissions to allow","type":[[["string"]]]},{"name":"deny","description":"The permissions to deny","type":[[["string"]]]},{"name":"type","description":"The type of this OverwriteData","type":[[["number"]]]}],"meta":{"line":141,"file":"PermissionOverwrites.js","path":"src/structures"}},{"name":"OverwriteResolvable","description":"Data that can be resolved into {@link RawOverwriteData}. This can be:\n* PermissionOverwrites\n* OverwriteData","type":[[["PermissionOverwrites"]],[["OverwriteData"]]],"meta":{"line":150,"file":"PermissionOverwrites.js","path":"src/structures"}},{"name":"OverwriteData","description":"Data that can be used for a permission overwrite","type":[[["Object"]]],"props":[{"name":"id","description":"Member or role this overwrite is for","type":[[["GuildMemberResolvable"]],[["RoleResolvable"]]]},{"name":"allow","description":"The permissions to allow","optional":true,"type":[[["PermissionResolvable"]]]},{"name":"deny","description":"The permissions to deny","optional":true,"type":[[["PermissionResolvable"]]]},{"name":"type","description":"The type of this OverwriteData","optional":true,"type":[[["OverwriteType"]]]}],"meta":{"line":157,"file":"PermissionOverwrites.js","path":"src/structures"}},{"name":"MessageActivity","description":"Activity sent in a message.","type":[[["Object"]]],"props":[{"name":"partyId","description":"Id of the party represented in activity","optional":true,"type":[[["string"]]]},{"name":"type","description":"Type of activity sent","type":[[["MessageActivityType"]]]}],"meta":{"line":9,"file":"Presence.js","path":"src/structures"}},{"name":"PresenceStatus","description":"The status of this presence:\n* **`online`** - user is online\n* **`idle`** - user is AFK\n* **`offline`** - user is offline or invisible\n* **`dnd`** - user is in Do Not Disturb","type":[[["string"]]],"meta":{"line":21,"file":"Presence.js","path":"src/structures"}},{"name":"ClientPresenceStatus","description":"The status of this presence:\n* **`online`** - user is online\n* **`idle`** - user is AFK\n* **`dnd`** - user is in Do Not Disturb","type":[[["string"]]],"meta":{"line":30,"file":"Presence.js","path":"src/structures"}},{"name":"ActivityPlatform","description":"The platform of this activity:\n* **`desktop`**\n* **`samsung`** - playing on Samsung Galaxy\n* **`xbox`** - playing on Xbox Live\n* **`ios`**\n* **`android`**\n* **`embedded`**\n* **`ps4`**\n* **`ps5`**","type":[[["string"]]],"meta":{"line":177,"file":"Presence.js","path":"src/structures"}},{"name":"ActivityTimestamps","description":"Represents timestamps of an activity","type":[[["Object"]]],"props":[{"name":"start","description":"When the activity started","nullable":true,"type":[[["number"]]]},{"name":"end","description":"When the activity will end","nullable":true,"type":[[["number"]]]}],"meta":{"line":273,"file":"Presence.js","path":"src/structures"}},{"name":"ActivityParty","description":"Represents a party of an activity","type":[[["Object"]]],"props":[{"name":"id","description":"The party's id","nullable":true,"type":[[["string"]]]},{"name":"size","description":"Size of the party as `[current, max]`","type":[[["Array","<"],["number",">"]]]}],"meta":{"line":363,"file":"Presence.js","path":"src/structures"}},{"name":"RichPresenceImage","description":"Support:\n- cdn.discordapp.com\n- media.discordapp.net\n- Assets ID (https://discord.com/api/v9/oauth2/applications/{application_id}/assets)\n- Media Proxy (mp:external/{hash})\n- Twitch (twitch:{username})\n- YouTube (youtube:{video_id})\n- Spotify (spotify:{image_id})","type":[[["string"]]],"meta":{"line":584,"file":"Presence.js","path":"src/structures"}},{"name":"CustomStatusOptions","type":[[["Object"]]],"props":[{"name":"state","description":"The state to be displayed","optional":true,"type":[[["string"]]]},{"name":"emoji","description":"The emoji to be displayed","optional":true,"type":[[["EmojiIdentifierResolvable"]]]}],"meta":{"line":640,"file":"Presence.js","path":"src/structures"}},{"name":"RichParty","type":[[["Object"]]],"props":[{"name":"id","description":"The id of the party","type":[[["string"]]]},{"name":"max","description":"The maximum number of members in the party","type":[[["number"]]]},{"name":"current","description":"The current number of members in the party","type":[[["number"]]]}],"meta":{"line":817,"file":"Presence.js","path":"src/structures"}},{"name":"RichButton","type":[[["object"]]],"props":[{"name":"name","description":"The name of the button","type":[[["string"]]]},{"name":"url","description":"The url of the button","type":[[["string"]]]}],"meta":{"line":869,"file":"Presence.js","path":"src/structures"}},{"name":"ExternalAssets","type":[[["Object"]]],"props":[{"name":"url","description":"Orginal url of the image","nullable":true,"type":[[["string"]]]},{"name":"external_asset_path","description":"Proxy url of the image (Using to RPC)","nullable":true,"type":[[["string"]]]}],"meta":{"line":957,"file":"Presence.js","path":"src/structures"}},{"name":"SpotifyMetadata","type":[[["Object"]]],"props":[{"name":"album_id","description":"The Spotify ID of the album of the song being played","type":[[["string"]]]},{"name":"artist_ids","description":"The Spotify IDs of the artists of the song being played","type":[[["Array","<"],["string",">"]]]},{"name":"context_uri","description":"The Spotify URI of the current player context","type":[[["string"]]]}],"meta":{"line":1038,"file":"Presence.js","path":"src/structures"}},{"name":"ReactionCollectorOptions","type":[[["CollectorOptions"]]],"props":[{"name":"max","description":"The maximum total amount of reactions to collect","type":[[["number"]]]},{"name":"maxEmojis","description":"The maximum number of emojis to collect","type":[[["number"]]]},{"name":"maxUsers","description":"The maximum number of users to react","type":[[["number"]]]}],"meta":{"line":7,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"RoleData","description":"The data for a role.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the role","optional":true,"type":[[["string"]]]},{"name":"color","description":"The color of the role, either a hex string or a base 10 number","optional":true,"type":[[["ColorResolvable"]]]},{"name":"hoist","description":"Whether or not the role should be hoisted","optional":true,"type":[[["boolean"]]]},{"name":"position","description":"The position of the role","optional":true,"type":[[["number"]]]},{"name":"permissions","description":"The permissions of the role","optional":true,"type":[[["PermissionResolvable"]]]},{"name":"mentionable","description":"Whether or not the role should be mentionable","optional":true,"type":[[["boolean"]]]},{"name":"icon","description":"The icon for the role\nThe `EmojiResolvable` should belong to the same guild as the role.\nIf not, pass the emoji's URL directly","optional":true,"nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]],[["EmojiResolvable"]]]},{"name":"unicodeEmoji","description":"The unicode emoji for the role","optional":true,"nullable":true,"type":[[["string"]]]}],"meta":{"line":265,"file":"Role.js","path":"src/structures"}},{"name":"SetRolePositionOptions","description":"Options used to set the position of a role.","type":[[["Object"]]],"props":[{"name":"relative","description":"Whether to change the position relative to its current value or not","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"reason","description":"The reason for changing the position","optional":true,"type":[[["string"]]]}],"meta":{"line":415,"file":"Role.js","path":"src/structures"}},{"name":"GuildStickerEditData","description":"Data for editing a sticker.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the sticker","optional":true,"type":[[["string"]]]},{"name":"description","description":"The description of the sticker","optional":true,"nullable":true,"type":[[["string"]]]},{"name":"tags","description":"The Discord name of a unicode emoji representing the sticker's expression","optional":true,"type":[[["string"]]]}],"meta":{"line":235,"file":"Sticker.js","path":"src/structures"}},{"name":"TextInputComponentOptions","type":[[["BaseMessageComponentOptions"]]],"props":[{"name":"customId","description":"A unique string to be sent in the interaction when submitted","optional":true,"type":[[["string"]]]},{"name":"label","description":"The text to be displayed above this text input component","optional":true,"type":[[["string"]]]},{"name":"maxLength","description":"Maximum length of text that can be entered","optional":true,"type":[[["number"]]]},{"name":"minLength","description":"Minimum length of text required to be entered","optional":true,"type":[[["number"]]]},{"name":"placeholder","description":"Custom placeholder text to display when no text is entered","optional":true,"type":[[["string"]]]},{"name":"required","description":"Whether or not this text input component is required","optional":true,"type":[[["boolean"]]]},{"name":"style","description":"The style of this text input component","optional":true,"type":[[["TextInputStyleResolvable"]]]},{"name":"value","description":"Value of this text input component","optional":true,"type":[[["string"]]]}],"meta":{"line":14,"file":"TextInputComponent.js","path":"src/structures"}},{"name":"TextInputStyleResolvable","description":"Data that can be resolved to a TextInputStyle. This can be\n* TextInputStyle\n* number","type":[[["number"]],[["TextInputStyle"]]],"meta":{"line":113,"file":"TextInputComponent.js","path":"src/structures"}},{"name":"ThreadEditData","description":"The options used to edit a thread channel","type":[[["Object"]]],"props":[{"name":"name","description":"The new name for the thread","optional":true,"type":[[["string"]]]},{"name":"archived","description":"Whether the thread is archived","optional":true,"type":[[["boolean"]]]},{"name":"autoArchiveDuration","description":"The amount of time (in minutes) after which the thread\nshould automatically archive in case of no recent activity","optional":true,"type":[[["ThreadAutoArchiveDuration"]]]},{"name":"rateLimitPerUser","description":"The rate limit per user (slowmode) for the thread in seconds","optional":true,"type":[[["number"]]]},{"name":"locked","description":"Whether the thread is locked","optional":true,"type":[[["boolean"]]]},{"name":"invitable","description":"Whether non-moderators can add other non-moderators to a thread\nCan only be edited on `GUILD_PRIVATE_THREAD`","optional":true,"type":[[["boolean"]]]},{"name":"appliedTags","description":"The tags to apply to the thread","optional":true,"type":[[["Array","<"],["Snowflake",">"]]]},{"name":"flags","description":"The flags to set on the channel","optional":true,"type":[[["ChannelFlagsResolvable"]]]}],"meta":{"line":316,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"UserClan","description":"User Clan Structure","see":["{@link https://docs.discord.sex/resources/user#user-clan-structure}"],"type":[[["Object"]]],"props":[{"name":"identityGuildId","description":"The ID of the user's primary clan","nullable":true,"type":[[["Snowflake"]]]},{"name":"identityEnabled","description":"Whether the user is displaying their clan tag","type":[[["boolean"]]]},{"name":"tag","description":"The text of the user's clan tag (max 4 characters)","nullable":true,"type":[[["string"]]]},{"name":"badge","description":"The clan's badge hash","nullable":true,"type":[[["string"]]]}],"meta":{"line":156,"file":"User.js","path":"src/structures"}},{"name":"WebEmbedOptions","description":"Represents the possible options for a WebEmbed","type":[[["Object"]]],"props":[{"name":"title","description":"The title of this embed","optional":true,"type":[[["string"]]]},{"name":"description","description":"The description of this embed","optional":true,"type":[[["string"]]]},{"name":"url","description":"The URL of this embed","optional":true,"type":[[["string"]]]},{"name":"color","description":"The color of this embed","optional":true,"type":[[["ColorResolvable"]]]},{"name":"author","description":"The author of this embed","optional":true,"type":[[["Partial","<"],["WebEmbedAuthor",">"]]]},{"name":"thumbnail","description":"The thumbnail of this embed","optional":true,"type":[[["Partial","<"],["WebEmbedThumbnail",">"]]]},{"name":"image","description":"The image of this embed","optional":true,"type":[[["Partial","<"],["WebEmbedImage",">"]]]},{"name":"video","description":"The video of this embed","optional":true,"type":[[["Partial","<"],["WebEmbedVideo",">"]]]},{"name":"footer","description":"The footer of this embed","optional":true,"type":[[["Partial","<"],["WebEmbedFooter",">"]]]},{"name":"provider","description":"The provider of this embed","optional":true,"type":[[["Partial","<"],["WebEmbedProvider",">"]]]},{"name":"redirect","description":"Redirect URL","optional":true,"type":[[["string"]]]}],"meta":{"line":29,"file":"WebEmbed.js","path":"src/structures"}},{"name":"WebEmbedImage","description":"Represents the image of a WebEmbed","type":[[["Object"]]],"props":[{"name":"url","description":"URL for this image","type":[[["string"]]]},{"name":"proxyURL","description":"ProxyURL for this image","type":[[["string"]]]},{"name":"height","description":"Height of this image","type":[[["number"]]]},{"name":"width","description":"Width of this image","type":[[["number"]]]}],"meta":{"line":85,"file":"WebEmbed.js","path":"src/structures"}},{"name":"WebEmbedVideo","description":"Represents the video of a WebEmbed","type":[[["Object"]]],"props":[{"name":"url","description":"URL of this video","type":[[["string"]]]},{"name":"proxyURL","description":"ProxyURL for this video","type":[[["string"]]]},{"name":"height","description":"Height of this video","type":[[["number"]]]},{"name":"width","description":"Width of this video","type":[[["number"]]]}],"meta":{"line":120,"file":"WebEmbed.js","path":"src/structures"}},{"name":"WebEmbedAuthor","description":"Represents the author field of a WebEmbed","type":[[["Object"]]],"props":[{"name":"name","description":"The name of this author","type":[[["string"]]]},{"name":"url","description":"URL of this author","type":[[["string"]]]}],"meta":{"line":143,"file":"WebEmbed.js","path":"src/structures"}},{"name":"WebEmbedProvider","description":"Represents the provider of a WebEmbed","type":[[["Object"]]],"props":[{"name":"name","description":"The name of this provider","type":[[["string"]]]},{"name":"url","description":"URL of this provider","type":[[["string"]]]}],"meta":{"line":161,"file":"WebEmbed.js","path":"src/structures"}},{"name":"EmbedProviderData","description":"The options to provide for setting an provider for a {@link WebEmbed}.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of this provider.","type":[[["string"]]]}],"meta":{"line":210,"file":"WebEmbed.js","path":"src/structures"}},{"name":"WebhookMessageOptions","description":"Options that can be passed into send.","type":[[["BaseMessageOptions"]]],"props":[{"name":"username","description":"Username override for the message","optional":true,"default":"this.name","type":[[["string"]]]},{"name":"avatarURL","description":"Avatar URL override for the message","optional":true,"type":[[["string"]]]},{"name":"threadId","description":"The id of the thread in the channel to send to.\nFor interaction webhooks, this property is ignored","optional":true,"type":[[["Snowflake"]]]},{"name":"threadName","description":"Name of the thread to create (only available if webhook is in a forum channel)","optional":true,"type":[[["string"]]]},{"name":"flags","description":"Which flags to set for the message. Only `SUPPRESS_EMBEDS` can be set.","optional":true,"type":[[["MessageFlags"]]]}],"meta":{"line":112,"file":"Webhook.js","path":"src/structures"}},{"name":"WebhookEditMessageOptions","description":"Options that can be passed into editMessage.","type":[[["Object"]]],"props":[{"name":"embeds","description":"See {@link WebhookMessageOptions#embeds}","optional":true,"type":[[["Array","<"],["MessageEmbed",">"]],[["Array","<"],["APIEmbed",">"]]]},{"name":"content","description":"See {@link BaseMessageOptions#content}","optional":true,"type":[[["string"]]]},{"name":"files","description":"See {@link BaseMessageOptions#files}","optional":true,"type":[[["Array","<"],["FileOptions",">"]],[["Array","<"],["BufferResolvable",">"]],[["Array","<"],["MessageAttachment",">"]]]},{"name":"allowedMentions","description":"See {@link BaseMessageOptions#allowedMentions}","optional":true,"type":[[["MessageMentionOptions"]]]},{"name":"attachments","description":"Attachments to send with the message","optional":true,"type":[[["Array","<"],["MessageAttachment",">"]]]},{"name":"components","description":"Action rows containing interactive components for the message (buttons, select menus)","optional":true,"type":[[["Array","<"],["MessageActionRow",">"]],[["Array","<"],["MessageActionRowOptions",">"]]]},{"name":"threadId","description":"The id of the thread this message belongs to\nFor interaction webhooks, this property is ignored","optional":true,"type":[[["Snowflake"]]]}],"meta":{"line":123,"file":"Webhook.js","path":"src/structures"}},{"name":"WebhookEditData","description":"Options used to edit a {@link Webhook}.","type":[[["Object"]]],"props":[{"name":"name","description":"The new name for the webhook","optional":true,"default":"this.name","type":[[["string"]]]},{"name":"avatar","description":"The new avatar for the webhook","optional":true,"nullable":true,"type":[[["BufferResolvable"]]]},{"name":"channel","description":"The new channel for the webhook","optional":true,"type":[[["GuildTextChannelResolvable"]],[["VoiceChannel"]],[["StageChannel"]],[["ForumChannel"]]]}],"meta":{"line":237,"file":"Webhook.js","path":"src/structures"}},{"name":"WebhookFetchMessageOptions","description":"Options that can be passed into fetchMessage.","type":[[["options"]]],"props":[{"name":"cache","description":"Whether to cache the message.","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"threadId","description":"The id of the thread this message belongs to.\nFor interaction webhooks, this property is ignored","optional":true,"type":[[["Snowflake"]]]}],"meta":{"line":270,"file":"Webhook.js","path":"src/structures"}},{"name":"WidgetChannel","description":"Represents a channel in a Widget","type":[[["Object"]]],"props":[{"name":"id","description":"Id of the channel","type":[[["Snowflake"]]]},{"name":"name","description":"Name of the channel","type":[[["string"]]]},{"name":"position","description":"Position of the channel","type":[[["number"]]]}],"meta":{"line":17,"file":"Widget.js","path":"src/structures"}},{"name":"WidgetActivity","description":"Activity sent in a {@link WidgetMember}.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the activity","type":[[["string"]]]}],"meta":{"line":10,"file":"WidgetMember.js","path":"src/structures"}},{"name":"AttachmentFlagsResolvable","description":"Data that can be resolved to give a guild attachment bitfield. This can be:\n* A string (see {@link AttachmentFlags.FLAGS})\n* A attachment flag\n* An instance of AttachmentFlags\n* An Array of AttachmentFlagsResolvable","type":[[["string"]],[["number"]],[["AttachmentFlags"]],[["Array","<"],["AttachmentFlagsResolvable",">"]]],"meta":{"line":29,"file":"AttachmentFlags.js","path":"src/util"}},{"name":"BitFieldResolvable","description":"Data that can be resolved to give a bitfield. This can be:\n* A bit number (this can be a number literal or a value taken from {@link BitField.FLAGS})\n* A string bit number\n* An instance of BitField\n* An Array of BitFieldResolvable","type":[[["number"]],[["string"]],[["bigint"]],[["BitField"]],[["Array","<"],["BitFieldResolvable",">"]]],"meta":{"line":129,"file":"BitField.js","path":"src/util"}},{"name":"ChannelFlagsResolvable","description":"Data that can be resolved to give a channel flag bitfield. This can be:\n* A string (see {@link ChannelFlags.FLAGS})\n* A channel flag\n* An instance of ChannelFlags\n* An Array of ChannelFlags","type":[[["string"]],[["number"]],[["ChannelFlags"]],[["Array","<"],["ChannelFlagsResolvable",">"]]],"meta":{"line":36,"file":"ChannelFlags.js","path":"src/util"}},{"name":"Constants","description":"Constants that can be used in an enum or object-like way.","type":[[["Object"]]],"props":[{"name":"ActivityTypes","description":"The type of an activity of a users presence.","type":[[["Object","<"],["ActivityType",", "],["number",">"]]]},{"name":"APIErrors","description":"An error encountered while performing an API request.","type":[[["Object","<"],["APIError",", "],["number",">"]]]},{"name":"ApplicationCommandOptionTypes","description":"The type of an {@link ApplicationCommandOption} object.","type":[[["Object","<"],["ApplicationCommandOptionType",", "],["number",">"]]]},{"name":"ApplicationCommandPermissionTypes","description":"The type of an {@link ApplicationCommandPermissions} object.","type":[[["Object","<"],["ApplicationCommandPermissionType",", "],["number",">"]]]},{"name":"ApplicationCommandTypes","description":"The type of an {@link ApplicationCommand} object.","type":[[["Object","<"],["ApplicationCommandType",", "],["number",">"]]]},{"name":"ApplicationRoleConnectionMetadataTypes","description":"The type of an {@link ApplicationRoleConnectionMetadata} object.","type":[[["Object","<"],["ApplicationRoleConnectionMetadataType",", "],["number",">"]]]},{"name":"AutoModerationActionTypes","description":"A type of an action which executes whenever a rule is triggered.","type":[[["Object","<"],["AutoModerationActionType",", "],["number",">"]]]},{"name":"AutoModerationRuleEventTypes","description":"Indicates in what event context\na rule should be checked.","type":[[["Object","<"],["AutoModerationRuleEventType",", "],["number",">"]]]},{"name":"AutoModerationRuleKeywordPresetTypes","description":"The internally pre-defined wordsetswhich will be searched for in content","type":[[["Object","<"],["AutoModerationRuleKeywordPresetType",", "],["number",">"]]]},{"name":"AutoModerationRuleTriggerTypes","description":"Characterizes the type\nof content which can trigger the rule.","type":[[["Object","<"],["AutoModerationRuleTriggerType",", "],["number",">"]]]},{"name":"ChannelTypes","description":"All available channel types.","type":[[["Object","<"],["ChannelType",", "],["number",">"]]]},{"name":"ClientApplicationAssetTypes","description":"The types of an {@link ApplicationAsset} object.","type":[[["ClientApplicationAssetTypes"]]]},{"name":"Colors","description":"An object with regularly used colors.","type":[[["Object","<"],["Color",", "],["number",">"]]]},{"name":"DefaultMessageNotificationLevels","description":"The value set for a guilds default message notifications.","type":[[["Object","<"],["DefaultMessageNotificationLevel",", "],["number",">"]]]},{"name":"Endpoints","description":"Object containing functions that return certain endpoints on the API.","type":[[["Endpoints"]]]},{"name":"Events","description":"The types of events emitted by the Client.","type":[[["Events"]]]},{"name":"ExplicitContentFilterLevels","description":"The value set for the explicit content filter levels for a guild.","type":[[["Object","<"],["ExplicitContentFilterLevel",", "],["number",">"]]]},{"name":"GuildScheduledEventEntityTypes","description":"The entity type of a {@link GuildScheduledEvent} object.","type":[[["Object","<"],["GuildScheduledEventEntityType",", "],["number",">"]]]},{"name":"GuildScheduledEventPrivacyLevels","description":"Privacy level of a {@link GuildScheduledEvent} object.","type":[[["Object","<"],["GuildScheduledEventPrivacyLevel",", "],["number",">"]]]},{"name":"GuildScheduledEventStatuses","description":"The status of a {@link GuildScheduledEvent} object.","type":[[["Object","<"],["GuildScheduledEventStatus",", "],["number",">"]]]},{"name":"IntegrationExpireBehaviors","description":"The behavior of expiring subscribers for Integrations.","type":[[["Object","<"],["IntegrationExpireBehavior",", "],["number",">"]]]},{"name":"InteractionResponseTypes","description":"The type of an interaction response.","type":[[["Object","<"],["InteractionResponseType",", "],["number",">"]]]},{"name":"InteractionTypes","description":"The type of an {@link Interaction} object.","type":[[["Object","<"],["InteractionType",", "],["number",">"]]]},{"name":"InviteScopes","description":"The scopes of an invite.","type":[[["Array","<"],["InviteScope",">"]]]},{"name":"RelationshipTypes","description":"Relationship Enums","type":[[["Object","<"],["RelationshipType",", "],["number",">"]]]},{"name":"MembershipStates","description":"The value set for a team members membership state.","type":[[["Object","<"],["MembershipState",", "],["number",">"]]]},{"name":"MessageButtonStyles","description":"The style of a message button.","type":[[["Object","<"],["MessageButtonStyle",", "],["number",">"]]]},{"name":"MessageComponentTypes","description":"The type of a message component.","type":[[["Object","<"],["MessageComponentType",", "],["number",">"]]]},{"name":"MessageTypes","description":"The type of a {@link Message} object.","type":[[["Array","<"],["MessageType",">"]]]},{"name":"MFALevels","description":"The required MFA level for a guild.","type":[[["Object","<"],["MFALevel",", "],["number",">"]]]},{"name":"NSFWLevels","description":"NSFW level of a guild.","type":[[["Object","<"],["NSFWLevel",", "],["number",">"]]]},{"name":"Opcodes","description":"The types of Opcodes sent to the Gateway.","type":[[["Opcodes"]]]},{"name":"OverwriteTypes","description":"An overwrite type.","type":[[["Object","<"],["OverwriteType",", "],["number",">"]]]},{"name":"Package","description":"The package.json of the library.","type":[[["Object"]]]},{"name":"PartialTypes","description":"The type of Structure allowed to be a partial.","type":[[["Object","<"],["PartialType",", "],["PartialType",">"]]]},{"name":"PremiumTiers","description":"The premium tier (Server Boost level) of a guild.","type":[[["Object","<"],["PremiumTier",", "],["number",">"]]]},{"name":"PrivacyLevels","description":"Privacy level of a {@link StageInstance} object.","type":[[["Object","<"],["PrivacyLevel",", "],["number",">"]]]},{"name":"ShardEvents","description":"The type of events emitted by a Shard.","type":[[["ShardEvents"]]]},{"name":"Status","description":"The available statuses of the client.","type":[[["Status"]]]},{"name":"SelectMenuComponentTypes","description":"The type of any select menu.","type":[[["Object","<"],["SelectMenuComponentType",", "],["number",">"]]]},{"name":"StickerFormatTypes","description":"The value set for a stickers format type.","type":[[["Object","<"],["StickerFormatType",", "],["number",">"]]]},{"name":"StickerTypes","description":"The value set for a stickers type.","type":[[["Object","<"],["StickerType",", "],["number",">"]]]},{"name":"SweeperKeys","description":"The name of an item to be swept in Sweepers.","type":[[["Array","<"],["SweeperKey",">"]]]},{"name":"SystemMessageTypes","description":"The types of messages that are `System`.","type":[[["Array","<"],["SystemMessageType",">"]]]},{"name":"TextInputStyles","description":"The style of a text input component.","type":[[["Object","<"],["TextInputStyle",", "],["number",">"]]]},{"name":"ThreadChannelTypes","description":"The type of a {@link ThreadChannel} object.","type":[[["Array","<"],["ThreadChannelTypes",">"]]]},{"name":"UserAgent","description":"The user agent used for requests.","type":[[["string"]]]},{"name":"VerificationLevels","description":"The value set for the verification levels for a guild.","type":[[["Object","<"],["VerificationLevel",", "],["number",">"]]]},{"name":"VideoQualityModes","description":"The camera video quality mode for a {@link VoiceChannel}.","type":[[["Object","<"],["VideoQualityMode",", "],["number",">"]]]},{"name":"WebhookTypes","description":"The value set for a webhooks type.","type":[[["Object","<"],["WebhookType",", "],["number",">"]]]},{"name":"WSCodes","description":"The types of WebSocket error codes.","type":[[["WSCodes"]]]},{"name":"WSEvents","description":"The type of a WebSocket message event.","type":[[["Object","<"],["WSEventType",", "],["WSEventType",">"]]]}],"meta":{"line":1745,"file":"Constants.js","path":"src/util"}},{"name":"MaxBulkDeletableMessageAge","description":"Max bulk deletable message age","type":[[["number"]]],"meta":{"line":5,"file":"Constants.js","path":"src/util"}},{"name":"Ciphers","description":"Google Chrome v108 TLS ciphers","see":["{@link https://tls.browserleaks.com/tls}","{@link https://github.com/yifeikong/curl-impersonate}"],"type":[[["Array","<"],["string",">"]]],"meta":{"line":14,"file":"Constants.js","path":"src/util"}},{"name":"WSCodes","description":"The types of WebSocket error codes:\n* 1000: WS_CLOSE_REQUESTED\n* 1011: INTERNAL_ERROR\n* 4004: TOKEN_INVALID\n* 4010: SHARDING_INVALID\n* 4011: SHARDING_REQUIRED\n* 4013: INVALID_INTENTS\n* 4014: DISALLOWED_INTENTS","type":[[["Object","<"],["number",", "],["string",">"]]],"meta":{"line":38,"file":"Constants.js","path":"src/util"}},{"name":"ImageURLOptions","description":"Options for Image URLs.","type":[[["StaticImageURLOptions"]]],"props":[{"name":"dynamic","description":"If true, the format will dynamically change to `gif` for animated avatars.","optional":true,"default":false,"type":[[["boolean"]]]}],"meta":{"line":70,"file":"Constants.js","path":"src/util"}},{"name":"StaticImageURLOptions","description":"Options for static Image URLs.","type":[[["Object"]]],"props":[{"name":"format","description":"One of `webp`, `png`, `jpg`, `jpeg`.","optional":true,"default":"'webp'","type":[[["string"]]]},{"name":"size","description":"One of `16`, `32`, `56`, `64`, `96`, `128`, `256`, `300`, `512`, `600`, `1024`, `2048`,\n`4096`","optional":true,"type":[[["number"]]]}],"meta":{"line":76,"file":"Constants.js","path":"src/util"}},{"name":"Endpoints","description":"An object containing functions that return certain endpoints on the API.","see":["{@link https://discord.com/developers/docs/reference#image-formatting-cdn-endpoints}"],"type":[[["Object","<"],["string",", ("],["function","()|"],["string",")>"]]],"meta":{"line":84,"file":"Constants.js","path":"src/util"}},{"name":"Status","description":"The current status of the client. Here are the available statuses:\n* READY: 0\n* CONNECTING: 1\n* RECONNECTING: 2\n* IDLE: 3\n* NEARLY: 4\n* DISCONNECTED: 5\n* WAITING_FOR_GUILDS: 6\n* IDENTIFYING: 7\n* RESUMING: 8","type":[[["Object","<"],["string",", "],["number",">"]]],"meta":{"line":139,"file":"Constants.js","path":"src/util"}},{"name":"VoiceStatus","description":"The current status of a voice connection. Here are the available statuses:\n* CONNECTED: 0\n* CONNECTING: 1\n* AUTHENTICATING: 2\n* RECONNECTING: 3\n* DISCONNECTED: 4","type":[[["number"]]],"meta":{"line":164,"file":"Constants.js","path":"src/util"}},{"name":"Opcodes","description":"The Opcodes sent to the Gateway:\n* DISPATCH: 0\n* HEARTBEAT: 1\n* IDENTIFY: 2\n* STATUS_UPDATE: 3\n* VOICE_STATE_UPDATE: 4\n* VOICE_GUILD_PING: 5\n* RESUME: 6\n* RECONNECT: 7\n* REQUEST_GUILD_MEMBERS: 8\n* INVALID_SESSION: 9\n* HELLO: 10\n* HEARTBEAT_ACK: 11\n* GUILD_SYNC: 12 [Unused]\n* DM_UPDATE: 13 # Send => used to get dm features\n* GUILD_SUBSCRIPTIONS: 14 # Send => discord responds back with GUILD_MEMBER_LIST_UPDATE type SYNC...\n* LOBBY_CONNECT: 15\n* LOBBY_DISCONNECT: 16\n* LOBBY_VOICE_STATE_UPDATE: 17 # Receive\n* STREAM_CREATE: 18\n* STREAM_DELETE: 19\n* STREAM_WATCH: 20\n* STREAM_PING: 21 # Send\n* STREAM_SET_PAUSED: 22\n* LFG_SUBSCRIPTIONS: 23 [Unused]\n* REQUEST_GUILD_APPLICATION_COMMANDS: 24 [Unused]\n* EMBEDDED_ACTIVITY_LAUNCH: 25 => Launch an embedded activity in a voice channel or call.\n* EMBEDDED_ACTIVITY_CLOSE: 26 => Stop an embedded activity.\n* EMBEDDED_ACTIVITY_UPDATE: 27 => Update an embedded activity.\n* REQUEST_FORUM_UNREADS: 28 => Request forum channel unread counts.\n* REMOTE_COMMAND: 29 => Send a remote command to an embedded (Xbox, PlayStation) voice session.\n* GET_DELETED_ENTITY_IDS_NOT_MATCHING_HASH: 30 => Request deleted entity IDs not matching a given hash for a guild.\n* REQUEST_SOUNDBOARD_SOUNDS: 31\n* SPEED_TEST_CREATE: 32 => Create a voice speed test.\n* SPEED_TEST_DELETE: 33 => Delete a voice speed test.\n* REQUEST_LAST_MESSAGES: 34 => Request last messages for a guild's channels.\n* SEARCH_RECENT_MEMBERS: 35 => ~ Opcode 8 (Member Safety)\n* REQUEST_CHANNEL_STATUSES: 36 => Request Voice Channel status.\n* GUILD_SUBSCRIPTIONS_BULK: 37 => ~ Opcode 14","type":[[["Object","<"],["string",", "],["number",">"]]],"meta":{"line":181,"file":"Constants.js","path":"src/util"}},{"name":"VoiceOpcodes","type":[[["Opject","<"],["string",", "],["number",">"]]],"meta":{"line":264,"file":"Constants.js","path":"src/util"}},{"name":"Events","description":"The types of events emitted by the Client:\n* RATE_LIMIT: rateLimit\n* INVALID_REQUEST_WARNING: invalidRequestWarning\n* API_RESPONSE: apiResponse\n* API_REQUEST: apiRequest\n* CLIENT_READY: ready\n* APPLICATION_COMMAND_CREATE: applicationCommandCreate (deprecated)\n* APPLICATION_COMMAND_DELETE: applicationCommandDelete (deprecated)\n* APPLICATION_COMMAND_UPDATE: applicationCommandUpdate (deprecated)\n* APPLICATION_COMMAND_PERMISSIONS_UPDATE: applicationCommandPermissionsUpdate\n* AUTO_MODERATION_ACTION_EXECUTION: autoModerationActionExecution\n* AUTO_MODERATION_RULE_CREATE: autoModerationRuleCreate\n* AUTO_MODERATION_RULE_DELETE: autoModerationRuleDelete\n* AUTO_MODERATION_RULE_UPDATE: autoModerationRuleUpdate\n* GUILD_AVAILABLE: guildAvailable\n* GUILD_CREATE: guildCreate\n* GUILD_DELETE: guildDelete\n* GUILD_UPDATE: guildUpdate\n* GUILD_UNAVAILABLE: guildUnavailable\n* GUILD_MEMBER_ADD: guildMemberAdd\n* GUILD_MEMBER_REMOVE: guildMemberRemove\n* GUILD_MEMBER_UPDATE: guildMemberUpdate\n* GUILD_MEMBER_AVAILABLE: guildMemberAvailable\n* GUILD_MEMBERS_CHUNK: guildMembersChunk\n* GUILD_INTEGRATIONS_UPDATE: guildIntegrationsUpdate\n* GUILD_ROLE_CREATE: roleCreate\n* GUILD_ROLE_DELETE: roleDelete\n* INVITE_CREATE: inviteCreate\n* INVITE_DELETE: inviteDelete\n* GUILD_ROLE_UPDATE: roleUpdate\n* GUILD_EMOJI_CREATE: emojiCreate\n* GUILD_EMOJI_DELETE: emojiDelete\n* GUILD_EMOJI_UPDATE: emojiUpdate\n* GUILD_BAN_ADD: guildBanAdd\n* GUILD_BAN_REMOVE: guildBanRemove\n* CHANNEL_CREATE: channelCreate\n* CHANNEL_DELETE: channelDelete\n* CHANNEL_UPDATE: channelUpdate\n* CHANNEL_PINS_UPDATE: channelPinsUpdate\n* MESSAGE_CREATE: messageCreate\n* MESSAGE_DELETE: messageDelete\n* MESSAGE_UPDATE: messageUpdate\n* MESSAGE_BULK_DELETE: messageDeleteBulk\n* MESSAGE_REACTION_ADD: messageReactionAdd\n* MESSAGE_REACTION_REMOVE: messageReactionRemove\n* MESSAGE_REACTION_REMOVE_ALL: messageReactionRemoveAll\n* MESSAGE_REACTION_REMOVE_EMOJI: messageReactionRemoveEmoji\n* THREAD_CREATE: threadCreate\n* THREAD_DELETE: threadDelete\n* THREAD_UPDATE: threadUpdate\n* THREAD_LIST_SYNC: threadListSync\n* THREAD_MEMBER_UPDATE: threadMemberUpdate\n* THREAD_MEMBERS_UPDATE: threadMembersUpdate\n* USER_UPDATE: userUpdate\n* PRESENCE_UPDATE: presenceUpdate\n* VOICE_SERVER_UPDATE: voiceServerUpdate\n* VOICE_STATE_UPDATE: voiceStateUpdate\n* TYPING_START: typingStart\n* WEBHOOKS_UPDATE: webhookUpdate\n* ERROR: error\n* WARN: warn\n* DEBUG: debug\n* CACHE_SWEEP: cacheSweep\n* SHARD_DISCONNECT: shardDisconnect\n* SHARD_ERROR: shardError\n* SHARD_RECONNECTING: shardReconnecting\n* SHARD_READY: shardReady\n* SHARD_RESUME: shardResume\n* INVALIDATED: invalidated\n* RAW: raw\n* STAGE_INSTANCE_CREATE: stageInstanceCreate\n* STAGE_INSTANCE_UPDATE: stageInstanceUpdate\n* STAGE_INSTANCE_DELETE: stageInstanceDelete\n* GUILD_STICKER_CREATE: stickerCreate\n* GUILD_STICKER_DELETE: stickerDelete\n* GUILD_STICKER_UPDATE: stickerUpdate\n* GUILD_SCHEDULED_EVENT_CREATE: guildScheduledEventCreate\n* GUILD_SCHEDULED_EVENT_UPDATE: guildScheduledEventUpdate\n* GUILD_SCHEDULED_EVENT_DELETE: guildScheduledEventDelete\n* GUILD_SCHEDULED_EVENT_USER_ADD: guildScheduledEventUserAdd\n* GUILD_SCHEDULED_EVENT_USER_REMOVE: guildScheduledEventUserRemove\n* GUILD_AUDIT_LOG_ENTRY_CREATE: guildAuditLogEntryCreate\n* UNHANDLED_PACKET: unhandledPacket\n* RELATIONSHIP_ADD: relationshipAdd\n* RELATIONSHIP_REMOVE: relationshipRemove\n* RELATIONSHIP_UPDATE: relationshipUpdate\n* CHANNEL_RECIPIENT_ADD: channelRecipientAdd\n* CHANNEL_RECIPIENT_REMOVE: channelRecipientRemove\n* INTERACTION_MODAL_CREATE: interactionModalCreate\n* CALL_CREATE: callCreate\n* CALL_UPDATE: callUpdate\n* CALL_DELETE: callDelete","type":[[["Object","<"],["string",", "],["string",">"]]],"meta":{"line":286,"file":"Constants.js","path":"src/util"}},{"name":"ShardEvents","description":"The types of events emitted by a Shard:\n* CLOSE: close\n* DESTROYED: destroyed\n* INVALID_SESSION: invalidSession\n* READY: ready\n* RESUMED: resumed\n* ALL_READY: allReady","type":[[["Object","<"],["string",", "],["string",">"]]],"meta":{"line":480,"file":"Constants.js","path":"src/util"}},{"name":"PartialType","description":"The type of Structure allowed to be a partial:\n* USER\n* CHANNEL (only affects DMChannels)\n* GUILD_MEMBER\n* MESSAGE\n* REACTION\n* GUILD_SCHEDULED_EVENT\nPartials require you to put checks in place when handling data. See the \"Partial Structures\" topic on the\n[guide](https://discordjs.guide/popular-topics/partials.html) for more information.","type":[[["string"]]],"meta":{"line":499,"file":"Constants.js","path":"src/util"}},{"name":"WSEventType","description":"The type of a WebSocket message event, e.g. `MESSAGE_CREATE`. Here are the available events:\n* READY\n* RESUMED\n* APPLICATION_COMMAND_CREATE (deprecated)\n* APPLICATION_COMMAND_DELETE (deprecated)\n* APPLICATION_COMMAND_PERMISSIONS_UPDATE\n* APPLICATION_COMMAND_UPDATE (deprecated)\n* AUTO_MODERATION_ACTION_EXECUTION\n* AUTO_MODERATION_RULE_CREATE\n* AUTO_MODERATION_RULE_DELETE\n* AUTO_MODERATION_RULE_UPDATE\n* GUILD_CREATE\n* GUILD_DELETE\n* GUILD_UPDATE\n* INVITE_CREATE\n* INVITE_DELETE\n* GUILD_MEMBER_ADD\n* GUILD_MEMBER_REMOVE\n* GUILD_MEMBER_UPDATE\n* GUILD_MEMBERS_CHUNK\n* GUILD_INTEGRATIONS_UPDATE\n* GUILD_ROLE_CREATE\n* GUILD_ROLE_DELETE\n* GUILD_ROLE_UPDATE\n* GUILD_BAN_ADD\n* GUILD_BAN_REMOVE\n* GUILD_EMOJIS_UPDATE\n* CHANNEL_CREATE\n* CHANNEL_DELETE\n* CHANNEL_UPDATE\n* CHANNEL_PINS_UPDATE\n* MESSAGE_CREATE\n* MESSAGE_DELETE\n* MESSAGE_UPDATE\n* MESSAGE_DELETE_BULK\n* MESSAGE_REACTION_ADD\n* MESSAGE_REACTION_REMOVE\n* MESSAGE_REACTION_REMOVE_ALL\n* MESSAGE_REACTION_REMOVE_EMOJI\n* THREAD_CREATE\n* THREAD_UPDATE\n* THREAD_DELETE\n* THREAD_LIST_SYNC\n* THREAD_MEMBER_UPDATE\n* THREAD_MEMBERS_UPDATE\n* USER_UPDATE\n* PRESENCE_UPDATE\n* TYPING_START\n* VOICE_STATE_UPDATE\n* VOICE_SERVER_UPDATE\n* WEBHOOKS_UPDATE\n* STAGE_INSTANCE_CREATE\n* STAGE_INSTANCE_UPDATE\n* STAGE_INSTANCE_DELETE\n* GUILD_STICKERS_UPDATE\n* GUILD_SCHEDULED_EVENT_CREATE\n* GUILD_SCHEDULED_EVENT_UPDATE\n* GUILD_SCHEDULED_EVENT_DELETE\n* GUILD_SCHEDULED_EVENT_USER_ADD\n* GUILD_SCHEDULED_EVENT_USER_REMOVE\n* GUILD_AUDIT_LOG_ENTRY_CREATE","see":["{@link https://discord.com/developers/docs/topics/gateway-events#receive-events}"],"type":[[["string"]]],"meta":{"line":513,"file":"Constants.js","path":"src/util"}},{"name":"InviteScope","description":"A valid scope to request when generating an invite link.\nScopes that require whitelist are not considered valid for this generator\n* `applications.builds.read`: allows reading build data for a users applications\n* `applications.commands`: allows this bot to create commands in the server\n* `applications.entitlements`: allows reading entitlements for a users applications\n* `applications.store.update`: allows reading and updating of store data for a users applications\n* `bot`: makes the bot join the selected guild\n* `connections`: makes the endpoint for getting a users connections available\n* `email`: allows the `/users/@me` endpoint return with an email\n* `identify`: allows the `/users/@me` endpoint without an email\n* `guilds`: makes the `/users/@me/guilds` endpoint available for a user\n* `guilds.join`: allows the bot to join the user to any guild it is in using Guild#addMember\n* `gdm.join`: allows joining the user to a group dm\n* `webhook.incoming`: generates a webhook to a channel\n* `role_connections.write`: allows your app to update a user's connection and metadata for the app","see":["{@link https://discord.com/developers/docs/topics/oauth2#shared-resources-oauth2-scopes}"],"type":[[["string"]]],"meta":{"line":641,"file":"Constants.js","path":"src/util"}},{"name":"IntegrationExpireBehavior","description":"The behavior of expiring subscribers for Integrations. This can be:\n* REMOVE_ROLE\n* KICK","see":["{@link https://discord.com/developers/docs/resources/guild#integration-object-integration-expire-behaviors}"],"type":[[["string"]]],"meta":{"line":677,"file":"Constants.js","path":"src/util"}},{"name":"MessageType","description":"The type of a message, e.g. `DEFAULT`. Here are the available types:\n* DEFAULT\n* RECIPIENT_ADD\n* RECIPIENT_REMOVE\n* CALL\n* CHANNEL_NAME_CHANGE\n* CHANNEL_ICON_CHANGE\n* CHANNEL_PINNED_MESSAGE\n* GUILD_MEMBER_JOIN\n* USER_PREMIUM_GUILD_SUBSCRIPTION\n* USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_1\n* USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_2\n* USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_3\n* CHANNEL_FOLLOW_ADD\n* GUILD_DISCOVERY_DISQUALIFIED\n* GUILD_DISCOVERY_REQUALIFIED\n* GUILD_DISCOVERY_GRACE_PERIOD_INITIAL_WARNING\n* GUILD_DISCOVERY_GRACE_PERIOD_FINAL_WARNING\n* THREAD_CREATED\n* REPLY\n* APPLICATION_COMMAND\n* THREAD_STARTER_MESSAGE\n* GUILD_INVITE_REMINDER\n* CONTEXT_MENU_COMMAND\n* AUTO_MODERATION_ACTION\n* ROLE_SUBSCRIPTION_PURCHASE","see":["{@link https://discord.com/developers/docs/resources/channel#message-object-message-types}"],"type":[[["string"]]],"meta":{"line":686,"file":"Constants.js","path":"src/util"}},{"name":"SweeperKey","description":"The name of an item to be swept in Sweepers\n* `applicationCommands` - both global and guild commands\n* `autoModerationRules`\n* `bans`\n* `emojis`\n* `invites` - accepts the `lifetime` property, using it will sweep based on expires timestamp\n* `guildMembers`\n* `messages` - accepts the `lifetime` property, using it will sweep based on edited or created timestamp\n* `presences`\n* `reactions`\n* `stageInstances`\n* `stickers`\n* `threadMembers`\n* `threads` - accepts the `lifetime` property, using it will sweep archived threads based on archived timestamp\n* `users`\n* `voiceStates`","type":[[["string"]]],"meta":{"line":745,"file":"Constants.js","path":"src/util"}},{"name":"SystemMessageType","description":"The types of messages that are `System`. The available types are `MessageTypes` excluding:\n* DEFAULT\n* REPLY\n* APPLICATION_COMMAND\n* CONTEXT_MENU_COMMAND","type":[[["string"]]],"meta":{"line":782,"file":"Constants.js","path":"src/util"}},{"name":"ActivityType","description":"Bots cannot set a `CUSTOM` activity type, it is only for custom statuses received from users\nThe type of an activity of a user's presence. Here are the available types:\n* PLAYING\n* STREAMING\n* LISTENING\n* WATCHING\n* CUSTOM\n* COMPETING\n* HANG","see":["{@link https://discord.com/developers/docs/game-sdk/activities#data-models-activitytype-enum}"],"type":[[["string"]]],"meta":{"line":794,"file":"Constants.js","path":"src/util"}},{"name":"ChannelType","description":"All available channel types:\n* `GUILD_TEXT` - a guild text channel\n* `DM` - a DM channel\n* `GUILD_VOICE` - a guild voice channel\n* `GROUP_DM` - a group DM channel\n* `GUILD_CATEGORY` - a guild category channel\n* `GUILD_NEWS` - a guild news channel\n* `GUILD_STORE` - a guild store channel\nStore channels are deprecated and will be removed from Discord in March 2022. See\n[Self-serve Game Selling Deprecation](https://support-dev.discord.com/hc/en-us/articles/6309018858647)\nfor more information.\n* `GUILD_NEWS_THREAD` - a guild news channel's public thread channel\n* `GUILD_PUBLIC_THREAD` - a guild text channel's public thread channel\n* `GUILD_PRIVATE_THREAD` - a guild text channel's private thread channel\n* `GUILD_STAGE_VOICE` - a guild stage voice channel\n* `GUILD_DIRECTORY` - the channel in a hub containing guilds\n* `GUILD_FORUM` - a channel that can only contain threads\n* `UNKNOWN` - a generic channel of unknown type, could be Channel or GuildChannel","see":["{@link https://discord.com/developers/docs/resources/channel#channel-object-channel-types}"],"type":[[["string"]]],"meta":{"line":809,"file":"Constants.js","path":"src/util"}},{"name":"TextBasedChannels","description":"The channels that are text-based.\n* DMChannel\n* TextChannel\n* NewsChannel\n* ThreadChannel\n* VoiceChannel\n* StageChannel","type":[[["DMChannel"]],[["TextChannel"]],[["NewsChannel"]],[["ThreadChannel"]],[["VoiceChannel"]],[["StageChannel"]]],"meta":{"line":849,"file":"Constants.js","path":"src/util"}},{"name":"TextBasedChannelsResolvable","description":"Data that resolves to give a text-based channel. This can be:\n* A text-based channel\n* A snowflake","type":[[["TextBasedChannels"]],[["Snowflake"]]],"meta":{"line":860,"file":"Constants.js","path":"src/util"}},{"name":"TextBasedChannelTypes","description":"The types of channels that are text-based. The available types are:\n* DM\n* GUILD_TEXT\n* GUILD_NEWS\n* GUILD_NEWS_THREAD\n* GUILD_PUBLIC_THREAD\n* GUILD_PRIVATE_THREAD\n* GUILD_VOICE\n* GUILD_STAGE_VOICE","type":[[["string"]]],"meta":{"line":867,"file":"Constants.js","path":"src/util"}},{"name":"ThreadChannelTypes","description":"The types of channels that are threads. The available types are:\n* GUILD_NEWS_THREAD\n* GUILD_PUBLIC_THREAD\n* GUILD_PRIVATE_THREAD","type":[[["string"]]],"meta":{"line":890,"file":"Constants.js","path":"src/util"}},{"name":"VoiceBasedChannelTypes","description":"The types of channels that are voice-based. The available types are:\n* GUILD_VOICE\n* GUILD_STAGE_VOICE","type":[[["string"]]],"meta":{"line":899,"file":"Constants.js","path":"src/util"}},{"name":"ClientApplicationAssetTypes","description":"The types of assets of an application:\n* SMALL: 1\n* BIG: 2","type":[[["Object","<"],["string",", "],["number",">"]]],"meta":{"line":907,"file":"Constants.js","path":"src/util"}},{"name":"Color","description":"A commonly used color:\n* DEFAULT\n* WHITE\n* AQUA\n* GREEN\n* BLUE\n* YELLOW\n* PURPLE\n* LUMINOUS_VIVID_PINK\n* FUCHSIA\n* GOLD\n* ORANGE\n* RED\n* GREY\n* NAVY\n* DARK_AQUA\n* DARK_GREEN\n* DARK_BLUE\n* DARK_PURPLE\n* DARK_VIVID_PINK\n* DARK_GOLD\n* DARK_ORANGE\n* DARK_RED\n* DARK_GREY\n* DARKER_GREY\n* LIGHT_GREY\n* DARK_NAVY\n* BLURPLE\n* GREYPLE\n* DARK_BUT_NOT_BLACK\n* NOT_QUITE_BLACK","type":[[["string"]]],"meta":{"line":918,"file":"Constants.js","path":"src/util"}},{"name":"ExplicitContentFilterLevel","description":"The value set for the explicit content filter levels for a guild:\n* DISABLED\n* MEMBERS_WITHOUT_ROLES\n* ALL_MEMBERS","see":["{@link https://discord.com/developers/docs/resources/guild#guild-object-explicit-content-filter-level}"],"type":[[["string"]]],"meta":{"line":985,"file":"Constants.js","path":"src/util"}},{"name":"VerificationLevel","description":"The value set for the verification levels for a guild:\n* NONE\n* LOW\n* MEDIUM\n* HIGH\n* VERY_HIGH","see":["{@link https://discord.com/developers/docs/resources/guild#guild-object-verification-level}"],"type":[[["string"]]],"meta":{"line":995,"file":"Constants.js","path":"src/util"}},{"name":"APIError","description":"An error encountered while performing an API request. Here are the potential errors:\n* UNKNOWN_ACCOUNT\n* UNKNOWN_APPLICATION\n* UNKNOWN_CHANNEL\n* UNKNOWN_GUILD\n* UNKNOWN_INTEGRATION\n* UNKNOWN_INVITE\n* UNKNOWN_MEMBER\n* UNKNOWN_MESSAGE\n* UNKNOWN_OVERWRITE\n* UNKNOWN_PROVIDER\n* UNKNOWN_ROLE\n* UNKNOWN_TOKEN\n* UNKNOWN_USER\n* UNKNOWN_EMOJI\n* UNKNOWN_WEBHOOK\n* UNKNOWN_WEBHOOK_SERVICE\n* UNKNOWN_SESSION\n* UNKNOWN_BAN\n* UNKNOWN_SKU\n* UNKNOWN_STORE_LISTING\n* UNKNOWN_ENTITLEMENT\n* UNKNOWN_BUILD\n* UNKNOWN_LOBBY\n* UNKNOWN_BRANCH\n* UNKNOWN_STORE_DIRECTORY_LAYOUT\n* UNKNOWN_REDISTRIBUTABLE\n* UNKNOWN_GIFT_CODE\n* UNKNOWN_STREAM\n* UNKNOWN_PREMIUM_SERVER_SUBSCRIBE_COOLDOWN\n* UNKNOWN_GUILD_TEMPLATE\n* UNKNOWN_DISCOVERABLE_SERVER_CATEGORY\n* UNKNOWN_STICKER\n* UNKNOWN_INTERACTION\n* UNKNOWN_APPLICATION_COMMAND\n* UNKNOWN_APPLICATION_COMMAND_PERMISSIONS\n* UNKNOWN_STAGE_INSTANCE\n* UNKNOWN_GUILD_MEMBER_VERIFICATION_FORM\n* UNKNOWN_GUILD_WELCOME_SCREEN\n* UNKNOWN_GUILD_SCHEDULED_EVENT\n* UNKNOWN_GUILD_SCHEDULED_EVENT_USER\n* BOT_PROHIBITED_ENDPOINT\n* BOT_ONLY_ENDPOINT\n* CANNOT_SEND_EXPLICIT_CONTENT\n* NOT_AUTHORIZED\n* SLOWMODE_RATE_LIMIT\n* ACCOUNT_OWNER_ONLY\n* ANNOUNCEMENT_EDIT_LIMIT_EXCEEDED\n* CHANNEL_HIT_WRITE_RATELIMIT\n* SERVER_HIT_WRITE_RATELIMIT\n* CONTENT_NOT_ALLOWED\n* GUILD_PREMIUM_LEVEL_TOO_LOW\n* MAXIMUM_GUILDS\n* MAXIMUM_FRIENDS\n* MAXIMUM_PINS\n* MAXIMUM_RECIPIENTS\n* MAXIMUM_ROLES\n* MAXIMUM_WEBHOOKS\n* MAXIMUM_EMOJIS\n* MAXIMUM_REACTIONS\n* MAXIMUM_CHANNELS\n* MAXIMUM_ATTACHMENTS\n* MAXIMUM_INVITES\n* MAXIMUM_ANIMATED_EMOJIS\n* MAXIMUM_SERVER_MEMBERS\n* MAXIMUM_NUMBER_OF_SERVER_CATEGORIES\n* GUILD_ALREADY_HAS_TEMPLATE\n* MAXIMUM_THREAD_PARTICIPANTS\n* MAXIMUM_NON_GUILD_MEMBERS_BANS\n* MAXIMUM_BAN_FETCHES\n* MAXIMUM_NUMBER_OF_UNCOMPLETED_GUILD_SCHEDULED_EVENTS_REACHED\n* MAXIMUM_NUMBER_OF_STICKERS_REACHED\n* MAXIMUM_PRUNE_REQUESTS\n* MAXIMUM_GUILD_WIDGET_SETTINGS_UPDATE\n* UNAUTHORIZED\n* ACCOUNT_VERIFICATION_REQUIRED\n* DIRECT_MESSAGES_TOO_FAST\n* REQUEST_ENTITY_TOO_LARGE\n* FEATURE_TEMPORARILY_DISABLED\n* USER_BANNED\n* TARGET_USER_NOT_CONNECTED_TO_VOICE\n* ALREADY_CROSSPOSTED\n* MISSING_ACCESS\n* INVALID_ACCOUNT_TYPE\n* CANNOT_EXECUTE_ON_DM\n* EMBED_DISABLED\n* CANNOT_EDIT_MESSAGE_BY_OTHER\n* CANNOT_SEND_EMPTY_MESSAGE\n* CANNOT_MESSAGE_USER\n* CANNOT_SEND_MESSAGES_IN_VOICE_CHANNEL\n* CHANNEL_VERIFICATION_LEVEL_TOO_HIGH\n* OAUTH2_APPLICATION_BOT_ABSENT\n* MAXIMUM_OAUTH2_APPLICATIONS\n* INVALID_OAUTH_STATE\n* MISSING_PERMISSIONS\n* INVALID_AUTHENTICATION_TOKEN\n* NOTE_TOO_LONG\n* INVALID_BULK_DELETE_QUANTITY\n* CANNOT_PIN_MESSAGE_IN_OTHER_CHANNEL\n* INVALID_OR_TAKEN_INVITE_CODE\n* CANNOT_EXECUTE_ON_SYSTEM_MESSAGE\n* CANNOT_EXECUTE_ON_CHANNEL_TYPE\n* INVALID_OAUTH_TOKEN\n* MISSING_OAUTH_SCOPE\n* INVALID_WEBHOOK_TOKEN\n* INVALID_ROLE\n* INVALID_RECIPIENTS\n* BULK_DELETE_MESSAGE_TOO_OLD\n* INVALID_FORM_BODY\n* INVITE_ACCEPTED_TO_GUILD_NOT_CONTAINING_BOT\n* INVALID_API_VERSION\n* FILE_UPLOADED_EXCEEDS_MAXIMUM_SIZE\n* INVALID_FILE_UPLOADED\n* CANNOT_SELF_REDEEM_GIFT\n* INVALID_GUILD\n* INVALID_MESSAGE_TYPE\n* PAYMENT_SOURCE_REQUIRED\n* CANNOT_DELETE_COMMUNITY_REQUIRED_CHANNEL\n* INVALID_STICKER_SENT\n* INVALID_OPERATION_ON_ARCHIVED_THREAD\n* INVALID_THREAD_NOTIFICATION_SETTINGS\n* PARAMETER_EARLIER_THAN_CREATION\n* GUILD_NOT_AVAILABLE_IN_LOCATION\n* GUILD_MONETIZATION_REQUIRED\n* INSUFFICIENT_BOOSTS\n* INVALID_JSON\n* TWO_FACTOR_REQUIRED\n* NO_USERS_WITH_DISCORDTAG_EXIST\n* REACTION_BLOCKED\n* RESOURCE_OVERLOADED\n* STAGE_ALREADY_OPEN\n* CANNOT_REPLY_WITHOUT_READ_MESSAGE_HISTORY_PERMISSION\n* MESSAGE_ALREADY_HAS_THREAD\n* THREAD_LOCKED\n* MAXIMUM_ACTIVE_THREADS\n* MAXIMUM_ACTIVE_ANNOUNCEMENT_THREADS\n* INVALID_JSON_FOR_UPLOADED_LOTTIE_FILE\n* UPLOADED_LOTTIES_CANNOT_CONTAIN_RASTERIZED_IMAGES\n* STICKER_MAXIMUM_FRAMERATE_EXCEEDED\n* STICKER_FRAME_COUNT_EXCEEDS_MAXIMUM_OF_1000_FRAMES\n* LOTTIE_ANIMATION_MAXIMUM_DIMENSIONS_EXCEEDED\n* STICKER_FRAME_RATE_IS_TOO_SMALL_OR_TOO_LARGE\n* STICKER_ANIMATION_DURATION_EXCEEDS_MAXIMUM_OF_5_SECONDS\n* CANNOT_UPDATE_A_FINISHED_EVENT\n* FAILED_TO_CREATE_STAGE_NEEDED_FOR_STAGE_EVENT","see":["{@link https://discord.com/developers/docs/topics/opcodes-and-status-codes#json-json-error-codes}","{@link https://gist.github.com/Dziurwa14/de2498e5ee28d2089f095aa037957cbb}"],"type":[[["string"]]],"meta":{"line":1007,"file":"Constants.js","path":"src/util"}},{"name":"DefaultMessageNotificationLevel","description":"The value set for a guild's default message notifications, e.g. `ALL_MESSAGES`. Here are the available types:\n* ALL_MESSAGES\n* ONLY_MENTIONS","see":["{@link https://discord.com/developers/docs/resources/guild#guild-object-default-message-notification-level}"],"type":[[["string"]]],"meta":{"line":1312,"file":"Constants.js","path":"src/util"}},{"name":"MembershipState","description":"The value set for a team member's membership state:\n* INVITED\n* ACCEPTED","see":["{@link https://discord.com/developers/docs/topics/teams#data-models-membership-state-enum}"],"type":[[["string"]]],"meta":{"line":1321,"file":"Constants.js","path":"src/util"}},{"name":"WebhookType","description":"The value set for a webhook's type:\n* Incoming\n* Channel Follower\n* Application","see":["{@link https://discord.com/developers/docs/resources/webhook#webhook-object-webhook-types}"],"type":[[["string"]]],"meta":{"line":1330,"file":"Constants.js","path":"src/util"}},{"name":"StickerType","description":"The value set for a sticker's type:\n* STANDARD\n* GUILD","see":["{@link https://discord.com/developers/docs/resources/sticker#sticker-object-sticker-types}"],"type":[[["string"]]],"meta":{"line":1340,"file":"Constants.js","path":"src/util"}},{"name":"StickerFormatType","description":"The value set for a sticker's format type:\n* PNG\n* APNG\n* LOTTIE\n* GIF","see":["{@link https://discord.com/developers/docs/resources/sticker#sticker-object-sticker-format-types}"],"type":[[["string"]]],"meta":{"line":1349,"file":"Constants.js","path":"src/util"}},{"name":"OverwriteType","description":"An overwrite type:\n* role\n* member","see":["{@link https://discord.com/developers/docs/resources/channel#overwrite-object-overwrite-structure}"],"type":[[["string"]]],"meta":{"line":1360,"file":"Constants.js","path":"src/util"}},{"name":"ApplicationCommandType","description":"The type of an {@link ApplicationCommand} object:\n* CHAT_INPUT\n* USER\n* MESSAGE","see":["{@link https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-types}"],"type":[[["string"]]],"meta":{"line":1370,"file":"Constants.js","path":"src/util"}},{"name":"ApplicationCommandOptionType","description":"The type of an {@link ApplicationCommandOption} object:\n* SUB_COMMAND\n* SUB_COMMAND_GROUP\n* STRING\n* INTEGER\n* BOOLEAN\n* USER\n* CHANNEL\n* ROLE\n* MENTIONABLE\n* NUMBER\n* ATTACHMENT","see":["{@link https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-option-type}"],"type":[[["string"]]],"meta":{"line":1380,"file":"Constants.js","path":"src/util"}},{"name":"ApplicationCommandPermissionType","description":"The type of an {@link ApplicationCommandPermissions} object:\n* ROLE\n* USER","see":["{@link https://discord.com/developers/docs/interactions/application-commands#application-command-permissions-object-application-command-permission-type}"],"type":[[["string"]]],"meta":{"line":1411,"file":"Constants.js","path":"src/util"}},{"name":"ApplicationRoleConnectionMetadataType","description":"Each metadata type offers a comparison operation that allows\nguilds to configure role requirements based on metadata values stored by the bot.\nBots specify a metadata value for each user and guilds specify\nthe required guild's configured value within the guild role settings.\nAll available channel types:\n* INTEGER_LESS_THAN_OR_EQUAL\n* INTEGER_GREATER_THAN_OR_EQUAL\n* INTEGER_EQUAL\n* INTEGER_NOT_EQUAL\n* DATATIME_LESS_THAN_OR_EQUAL\n* DATATIME_GREATER_THAN_OR_EQUAL\n* BOOLEAN_EQUAL\n* BOOLEAN_NOT_EQUAL","type":[[["string"]]],"meta":{"line":1420,"file":"Constants.js","path":"src/util"}},{"name":"AutoModerationRuleTriggerType","description":"The type of an {@link AutoModerationRuleTriggerTypes} object:\n* KEYWORD\n* SPAM\n* KEYWORD_PRESET\n* MENTION_SPAM","see":["{@link https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-rule-object-trigger-types}"],"type":[[["string"]]],"meta":{"line":1449,"file":"Constants.js","path":"src/util"}},{"name":"AutoModerationRuleKeywordPresetType","description":"The type of an {@link AutoModerationRuleKeywordPresetTypes} object:\n* KEYWORD\n* SPAM\n* KEYWORD_PRESET\n* MENTION_SPAM","see":["{@link https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-rule-object-keyword-preset-types}"],"type":[[["string"]]],"meta":{"line":1460,"file":"Constants.js","path":"src/util"}},{"name":"AutoModerationActionType","description":"The type of an {@link AutoModerationActionTypes} object:\n* BLOCK_MESSAGE\n* SEND_ALERT_MESSAGE\n* TIMEOUT","see":["{@link https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-action-object-action-types}"],"type":[[["string"]]],"meta":{"line":1470,"file":"Constants.js","path":"src/util"}},{"name":"AutoModerationRuleEventType","description":"The type of an {@link AutoModerationRuleEventTypes} object:\n* MESSAGE_SEND","see":["{@link https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-rule-object-event-types}"],"type":[[["string"]]],"meta":{"line":1480,"file":"Constants.js","path":"src/util"}},{"name":"InteractionType","description":"The type of an {@link Interaction} object:\n* PING\n* APPLICATION_COMMAND\n* MESSAGE_COMPONENT\n* APPLICATION_COMMAND_AUTOCOMPLETE\n* MODAL_SUBMIT","see":["{@link https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-type}"],"type":[[["string"]]],"meta":{"line":1488,"file":"Constants.js","path":"src/util"}},{"name":"InteractionResponseType","description":"The type of an interaction response:\n* PONG\n* CHANNEL_MESSAGE_WITH_SOURCE\n* DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE\n* DEFERRED_MESSAGE_UPDATE\n* UPDATE_MESSAGE\n* APPLICATION_COMMAND_AUTOCOMPLETE_RESULT\n* MODAL","see":["{@link https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-response-object-interaction-callback-type}"],"type":[[["string"]]],"meta":{"line":1507,"file":"Constants.js","path":"src/util"}},{"name":"MessageComponentType","description":"The type of a message component\n* ACTION_ROW\n* BUTTON\n* STRING_SELECT\n* TEXT_INPUT\n* USER_SELECT\n* ROLE_SELECT\n* MENTIONABLE_SELECT\n* CHANNEL_SELECT","see":["{@link https://discord.com/developers/docs/interactions/message-components#component-object-component-types}"],"type":[[["string"]]],"meta":{"line":1532,"file":"Constants.js","path":"src/util"}},{"name":"SelectMenuComponentType","description":"The types of components that are select menus. The available types are:\n* STRING_MENU\n* USER_SELECT\n* ROLE_SELECT\n* MENTIONABLE_SELECT\n* CHANNEL_SELECT","see":["{@link https://discord.com/developers/docs/interactions/message-components#component-object-component-types}"],"type":[[["string"]]],"meta":{"line":1557,"file":"Constants.js","path":"src/util"}},{"name":"MessageButtonStyle","description":"The style of a message button\n* PRIMARY\n* SECONDARY\n* SUCCESS\n* DANGER\n* LINK","see":["{@link https://discord.com/developers/docs/interactions/message-components#button-object-button-styles}"],"type":[[["string"]]],"meta":{"line":1577,"file":"Constants.js","path":"src/util"}},{"name":"MFALevel","description":"The required MFA level for a guild\n* NONE\n* ELEVATED","see":["{@link https://discord.com/developers/docs/resources/guild#guild-object-mfa-level}"],"type":[[["string"]]],"meta":{"line":1589,"file":"Constants.js","path":"src/util"}},{"name":"NSFWLevel","description":"NSFW level of a Guild:\n* DEFAULT\n* EXPLICIT\n* SAFE\n* AGE_RESTRICTED","see":["{@link https://discord.com/developers/docs/resources/guild#guild-object-guild-nsfw-level}"],"type":[[["string"]]],"meta":{"line":1598,"file":"Constants.js","path":"src/util"}},{"name":"PrivacyLevel","description":"Privacy level of a {@link StageInstance} object:\n* PUBLIC\n* GUILD_ONLY","see":["{@link https://discord.com/developers/docs/resources/stage-instance#stage-instance-object-privacy-level}"],"type":[[["string"]]],"meta":{"line":1609,"file":"Constants.js","path":"src/util"}},{"name":"TextInputStyle","description":"The style of a text input component\n* SHORT\n* PARAGRAPH","see":["{@link https://discord.com/developers/docs/interactions/message-components#text-inputs-text-input-styles}"],"type":[[["string"]]],"meta":{"line":1618,"file":"Constants.js","path":"src/util"}},{"name":"GuildScheduledEventPrivacyLevel","description":"Privacy level of a {@link GuildScheduledEvent} object:\n* GUILD_ONLY","see":["{@link https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-privacy-level}"],"type":[[["string"]]],"meta":{"line":1627,"file":"Constants.js","path":"src/util"}},{"name":"PremiumTier","description":"The premium tier (Server Boost level) of a guild:\n* NONE\n* TIER_1\n* TIER_2\n* TIER_3","see":["{@link https://discord.com/developers/docs/resources/guild#guild-object-premium-tier}"],"type":[[["string"]]],"meta":{"line":1635,"file":"Constants.js","path":"src/util"}},{"name":"GuildScheduledEventStatus","description":"The status of a {@link GuildScheduledEvent}:\n* SCHEDULED\n* ACTIVE\n* COMPLETED\n* CANCELED","see":["{@link https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-status}"],"type":[[["string"]]],"meta":{"line":1646,"file":"Constants.js","path":"src/util"}},{"name":"GuildScheduledEventEntityType","description":"The entity type of a {@link GuildScheduledEvent}:\n* NONE\n* STAGE_INSTANCE\n* VOICE\n* EXTERNAL","see":["{@link https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-entity-types}"],"type":[[["string"]]],"meta":{"line":1657,"file":"Constants.js","path":"src/util"}},{"name":"VideoQualityMode","description":"The camera video quality mode of a {@link VoiceChannel}:\n* AUTO\n* FULL","see":["{@link https://discord.com/developers/docs/resources/channel#channel-object-video-quality-modes}"],"type":[[["string"]]],"meta":{"line":1669,"file":"Constants.js","path":"src/util"}},{"name":"SortOrderType","description":"Sort {@link ForumChannel} posts by creation time or activity\n* LATEST_ACTIVITY\n* CREATION_DATE","see":["{@link https://discord.com/developers/docs/resources/channel/#channel-object-sort-order-types}"],"type":[[["string"]]],"meta":{"line":1678,"file":"Constants.js","path":"src/util"}},{"name":"ForumLayoutType","description":"The default forum layout to set on the {@link ForumChannel}\n* NOT_SET\n* LIST_VIEW\n* GALLERY_VIEW","see":["{@link https://discord.com/developers/docs/resources/channel/#channel-object-forum-layout-types}"],"type":[[["string"]]],"meta":{"line":1687,"file":"Constants.js","path":"src/util"}},{"name":"MessagePollLayoutType","description":"Different layouts for {@link MessagePoll} will come in the future. For now though, this value will always be `DEFAULT`.\n* DEFAULT\n* IMAGE_ONLY_ANSWERS","see":["{@link https://docs.discord.sex/resources/message#poll-layout-type}"],"type":[[["string"]]],"meta":{"line":1697,"file":"Constants.js","path":"src/util"}},{"name":"RelationshipType","description":"Relationship Enums:\n* 0: NONE\n* 1: FRIEND\n* 2: BLOCKED\n* 3: PENDING_INCOMING\n* 4: PENDING_OUTGOING\n* 5: IMPLICIT","see":["{@link https://luna.gitlab.io/discord-unofficial-docs/relationships.html}"],"type":[[["string"]]],"meta":{"line":1706,"file":"Constants.js","path":"src/util"}},{"name":"GuildTemplateResolvable","description":"Data that can be resolved to give a template code. This can be:\n* A template code\n* A template URL","type":[[["string"]]],"meta":{"line":23,"file":"DataResolver.js","path":"src/util"}},{"name":"Base64Resolvable","description":"Data that resolves to give a Base64 string, typically for image uploading. This can be:\n* A Buffer\n* A base64 string","type":[[["Buffer"]],[["string"]]],"meta":{"line":73,"file":"DataResolver.js","path":"src/util"}},{"name":"BufferResolvable","description":"Data that can be resolved to give a Buffer. This can be:\n* A Buffer\n* The path to a local file\n* A URL When provided a URL, discord.js will fetch the URL internally in order to create a Buffer.\nThis can pose a security risk when the URL has not been sanitized","type":[[["string"]],[["Buffer"]]],"meta":{"line":90,"file":"DataResolver.js","path":"src/util"}},{"name":"TimestampStylesString","description":"A message formatting timestamp style, as defined in\n[here](https://discord.com/developers/docs/reference#message-formatting-timestamp-styles).\n* `t` Short time format, consisting of hours and minutes, e.g. 16:20.\n* `T` Long time format, consisting of hours, minutes, and seconds, e.g. 16:20:30.\n* `d` Short date format, consisting of day, month, and year, e.g. 20/04/2021.\n* `D` Long date format, consisting of day, month, and year, e.g. 20 April 2021.\n* `f` Short date-time format, consisting of short date and short time formats, e.g. 20 April 2021 16:20.\n* `F` Long date-time format, consisting of long date and short time formats, e.g. Tuesday, 20 April 2021 16:20.\n* `R` Relative time format, consisting of a relative duration format, e.g. 2 months ago.","type":[[["string"]]],"meta":{"line":189,"file":"Formatters.js","path":"src/util"}},{"name":"GuildMemberFlagsResolvable","description":"Data that can be resolved to give a guild member flag bitfield. This can be:\n* A string (see {@link GuildMemberFlags.FLAGS})\n* A guild member flag\n* An instance of GuildMemberFlags\n* An Array of GuildMemberFlagsResolvable","type":[[["string"]],[["number"]],[["GuildMemberFlags"]],[["Array","<"],["GuildMemberFlagsResolvable",">"]]],"meta":{"line":34,"file":"GuildMemberFlags.js","path":"src/util"}},{"name":"IntentsResolvable","description":"Data that can be resolved to give a permission number. This can be:\n* A string (see {@link Intents.FLAGS})\n* An intents flag\n* An instance of Intents\n* An array of IntentsResolvable","type":[[["string"]],[["number"]],[["Intents"]],[["Array","<"],["IntentsResolvable",">"]]],"meta":{"line":17,"file":"Intents.js","path":"src/util"}},{"name":"SweepFilter","type":[[["function"]]],"params":[{"name":"collection","description":"The collection being swept","type":[[["LimitedCollection"]]]}],"returns":{"types":[[["function"]],[["null"]]],"description":"Return `null` to skip sweeping, otherwise a function passed to `sweep()`,\nSee {@link [Collection#sweep](https://discord.js.org/docs/packages/collection/stable/Collection:Class#sweep)}\nfor the definition of this function."},"meta":{"line":9,"file":"LimitedCollection.js","path":"src/util"}},{"name":"LimitedCollectionOptions","description":"Options for defining the behavior of a LimitedCollection","type":[[["Object"]]],"props":[{"name":"maxSize","description":"The maximum size of the Collection","optional":true,"default":"Infinity","nullable":true,"type":[[["number"]]]},{"name":"keepOverLimit","description":"A function, which is passed the value and key of an entry, ran to decide\nto keep an entry past the maximum size","optional":true,"default":null,"nullable":true,"type":[[["function"]]]},{"name":"sweepFilter","description":"DEPRECATED: There is no direct alternative to this,\nhowever most of its purpose is fulfilled by {@link Client#sweepers}\nA function ran every `sweepInterval` to determine how to sweep","optional":true,"default":null,"nullable":true,"type":[[["SweepFilter"]]]},{"name":"sweepInterval","description":"DEPRECATED: There is no direct alternative to this,\nhowever most of its purpose is fulfilled by {@link Client#sweepers}\nHow frequently, in seconds, to sweep the collection.","optional":true,"default":0,"nullable":true,"type":[[["number"]]]}],"meta":{"line":17,"file":"LimitedCollection.js","path":"src/util"}},{"name":"RateLimitData","description":"Rate limit data","type":[[["Object"]]],"props":[{"name":"timeout","description":"Time until this rate limit ends, in milliseconds","type":[[["number"]]]},{"name":"limit","description":"The maximum amount of requests of this endpoint","type":[[["number"]]]},{"name":"method","description":"The HTTP method of this request","type":[[["string"]]]},{"name":"path","description":"The path of the request relative to the HTTP endpoint","type":[[["string"]]]},{"name":"route","description":"The route of the request relative to the HTTP endpoint","type":[[["string"]]]},{"name":"global","description":"Whether this is a global rate limit","type":[[["boolean"]]]}],"meta":{"line":6,"file":"Options.js","path":"src/util"}},{"name":"RateLimitQueueFilter","description":"Whether this rate limit should throw an Error","type":[[["function"]]],"params":[{"name":"rateLimitData","description":"The data of this rate limit","type":[[["RateLimitData"]]]}],"returns":[[["boolean"]],[["Promise","<"],["boolean",">"]]],"meta":{"line":17,"file":"Options.js","path":"src/util"}},{"name":"CacheFactory","type":[[["function"]]],"params":[{"name":"manager","description":"The manager class the cache is being requested from.","type":[[["function"]]]},{"name":"holds","description":"The class that the cache will hold.","type":[[["function"]]]}],"returns":{"types":[[["Collection"]]],"description":"A Collection used to store the cache of the manager."},"meta":{"line":24,"file":"Options.js","path":"src/util"}},{"name":"CaptchaSolver","type":[[["function"]]],"params":[{"name":"captcha","description":"Discord Captcha","type":[[["Captcha"]]]},{"name":"UserAgent","description":"Current UserAgent","type":[[["string"]]]}],"returns":{"types":[[["Promise","<"],["string",">"]]],"description":"HCaptcha Token"},"meta":{"line":31,"file":"Options.js","path":"src/util"}},{"name":"ClientOptions","description":"Options for a client.","type":[[["Object"]]],"props":[{"name":"DMChannelVoiceStatusSync","description":"The amount of time in milliseconds that the Client to register the event with each DM channel (0=Disable)","optional":true,"default":0,"type":[[["number"]]]},{"name":"captchaRetryLimit","description":"Captcha retry limit","optional":true,"default":3,"type":[[["number"]]]},{"name":"captchaSolver","description":"Captcha Solver","optional":true,"type":[[["CaptchaSolver"]]]},{"name":"closeTimeout","description":"The amount of time in milliseconds to wait for the close frame to be received\nfrom the WebSocket.\nDon't have this too high/low. It's best to have it between 2000-6000 ms.\n(e.g. recommended shard count, shard count of the ShardingManager)","optional":true,"default":5000,"type":[[["number"]]]},{"name":"makeCache","description":"Function to create a cache.\nYou can use your own function, or the {@link Options} class to customize the Collection used for the cache.\nOverriding the cache used in `GuildManager`, `ChannelManager`, `GuildChannelManager`, `RoleManager`,\nand `PermissionOverwriteManager` is unsupported and **will** break functionality","optional":true,"type":[[["CacheFactory"]]]},{"name":"messageCacheLifetime","description":"DEPRECATED: Pass `lifetime` to `sweepers.messages` instead.\nHow long a message should stay in the cache until it is considered sweepable (in seconds, 0 for forever)","optional":true,"default":0,"type":[[["number"]]]},{"name":"messageSweepInterval","description":"DEPRECATED: Pass `interval` to `sweepers.messages` instead.\nHow frequently to remove messages from the cache that are older than the message cache lifetime\n(in seconds, 0 for never)","optional":true,"default":0,"type":[[["number"]]]},{"name":"allowedMentions","description":"Default value for {@link MessageOptions#allowedMentions}","optional":true,"type":[[["MessageMentionOptions"]]]},{"name":"invalidRequestWarningInterval","description":"The number of invalid REST requests (those that return\n401, 403, or 429) in a 10 minute window between emitted warnings (0 for no warnings). That is, if set to 500,\nwarnings will be emitted at invalid request number 500, 1000, 1500, and so on.","optional":true,"default":0,"type":[[["number"]]]},{"name":"partials","description":"Structures allowed to be partial. This means events can be emitted even when\nthey're missing all the data for a particular structure. See the \"Partial Structures\" topic on the\n[guide](https://discordjs.guide/popular-topics/partials.html) for some\nimportant usage information, as partials require you to put checks in place when handling data.","optional":true,"default":"['USER', 'CHANNEL', 'GUILD_MEMBER', 'MESSAGE', 'REACTION', 'GUILD_SCHEDULED_EVENT']","type":[[["Array","<"],["PartialType",">"]]]},{"name":"restWsBridgeTimeout","description":"Maximum time permitted between REST responses and their\ncorresponding WebSocket events","optional":true,"default":5000,"type":[[["number"]]]},{"name":"restTimeOffset","description":"Extra time in milliseconds to wait before continuing to make REST\nrequests (higher values will reduce rate-limiting errors on bad connections)","optional":true,"default":500,"type":[[["number"]]]},{"name":"restRequestTimeout","description":"Time to wait before cancelling a REST request, in milliseconds","optional":true,"default":15000,"type":[[["number"]]]},{"name":"restSweepInterval","description":"How frequently to delete inactive request buckets, in seconds\n(or 0 for never)","optional":true,"default":60,"type":[[["number"]]]},{"name":"restGlobalRateLimit","description":"How many requests to allow sending per second (0 for unlimited, 50 for\nthe standard global limit used by Discord)","optional":true,"default":0,"type":[[["number"]]]},{"name":"rejectOnRateLimit","description":"Decides how rate limits and pre-emptive throttles\nshould be handled. If this option is an array containing the prefix of the request route (e.g. /channels to match any\nroute starting with /channels, such as /channels/222197033908436994/messages) or a function returning true, a\n{@link RateLimitError} will be thrown. Otherwise the request will be queued for later","optional":true,"type":[[["Array","<"],["string",">"]],[["RateLimitQueueFilter"]]]},{"name":"retryLimit","description":"How many times to retry on 5XX errors\n(Infinity for an indefinite amount of retries)","optional":true,"default":1,"type":[[["number"]]]},{"name":"failIfNotExists","description":"Default value for {@link ReplyMessageOptions#failIfNotExists}","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"presence","description":"Presence data to use upon login","optional":true,"default":"{ status: 'online', since: 0, activities: [], afk: false }","type":[[["PresenceData"]]]},{"name":"waitGuildTimeout","description":"Time in milliseconds that Clients with the GUILDS intent should wait for\nmissing guilds to be received before starting the bot. If not specified, the default is 15 seconds.","optional":true,"default":"15_000","type":[[["number"]]]},{"name":"sweepers","description":"Options for cache sweeping","optional":true,"default":"{}","type":[[["SweeperOptions"]]]},{"name":"ws","description":"Options for the WebSocket","optional":true,"type":[[["WebsocketOptions"]]]},{"name":"http","description":"HTTP options","optional":true,"type":[[["HTTPOptions"]]]}],"meta":{"line":49,"file":"Options.js","path":"src/util"}},{"name":"SweeperOptions","description":"Options for {@link Sweepers} defining the behavior of cache sweeping","type":[[["Object","<"],["SweeperKey",", "],["SweepOptions",">"]]],"meta":{"line":100,"file":"Options.js","path":"src/util"}},{"name":"SweepOptions","description":"Options for sweeping a single type of item from cache","type":[[["Object"]]],"props":[{"name":"interval","description":"The interval (in seconds) at which to perform sweeping of the item","type":[[["number"]]]},{"name":"lifetime","description":"How long an item should stay in cache until it is considered sweepable.\nThis property is only valid for the `invites`, `messages`, and `threads` keys. The `filter` property\nis mutually exclusive to this property and takes priority","optional":true,"type":[[["number"]]]},{"name":"filter","description":"The function used to determine the function passed to the sweep method\nThis property is optional when the key is `invites`, `messages`, or `threads` and `lifetime` is set","type":[[["GlobalSweepFilter"]]]}],"meta":{"line":105,"file":"Options.js","path":"src/util"}},{"name":"WebsocketOptions","description":"WebSocket options (these are left as snake_case to match the API)","type":[[["Object"]]],"props":[{"name":"agent","description":"HTTPS Agent options (WS Proxy)","optional":true,"default":"{}","type":[[["AgentOptions"]]]},{"name":"compress","description":"Whether to compress data sent on the connection","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"properties","description":"Properties to identify the client with","optional":true,"type":[[["WebSocketProperties"]]]}],"meta":{"line":116,"file":"Options.js","path":"src/util"}},{"name":"AgentOptions","description":"HTTPS Agent options.","see":["{@link https://nodejs.org/api/https.html#https_class_https_agent}","{@link https://nodejs.org/api/http.html#http_new_agent_options}"],"type":[[["Object"]]],"meta":{"line":124,"file":"Options.js","path":"src/util"}},{"name":"HTTPOptions","description":"HTTP options","type":[[["Object"]]],"props":[{"name":"version","description":"API version to use","optional":true,"default":9,"type":[[["number"]]]},{"name":"agent","description":"HTTPS Agent options","optional":true,"default":"{}","type":[[["AgentOptions"]]]},{"name":"api","description":"Base URL of the API","optional":true,"default":"'https://discord.com/api'","type":[[["string"]]]},{"name":"cdn","description":"Base URL of the CDN","optional":true,"default":"'https://cdn.discordapp.com'","type":[[["string"]]]},{"name":"invite","description":"Base URL of invites","optional":true,"default":"'https://discord.gg'","type":[[["string"]]]},{"name":"template","description":"Base URL of templates","optional":true,"default":"'https://discord.new'","type":[[["string"]]]},{"name":"headers","description":"Additional headers to send for all API requests","optional":true,"type":[[["Object"]]]},{"name":"scheduledEvent","description":"Base URL of guild scheduled events","optional":true,"default":"'https://discord.com/events'","type":[[["string"]]]}],"meta":{"line":131,"file":"Options.js","path":"src/util"}},{"name":"PermissionResolvable","description":"Data that can be resolved to give a permission number. This can be:\n* A string (see {@link Permissions.FLAGS})\n* A permission number\n* An instance of Permissions\n* An Array of PermissionResolvable","type":[[["string"]],[["bigint"]],[["Permissions"]],[["Array","<"],["PermissionResolvable",">"]]],"meta":{"line":18,"file":"Permissions.js","path":"src/util"}},{"name":"UserRaw","type":[[["Object"]]],"props":[{"name":"id","type":[[["Snowflake"]]]},{"name":"username","type":[[["string"]]]},{"name":"discriminator","type":[[["number"]]]},{"name":"avatar","type":[[["string"]]]}],"meta":{"line":260,"file":"RemoteAuth.js","path":"src/util"}},{"name":"RoleFlagsResolvable","description":"Data that can be resolved to give a role flag bitfield. This can be:\n* A string (see {@link RoleFlags.FLAGS})\n* A role flag\n* An instance of RoleFlags\n* An Array of RoleFlagsResolvable","type":[[["string"]],[["number"]],[["RoleFlags"]],[["Array","<"],["RoleFlagsResolvable",">"]]],"meta":{"line":28,"file":"RoleFlags.js","path":"src/util"}},{"name":"Snowflake","description":"A {@link https://developer.twitter.com/en/docs/twitter-ids Twitter snowflake},\nexcept the epoch is 2015-01-01T00:00:00.000Z.\n\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n```\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of milliseconds since Discord epoch worker pid increment\n```","type":[[["string"]]],"meta":{"line":11,"file":"SnowflakeUtil.js","path":"src/util"}},{"name":"DeconstructedSnowflake","description":"A deconstructed snowflake.","type":[[["Object"]]],"props":[{"name":"timestamp","description":"Timestamp the snowflake was created","type":[[["number"]]]},{"name":"date","description":"Date the snowflake was created","type":[[["Date"]]]},{"name":"workerId","description":"The worker's id in the snowflake","type":[[["number"]]]},{"name":"processId","description":"The process's id in the snowflake","type":[[["number"]]]},{"name":"increment","description":"Increment in the snowflake","type":[[["number"]]]},{"name":"binary","description":"Binary representation of the snowflake","type":[[["string"]]]}],"meta":{"line":43,"file":"SnowflakeUtil.js","path":"src/util"}},{"name":"GlobalSweepFilter","type":[[["function"]]],"returns":{"types":[[["function"]],[["null"]]],"description":"Return `null` to skip sweeping, otherwise a function passed to `sweep()`,\nSee {@link [Collection#sweep](https://discord.js.org/docs/packages/collection/stable/Collection:Class#sweep)}\nfor the definition of this function."},"meta":{"line":7,"file":"Sweepers.js","path":"src/util"}},{"name":"LifetimeFilterOptions","description":"Options for generating a filter function based on lifetime","type":[[["Object"]]],"props":[{"name":"lifetime","description":"How long, in seconds, an entry should stay in the collection\nbefore it is considered sweepable.","optional":true,"default":14400,"type":[[["number"]]]},{"name":"getComparisonTimestamp","description":"A function that takes an entry, key,\nand the collection and returns a timestamp to compare against in order to determine the lifetime of the entry.","optional":true,"default":"e => e?.createdTimestamp","type":[[["function"]]]},{"name":"excludeFromSweep","description":"A function that takes an entry, key, and the collection\nand returns a boolean, `true` when the entry should not be checked for sweepability.","optional":true,"default":"() => false","type":[[["function"]]]}],"meta":{"line":303,"file":"Sweepers.js","path":"src/util"}},{"name":"SweepEventOptions","description":"Configuration options for emitting the cache sweep client event","access":"private","type":[[["Object"]]],"props":[{"name":"emit","description":"Whether to emit the client event in this method","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"outputName","description":"A name to output in the client event if it should differ from the key","optional":true,"type":[[["string"]]]}],"meta":{"line":385,"file":"Sweepers.js","path":"src/util"}},{"name":"SystemChannelFlagsResolvable","description":"Data that can be resolved to give a system channel flag bitfield. This can be:\n* A string (see {@link SystemChannelFlags.FLAGS})\n* A system channel flag\n* An instance of SystemChannelFlags\n* An Array of SystemChannelFlagsResolvable","type":[[["string"]],[["number"]],[["SystemChannelFlags"]],[["Array","<"],["SystemChannelFlagsResolvable",">"]]],"meta":{"line":26,"file":"SystemChannelFlags.js","path":"src/util"}},{"name":"SplitOptions","description":"Options for splitting a message.","type":[[["Object"]]],"props":[{"name":"maxLength","description":"Maximum character length per message piece","optional":true,"default":2000,"type":[[["number"]]]},{"name":"char","description":"Character(s) or Regex(es) to split the message with,\nan array can be used to split multiple times","optional":true,"default":"'\\n'","type":[[["string"]],[["Array","<"],["string",">"]],[["RegExp"]],[["Array","<"],["RegExp",">"]]]},{"name":"prepend","description":"Text to prepend to every piece except the first","optional":true,"default":"''","type":[[["string"]]]},{"name":"append","description":"Text to append to every piece except the last","optional":true,"default":"''","type":[[["string"]]]}],"meta":{"line":71,"file":"Util.js","path":"src/util"}},{"name":"EscapeMarkdownOptions","description":"Options used to escape markdown.","type":[[["Object"]]],"props":[{"name":"codeBlock","description":"Whether to escape code blocks","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"inlineCode","description":"Whether to escape inline code","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"bold","description":"Whether to escape bolds","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"italic","description":"Whether to escape italics","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"underline","description":"Whether to escape underlines","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"strikethrough","description":"Whether to escape strikethroughs","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"spoiler","description":"Whether to escape spoilers","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"codeBlockContent","description":"Whether to escape text inside code blocks","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"inlineCodeContent","description":"Whether to escape text inside inline code","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"escape","description":"Whether to escape escape characters","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"heading","description":"Whether to escape headings","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"bulletedList","description":"Whether to escape bulleted lists","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"numberedList","description":"Whether to escape numbered lists","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"maskedLink","description":"Whether to escape masked links","optional":true,"default":false,"type":[[["boolean"]]]}],"meta":{"line":126,"file":"Util.js","path":"src/util"}},{"name":"FetchRecommendedShardsOptions","type":[[["Object"]]],"props":[{"name":"guildsPerShard","description":"Number of guilds assigned per shard","optional":true,"default":1000,"type":[[["number"]]]},{"name":"multipleOf","description":"The multiple the shard count should round up to. (16 for large bot sharding)","optional":true,"default":1,"type":[[["number"]]]}],"meta":{"line":353,"file":"Util.js","path":"src/util"}},{"name":"MakeErrorOptions","description":"Options used to make an error object.","type":[[["Object"]]],"props":[{"name":"name","description":"Error type","type":[[["string"]]]},{"name":"message","description":"Message for the error","type":[[["string"]]]},{"name":"stack","description":"Stack for the error","type":[[["string"]]]}],"meta":{"line":423,"file":"Util.js","path":"src/util"}},{"name":"ColorResolvable","description":"Can be a number, hex string, a {@link Color}, or an RGB array like:\n```js\n[255, 0, 255] // purple\n```","type":[[["string"]],[["Color"]],[["number"]],[["Array","<"],["number",">"]]],"meta":{"line":496,"file":"Util.js","path":"src/util"}}],"externals":[{"name":"Collection","see":["{@link https://discord.js.org/docs/packages/collection/stable/Collection:Class}"],"meta":{"line":833,"file":"Client.js","path":"src/client"}},{"name":"WritableStream","see":["{@link https://nodejs.org/api/stream.html#stream_class_stream_writable}"],"meta":{"line":15,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"Inflate","see":["{@link https://www.npmjs.com/package/zlib-sync}"],"meta":{"line":124,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"CloseEvent","see":["{@link https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent}"],"meta":{"line":353,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"ErrorEvent","see":["{@link https://developer.mozilla.org/en-US/docs/Web/API/ErrorEvent}"],"meta":{"line":358,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"MessageEvent","see":["{@link https://developer.mozilla.org/en-US/docs/Web/API/MessageEvent}"],"meta":{"line":363,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"SlashCommandBuilder","see":["{@link https://discord.js.org/docs/packages/builders/stable/SlashCommandBuilder:Class}"],"meta":{"line":256,"file":"ApplicationCommandManager.js","path":"src/managers"}},{"name":"ContextMenuCommandBuilder","see":["{@link https://discord.js.org/docs/packages/builders/stable/ContextMenuCommandBuilder:Class}"],"meta":{"line":261,"file":"ApplicationCommandManager.js","path":"src/managers"}},{"name":"APIApplicationCommandPermissions","see":["{@link https://discord.com/developers/docs/interactions/application-commands#application-command-permissions-object-application-command-permissions-structure}"],"meta":{"line":414,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"APIError","see":["{@link https://discord.com/developers/docs/reference#error-messages}"],"meta":{"line":101,"file":"DiscordAPIError.js","path":"src/rest"}},{"name":"HTTPMethod","see":["{@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods}"],"meta":{"line":436,"file":"RequestHandler.js","path":"src/rest"}},{"name":"Response","see":["{@link https://developer.mozilla.org/en-US/docs/Web/API/Response}"],"meta":{"line":441,"file":"RequestHandler.js","path":"src/rest"}},{"name":"APIApplicationCommand","see":["{@link https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-structure}"],"meta":{"line":585,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"APIApplicationCommandOption","see":["{@link https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-option-structure}"],"meta":{"line":590,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"APIInteractionDataResolved","see":["{@link https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-resolved-data-structure}"],"meta":{"line":208,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"APIChannel","see":["{@link https://discord.com/developers/docs/resources/channel#channel-object}"],"meta":{"line":267,"file":"Channel.js","path":"src/structures"}},{"name":"APIPresence","see":["{@link https://discord.com/developers/docs/rich-presence/how-to#updating-presence-update-presence-payload-fields}"],"meta":{"line":74,"file":"ClientPresence.js","path":"src/structures"}},{"name":"APIEmoji","see":["{@link https://discord.com/developers/docs/resources/emoji#emoji-object}"],"meta":{"line":145,"file":"Emoji.js","path":"src/structures"}},{"name":"APIGuild","see":["{@link https://discord.com/developers/docs/resources/guild#guild-object}"],"meta":{"line":1605,"file":"Guild.js","path":"src/structures"}},{"name":"APIGuildMember","see":["{@link https://discord.com/developers/docs/resources/guild#guild-member-object}"],"meta":{"line":565,"file":"GuildMember.js","path":"src/structures"}},{"name":"APIMessageComponent","see":["{@link https://discord.com/developers/docs/interactions/message-components#component-object}"],"meta":{"line":100,"file":"MessageActionRow.js","path":"src/structures"}},{"name":"APIAttachment","see":["{@link https://discord.com/developers/docs/resources/channel#attachment-object}"],"meta":{"line":201,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"APIMessageSelectMenu","see":["{@link https://discord.com/developers/docs/interactions/message-components#select-menu-object}"],"meta":{"line":112,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"APIMessageButton","see":["{@link https://discord.com/developers/docs/interactions/message-components#button-object}"],"meta":{"line":117,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"APIEmbed","see":["{@link https://discord.com/developers/docs/resources/channel#embed-object}"],"meta":{"line":583,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"APIMessage","see":["{@link https://discord.com/developers/docs/resources/channel#message-object}"],"meta":{"line":315,"file":"MessagePayload.js","path":"src/structures"}},{"name":"MessageActivityType","see":["{@link https://discord-api-types.dev/api/discord-api-types-v9/enum/MessageActivityType}"],"meta":{"line":16,"file":"Presence.js","path":"src/structures"}},{"name":"APIRole","see":["{@link https://discord.com/developers/docs/topics/permissions#role-object}"],"meta":{"line":528,"file":"Role.js","path":"src/structures"}},{"name":"APISticker","see":["{@link https://discord.com/developers/docs/resources/sticker#sticker-object}"],"meta":{"line":307,"file":"Sticker.js","path":"src/structures"}},{"name":"APIUser","see":["{@link https://discord.com/developers/docs/resources/user#user-object}"],"meta":{"line":540,"file":"User.js","path":"src/structures"}},{"name":"Stream","see":["{@link https://nodejs.org/api/stream.html}"],"meta":{"line":99,"file":"DataResolver.js","path":"src/util"}}]}
\ No newline at end of file
+{"meta":{"generator":"0.11.1","format":20,"date":1721827185536},"custom":{"general":{"name":"General","files":{"welcome":{"name":"Welcome","type":"md","content":"\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n## About\r\n\r\nWelcome to `discord.js-selfbot-v13@v3.3`, based on `discord.js@13.17`\r\n\r\n- discord.js-selfbot-v13 is a [Node.js](https://nodejs.org) module that allows user accounts to interact with the Discord API v9.\r\n\r\n\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n### I don't take any responsibility for blocked Discord accounts that used this module.\r\n### Using this on a user account is prohibited by the [Discord TOS](https://discord.com/terms) and can lead to the account block.\r\n\r\n## Project Status\r\n\r\n`discord.js-selfbot-v13` is currently in maintenance mode. New features are not actively being added but existing features and new versions of discord are supported as possible. There are some major architectural changes which need to be added to improve the stability and security of the project. I don't have as much spare time as I did when I started this project, so there is not currently any plan for these improvements.\r\n\r\n### [Document Website](https://discordjs-self-v13.netlify.app/)\r\n\r\n### [Example Code](https://github.com/aiko-chan-ai/discord.js-selfbot-v13/tree/main/examples)\r\n\r\n## Features (User)\r\n- [x] Message: Embeds (WebEmbed)\r\n- [x] User: Status, Activity, RemoteAuth, etc.\r\n- [X] Guild: Fetch Members, Join / Leave, Top emojis, ...\r\n- [X] Interactions: Slash Commands, Buttons, Menu, Modal\r\n- [X] Captcha Handler (2captcha, capmonster, custom)\r\n- [X] Documentation\r\n- [x] Voice & Video stream\r\n- [ ] Everything\r\n\r\n## Installation\r\n\r\n**Node.js 16.6.0 or newer is required**\r\n\r\n> Recommended Node.js version: 18+ (LTS)\r\n\r\n```sh-session\r\nnpm install discord.js-selfbot-v13@latest\r\n```\r\n\r\n## Example\r\n\r\n```js\r\nconst { Client } = require('discord.js-selfbot-v13');\r\nconst client = new Client();\r\n\r\nclient.on('ready', async () => {\r\n console.log(`${client.user.username} is ready!`);\r\n})\r\n\r\nclient.login('token');\r\n```\r\n\r\n## Get Token ?\r\n\r\nRun code (Discord Console - [Ctrl + Shift + I])\r\n\r\n```js\r\nwindow.webpackChunkdiscord_app.push([\r\n [Math.random()],\r\n {},\r\n req => {\r\n if (!req.c) return;\r\n for (const m of Object.keys(req.c)\r\n .map(x => req.c[x].exports)\r\n .filter(x => x)) {\r\n if (m.default && m.default.getToken !== undefined) {\r\n return copy(m.default.getToken());\r\n }\r\n if (m.getToken !== undefined) {\r\n return copy(m.getToken());\r\n }\r\n }\r\n },\r\n]);\r\nconsole.log('%cWorked!', 'font-size: 50px');\r\nconsole.log(`%cYou now have your token in the clipboard!`, 'font-size: 16px');\r\n```\r\n\r\n## Contributing\r\n\r\n- Before creating an issue, please ensure that it hasn't already been reported/suggested, and double-check the\r\n[documentation](https://discordjs-self-v13.netlify.app/). \r\n- See [the contribution guide](https://github.com/discordjs/discord.js/blob/main/.github/CONTRIBUTING.md) if you'd like to submit a PR.\r\n\r\n## Need help?\r\nGithub Discussion: [Here](https://github.com/aiko-chan-ai/discord.js-selfbot-v13/discussions)\r\n\r\n## Credits\r\n- [Discord.js](https://github.com/discordjs/discord.js)\r\n\r\n## Other project(s)\r\n\r\n- 📘 [***aiko-chan-ai/DiscordBotClient***](https://github.com/aiko-chan-ai/DiscordBotClient)
\r\n A patched version of discord, with bot login support\r\n\r\n## Star History\r\n\r\n[![Star History Chart](https://api.star-history.com/svg?repos=aiko-chan-ai/discord.js-selfbot-v13&type=Date)](https://star-history.com/#aiko-chan-ai/discord.js-selfbot-v13&Date)\r\n\r\n\r\n# From Github with love 💕\r\n","path":"README.md"}}}},"classes":[{"name":"BaseClient","description":"The base class for all clients.","extends":[[["EventEmitter"]]],"props":[{"name":"options","description":"The options the client was instantiated with","type":[[["ClientOptions"]]],"meta":{"line":25,"file":"BaseClient.js","path":"src/client"}},{"name":"rest","description":"The REST manager of the client","access":"private","type":[[["RESTManager"]]],"meta":{"line":32,"file":"BaseClient.js","path":"src/client"}},{"name":"api","description":"API shortcut","access":"private","readonly":true,"type":[[["Object"]]],"meta":{"line":41,"file":"BaseClient.js","path":"src/client"}}],"methods":[{"name":"destroy","description":"Destroys all assets used by the base client.","returns":[[["void"]]],"meta":{"line":49,"file":"BaseClient.js","path":"src/client"}},{"name":"incrementMaxListeners","description":"Increments max listeners by one, if they are not zero.","access":"private","meta":{"line":57,"file":"BaseClient.js","path":"src/client"}},{"name":"decrementMaxListeners","description":"Decrements max listeners by one, if they are not zero.","access":"private","meta":{"line":68,"file":"BaseClient.js","path":"src/client"}}],"events":[{"name":"debug","description":"Emitted for general debugging information.","params":[{"name":"info","description":"The debug information","type":[[["string"]]]}],"meta":{"line":82,"file":"BaseClient.js","path":"src/client"}},{"name":"rateLimit","description":"Emitted when the client hits a rate limit while making a request","params":[{"name":"rateLimitData","description":"Object containing the rate limit info","type":[[["RateLimitData"]]]}],"meta":{"line":138,"file":"RequestHandler.js","path":"src/rest"}},{"name":"apiRequest","description":"Emitted before every API request.\nThis event can emit several times for the same request, e.g. when hitting a rate limit.\nThis is an informational event that is emitted quite frequently,\nit is highly recommended to check `request.path` to filter the data.","params":[{"name":"request","description":"The request that is about to be sent","type":[[["APIRequest"]]]}],"meta":{"line":189,"file":"RequestHandler.js","path":"src/rest"}},{"name":"apiResponse","description":"Emitted after every API request has received a response.\nThis event does not necessarily correlate to completion of the request, e.g. when hitting a rate limit.\nThis is an informational event that is emitted quite frequently,\nit is highly recommended to check `request.path` to filter the data.","params":[{"name":"request","description":"The request that triggered this response","type":[[["APIRequest"]]]},{"name":"response","description":"The response received from the Discord API","type":[[["Response"]]]}],"meta":{"line":221,"file":"RequestHandler.js","path":"src/rest"}},{"name":"invalidRequestWarning","description":"Emitted periodically when the process sends invalid requests to let users avoid the\n10k invalid requests in 10 minutes threshold that causes a ban","params":[{"name":"invalidRequestWarningData","description":"Object containing the invalid request info","type":[[["InvalidRequestWarningData"]]]}],"meta":{"line":298,"file":"RequestHandler.js","path":"src/rest"}}],"meta":{"line":13,"file":"BaseClient.js","path":"src/client"}},{"name":"Client","description":"The main hub for interacting with the Discord API, and the starting point for any bot.","extends":[[["BaseClient"]]],"construct":{"name":"Client","params":[{"name":"options","description":"Options for the client","optional":true,"type":[[["ClientOptions"]]]}]},"props":[{"name":"_cleanups","description":"Functions called when a cache is garbage collected or the Client is destroyed","access":"private","type":[[["Set","<"],["function","()>"]]],"meta":{"line":58,"file":"Client.js","path":"src/client"}},{"name":"_finalizers","description":"The finalizers used to cleanup items.","access":"private","type":[[["FinalizationRegistry"]]],"meta":{"line":65,"file":"Client.js","path":"src/client"}},{"name":"ws","description":"The WebSocket manager of the client","type":[[["WebSocketManager"]]],"meta":{"line":71,"file":"Client.js","path":"src/client"}},{"name":"actions","description":"The action manager of the client","access":"private","type":[[["ActionsManager"]]],"meta":{"line":78,"file":"Client.js","path":"src/client"}},{"name":"voice","description":"The voice manager of the client","type":[[["ClientVoiceManager"]]],"meta":{"line":84,"file":"Client.js","path":"src/client"}},{"name":"voiceStates","description":"A manager of the voice states of this client (Support DM / Group DM)","type":[[["VoiceStateManager"]]],"meta":{"line":90,"file":"Client.js","path":"src/client"}},{"name":"shard","description":"Shard helpers for the client (only if the process was spawned from a {@link ShardingManager})","nullable":true,"type":[[["ShardClientUtil"]]],"meta":{"line":96,"file":"Client.js","path":"src/client"}},{"name":"users","description":"All of the {@link User} objects that have been cached at any point, mapped by their ids","type":[[["UserManager"]]],"meta":{"line":104,"file":"Client.js","path":"src/client"}},{"name":"guilds","description":"All of the guilds the client is currently handling, mapped by their ids -\nas long as sharding isn't being used, this will be *every* guild the bot is a member of","type":[[["GuildManager"]]],"meta":{"line":111,"file":"Client.js","path":"src/client"}},{"name":"channels","description":"All of the {@link Channel}s that the client is currently handling, mapped by their ids -\nas long as sharding isn't being used, this will be *every* channel in *every* guild the bot\nis a member of. Note that DM channels will not be initially cached, and thus not be present\nin the Manager without their explicit fetching or use.","type":[[["ChannelManager"]]],"meta":{"line":120,"file":"Client.js","path":"src/client"}},{"name":"sweepers","description":"The sweeping functions and their intervals used to periodically sweep caches","type":[[["Sweepers"]]],"meta":{"line":126,"file":"Client.js","path":"src/client"}},{"name":"presence","description":"The presence of the Client","access":"private","type":[[["ClientPresence"]]],"meta":{"line":133,"file":"Client.js","path":"src/client"}},{"name":"presences","description":"A manager of the presences belonging to this client","type":[[["PresenceManager"]]],"meta":{"line":139,"file":"Client.js","path":"src/client"}},{"name":"notes","description":"All of the note that have been cached at any point, mapped by their ids","type":[[["UserManager"]]],"meta":{"line":145,"file":"Client.js","path":"src/client"}},{"name":"relationships","description":"All of the relationships {@link User}","type":[[["RelationshipManager"]]],"meta":{"line":151,"file":"Client.js","path":"src/client"}},{"name":"billing","description":"Manages the API methods","type":[[["BillingManager"]]],"meta":{"line":157,"file":"Client.js","path":"src/client"}},{"name":"settings","description":"All of the settings {@link Object}","type":[[["ClientUserSettingManager"]]],"meta":{"line":163,"file":"Client.js","path":"src/client"}},{"name":"token","description":"Authorization token for the logged in bot.\nIf present, this defaults to `process.env.DISCORD_TOKEN` when instantiating the client\nThis should be kept private at all times.","nullable":true,"type":[[["string"]]],"meta":{"line":173,"file":"Client.js","path":"src/client"}},{"name":"user","description":"User that the client is logged in as","nullable":true,"type":[[["ClientUser"]]],"meta":{"line":182,"file":"Client.js","path":"src/client"}},{"name":"readyAt","description":"Time at which the client was last regarded as being in the `READY` state\n(each time the client disconnects and successfully reconnects, this will be overwritten)","nullable":true,"type":[[["Date"]]],"meta":{"line":189,"file":"Client.js","path":"src/client"}},{"name":"emojis","description":"All custom emojis that the client has access to, mapped by their ids","readonly":true,"type":[[["BaseGuildEmojiManager"]]],"meta":{"line":208,"file":"Client.js","path":"src/client"}},{"name":"readyTimestamp","description":"Timestamp of the time the client was last `READY` at","readonly":true,"nullable":true,"type":[[["number"]]],"meta":{"line":221,"file":"Client.js","path":"src/client"}},{"name":"uptime","description":"How long it has been since the client last entered the `READY` state in milliseconds","readonly":true,"nullable":true,"type":[[["number"]]],"meta":{"line":230,"file":"Client.js","path":"src/client"}},{"name":"sessionId","description":"The current session id of the shard","nullable":true,"type":[[["string"]]],"meta":{"line":548,"file":"Client.js","path":"src/client"}},{"name":"options","description":"The options the client was instantiated with","type":[[["ClientOptions"]]],"meta":{"line":25,"file":"BaseClient.js","path":"src/client"}},{"name":"rest","description":"The REST manager of the client","access":"private","type":[[["RESTManager"]]],"meta":{"line":32,"file":"BaseClient.js","path":"src/client"}},{"name":"api","description":"API shortcut","access":"private","readonly":true,"type":[[["Object"]]],"meta":{"line":41,"file":"BaseClient.js","path":"src/client"}}],"methods":[{"name":"login","description":"Logs the client in, establishing a WebSocket connection to Discord.","examples":["client.login('my token');"],"params":[{"name":"token","description":"Token of the account to log in with","optional":true,"default":"this.token","type":[[["string"]]]}],"async":true,"returns":{"types":[[["Promise","<"],["string",">"]]],"description":"Token of the account used"},"meta":{"line":241,"file":"Client.js","path":"src/client"}},{"name":"passLogin","description":"Logs the client in, establishing a WebSocket connection to Discord.","examples":["client.passLogin(\"test@gmail.com\", \"SuperSecretPa$$word\", 1234)"],"params":[{"name":"email","description":"The email associated with the account","type":[[["string"]]]},{"name":"password","description":"The password assicated with the account","type":[[["string"]]]},{"name":"code","description":"The mfa code if you have it enabled","optional":true,"default":null,"type":[[["string"]],[["number"]]]}],"async":true,"returns":{"types":[[["string"]],[["null"]]],"description":"Token of the account used"},"meta":{"line":291,"file":"Client.js","path":"src/client"}},{"name":"isReady","description":"Returns whether the client has logged in, indicative of being able to access\nproperties such as `user` and `application`.","returns":[[["boolean"]]],"meta":{"line":319,"file":"Client.js","path":"src/client"}},{"name":"destroy","description":"Logs out, terminates the connection to Discord, and destroys the client.","returns":[[["void"]]],"meta":{"line":327,"file":"Client.js","path":"src/client"}},{"name":"logout","description":"Logs out, terminates the connection to Discord, destroys the client and destroys the token.","async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":344,"file":"Client.js","path":"src/client"}},{"name":"fetchInvite","description":"Obtains an invite from Discord.","examples":["client.fetchInvite('https://discord.gg/djs')\n .then(invite => console.log(`Obtained invite with code: ${invite.code}`))\n .catch(console.error);"],"params":[{"name":"invite","description":"Invite code or URL","type":[[["InviteResolvable"]]]},{"name":"options","description":"Options for fetching the invite","optional":true,"type":[[["ClientFetchInviteOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Invite",">"]]],"meta":{"line":371,"file":"Client.js","path":"src/client"}},{"name":"fetchGuildTemplate","description":"Obtains a template from Discord.","examples":["client.fetchGuildTemplate('https://discord.new/FKvmczH2HyUf')\n .then(template => console.log(`Obtained template with code: ${template.code}`))\n .catch(console.error);"],"params":[{"name":"template","description":"Template code or URL","type":[[["GuildTemplateResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["GuildTemplate",">"]]],"meta":{"line":388,"file":"Client.js","path":"src/client"}},{"name":"fetchWebhook","description":"Obtains a webhook from Discord.","examples":["client.fetchWebhook('id', 'token')\n .then(webhook => console.log(`Obtained webhook with name: ${webhook.name}`))\n .catch(console.error);"],"params":[{"name":"id","description":"The webhook's id","type":[[["Snowflake"]]]},{"name":"token","description":"Token for the webhook","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Webhook",">"]]],"meta":{"line":404,"file":"Client.js","path":"src/client"}},{"name":"fetchVoiceRegions","description":"Obtains the available voice regions from Discord.","examples":["client.fetchVoiceRegions()\n .then(regions => console.log(`Available regions are: ${regions.map(region => region.name).join(', ')}`))\n .catch(console.error);"],"async":true,"returns":[[["Promise","<"],["Collection","<"],["string",", "],["VoiceRegion",">>"]]],"meta":{"line":417,"file":"Client.js","path":"src/client"}},{"name":"fetchSticker","description":"Obtains a sticker from Discord.","examples":["client.fetchSticker('id')\n .then(sticker => console.log(`Obtained sticker with name: ${sticker.name}`))\n .catch(console.error);"],"params":[{"name":"id","description":"The sticker's id","type":[[["Snowflake"]]]}],"async":true,"returns":[[["Promise","<"],["Sticker",">"]]],"meta":{"line":433,"file":"Client.js","path":"src/client"}},{"name":"fetchPremiumStickerPacks","description":"Obtains the list of sticker packs available to Nitro subscribers from Discord.","examples":["client.fetchPremiumStickerPacks()\n .then(packs => console.log(`Available sticker packs are: ${packs.map(pack => pack.name).join(', ')}`))\n .catch(console.error);"],"async":true,"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["StickerPack",">>"]]],"meta":{"line":446,"file":"Client.js","path":"src/client"}},{"name":"_finalize","description":"A last ditch cleanup function for garbage collection.","access":"private","params":[{"name":"options.cleanup","description":"The function called to GC","type":[[["function"]]]},{"name":"options.message","description":"The message to send after a successful GC","optional":true,"type":[[["string"]]]},{"name":"options.name","description":"The name of the item being GCed","optional":true,"type":[[["string"]]]}],"meta":{"line":457,"file":"Client.js","path":"src/client"}},{"name":"sweepMessages","description":"Sweeps all text-based channels' messages and removes the ones older than the max message lifetime.\nIf the message has been edited, the time of the edit is used rather than the time of the original message.","examples":["// Remove all messages older than 1800 seconds from the messages cache\nconst amount = client.sweepMessages(1800);\nconsole.log(`Successfully removed ${amount} messages from the cache.`);"],"params":[{"name":"lifetime","description":"Messages that are older than this (in seconds)\nwill be removed from the caches. The default is based on {@link ClientOptions#messageCacheLifetime}","optional":true,"default":"this.options.messageCacheLifetime","type":[[["number"]]]}],"returns":{"types":[[["number"]]],"description":"Amount of messages that were removed from the caches,\nor -1 if the message cache lifetime is unlimited"},"meta":{"line":481,"file":"Client.js","path":"src/client"}},{"name":"fetchGuildPreview","description":"Obtains a guild preview from Discord, available for all guilds the bot is in and all Discoverable guilds.","params":[{"name":"guild","description":"The guild to fetch the preview for","type":[[["GuildResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["GuildPreview",">"]]],"meta":{"line":500,"file":"Client.js","path":"src/client"}},{"name":"fetchGuildWidget","description":"Obtains the widget data of a guild from Discord, available for guilds with the widget enabled.","params":[{"name":"guild","description":"The guild to fetch the widget data for","type":[[["GuildResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["Widget",">"]]],"meta":{"line":512,"file":"Client.js","path":"src/client"}},{"name":"sleep","description":"The sleep function in JavaScript returns a promise that resolves after a specified timeout.","params":[{"name":"timeout","description":"The timeout parameter is the amount of time, in milliseconds, that the sleep\nfunction will wait before resolving the promise and continuing execution.","type":[[["number"]]]}],"returns":{"types":[[["void"]]],"description":"The `sleep` function is returning a Promise."},"meta":{"line":534,"file":"Client.js","path":"src/client"}},{"name":"acceptInvite","description":"Join this Guild / GroupDMChannel using this invite","examples":["await client.acceptInvite('https://discord.gg/genshinimpact', { bypassOnboarding: true, bypassVerify: true })"],"params":[{"name":"invite","description":"Invite code or URL","type":[[["InviteResolvable"]]]},{"name":"options","description":"Options","optional":true,"type":[[["AcceptInviteOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Guild","|"],["DMChannel","|"],["GroupDMChannel",")>"]]],"meta":{"line":567,"file":"Client.js","path":"src/client"}},{"name":"redeemNitro","description":"Redeem nitro from code or url.","params":[{"name":"nitro","description":"Nitro url or code","type":[[["string"]]]},{"name":"channel","description":"Channel that the code was sent in","optional":true,"type":[[["TextChannelResolvable"]]]},{"name":"paymentSourceId","description":"Payment source id","optional":true,"type":[[["Snowflake"]]]}],"returns":[[["Promise","<"],["any",">"]]],"meta":{"line":654,"file":"Client.js","path":"src/client"}},{"name":"authorizeURL","description":"Authorize an application.","examples":["client.authorizeURL(`https://discord.com/api/oauth2/authorize?client_id=botID&permissions=8&scope=applications.commands%20bot`, {\n guild_id: \"guildID\",\n permissions: \"62221393\", // your permissions\n authorize: true\n })"],"params":[{"name":"url","description":"Discord Auth URL","type":[[["string"]]]},{"name":"options","description":"Oauth2 options","type":[[["OAuth2AuthorizeOptions"]]]}],"returns":[[["Promise","<"],["any",">"]]],"meta":{"line":689,"file":"Client.js","path":"src/client"}},{"name":"installUserApps","description":"Install User Apps","params":[{"name":"applicationId","description":"Discord Application id","type":[[["Snowflake"]]]}],"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":713,"file":"Client.js","path":"src/client"}},{"name":"deauthorize","description":"Deauthorize an application.","params":[{"name":"applicationId","description":"Discord Application id","type":[[["Snowflake"]]]}],"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":746,"file":"Client.js","path":"src/client"}},{"name":"_eval","description":"Calls {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval} on a script\nwith the client as `this`.","access":"private","params":[{"name":"script","description":"Script to eval","type":[[["string"]]]}],"returns":[["*"]],"meta":{"line":760,"file":"Client.js","path":"src/client"}},{"name":"_validateOptions","description":"Validates the client options.","access":"private","params":[{"name":"options","description":"Options to validate","optional":true,"default":"this.options","type":[[["ClientOptions"]]]}],"meta":{"line":769,"file":"Client.js","path":"src/client"}},{"name":"incrementMaxListeners","description":"Increments max listeners by one, if they are not zero.","access":"private","inherits":"BaseClient#incrementMaxListeners","inherited":true,"meta":{"line":57,"file":"BaseClient.js","path":"src/client"}},{"name":"decrementMaxListeners","description":"Decrements max listeners by one, if they are not zero.","access":"private","inherits":"BaseClient#decrementMaxListeners","inherited":true,"meta":{"line":68,"file":"BaseClient.js","path":"src/client"}}],"events":[{"name":"applicationCommandPermissionsUpdate","description":"Emitted whenever permissions for an application command in a guild were updated.\nThis includes permission updates for other applications in addition to the logged in client,\ncheck `data.applicationId` to verify which application the update is for","params":[{"name":"data","description":"The updated permissions","type":[[["ApplicationCommandPermissionsUpdateData"]]]}],"meta":{"line":18,"file":"ApplicationCommandPermissionsUpdate.js","path":"src/client/actions"}},{"name":"autoModerationActionExecution","description":"Emitted whenever an auto moderation rule is triggered.\nThis event requires the {@link Permissions.FLAGS.MANAGE_GUILD} permission.","deprecated":"This event is not received by user accounts.","params":[{"name":"autoModerationActionExecution","description":"The data of the execution","type":[[["AutoModerationActionExecution"]]]}],"meta":{"line":13,"file":"AutoModerationActionExecution.js","path":"src/client/actions"}},{"name":"autoModerationRuleCreate","description":"Emitted whenever an auto moderation rule is created.\nThis event requires the {@link Permissions.FLAGS.MANAGE_GUILD} permission.","deprecated":"This event is not received by user accounts.","params":[{"name":"autoModerationRule","description":"The created auto moderation rule","type":[[["AutoModerationRule"]]]}],"meta":{"line":14,"file":"AutoModerationRuleCreate.js","path":"src/client/actions"}},{"name":"autoModerationRuleDelete","description":"Emitted whenever an auto moderation rule is deleted.\nThis event requires the {@link Permissions.FLAGS.MANAGE_GUILD} permission.","deprecated":"This event is not received by user accounts.","params":[{"name":"autoModerationRule","description":"The deleted auto moderation rule","type":[[["AutoModerationRule"]]]}],"meta":{"line":17,"file":"AutoModerationRuleDelete.js","path":"src/client/actions"}},{"name":"autoModerationRuleUpdate","description":"Emitted whenever an auto moderation rule gets updated.\nThis event requires the {@link Permissions.FLAGS.MANAGE_GUILD} permission.","deprecated":"This event is not received by user accounts.","params":[{"name":"oldAutoModerationRule","description":"The auto moderation rule before the update","nullable":true,"type":[[["AutoModerationRule"]]]},{"name":"newAutoModerationRule","description":"The auto moderation rule after the update","type":[[["AutoModerationRule"]]]}],"meta":{"line":15,"file":"AutoModerationRuleUpdate.js","path":"src/client/actions"}},{"name":"channelCreate","description":"Emitted whenever a guild channel is created.","params":[{"name":"channel","description":"The channel that was created","type":[[["GuildChannel"]]]}],"meta":{"line":12,"file":"ChannelCreate.js","path":"src/client/actions"}},{"name":"channelDelete","description":"Emitted whenever a channel is deleted.","params":[{"name":"channel","description":"The channel that was deleted","type":[[["DMChannel"]],[["GuildChannel"]]]}],"meta":{"line":27,"file":"ChannelDelete.js","path":"src/client/actions"}},{"name":"guildAuditLogEntryCreate","description":"Emitted whenever a guild audit log entry is created.","params":[{"name":"auditLogEntry","description":"The entry that was created","type":[[["GuildAuditLogsEntry"]]]},{"name":"guild","description":"The guild where the entry was created","type":[[["Guild"]]]}],"meta":{"line":16,"file":"GuildAuditLogEntryCreate.js","path":"src/client/actions"}},{"name":"guildBanAdd","description":"Emitted whenever a member is banned from a guild.","params":[{"name":"ban","description":"The ban that occurred","type":[[["GuildBan"]]]}],"meta":{"line":11,"file":"GuildBanAdd.js","path":"src/client/actions"}},{"name":"guildBanRemove","description":"Emitted whenever a member is unbanned from a guild.","params":[{"name":"ban","description":"The ban that was removed","type":[[["GuildBan"]]]}],"meta":{"line":12,"file":"GuildBanRemove.js","path":"src/client/actions"}},{"name":"guildUnavailable","description":"Emitted whenever a guild becomes unavailable, likely due to a server outage.","params":[{"name":"guild","description":"The guild that has become unavailable","type":[[["Guild"]]]}],"meta":{"line":23,"file":"GuildDelete.js","path":"src/client/actions"}},{"name":"guildDelete","description":"Emitted whenever a guild kicks the client or the guild is deleted/left.","params":[{"name":"guild","description":"The guild that was deleted","type":[[["Guild"]]]}],"meta":{"line":44,"file":"GuildDelete.js","path":"src/client/actions"}},{"name":"emojiCreate","description":"Emitted whenever a custom emoji is created in a guild.","params":[{"name":"emoji","description":"The emoji that was created","type":[[["GuildEmoji"]]]}],"meta":{"line":10,"file":"GuildEmojiCreate.js","path":"src/client/actions"}},{"name":"emojiDelete","description":"Emitted whenever a custom emoji is deleted in a guild.","params":[{"name":"emoji","description":"The emoji that was deleted","type":[[["GuildEmoji"]]]}],"meta":{"line":11,"file":"GuildEmojiDelete.js","path":"src/client/actions"}},{"name":"emojiUpdate","description":"Emitted whenever a custom emoji is updated in a guild.","params":[{"name":"oldEmoji","description":"The old emoji","type":[[["GuildEmoji"]]]},{"name":"newEmoji","description":"The new emoji","type":[[["GuildEmoji"]]]}],"meta":{"line":9,"file":"GuildEmojiUpdate.js","path":"src/client/actions"}},{"name":"guildIntegrationsUpdate","description":"Emitted whenever a guild integration is updated","params":[{"name":"guild","description":"The guild whose integrations were updated","type":[[["Guild"]]]}],"meta":{"line":10,"file":"GuildIntegrationsUpdate.js","path":"src/client/actions"}},{"name":"guildMemberRemove","description":"Emitted whenever a member leaves a guild, or is kicked.","deprecated":"See {@link https://github.com/aiko-chan-ai/discord.js-selfbot-v13/issues/197 this issue} for more information.","params":[{"name":"member","description":"The member that has left/been kicked from the guild","type":[[["GuildMember"]]]}],"meta":{"line":18,"file":"GuildMemberRemove.js","path":"src/client/actions"}},{"name":"guildMemberUpdate","description":"Emitted whenever a guild member changes - i.e. new role, removed role, nickname.","deprecated":"See {@link https://github.com/aiko-chan-ai/discord.js-selfbot-v13/issues/197 this issue} for more information.","params":[{"name":"oldMember","description":"The member before the update","type":[[["GuildMember"]]]},{"name":"newMember","description":"The member after the update","type":[[["GuildMember"]]]}],"meta":{"line":23,"file":"GuildMemberUpdate.js","path":"src/client/actions"}},{"name":"guildMemberAvailable","description":"Emitted whenever a member becomes available.","params":[{"name":"member","description":"The member that became available","type":[[["GuildMember"]]]}],"meta":{"line":33,"file":"GuildMemberUpdate.js","path":"src/client/actions"}},{"name":"roleCreate","description":"Emitted whenever a role is created.","params":[{"name":"role","description":"The role that was created","type":[[["Role"]]]}],"meta":{"line":14,"file":"GuildRoleCreate.js","path":"src/client/actions"}},{"name":"roleDelete","description":"Emitted whenever a guild role is deleted.","params":[{"name":"role","description":"The role that was deleted","type":[[["Role"]]]}],"meta":{"line":18,"file":"GuildRoleDelete.js","path":"src/client/actions"}},{"name":"roleUpdate","description":"Emitted whenever a guild role is updated.","params":[{"name":"oldRole","description":"The role before the update","type":[[["Role"]]]},{"name":"newRole","description":"The role after the update","type":[[["Role"]]]}],"meta":{"line":17,"file":"GuildRoleUpdate.js","path":"src/client/actions"}},{"name":"guildScheduledEventCreate","description":"Emitted whenever a guild scheduled event is created.","params":[{"name":"guildScheduledEvent","description":"The created guild scheduled event","type":[[["GuildScheduledEvent"]]]}],"meta":{"line":13,"file":"GuildScheduledEventCreate.js","path":"src/client/actions"}},{"name":"guildScheduledEventDelete","description":"Emitted whenever a guild scheduled event is deleted.","params":[{"name":"guildScheduledEvent","description":"The deleted guild scheduled event","type":[[["GuildScheduledEvent"]]]}],"meta":{"line":16,"file":"GuildScheduledEventDelete.js","path":"src/client/actions"}},{"name":"guildScheduledEventUpdate","description":"Emitted whenever a guild scheduled event gets updated.","params":[{"name":"oldGuildScheduledEvent","description":"The guild scheduled event object before the update","nullable":true,"type":[[["GuildScheduledEvent"]]]},{"name":"newGuildScheduledEvent","description":"The guild scheduled event object after the update","type":[[["GuildScheduledEvent"]]]}],"meta":{"line":15,"file":"GuildScheduledEventUpdate.js","path":"src/client/actions"}},{"name":"guildScheduledEventUserAdd","description":"Emitted whenever a user subscribes to a guild scheduled event","params":[{"name":"guildScheduledEvent","description":"The guild scheduled event","type":[[["GuildScheduledEvent"]]]},{"name":"user","description":"The user who subscribed","type":[[["User"]]]}],"meta":{"line":16,"file":"GuildScheduledEventUserAdd.js","path":"src/client/actions"}},{"name":"guildScheduledEventUserRemove","description":"Emitted whenever a user unsubscribes from a guild scheduled event","params":[{"name":"guildScheduledEvent","description":"The guild scheduled event","type":[[["GuildScheduledEvent"]]]},{"name":"user","description":"The user who unsubscribed","type":[[["User"]]]}],"meta":{"line":16,"file":"GuildScheduledEventUserRemove.js","path":"src/client/actions"}},{"name":"stickerCreate","description":"Emitted whenever a custom sticker is created in a guild.","params":[{"name":"sticker","description":"The sticker that was created","type":[[["Sticker"]]]}],"meta":{"line":10,"file":"GuildStickerCreate.js","path":"src/client/actions"}},{"name":"stickerDelete","description":"Emitted whenever a custom sticker is deleted in a guild.","params":[{"name":"sticker","description":"The sticker that was deleted","type":[[["Sticker"]]]}],"meta":{"line":11,"file":"GuildStickerDelete.js","path":"src/client/actions"}},{"name":"stickerUpdate","description":"Emitted whenever a custom sticker is updated in a guild.","params":[{"name":"oldSticker","description":"The old sticker","type":[[["Sticker"]]]},{"name":"newSticker","description":"The new sticker","type":[[["Sticker"]]]}],"meta":{"line":9,"file":"GuildStickerUpdate.js","path":"src/client/actions"}},{"name":"guildUpdate","description":"Emitted whenever a guild is updated - e.g. name change.","params":[{"name":"oldGuild","description":"The guild before the update","type":[[["Guild"]]]},{"name":"newGuild","description":"The guild after the update","type":[[["Guild"]]]}],"meta":{"line":13,"file":"GuildUpdate.js","path":"src/client/actions"}},{"name":"inviteCreate","description":"Emitted when an invite is created.\n This event only triggers if the client has `MANAGE_GUILD` permissions for the guild,\nor `MANAGE_CHANNELS` permissions for the channel.","params":[{"name":"invite","description":"The invite that was created","type":[[["Invite"]]]}],"meta":{"line":16,"file":"InviteCreate.js","path":"src/client/actions"}},{"name":"inviteDelete","description":"Emitted when an invite is deleted.\n This event only triggers if the client has `MANAGE_GUILD` permissions for the guild,\nor `MANAGE_CHANNELS` permissions for the channel.","params":[{"name":"invite","description":"The invite that was deleted","type":[[["Invite"]]]}],"meta":{"line":18,"file":"InviteDelete.js","path":"src/client/actions"}},{"name":"messageCreate","description":"Emitted whenever a message is created.","params":[{"name":"message","description":"The created message","type":[[["Message"]]]}],"meta":{"line":21,"file":"MessageCreate.js","path":"src/client/actions"}},{"name":"message","description":"Emitted whenever a message is created.","deprecated":"Use {@link Client#event:messageCreate} instead","params":[{"name":"message","description":"The created message","type":[[["Message"]]]}],"meta":{"line":28,"file":"MessageCreate.js","path":"src/client/actions"}},{"name":"messageDelete","description":"Emitted whenever a message is deleted.","params":[{"name":"message","description":"The deleted message","type":[[["Message"]]]}],"meta":{"line":19,"file":"MessageDelete.js","path":"src/client/actions"}},{"name":"messageDeleteBulk","description":"Emitted whenever messages are deleted in bulk.","params":[{"name":"messages","description":"The deleted messages, mapped by their id","type":[[["Collection","<"],["Snowflake",", "],["Message",">"]]]}],"meta":{"line":34,"file":"MessageDeleteBulk.js","path":"src/client/actions"}},{"name":"messageReactionAdd","description":"Emitted whenever a reaction is added to a cached message.","params":[{"name":"messageReaction","description":"The reaction object","type":[[["MessageReaction"]]]},{"name":"user","description":"The user that applied the guild or reaction emoji","type":[[["User"]]]}],"meta":{"line":44,"file":"MessageReactionAdd.js","path":"src/client/actions"}},{"name":"messageReactionRemove","description":"Emitted whenever a reaction is removed from a cached message.","params":[{"name":"messageReaction","description":"The reaction object","type":[[["MessageReaction"]]]},{"name":"user","description":"The user whose emoji or reaction emoji was removed","type":[[["User"]]]}],"meta":{"line":33,"file":"MessageReactionRemove.js","path":"src/client/actions"}},{"name":"messageReactionRemoveAll","description":"Emitted whenever all reactions are removed from a cached message.","params":[{"name":"message","description":"The message the reactions were removed from","type":[[["Message"]]]},{"name":"reactions","description":"The cached message reactions that were removed.","type":[[["Collection","<("],["string","|"],["Snowflake","), "],["MessageReaction",">"]]]}],"meta":{"line":26,"file":"MessageReactionRemoveAll.js","path":"src/client/actions"}},{"name":"messageReactionRemoveEmoji","description":"Emitted when a bot removes an emoji reaction from a cached message.","params":[{"name":"reaction","description":"The reaction that was removed","type":[[["MessageReaction"]]]}],"meta":{"line":18,"file":"MessageReactionRemoveEmoji.js","path":"src/client/actions"}},{"name":"presenceUpdate","description":"Emitted whenever a guild member's presence (e.g. status, activity) is changed.","params":[{"name":"oldPresence","description":"The presence before the update, if one at all","nullable":true,"type":[[["Presence"]]]},{"name":"newPresence","description":"The presence after the update","type":[[["Presence"]]]}],"meta":{"line":35,"file":"PresenceUpdate.js","path":"src/client/actions"}},{"name":"stageInstanceCreate","description":"Emitted whenever a stage instance is created.","params":[{"name":"stageInstance","description":"The created stage instance","type":[[["StageInstance"]]]}],"meta":{"line":14,"file":"StageInstanceCreate.js","path":"src/client/actions"}},{"name":"stageInstanceDelete","description":"Emitted whenever a stage instance is deleted.","params":[{"name":"stageInstance","description":"The deleted stage instance","type":[[["StageInstance"]]]}],"meta":{"line":18,"file":"StageInstanceDelete.js","path":"src/client/actions"}},{"name":"stageInstanceUpdate","description":"Emitted whenever a stage instance gets updated - e.g. change in topic or privacy level","params":[{"name":"oldStageInstance","description":"The stage instance before the update","nullable":true,"type":[[["StageInstance"]]]},{"name":"newStageInstance","description":"The stage instance after the update","type":[[["StageInstance"]]]}],"meta":{"line":15,"file":"StageInstanceUpdate.js","path":"src/client/actions"}},{"name":"threadCreate","description":"Emitted whenever a thread is created or when the client user is added to a thread.","params":[{"name":"thread","description":"The thread that was created","type":[[["ThreadChannel"]]]},{"name":"newlyCreated","description":"Whether the thread was newly created","type":[[["boolean"]]]}],"meta":{"line":12,"file":"ThreadCreate.js","path":"src/client/actions"}},{"name":"threadDelete","description":"Emitted whenever a thread is deleted.","params":[{"name":"thread","description":"The thread that was deleted","type":[[["ThreadChannel"]]]}],"meta":{"line":20,"file":"ThreadDelete.js","path":"src/client/actions"}},{"name":"threadListSync","description":"Emitted whenever the client user gains access to a text or news channel that contains threads","params":[{"name":"threads","description":"The threads that were synced","type":[[["Collection","<"],["Snowflake",", "],["ThreadChannel",">"]]]}],"meta":{"line":38,"file":"ThreadListSync.js","path":"src/client/actions"}},{"name":"threadMembersUpdate","description":"Emitted whenever members are added or removed from a thread. Requires `GUILD_MEMBERS` privileged intent","params":[{"name":"oldMembers","description":"The members before the update","type":[[["Collection","<"],["Snowflake",", "],["ThreadMember",">"]]]},{"name":"newMembers","description":"The members after the update","type":[[["Collection","<"],["Snowflake",", "],["ThreadMember",">"]]]}],"meta":{"line":22,"file":"ThreadMembersUpdate.js","path":"src/client/actions"}},{"name":"threadMemberUpdate","description":"Emitted whenever the client user's thread member is updated.","params":[{"name":"oldMember","description":"The member before the update","type":[[["ThreadMember"]]]},{"name":"newMember","description":"The member after the update","type":[[["ThreadMember"]]]}],"meta":{"line":18,"file":"ThreadMemberUpdate.js","path":"src/client/actions"}},{"name":"typingStart","description":"Emitted whenever a user starts typing in a channel.","params":[{"name":"typing","description":"The typing state","type":[[["Typing"]]]}],"meta":{"line":19,"file":"TypingStart.js","path":"src/client/actions"}},{"name":"userUpdate","description":"Emitted whenever a user's details (e.g. username) are changed.\nTriggered by the Discord gateway events USER_UPDATE, GUILD_MEMBER_UPDATE, and PRESENCE_UPDATE.","params":[{"name":"oldUser","description":"The user before the update","type":[[["User"]]]},{"name":"newUser","description":"The user after the update","type":[[["User"]]]}],"meta":{"line":14,"file":"UserUpdate.js","path":"src/client/actions"}},{"name":"voiceStateUpdate","description":"Emitted whenever a member changes voice state - e.g. joins/leaves a channel, mutes/unmutes.","params":[{"name":"oldState","description":"The voice state before the update","type":[[["VoiceState"]]]},{"name":"newState","description":"The voice state after the update","type":[[["VoiceState"]]]}],"meta":{"line":32,"file":"VoiceStateUpdate.js","path":"src/client/actions"}},{"name":"webhookUpdate","description":"Emitted whenever a channel has its webhooks changed.","params":[{"name":"channel","description":"The channel that had a webhook update","type":[[["TextChannel"]],[["NewsChannel"]],[["VoiceChannel"]],[["StageChannel"]],[["ForumChannel"]]]}],"meta":{"line":10,"file":"WebhooksUpdate.js","path":"src/client/actions"}},{"name":"warn","description":"Emitted for general warnings.","params":[{"name":"info","description":"The warning","type":[[["string"]]]}],"meta":{"line":827,"file":"Client.js","path":"src/client"}},{"name":"guildMemberSpeaking","description":"Emitted once a guild member changes speaking state.","params":[{"name":"member","description":"The member that started/stopped speaking","type":[[["GuildMember"]]]},{"name":"speaking","description":"The speaking state of the member","type":[[["Readonly","<"],["Speaking",">"]]]}],"meta":{"line":599,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"applicationCommandCreate","description":"Emitted when a guild application command is created.","deprecated":"See {@link https://github.com/discord/discord-api-docs/issues/3690 this issue} for more information.","params":[{"name":"command","description":"The command which was created","type":[[["ApplicationCommand"]]]}],"meta":{"line":11,"file":"APPLICATION_COMMAND_CREATE.js","path":"src/client/websocket/handlers"}},{"name":"applicationCommandDelete","description":"Emitted when a guild application command is deleted.","deprecated":"See {@link https://github.com/discord/discord-api-docs/issues/3690 this issue} for more information.","params":[{"name":"command","description":"The command which was deleted","type":[[["ApplicationCommand"]]]}],"meta":{"line":13,"file":"APPLICATION_COMMAND_DELETE.js","path":"src/client/websocket/handlers"}},{"name":"applicationCommandUpdate","description":"Emitted when a guild application command is updated.","deprecated":"See {@link https://github.com/discord/discord-api-docs/issues/3690 this issue} for more information.","params":[{"name":"oldCommand","description":"The command before the update","nullable":true,"type":[[["ApplicationCommand"]]]},{"name":"newCommand","description":"The command after the update","type":[[["ApplicationCommand"]]]}],"meta":{"line":12,"file":"APPLICATION_COMMAND_UPDATE.js","path":"src/client/websocket/handlers"}},{"name":"callCreate","description":"Emitted whenever received a call","params":[{"name":"call","description":"Call","type":[[["CallState"]]]}],"meta":{"line":8,"file":"CALL_CREATE.js","path":"src/client/websocket/handlers"}},{"name":"callDelete","description":"Emitted whenever delete a call","params":[{"name":"call","description":"Call","type":[[["Call"]]]}],"meta":{"line":5,"file":"CALL_DELETE.js","path":"src/client/websocket/handlers"}},{"name":"callUpdate","description":"Emitted whenever update a call","params":[{"name":"call","description":"Call","type":[[["Call"]]]}],"meta":{"line":5,"file":"CALL_UPDATE.js","path":"src/client/websocket/handlers"}},{"name":"channelPinsUpdate","description":"Emitted whenever the pins of a channel are updated. Due to the nature of the WebSocket event,\nnot much information can be provided easily here - you need to manually check the pins yourself.","params":[{"name":"channel","description":"The channel that the pins update occurred in","type":[[["TextBasedChannels"]]]},{"name":"time","description":"The time of the pins update","type":[[["Date"]]]}],"meta":{"line":13,"file":"CHANNEL_PINS_UPDATE.js","path":"src/client/websocket/handlers"}},{"name":"channelRecipientAdd","description":"Emitted whenever a recipient is added from a group DM.","params":[{"name":"channel","description":"Group DM channel","type":[[["GroupDMChannel"]]]},{"name":"user","description":"User","type":[[["User"]]]}],"meta":{"line":10,"file":"CHANNEL_RECIPIENT_ADD.js","path":"src/client/websocket/handlers"}},{"name":"channelRecipientRemove","description":"Emitted whenever a recipient is removed from a group DM.","params":[{"name":"channel","description":"Group DM channel","type":[[["GroupDMChannel"]]]},{"name":"user","description":"User","type":[[["User"]]]}],"meta":{"line":8,"file":"CHANNEL_RECIPIENT_REMOVE.js","path":"src/client/websocket/handlers"}},{"name":"channelUpdate","description":"Emitted whenever a channel is updated - e.g. name change, topic change, channel type change.","params":[{"name":"oldChannel","description":"The channel before the update","type":[[["DMChannel"]],[["GuildChannel"]]]},{"name":"newChannel","description":"The channel after the update","type":[[["DMChannel"]],[["GuildChannel"]]]}],"meta":{"line":8,"file":"CHANNEL_UPDATE.js","path":"src/client/websocket/handlers"}},{"name":"guildAvailable","description":"Emitted whenever a guild becomes available.","params":[{"name":"guild","description":"The guild that became available","type":[[["Guild"]]]}],"meta":{"line":31,"file":"GUILD_CREATE.js","path":"src/client/websocket/handlers"}},{"name":"guildCreate","description":"Emitted whenever the client joins a guild.","params":[{"name":"guild","description":"The created guild","type":[[["Guild"]]]}],"meta":{"line":43,"file":"GUILD_CREATE.js","path":"src/client/websocket/handlers"}},{"name":"guildMemberAdd","description":"Emitted whenever a user joins a guild.","deprecated":"See {@link https://github.com/aiko-chan-ai/discord.js-selfbot-v13/issues/197 this issue} for more information.","params":[{"name":"member","description":"The member that has joined a guild","type":[[["GuildMember"]]]}],"meta":{"line":11,"file":"GUILD_MEMBER_ADD.js","path":"src/client/websocket/handlers"}},{"name":"guildMembersChunk","description":"Emitted whenever a chunk of guild members is received (all members come from the same guild).","params":[{"name":"members","description":"The members in the chunk","type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]]},{"name":"guild","description":"The guild related to the member chunk","type":[[["Guild"]]]},{"name":"chunk","description":"Properties of the received chunk","type":[[["GuildMembersChunk"]]]}],"meta":{"line":26,"file":"GUILD_MEMBERS_CHUNK.js","path":"src/client/websocket/handlers"}},{"name":"interactionModalCreate","description":"Emitted whenever client user receive interaction.showModal()","params":[{"name":"modal","description":"The modal (extended)","type":[[["Modal"]]]}],"meta":{"line":6,"file":"INTERACTION_MODAL_CREATE.js","path":"src/client/websocket/handlers"}},{"name":"messagePollVoteAdd","description":"Emitted when a user votes on a poll. If the poll allows multiple selection, one event will be sent per answer.","params":[{"name":"data","description":"Raw data","type":[[["MessagePollUserVote"]]]}],"meta":{"line":16,"file":"MESSAGE_POLL_VOTE_ADD.js","path":"src/client/websocket/handlers"}},{"name":"messagePollVoteRemove","description":"Emitted when a user removes their vote on a poll. If the poll allows for multiple selections, one event will be sent per answer.","params":[{"name":"data","description":"Raw data","type":[[["MessagePollUserVote"]]]}],"meta":{"line":6,"file":"MESSAGE_POLL_VOTE_REMOVE.js","path":"src/client/websocket/handlers"}},{"name":"messageUpdate","description":"Emitted whenever a message is updated - e.g. embed or content change.","params":[{"name":"oldMessage","description":"The message before the update","type":[[["Message"]]]},{"name":"newMessage","description":"The message after the update","type":[[["Message"]]]}],"meta":{"line":8,"file":"MESSAGE_UPDATE.js","path":"src/client/websocket/handlers"}},{"name":"relationshipAdd","description":"Emitted when a relationship is created, relevant to the current user.","params":[{"name":"user","description":"Target userId","type":[[["Snowflake"]]]},{"name":"shouldNotify","description":"Whether the client should notify the user of this relationship's creation","type":[[["boolean"]]]}],"meta":{"line":12,"file":"RELATIONSHIP_ADD.js","path":"src/client/websocket/handlers"}},{"name":"relationshipRemove","description":"Emitted when a relationship is removed, relevant to the current user.","params":[{"name":"user","description":"The userID that was updated","type":[[["Snowflake"]]]},{"name":"type","description":"The type of the old relationship","type":[[["RelationshipType"]]]},{"name":"nickname","description":"The nickname of the user in this relationship (1-32 characters)","type":[[["string"]],[["null"]]]}],"meta":{"line":9,"file":"RELATIONSHIP_REMOVE.js","path":"src/client/websocket/handlers"}},{"name":"relationshipUpdate","description":"Emitted when a relationship is updated, relevant to the current user (e.g. friend nickname changed).\nThis is not sent when the type of a relationship changes; see {@link Client#relationshipAdd} and {@link Client#relationshipRemove} for that.","params":[{"name":"user","description":"The userID that was updated","type":[[["Snowflake"]]]},{"name":"oldData","description":"Old data","type":[[["RelationshipUpdateObject"]]]},{"name":"newData","description":"New data","type":[[["RelationshipUpdateObject"]]]}],"meta":{"line":12,"file":"RELATIONSHIP_UPDATE.js","path":"src/client/websocket/handlers"}},{"name":"shardResume","description":"Emitted when a shard resumes successfully.","params":[{"name":"id","description":"The shard id that resumed","type":[[["number"]]]},{"name":"replayedEvents","description":"The amount of replayed events","type":[[["number"]]]}],"meta":{"line":7,"file":"RESUMED.js","path":"src/client/websocket/handlers"}},{"name":"threadUpdate","description":"Emitted whenever a thread is updated - e.g. name change, archive state change, locked state change.","params":[{"name":"oldThread","description":"The thread before the update","type":[[["ThreadChannel"]]]},{"name":"newThread","description":"The thread after the update","type":[[["ThreadChannel"]]]}],"meta":{"line":8,"file":"THREAD_UPDATE.js","path":"src/client/websocket/handlers"}},{"name":"shardReady","description":"Emitted when a shard turns ready.","params":[{"name":"id","description":"The shard id that turned ready","type":[[["number"]]]},{"name":"unavailableGuilds","description":"Set of unavailable guild ids, if any","nullable":true,"type":[[["Set","<"],["Snowflake",">"]]]}],"meta":{"line":179,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"shardDisconnect","description":"Emitted when a shard's WebSocket disconnects and will no longer reconnect.","params":[{"name":"event","description":"The WebSocket close event","type":[[["CloseEvent"]]]},{"name":"id","description":"The shard id that disconnected","type":[[["number"]]]}],"meta":{"line":193,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"shardReconnecting","description":"Emitted when a shard is attempting to reconnect or re-identify.","params":[{"name":"id","description":"The shard id that is attempting to reconnect","type":[[["number"]]]}],"meta":{"line":209,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"invalidated","description":"Emitted when the client's session becomes invalidated.\nYou are expected to handle closing the process gracefully and preventing a boot loop\nif you are listening to this event.","meta":{"line":283,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"unhandledPacket","description":"Emitted whenever a packet isn't handled.","params":[{"name":"packet","description":"The packet (t: EVENT_NAME, d: any)","type":[[["Object"]]]},{"name":"shard","description":"The shard that received the packet (Shard 0)","type":[[["Number"]]]}],"meta":{"line":347,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"ready","description":"Emitted when the client becomes ready to start working.","params":[{"name":"client","description":"The client","type":[[["Client"]]]}],"meta":{"line":381,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"shardError","description":"Emitted whenever a shard's WebSocket encounters a connection error.","params":[{"name":"error","description":"The encountered error","type":[[["Error"]]]},{"name":"shardId","description":"The shard that encountered this error","type":[[["number"]]]}],"meta":{"line":344,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"error","description":"Emitted when the client encounters an error.","params":[{"name":"error","description":"The error encountered","type":[[["Error"]]]}],"meta":{"line":211,"file":"ShardClientUtil.js","path":"src/sharding"}},{"name":"debug","description":"Emitted for general debugging information.","params":[{"name":"info","description":"The debug information","type":[[["string"]]]}],"meta":{"line":82,"file":"BaseClient.js","path":"src/client"}},{"name":"rateLimit","description":"Emitted when the client hits a rate limit while making a request","params":[{"name":"rateLimitData","description":"Object containing the rate limit info","type":[[["RateLimitData"]]]}],"meta":{"line":138,"file":"RequestHandler.js","path":"src/rest"}},{"name":"apiRequest","description":"Emitted before every API request.\nThis event can emit several times for the same request, e.g. when hitting a rate limit.\nThis is an informational event that is emitted quite frequently,\nit is highly recommended to check `request.path` to filter the data.","params":[{"name":"request","description":"The request that is about to be sent","type":[[["APIRequest"]]]}],"meta":{"line":189,"file":"RequestHandler.js","path":"src/rest"}},{"name":"apiResponse","description":"Emitted after every API request has received a response.\nThis event does not necessarily correlate to completion of the request, e.g. when hitting a rate limit.\nThis is an informational event that is emitted quite frequently,\nit is highly recommended to check `request.path` to filter the data.","params":[{"name":"request","description":"The request that triggered this response","type":[[["APIRequest"]]]},{"name":"response","description":"The response received from the Discord API","type":[[["Response"]]]}],"meta":{"line":221,"file":"RequestHandler.js","path":"src/rest"}},{"name":"invalidRequestWarning","description":"Emitted periodically when the process sends invalid requests to let users avoid the\n10k invalid requests in 10 minutes threshold that causes a ban","params":[{"name":"invalidRequestWarningData","description":"Object containing the invalid request info","type":[[["InvalidRequestWarningData"]]]}],"meta":{"line":298,"file":"RequestHandler.js","path":"src/rest"}}],"meta":{"line":44,"file":"Client.js","path":"src/client"}},{"name":"ClientVoiceManager","description":"Manages voice connections for the client\nFeat: Support both lib & djs/voice","props":[{"name":"client","description":"The client that instantiated this voice manager","readonly":true,"type":[[["Client"]]],"meta":{"line":14,"file":"ClientVoiceManager.js","path":"src/client/voice"}},{"name":"connections","description":"A collection mapping connection IDs to the Connection objects","type":[[["Collection","<"],["Snowflake",", "],["VoiceConnection",">"]]],"meta":{"line":26,"file":"ClientVoiceManager.js","path":"src/client/voice"}},{"name":"adapters","description":"Maps guild ids to voice adapters created for use with @discordjs/voice.","type":[[["Map","<"],["Snowflake",", "],["Object",">"]]],"meta":{"line":32,"file":"ClientVoiceManager.js","path":"src/client/voice"}}],"methods":[{"name":"joinChannel","description":"Sets up a request to join a voice channel.","params":[{"name":"channel","description":"The voice channel to join","type":[[["VoiceChannel"]],[["StageChannel"]],[["DMChannel"]],[["GroupDMChannel"]]]},{"name":"config","description":"Config to join voice channel","type":[[["JoinChannelConfig"]]]}],"returns":[[["Promise","<"],["VoiceConnection",">"]]],"meta":{"line":102,"file":"ClientVoiceManager.js","path":"src/client/voice"}}],"meta":{"line":12,"file":"ClientVoiceManager.js","path":"src/client/voice"}},{"name":"AudioDispatcher","description":"The class that sends voice packet data to the voice connection.\n```js\n// Obtained using:\nclient.voice.joinChannel(channel).then(connection => {\n // You can play a file or a stream here:\n const dispatcher = connection.playAudio('/home/hydrabolt/audio.mp3');\n});\n```","extends":[[["BaseDispatcher"]]],"implements":[[["VolumeInterface"]]],"props":[{"name":"bitrateEditable","description":"Whether or not the Opus bitrate of this stream is editable","readonly":true,"type":[[["boolean"]]],"meta":{"line":83,"file":"AudioDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"volumeEditable","description":"Whether or not the volume of this stream is editable","readonly":true,"type":[[["boolean"]]],"meta":{"line":21,"file":"VolumeInterface.js","path":"src/client/voice/util"}},{"name":"volume","description":"The current volume of the stream","readonly":true,"type":[[["number"]]],"meta":{"line":30,"file":"VolumeInterface.js","path":"src/client/voice/util"}},{"name":"volumeDecibels","description":"The current volume of the stream in decibels","readonly":true,"type":[[["number"]]],"meta":{"line":39,"file":"VolumeInterface.js","path":"src/client/voice/util"}},{"name":"volumeLogarithmic","description":"The current volume of the stream from a logarithmic scale","readonly":true,"type":[[["number"]]],"meta":{"line":48,"file":"VolumeInterface.js","path":"src/client/voice/util"}},{"name":"player","description":"The Audio Player that controls this dispatcher","type":[[["MediaPlayer"]]],"meta":{"line":33,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"pausedSince","description":"The time that the stream was paused at (null if not paused)","nullable":true,"type":[[["number"]]],"meta":{"line":44,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"fps","description":"Video FPS","type":[[["number"]]],"meta":{"line":58,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"paused","description":"Whether or not playback is paused","readonly":true,"type":[[["boolean"]]],"meta":{"line":181,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"pausedTime","description":"Total time that this dispatcher has been paused in milliseconds","readonly":true,"type":[[["number"]]],"meta":{"line":190,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"totalStreamTime","description":"The time (in milliseconds) that the dispatcher has been playing audio for, taking into account skips and pauses","readonly":true,"type":[[["number"]]],"meta":{"line":220,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}}],"methods":[{"name":"setBitrate","description":"Set the bitrate of the current Opus encoder if using a compatible Opus stream.","params":[{"name":"value","description":"New bitrate, in kbps\nIf set to 'auto', the voice channel's bitrate will be used","type":[[["number"]]]}],"returns":{"types":[[["boolean"]]],"description":"true if the bitrate has been successfully changed."},"meta":{"line":45,"file":"AudioDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"setPLP","description":"Sets the expected packet loss percentage if using a compatible Opus stream.","params":[{"name":"value","description":"between 0 and 1","type":[[["number"]]]}],"returns":{"types":[[["boolean"]]],"description":"Returns true if it was successfully set."},"meta":{"line":57,"file":"AudioDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"setFEC","description":"Enables or disables forward error correction if using a compatible Opus stream.","params":[{"name":"enabled","description":"true to enable","type":[[["boolean"]]]}],"returns":{"types":[[["boolean"]]],"description":"Returns true if it was successfully set."},"meta":{"line":68,"file":"AudioDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"setVolume","description":"Sets the volume relative to the input stream - i.e. 1 is normal, 0.5 is half, 2 is double.","implements":["VolumeInterface#setVolume"],"params":[{"name":"volume","description":"The volume that you want to set","type":[[["number"]]]}],"meta":{"line":70,"file":"VolumeInterface.js","path":"src/client/voice/util"}},{"name":"setVolumeDecibels","description":"Sets the volume in decibels.","implements":["VolumeInterface#setVolumeDecibels"],"params":[{"name":"db","description":"The decibels","type":[[["number"]]]}],"meta":{"line":85,"file":"VolumeInterface.js","path":"src/client/voice/util"}},{"name":"setVolumeLogarithmic","description":"Sets the volume so that a perceived value of 0.5 is half the perceived volume etc.","implements":["VolumeInterface#setVolumeLogarithmic"],"params":[{"name":"value","description":"The value for the volume","type":[[["number"]]]}],"meta":{"line":93,"file":"VolumeInterface.js","path":"src/client/voice/util"}},{"name":"pause","description":"Pauses playback","inherits":"BaseDispatcher#pause","inherited":true,"params":[{"name":"silence","description":"Whether to play silence while paused to prevent audio glitches","optional":true,"default":false,"type":[[["boolean"]]]}],"meta":{"line":157,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"resume","description":"Resumes playback","inherits":"BaseDispatcher#resume","inherited":true,"meta":{"line":197,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"createHeaderExtension","description":"Creates a single extension of type playout-delay\nDiscord seems to send this extension on every video packet","see":["https://webrtc.googlesource.com/src/+/refs/heads/main/docs/native-code/rtp-hdrext/playout-delay"],"access":"private","inherits":"BaseDispatcher#createHeaderExtension","inherited":true,"returns":{"types":[[["Buffer"]]],"description":"playout-delay extension"},"meta":{"line":260,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}}],"events":[{"name":"volumeChange","description":"Emitted when the volume of this dispatcher changes.","params":[{"name":"oldVolume","description":"The old volume of this dispatcher","type":[[["number"]]]},{"name":"newVolume","description":"The new volume of this dispatcher","type":[[["number"]]]}],"meta":{"line":94,"file":"AudioDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"speaking","description":"Emitted when the dispatcher starts/stops speaking.","params":[{"name":"value","description":"Whether or not the dispatcher is speaking","type":[[["boolean"]]]}],"meta":{"line":371,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"error","description":"Emitted when the dispatcher encounters an error.","meta":{"line":63,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"start","description":"Emitted once the stream has started to play.","meta":{"line":116,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"debug","description":"Emitted whenever the dispatcher has debug information.","params":[{"name":"info","description":"The debug info","type":[[["string"]]]}],"meta":{"line":337,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}}],"meta":{"line":24,"file":"AudioDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"BaseDispatcher","extends":[[["Writable"]]],"props":[{"name":"player","description":"The Audio Player that controls this dispatcher","type":[[["MediaPlayer"]]],"meta":{"line":33,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"pausedSince","description":"The time that the stream was paused at (null if not paused)","nullable":true,"type":[[["number"]]],"meta":{"line":44,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"fps","description":"Video FPS","type":[[["number"]]],"meta":{"line":58,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"paused","description":"Whether or not playback is paused","readonly":true,"type":[[["boolean"]]],"meta":{"line":181,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"pausedTime","description":"Total time that this dispatcher has been paused in milliseconds","readonly":true,"type":[[["number"]]],"meta":{"line":190,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"totalStreamTime","description":"The time (in milliseconds) that the dispatcher has been playing audio for, taking into account skips and pauses","readonly":true,"type":[[["number"]]],"meta":{"line":220,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}}],"methods":[{"name":"pause","description":"Pauses playback","params":[{"name":"silence","description":"Whether to play silence while paused to prevent audio glitches","optional":true,"default":false,"type":[[["boolean"]]]}],"meta":{"line":157,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"resume","description":"Resumes playback","meta":{"line":197,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"createHeaderExtension","description":"Creates a single extension of type playout-delay\nDiscord seems to send this extension on every video packet","see":["https://webrtc.googlesource.com/src/+/refs/heads/main/docs/native-code/rtp-hdrext/playout-delay"],"access":"private","returns":{"types":[[["Buffer"]]],"description":"playout-delay extension"},"meta":{"line":260,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}}],"events":[{"name":"error","description":"Emitted when the dispatcher encounters an error.","meta":{"line":63,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"start","description":"Emitted once the stream has started to play.","meta":{"line":116,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"debug","description":"Emitted whenever the dispatcher has debug information.","params":[{"name":"info","description":"The debug info","type":[[["string"]]]}],"meta":{"line":337,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}}],"meta":{"line":23,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"VideoDispatcher","description":"The class that sends video packet data to the voice connection.\n```js\n// Obtained using:\nclient.voice.joinChannel(channel).then(connection => {\n // You can play a file or a stream here:\n const dispatcher = connection.playVideo('/home/hydrabolt/video.mp4', { fps: 60, preset: 'ultrafast' });\n});\n```","extends":[[["BaseDispatcher"]]],"props":[{"name":"player","description":"The Audio Player that controls this dispatcher","type":[[["MediaPlayer"]]],"meta":{"line":33,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"pausedSince","description":"The time that the stream was paused at (null if not paused)","nullable":true,"type":[[["number"]]],"meta":{"line":44,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"fps","description":"Video FPS","type":[[["number"]]],"meta":{"line":58,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"paused","description":"Whether or not playback is paused","readonly":true,"type":[[["boolean"]]],"meta":{"line":181,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"pausedTime","description":"Total time that this dispatcher has been paused in milliseconds","readonly":true,"type":[[["number"]]],"meta":{"line":190,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"totalStreamTime","description":"The time (in milliseconds) that the dispatcher has been playing audio for, taking into account skips and pauses","readonly":true,"type":[[["number"]]],"meta":{"line":220,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}}],"methods":[{"name":"setFPSSource","description":"Set FPS","params":[{"name":"value","description":"fps","type":[[["number"]]]}],"meta":{"line":26,"file":"VideoDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"pause","description":"Pauses playback","inherits":"BaseDispatcher#pause","inherited":true,"params":[{"name":"silence","description":"Whether to play silence while paused to prevent audio glitches","optional":true,"default":false,"type":[[["boolean"]]]}],"meta":{"line":157,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"resume","description":"Resumes playback","inherits":"BaseDispatcher#resume","inherited":true,"meta":{"line":197,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"createHeaderExtension","description":"Creates a single extension of type playout-delay\nDiscord seems to send this extension on every video packet","see":["https://webrtc.googlesource.com/src/+/refs/heads/main/docs/native-code/rtp-hdrext/playout-delay"],"access":"private","inherits":"BaseDispatcher#createHeaderExtension","inherited":true,"returns":{"types":[[["Buffer"]]],"description":"playout-delay extension"},"meta":{"line":260,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}}],"events":[{"name":"videoStatus","description":"Emitted when the dispatcher starts/stops video.","params":[{"name":"value","description":"Whether or not the dispatcher is enable video","type":[[["boolean"]]]}],"meta":{"line":383,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"streamStatus","description":"Emitted when the dispatcher starts/stops video.","params":[{"name":"isPaused","description":"Whether or not the dispatcher is pause video","type":[[["boolean"]]]}],"meta":{"line":395,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"error","description":"Emitted when the dispatcher encounters an error.","meta":{"line":63,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"start","description":"Emitted once the stream has started to play.","meta":{"line":116,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"debug","description":"Emitted whenever the dispatcher has debug information.","params":[{"name":"info","description":"The debug info","type":[[["string"]]]}],"meta":{"line":337,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}}],"meta":{"line":16,"file":"VideoDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"VoiceConnectionUDPClient","description":"Represents a UDP client for a Voice Connection.","extends":[[["EventEmitter"]]],"access":"private","props":[{"name":"voiceConnection","description":"The voice connection that this UDP client serves","type":[[["VoiceConnection"]]],"meta":{"line":23,"file":"VoiceUDPClient.js","path":"src/client/voice/networking"}},{"name":"socket","description":"The UDP socket","nullable":true,"type":[[["Socket"]]],"meta":{"line":29,"file":"VoiceUDPClient.js","path":"src/client/voice/networking"}},{"name":"discordAddress","description":"The address of the Discord voice server","nullable":true,"type":[[["string"]]],"meta":{"line":35,"file":"VoiceUDPClient.js","path":"src/client/voice/networking"}},{"name":"localAddress","description":"The local IP address","nullable":true,"type":[[["string"]]],"meta":{"line":41,"file":"VoiceUDPClient.js","path":"src/client/voice/networking"}},{"name":"localPort","description":"The local port","nullable":true,"type":[[["string"]]],"meta":{"line":47,"file":"VoiceUDPClient.js","path":"src/client/voice/networking"}},{"name":"discordPort","description":"The port of the Discord voice server","readonly":true,"type":[[["number"]]],"meta":{"line":69,"file":"VoiceUDPClient.js","path":"src/client/voice/networking"}}],"methods":[{"name":"send","description":"Send a packet to the UDP client.","params":[{"name":"packet","description":"The packet to send","type":[[["Object"]]]}],"returns":[[["Promise","<"],["Object",">"]]],"meta":{"line":78,"file":"VoiceUDPClient.js","path":"src/client/voice/networking"}}],"meta":{"line":15,"file":"VoiceUDPClient.js","path":"src/client/voice/networking"}},{"name":"VoiceWebSocket","description":"Represents a Voice Connection's WebSocket.","extends":[[["EventEmitter"]]],"access":"private","props":[{"name":"connection","description":"The Voice Connection that this WebSocket serves","type":[[["VoiceConnection"]]],"meta":{"line":21,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"attempts","description":"How many connection attempts have been made","type":[[["number"]]],"meta":{"line":27,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"client","description":"The client of this voice WebSocket","readonly":true,"type":[[["Client"]]],"meta":{"line":38,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"ws","description":"The actual WebSocket used to connect to the Voice WebSocket Server.","type":[[["WebSocket"]]],"meta":{"line":78,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}}],"methods":[{"name":"reset","description":"Resets the current WebSocket.","meta":{"line":51,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"connect","description":"Starts connecting to the Voice WebSocket Server.","meta":{"line":63,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"send","description":"Sends data to the WebSocket if it is open.","params":[{"name":"data","description":"The data to send to the WebSocket","type":[[["string"]]]}],"returns":[[["Promise","<"],["string",">"]]],"meta":{"line":91,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"sendPacket","description":"JSON.stringify's a packet and then sends it to the WebSocket Server.","params":[{"name":"packet","description":"The packet to send","type":[[["Object"]]]}],"returns":[[["Promise","<"],["string",">"]]],"meta":{"line":107,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"onOpen","description":"Called whenever the WebSocket opens.","meta":{"line":119,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"onMessage","description":"Called whenever a message is received from the WebSocket.","params":[{"name":"event","description":"The message event that was received","type":[[["MessageEvent"]]]}],"returns":[[["void"]]],"meta":{"line":141,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"onClose","description":"Called whenever the connection to the WebSocket server is lost.","meta":{"line":152,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"onError","description":"Called whenever an error occurs with the WebSocket.","params":[{"name":"error","description":"The error that occurred","type":[[["Error"]]]}],"meta":{"line":161,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"onPacket","description":"Called whenever a valid packet is received from the WebSocket.","params":[{"name":"packet","description":"The received packet","type":[[["Object"]]]}],"meta":{"line":170,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"setHeartbeat","description":"Sets an interval at which to send a heartbeat packet to the WebSocket.","params":[{"name":"interval","description":"The interval at which to send a heartbeat packet","type":[[["number"]]]}],"meta":{"line":232,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"clearHeartbeat","description":"Clears a heartbeat interval, if one exists.","meta":{"line":252,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"sendHeartbeat","description":"Sends a heartbeat packet.","meta":{"line":264,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}}],"events":[{"name":"ready","description":"Emitted once the voice WebSocket receives the ready packet.","params":[{"name":"packet","description":"The received packet","type":[[["Object"]]]}],"meta":{"line":177,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"sessionDescription","description":"Emitted once the Voice Websocket receives a description of this voice session.","params":[{"name":"packet","description":"The received packet","type":[[["Object"]]]}],"meta":{"line":188,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"startSpeaking","description":"Emitted whenever a speaking packet is received.","params":[{"name":"data","type":[[["Object"]]]}],"meta":{"line":210,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"unknownPacket","description":"Emitted when an unhandled packet is received.","params":[{"name":"packet","type":[[["Object"]]]}],"meta":{"line":218,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"warn","description":"Emitted whenever the voice WebSocket encounters a non-fatal error.","params":[{"name":"warn","description":"The warning","type":[[["string"]]]}],"meta":{"line":238,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}}],"meta":{"line":14,"file":"VoiceWebSocket.js","path":"src/client/voice/networking"}},{"name":"MediaPlayer","description":"Player for a Voice Connection.","extends":[[["EventEmitter"]]],"access":"private","props":[{"name":"voiceConnection","description":"The voice connection that the player serves","type":[[["VoiceConnection"]]],"meta":{"line":47,"file":"MediaPlayer.js","path":"src/client/voice/player"}}],"methods":[{"name":"createVideoDispatcher","description":"Create","access":"private","params":[{"name":"options","description":"any","type":[[["Object"]]]},{"name":"streams","description":"any","type":[[["Object"]]]}],"returns":[[["VideoDispatcher"]]],"meta":{"line":244,"file":"MediaPlayer.js","path":"src/client/voice/player"}}],"meta":{"line":36,"file":"MediaPlayer.js","path":"src/client/voice/player"}},{"name":"VoiceReceiver","description":"Receives audio packets from a voice connection.","methods":[{"name":"createStream","description":"Creates a new audio receiving stream. If a stream already exists for a user, then that stream will be returned\nrather than generating a new one.","params":[{"name":"user","description":"The user to start listening to.","type":[[["UserResolvable"]]]},{"name":"options","description":"Options.","type":[[["ReceiveStreamOptions"]]]}],"returns":[[["ReadableStream"]]],"meta":{"line":45,"file":"Receiver.js","path":"src/client/voice/receiver"}}],"events":[{"name":"debug","description":"Emitted whenever there is a warning","params":[{"name":"error","description":"The error or message to debug","type":[[["Error"]],[["string"]]]}],"meta":{"line":20,"file":"Receiver.js","path":"src/client/voice/receiver"}}],"meta":{"line":15,"file":"Receiver.js","path":"src/client/voice/receiver"}},{"name":"PlayInterface","description":"An interface class to allow you to play audio over VoiceConnections.","methods":[{"name":"playAudio","description":"Play an audio resource.","examples":["// Play a local audio file\nconnection.playAudio('/home/hydrabolt/audio.mp3', { volume: 0.5 });","// Play a ReadableStream\nconnection.playAudio(ytdl('https://www.youtube.com/watch?v=ZlAU_w7-Xp8', { quality: 'highestaudio' }));","// Using different protocols: https://ffmpeg.org/ffmpeg-protocols.html\nconnection.playAudio('http://www.sample-videos.com/audio/mp3/wave.mp3');"],"params":[{"name":"resource","description":"The resource to play.","type":[[["ReadableStream"]],[["string"]]]},{"name":"options","description":"The options to play.","optional":true,"type":[[["StreamOptions"]]]}],"returns":[[["AudioDispatcher"]]],"meta":{"line":57,"file":"PlayInterface.js","path":"src/client/voice/util"}},{"name":"playVideo","description":"Play an video resource.","examples":["// Play a local video file\nconnection.playVideo('/home/hydrabolt/video.mp4');","// Using different protocols: https://ffmpeg.org/ffmpeg-protocols.html\nconnection.playVideo('http://www.sample-videos.com/video/mp4/wave.mp4');"],"params":[{"name":"resource","description":"The resource to play.","type":[[["ReadableStream"]],[["string"]]]},{"name":"options","description":"The options to play.","optional":true,"type":[[["VideoOptions"]]]}],"returns":[[["VideoDispatcher"]]],"meta":{"line":107,"file":"PlayInterface.js","path":"src/client/voice/util"}}],"meta":{"line":37,"file":"PlayInterface.js","path":"src/client/voice/util"}},{"name":"VolumeInterface","description":"An interface class for volume transformation.","extends":[[["EventEmitter"]]],"props":[{"name":"volumeEditable","description":"Whether or not the volume of this stream is editable","readonly":true,"type":[[["boolean"]]],"meta":{"line":21,"file":"VolumeInterface.js","path":"src/client/voice/util"}},{"name":"volume","description":"The current volume of the stream","readonly":true,"type":[[["number"]]],"meta":{"line":30,"file":"VolumeInterface.js","path":"src/client/voice/util"}},{"name":"volumeDecibels","description":"The current volume of the stream in decibels","readonly":true,"type":[[["number"]]],"meta":{"line":39,"file":"VolumeInterface.js","path":"src/client/voice/util"}},{"name":"volumeLogarithmic","description":"The current volume of the stream from a logarithmic scale","readonly":true,"type":[[["number"]]],"meta":{"line":48,"file":"VolumeInterface.js","path":"src/client/voice/util"}}],"methods":[{"name":"setVolume","description":"Sets the volume relative to the input stream - i.e. 1 is normal, 0.5 is half, 2 is double.","params":[{"name":"volume","description":"The volume that you want to set","type":[[["number"]]]}],"meta":{"line":70,"file":"VolumeInterface.js","path":"src/client/voice/util"}},{"name":"setVolumeDecibels","description":"Sets the volume in decibels.","params":[{"name":"db","description":"The decibels","type":[[["number"]]]}],"meta":{"line":85,"file":"VolumeInterface.js","path":"src/client/voice/util"}},{"name":"setVolumeLogarithmic","description":"Sets the volume so that a perceived value of 0.5 is half the perceived volume etc.","params":[{"name":"value","description":"The value for the volume","type":[[["number"]]]}],"meta":{"line":93,"file":"VolumeInterface.js","path":"src/client/voice/util"}}],"events":[{"name":"volumeChange","description":"Emitted when the volume of this interface changes.","params":[{"name":"oldVolume","description":"The old volume of this interface","type":[[["number"]]]},{"name":"newVolume","description":"The new volume of this interface","type":[[["number"]]]}],"meta":{"line":71,"file":"VolumeInterface.js","path":"src/client/voice/util"}}],"meta":{"line":10,"file":"VolumeInterface.js","path":"src/client/voice/util"}},{"name":"VoiceConnection","description":"Represents a connection to a guild's voice server.\n```js\n// Obtained using:\nclient.voice.joinChannel(channel)\n .then(connection => {\n\n });\n```","extends":[[["EventEmitter"]]],"implements":[[["PlayInterface"]]],"props":[{"name":"voiceManager","description":"The voice manager that instantiated this connection","type":[[["ClientVoiceManager"]]],"meta":{"line":48,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"channel","description":"The voice channel this connection is currently serving","type":[[["VoiceChannel"]]],"meta":{"line":54,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"status","description":"The current status of the voice connection","type":[[["VoiceStatus"]]],"meta":{"line":60,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"speaking","description":"Our current speaking state","type":[[["Readonly","<"],["Speaking",">"]]],"meta":{"line":66,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"videoStatus","description":"Our current video state","type":[[["boolean"]]],"meta":{"line":72,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"authentication","description":"The authentication data needed to connect to the voice server","access":"private","type":[[["Object"]]],"meta":{"line":79,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"player","description":"The audio player for this voice connection","type":[[["MediaPlayer"]]],"meta":{"line":85,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"ssrcMap","description":"Map SSRC values to user IDs","access":"private","type":[[["Map","<"],["number",", "],["Snowflake",">"]]],"meta":{"line":112,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"_speaking","description":"Tracks which users are talking","access":"private","type":[[["Map","<"],["Snowflake",", "],["Readonly","<"],["Speaking",">>"]]],"meta":{"line":119,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"sockets","description":"Object that wraps contains the `ws` and `udp` sockets of this voice connection","access":"private","type":[[["Object"]]],"meta":{"line":126,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"receiver","description":"The voice receiver of this connection","type":[[["VoiceReceiver"]]],"meta":{"line":132,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"videoCodec","description":"The voice receiver of this connection","type":[[["VideoCodec"]]],"meta":{"line":147,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"streamConnection","description":"Create a stream connection ?","nullable":true,"type":[[["StreamConnection"]]],"meta":{"line":153,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"client","description":"The client that instantiated this connection","readonly":true,"type":[[["Client"]]],"meta":{"line":161,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"dispatcher","description":"The current audio dispatcher (if any)","readonly":true,"nullable":true,"type":[[["AudioDispatcher"]]],"meta":{"line":170,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"videoDispatcher","description":"The current video dispatcher (if any)","readonly":true,"nullable":true,"type":[[["VideoDispatcher"]]],"meta":{"line":179,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"voice","description":"The voice state of this connection","nullable":true,"type":[[["VoiceState"]]],"meta":{"line":259,"file":"VoiceConnection.js","path":"src/client/voice"}}],"methods":[{"name":"setSpeaking","description":"Sets whether the voice connection should display as \"speaking\", \"soundshare\" or \"none\".","params":[{"name":"value","description":"The new speaking state","type":[[["BitFieldResolvable"]]]}],"meta":{"line":187,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"setVideoCodec","description":"Set video codec before select protocol","params":[{"name":"value","description":"Codec","type":[[["VideoCodec"]]]}],"returns":[[["VoiceConnection"]]],"meta":{"line":210,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"setVideoStatus","description":"Sets video status","params":[{"name":"value","description":"Video on or off","type":[[["boolean"]]]}],"meta":{"line":220,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"sendVoiceStateUpdate","description":"Sends a request to the main gateway to join a voice channel.","access":"private","params":[{"name":"options","description":"The options to provide","optional":true,"type":[[["Object"]]]}],"returns":[[["Promise","<"],["Shard",">"]]],"meta":{"line":269,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"setTokenAndEndpoint","description":"Set the token and endpoint required to connect to the voice servers.","access":"private","params":[{"name":"token","description":"The voice token","type":[[["string"]]]},{"name":"endpoint","description":"The voice endpoint","type":[[["string"]]]}],"returns":[[["void"]]],"meta":{"line":297,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"setSessionId","description":"Sets the Session ID for the connection.","access":"private","params":[{"name":"sessionId","description":"The voice session ID","type":[[["string"]]]}],"meta":{"line":331,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"checkAuthenticated","description":"Checks whether the voice connection is authenticated.","access":"private","meta":{"line":356,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"authenticateFailed","description":"Invoked when we fail to initiate a voice connection.","access":"private","params":[{"name":"reason","description":"The reason for failure","type":[[["string"]]]}],"meta":{"line":375,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"updateChannel","description":"Move to a different voice channel in the same guild.","access":"private","params":[{"name":"channel","description":"The channel to move to","type":[[["VoiceChannel"]]]}],"meta":{"line":401,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"authenticate","description":"Attempts to authenticate to the voice server.","access":"private","params":[{"name":"options","description":"Join config","type":[[["Object"]]]}],"meta":{"line":411,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"reconnect","description":"Attempts to reconnect to the voice server (typically after a region change).","access":"private","params":[{"name":"token","description":"The voice token","type":[[["string"]]]},{"name":"endpoint","description":"The voice endpoint","type":[[["string"]]]}],"meta":{"line":422,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"disconnect","description":"Disconnects the voice connection, causing a disconnect and closing event to be emitted.","meta":{"line":439,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"_disconnect","description":"Internally disconnects (doesn't send disconnect packet).","access":"private","meta":{"line":455,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"cleanup","description":"Cleans up after disconnect.","access":"private","meta":{"line":469,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"connect","description":"Connect the voice connection.","access":"private","meta":{"line":494,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"onReady","description":"Invoked when the voice websocket is ready.","access":"private","params":[{"name":"data","description":"The received data","type":[[["Object"]]]}],"meta":{"line":525,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"onSessionDescription","description":"Invoked when a session description is received.","access":"private","params":[{"name":"data","description":"The received data","type":[[["Object"]]]}],"meta":{"line":542,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"onSpeaking","description":"Invoked when a speaking event is received.","access":"private","params":[{"name":"data","description":"The received data","type":[[["Object"]]]}],"meta":{"line":577,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"createStreamConnection","description":"Create new connection to screenshare stream","returns":[[["Promise","<"],["StreamConnection",">"]]],"meta":{"line":617,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"playAudio","description":"Play an audio resource.","implements":["PlayInterface#playAudio"],"examples":["// Play a local audio file\nconnection.playAudio('/home/hydrabolt/audio.mp3', { volume: 0.5 });","// Play a ReadableStream\nconnection.playAudio(ytdl('https://www.youtube.com/watch?v=ZlAU_w7-Xp8', { quality: 'highestaudio' }));","// Using different protocols: https://ffmpeg.org/ffmpeg-protocols.html\nconnection.playAudio('http://www.sample-videos.com/audio/mp3/wave.mp3');"],"params":[{"name":"resource","description":"The resource to play.","type":[[["ReadableStream"]],[["string"]]]},{"name":"options","description":"The options to play.","optional":true,"type":[[["StreamOptions"]]]}],"returns":[[["AudioDispatcher"]]],"meta":{"line":57,"file":"PlayInterface.js","path":"src/client/voice/util"}},{"name":"playVideo","description":"Play an video resource.","implements":["PlayInterface#playVideo"],"examples":["// Play a local video file\nconnection.playVideo('/home/hydrabolt/video.mp4');","// Using different protocols: https://ffmpeg.org/ffmpeg-protocols.html\nconnection.playVideo('http://www.sample-videos.com/video/mp4/wave.mp4');"],"params":[{"name":"resource","description":"The resource to play.","type":[[["ReadableStream"]],[["string"]]]},{"name":"options","description":"The options to play.","optional":true,"type":[[["VideoOptions"]]]}],"returns":[[["VideoDispatcher"]]],"meta":{"line":107,"file":"PlayInterface.js","path":"src/client/voice/util"}}],"events":[{"name":"debug","description":"Debug info from the connection.","params":[{"name":"message","description":"The debug message","type":[[["string"]]]}],"meta":{"line":88,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"warn","description":"Warning info from the connection.","params":[{"name":"warning","description":"The warning","type":[[["string"]],[["Error"]]]}],"meta":{"line":97,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"newSession","description":"Emitted when a new session ID is received.","meta":{"line":343,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"authenticated","description":"Emitted when we successfully initiate a voice connection.","meta":{"line":361,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"failed","description":"Emitted when we fail to initiate a voice connection.","params":[{"name":"error","description":"The encountered error","type":[[["Error"]]]}],"meta":{"line":379,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"error","description":"Emitted whenever the connection encounters an error.","params":[{"name":"error","description":"The encountered error","type":[[["Error"]]]}],"meta":{"line":386,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"reconnecting","description":"Emitted when the voice connection is reconnecting (typically after a region change).","meta":{"line":428,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"disconnect","description":"Emitted when the voice connection disconnects.","meta":{"line":458,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"ready","description":"Emitted once the connection is ready, when a promise to join a voice channel resolves,\nthe connection will already be ready.","meta":{"line":548,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"speaking","description":"Emitted whenever a user changes speaking state.","params":[{"name":"user","description":"The user that has changed speaking state","type":[[["User"]]]},{"name":"speaking","description":"The speaking state of the user","type":[[["Readonly","<"],["Speaking",">"]]]}],"meta":{"line":583,"file":"VoiceConnection.js","path":"src/client/voice"}}],"meta":{"line":40,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"StreamConnection","description":"Represents a connection to a guild's voice server.\n```js\n// Obtained using:\nclient.voice.joinChannel(channel)\n .then(connection => connection.createStreamConnection())\n .then(connection => {\n\n });\n```","extends":[[["VoiceConnection"]]],"construct":{"name":"StreamConnection","params":[{"name":"voiceManager","description":"Voice manager","type":[[["ClientVoiceManager"]]]},{"name":"channel","description":"any channel (joinable)","type":[[["Channel"]]]},{"name":"voiceConnection","description":"parent","type":[[["VoiceConnection"]]]}]},"props":[{"name":"voiceConnection","description":"Current voice connection","type":[[["VoiceConnection"]]],"meta":{"line":716,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"serverId","description":"Server Id","type":[[["string"]],[["null"]]],"meta":{"line":727,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"isPaused","description":"Stream state","type":[[["boolean"]]],"meta":{"line":733,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"streamKey","description":"Current stream key","type":[[["string"]]],"meta":{"line":812,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"voiceManager","description":"The voice manager that instantiated this connection","type":[[["ClientVoiceManager"]]],"meta":{"line":48,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"channel","description":"The voice channel this connection is currently serving","type":[[["VoiceChannel"]]],"meta":{"line":54,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"status","description":"The current status of the voice connection","type":[[["VoiceStatus"]]],"meta":{"line":60,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"speaking","description":"Our current speaking state","type":[[["Readonly","<"],["Speaking",">"]]],"meta":{"line":66,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"videoStatus","description":"Our current video state","type":[[["boolean"]]],"meta":{"line":72,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"authentication","description":"The authentication data needed to connect to the voice server","access":"private","type":[[["Object"]]],"meta":{"line":79,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"player","description":"The audio player for this voice connection","type":[[["MediaPlayer"]]],"meta":{"line":85,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"ssrcMap","description":"Map SSRC values to user IDs","access":"private","type":[[["Map","<"],["number",", "],["Snowflake",">"]]],"meta":{"line":112,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"_speaking","description":"Tracks which users are talking","access":"private","type":[[["Map","<"],["Snowflake",", "],["Readonly","<"],["Speaking",">>"]]],"meta":{"line":119,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"sockets","description":"Object that wraps contains the `ws` and `udp` sockets of this voice connection","access":"private","type":[[["Object"]]],"meta":{"line":126,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"receiver","description":"The voice receiver of this connection","type":[[["VoiceReceiver"]]],"meta":{"line":132,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"videoCodec","description":"The voice receiver of this connection","type":[[["VideoCodec"]]],"meta":{"line":147,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"streamConnection","description":"Create a stream connection ?","nullable":true,"type":[[["StreamConnection"]]],"meta":{"line":153,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"client","description":"The client that instantiated this connection","readonly":true,"type":[[["Client"]]],"meta":{"line":161,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"dispatcher","description":"The current audio dispatcher (if any)","readonly":true,"nullable":true,"type":[[["AudioDispatcher"]]],"meta":{"line":170,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"videoDispatcher","description":"The current video dispatcher (if any)","readonly":true,"nullable":true,"type":[[["VideoDispatcher"]]],"meta":{"line":179,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"voice","description":"The voice state of this connection","nullable":true,"type":[[["VoiceState"]]],"meta":{"line":259,"file":"VoiceConnection.js","path":"src/client/voice"}}],"methods":[{"name":"sendSignalScreenshare","description":"Create new stream connection (WS packet)","returns":[[["void"]]],"meta":{"line":762,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"sendScreenshareState","description":"Send screenshare state... (WS)","params":[{"name":"isPaused","description":"screenshare paused ?","default":false,"type":[[["boolean"]]]}],"returns":[[["void"]]],"meta":{"line":781,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"sendStopScreenshare","description":"Stop screenshare, delete this connection (WS)","access":"private","returns":[[["void"]]],"meta":{"line":798,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"setSpeaking","description":"Sets whether the voice connection should display as \"speaking\", \"soundshare\" or \"none\".","inherits":"VoiceConnection#setSpeaking","inherited":true,"params":[{"name":"value","description":"The new speaking state","type":[[["BitFieldResolvable"]]]}],"meta":{"line":187,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"setVideoCodec","description":"Set video codec before select protocol","inherits":"VoiceConnection#setVideoCodec","inherited":true,"params":[{"name":"value","description":"Codec","type":[[["VideoCodec"]]]}],"returns":[[["VoiceConnection"]]],"meta":{"line":210,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"setVideoStatus","description":"Sets video status","inherits":"VoiceConnection#setVideoStatus","inherited":true,"params":[{"name":"value","description":"Video on or off","type":[[["boolean"]]]}],"meta":{"line":220,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"sendVoiceStateUpdate","description":"Sends a request to the main gateway to join a voice channel.","access":"private","inherits":"VoiceConnection#sendVoiceStateUpdate","inherited":true,"params":[{"name":"options","description":"The options to provide","optional":true,"type":[[["Object"]]]}],"returns":[[["Promise","<"],["Shard",">"]]],"meta":{"line":269,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"setTokenAndEndpoint","description":"Set the token and endpoint required to connect to the voice servers.","access":"private","inherits":"VoiceConnection#setTokenAndEndpoint","inherited":true,"params":[{"name":"token","description":"The voice token","type":[[["string"]]]},{"name":"endpoint","description":"The voice endpoint","type":[[["string"]]]}],"returns":[[["void"]]],"meta":{"line":297,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"setSessionId","description":"Sets the Session ID for the connection.","access":"private","inherits":"VoiceConnection#setSessionId","inherited":true,"params":[{"name":"sessionId","description":"The voice session ID","type":[[["string"]]]}],"meta":{"line":331,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"checkAuthenticated","description":"Checks whether the voice connection is authenticated.","access":"private","inherits":"VoiceConnection#checkAuthenticated","inherited":true,"meta":{"line":356,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"authenticateFailed","description":"Invoked when we fail to initiate a voice connection.","access":"private","inherits":"VoiceConnection#authenticateFailed","inherited":true,"params":[{"name":"reason","description":"The reason for failure","type":[[["string"]]]}],"meta":{"line":375,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"updateChannel","description":"Move to a different voice channel in the same guild.","access":"private","inherits":"VoiceConnection#updateChannel","inherited":true,"params":[{"name":"channel","description":"The channel to move to","type":[[["VoiceChannel"]]]}],"meta":{"line":401,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"authenticate","description":"Attempts to authenticate to the voice server.","access":"private","inherits":"VoiceConnection#authenticate","inherited":true,"params":[{"name":"options","description":"Join config","type":[[["Object"]]]}],"meta":{"line":411,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"reconnect","description":"Attempts to reconnect to the voice server (typically after a region change).","access":"private","inherits":"VoiceConnection#reconnect","inherited":true,"params":[{"name":"token","description":"The voice token","type":[[["string"]]]},{"name":"endpoint","description":"The voice endpoint","type":[[["string"]]]}],"meta":{"line":422,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"disconnect","description":"Disconnects the voice connection, causing a disconnect and closing event to be emitted.","inherits":"VoiceConnection#disconnect","inherited":true,"meta":{"line":439,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"_disconnect","description":"Internally disconnects (doesn't send disconnect packet).","access":"private","inherits":"VoiceConnection#_disconnect","inherited":true,"meta":{"line":455,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"cleanup","description":"Cleans up after disconnect.","access":"private","inherits":"VoiceConnection#cleanup","inherited":true,"meta":{"line":469,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"connect","description":"Connect the voice connection.","access":"private","inherits":"VoiceConnection#connect","inherited":true,"meta":{"line":494,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"onReady","description":"Invoked when the voice websocket is ready.","access":"private","inherits":"VoiceConnection#onReady","inherited":true,"params":[{"name":"data","description":"The received data","type":[[["Object"]]]}],"meta":{"line":525,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"onSessionDescription","description":"Invoked when a session description is received.","access":"private","inherits":"VoiceConnection#onSessionDescription","inherited":true,"params":[{"name":"data","description":"The received data","type":[[["Object"]]]}],"meta":{"line":542,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"onSpeaking","description":"Invoked when a speaking event is received.","access":"private","inherits":"VoiceConnection#onSpeaking","inherited":true,"params":[{"name":"data","description":"The received data","type":[[["Object"]]]}],"meta":{"line":577,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"createStreamConnection","description":"Create new connection to screenshare stream","inherits":"VoiceConnection#createStreamConnection","inherited":true,"returns":[[["Promise","<"],["StreamConnection",">"]]],"meta":{"line":617,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"playAudio","description":"Play an audio resource.","inherits":"VoiceConnection#playAudio","inherited":true,"implements":["PlayInterface#playAudio"],"examples":["// Play a local audio file\nconnection.playAudio('/home/hydrabolt/audio.mp3', { volume: 0.5 });","// Play a ReadableStream\nconnection.playAudio(ytdl('https://www.youtube.com/watch?v=ZlAU_w7-Xp8', { quality: 'highestaudio' }));","// Using different protocols: https://ffmpeg.org/ffmpeg-protocols.html\nconnection.playAudio('http://www.sample-videos.com/audio/mp3/wave.mp3');"],"params":[{"name":"resource","description":"The resource to play.","type":[[["ReadableStream"]],[["string"]]]},{"name":"options","description":"The options to play.","optional":true,"type":[[["StreamOptions"]]]}],"returns":[[["AudioDispatcher"]]],"meta":{"line":57,"file":"PlayInterface.js","path":"src/client/voice/util"}},{"name":"playVideo","description":"Play an video resource.","inherits":"VoiceConnection#playVideo","inherited":true,"implements":["PlayInterface#playVideo"],"examples":["// Play a local video file\nconnection.playVideo('/home/hydrabolt/video.mp4');","// Using different protocols: https://ffmpeg.org/ffmpeg-protocols.html\nconnection.playVideo('http://www.sample-videos.com/video/mp4/wave.mp4');"],"params":[{"name":"resource","description":"The resource to play.","type":[[["ReadableStream"]],[["string"]]]},{"name":"options","description":"The options to play.","optional":true,"type":[[["VideoOptions"]]]}],"returns":[[["VideoDispatcher"]]],"meta":{"line":107,"file":"PlayInterface.js","path":"src/client/voice/util"}}],"events":[{"name":"debug","description":"Debug info from the connection.","params":[{"name":"message","description":"The debug message","type":[[["string"]]]}],"meta":{"line":88,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"warn","description":"Warning info from the connection.","params":[{"name":"warning","description":"The warning","type":[[["string"]],[["Error"]]]}],"meta":{"line":97,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"newSession","description":"Emitted when a new session ID is received.","meta":{"line":343,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"authenticated","description":"Emitted when we successfully initiate a voice connection.","meta":{"line":361,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"failed","description":"Emitted when we fail to initiate a voice connection.","params":[{"name":"error","description":"The encountered error","type":[[["Error"]]]}],"meta":{"line":379,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"error","description":"Emitted whenever the connection encounters an error.","params":[{"name":"error","description":"The encountered error","type":[[["Error"]]]}],"meta":{"line":386,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"reconnecting","description":"Emitted when the voice connection is reconnecting (typically after a region change).","meta":{"line":428,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"disconnect","description":"Emitted when the voice connection disconnects.","meta":{"line":458,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"ready","description":"Emitted once the connection is ready, when a promise to join a voice channel resolves,\nthe connection will already be ready.","meta":{"line":548,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"speaking","description":"Emitted whenever a user changes speaking state.","params":[{"name":"user","description":"The user that has changed speaking state","type":[[["User"]]]},{"name":"speaking","description":"The speaking state of the user","type":[[["Readonly","<"],["Speaking",">"]]]}],"meta":{"line":583,"file":"VoiceConnection.js","path":"src/client/voice"}}],"meta":{"line":702,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"WebhookClient","description":"The webhook client.","extends":[[["BaseClient"]]],"implements":[[["Webhook"]]],"construct":{"name":"WebhookClient","params":[{"name":"data","description":"The data of the webhook","type":[[["WebhookClientData"]]]},{"name":"options","description":"Options for the client","optional":true,"type":[[["ClientOptions"]]]}]},"props":[{"name":"id","description":"The webhook's id","type":[[["Snowflake"]]],"meta":{"line":55,"file":"Webhook.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the webhook was created at","readonly":true,"type":[[["number"]]],"meta":{"line":400,"file":"Webhook.js","path":"src/structures"}},{"name":"createdAt","description":"The time the webhook was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":409,"file":"Webhook.js","path":"src/structures"}},{"name":"url","description":"The URL of this webhook","readonly":true,"type":[[["string"]]],"meta":{"line":418,"file":"Webhook.js","path":"src/structures"}},{"name":"options","description":"The options the client was instantiated with","type":[[["ClientOptions"]]],"meta":{"line":25,"file":"BaseClient.js","path":"src/client"}},{"name":"rest","description":"The REST manager of the client","access":"private","type":[[["RESTManager"]]],"meta":{"line":32,"file":"BaseClient.js","path":"src/client"}},{"name":"api","description":"API shortcut","access":"private","readonly":true,"type":[[["Object"]]],"meta":{"line":41,"file":"BaseClient.js","path":"src/client"}}],"methods":[{"name":"send","description":"Sends a message with this webhook.","implements":["Webhook#send"],"examples":["// Send a basic message\nwebhook.send('hello!')\n .then(message => console.log(`Sent message: ${message.content}`))\n .catch(console.error);","// Send a basic message in a thread\nwebhook.send({ content: 'hello!', threadId: '836856309672348295' })\n .then(message => console.log(`Sent message: ${message.content}`))\n .catch(console.error);","// Send a remote file\nwebhook.send({\n files: ['https://cdn.discordapp.com/icons/222078108977594368/6e1019b3179d71046e463a75915e7244.png?size=2048']\n})\n .then(console.log)\n .catch(console.error);","// Send a local file\nwebhook.send({\n files: [{\n attachment: 'entire/path/to/file.jpg',\n name: 'file.jpg'\n }]\n})\n .then(console.log)\n .catch(console.error);","// Send an embed with a local image inside\nwebhook.send({\n content: 'This is an embed',\n embeds: [{\n thumbnail: {\n url: 'attachment://file.jpg'\n }\n }],\n files: [{\n attachment: 'entire/path/to/file.jpg',\n name: 'file.jpg'\n }]\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["WebhookMessageOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":185,"file":"Webhook.js","path":"src/structures"}},{"name":"sendSlackMessage","description":"Sends a raw slack message with this webhook.","see":["{@link https://api.slack.com/messaging/webhooks}"],"implements":["Webhook#sendSlackMessage"],"examples":["// Send a slack message\nwebhook.sendSlackMessage({\n 'username': 'Wumpus',\n 'attachments': [{\n 'pretext': 'this looks pretty cool',\n 'color': '#F0F',\n 'footer_icon': 'http://snek.s3.amazonaws.com/topSnek.png',\n 'footer': 'Powered by sneks',\n 'ts': Date.now() / 1_000\n }]\n}).catch(console.error);"],"params":[{"name":"body","description":"The raw body to send","type":[[["Object"]]]}],"async":true,"returns":[[["Promise","<"],["boolean",">"]]],"meta":{"line":225,"file":"Webhook.js","path":"src/structures"}},{"name":"edit","description":"Edits this webhook.","implements":["Webhook#edit"],"params":[{"name":"options","description":"Options for editing the webhook","type":[[["WebhookEditData"]]]},{"name":"reason","description":"Reason for editing the webhook","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Webhook",">"]]],"meta":{"line":252,"file":"Webhook.js","path":"src/structures"}},{"name":"fetchMessage","description":"Gets a message that was sent by this webhook.","implements":["Webhook#fetchMessage"],"params":[{"name":"message","description":"The id of the message to fetch","type":[[["Snowflake"]],[["original","'"]]]},{"name":"cacheOrOptions","description":"The options to provide to fetch the message.\nA **deprecated** boolean may be passed instead to specify whether to cache the message.","optional":true,"default":"{}","type":[[["WebhookFetchMessageOptions"]],[["boolean"]]]}],"async":true,"returns":{"types":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"description":"Returns the raw message data if the webhook was instantiated as a\n{@link WebhookClient} or if the channel is uncached, otherwise a {@link Message} will be returned"},"meta":{"line":286,"file":"Webhook.js","path":"src/structures"}},{"name":"editMessage","description":"Edits a message that was sent by this webhook.","implements":["Webhook#editMessage"],"params":[{"name":"message","description":"The message to edit","type":[[["MessageResolvable"]],[["original","'"]]]},{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["WebhookEditMessageOptions"]]]}],"async":true,"returns":{"types":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"description":"Returns the raw message data if the webhook was instantiated as a\n{@link WebhookClient} or if the channel is uncached, otherwise a {@link Message} will be returned"},"meta":{"line":322,"file":"Webhook.js","path":"src/structures"}},{"name":"delete","description":"Deletes the webhook.","implements":["Webhook#delete"],"params":[{"name":"reason","description":"Reason for deleting this webhook","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":361,"file":"Webhook.js","path":"src/structures"}},{"name":"deleteMessage","description":"Delete a message that was sent by this webhook.","implements":["Webhook#deleteMessage"],"params":[{"name":"message","description":"The message to delete","type":[[["MessageResolvable"]],[["original","'"]]]},{"name":"threadId","description":"The id of the thread this message belongs to","optional":true,"type":[[["Snowflake"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":371,"file":"Webhook.js","path":"src/structures"}},{"name":"destroy","description":"Destroys all assets used by the base client.","inherits":"BaseClient#destroy","inherited":true,"returns":[[["void"]]],"meta":{"line":49,"file":"BaseClient.js","path":"src/client"}},{"name":"incrementMaxListeners","description":"Increments max listeners by one, if they are not zero.","access":"private","inherits":"BaseClient#incrementMaxListeners","inherited":true,"meta":{"line":57,"file":"BaseClient.js","path":"src/client"}},{"name":"decrementMaxListeners","description":"Decrements max listeners by one, if they are not zero.","access":"private","inherits":"BaseClient#decrementMaxListeners","inherited":true,"meta":{"line":68,"file":"BaseClient.js","path":"src/client"}}],"events":[{"name":"debug","description":"Emitted for general debugging information.","params":[{"name":"info","description":"The debug information","type":[[["string"]]]}],"meta":{"line":82,"file":"BaseClient.js","path":"src/client"}},{"name":"rateLimit","description":"Emitted when the client hits a rate limit while making a request","params":[{"name":"rateLimitData","description":"Object containing the rate limit info","type":[[["RateLimitData"]]]}],"meta":{"line":138,"file":"RequestHandler.js","path":"src/rest"}},{"name":"apiRequest","description":"Emitted before every API request.\nThis event can emit several times for the same request, e.g. when hitting a rate limit.\nThis is an informational event that is emitted quite frequently,\nit is highly recommended to check `request.path` to filter the data.","params":[{"name":"request","description":"The request that is about to be sent","type":[[["APIRequest"]]]}],"meta":{"line":189,"file":"RequestHandler.js","path":"src/rest"}},{"name":"apiResponse","description":"Emitted after every API request has received a response.\nThis event does not necessarily correlate to completion of the request, e.g. when hitting a rate limit.\nThis is an informational event that is emitted quite frequently,\nit is highly recommended to check `request.path` to filter the data.","params":[{"name":"request","description":"The request that triggered this response","type":[[["APIRequest"]]]},{"name":"response","description":"The response received from the Discord API","type":[[["Response"]]]}],"meta":{"line":221,"file":"RequestHandler.js","path":"src/rest"}},{"name":"invalidRequestWarning","description":"Emitted periodically when the process sends invalid requests to let users avoid the\n10k invalid requests in 10 minutes threshold that causes a ban","params":[{"name":"invalidRequestWarningData","description":"Object containing the invalid request info","type":[[["InvalidRequestWarningData"]]]}],"meta":{"line":298,"file":"RequestHandler.js","path":"src/rest"}}],"meta":{"line":12,"file":"WebhookClient.js","path":"src/client"}},{"name":"WebSocketManager","description":"The WebSocket manager for this client.\nThis class forwards raw dispatch events,\nread more about it here {@link https://discord.com/developers/docs/topics/gateway}","extends":[[["EventEmitter"]]],"props":[{"name":"client","description":"The client that instantiated this WebSocketManager","readonly":true,"type":[[["Client"]]],"meta":{"line":40,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"gateway","description":"The gateway this manager uses","nullable":true,"type":[[["string"]]],"meta":{"line":52,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"totalShards","description":"The amount of shards this manager handles","access":"private","type":[[["number"]]],"meta":{"line":59,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"shards","description":"A collection of all shards this manager handles","type":[[["Collection","<"],["number",", "],["WebSocketShard",">"]]],"meta":{"line":65,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"shardQueue","description":"An array of shards to be connected or that need to reconnect","access":"private","type":[[["Set","<"],["WebSocketShard",">"]]],"meta":{"line":67,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"packetQueue","description":"An array of queued events before this WebSocketManager became ready","access":"private","type":[[["Array","<"],["Object",">"]]],"meta":{"line":75,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"status","description":"The current status of this WebSocketManager","type":[[["Status"]]],"meta":{"line":87,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"destroyed","description":"If this manager was destroyed. It will prevent shards from reconnecting","access":"private","type":[[["boolean"]]],"meta":{"line":94,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"reconnecting","description":"If this manager is currently reconnecting one or multiple shards","access":"private","type":[[["boolean"]]],"meta":{"line":101,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"ping","description":"The average ping of all WebSocketShards","readonly":true,"type":[[["number"]]],"meta":{"line":109,"file":"WebSocketManager.js","path":"src/client/websocket"}}],"methods":[{"name":"debug","description":"Emits a debug message.","access":"private","params":[{"name":"message","description":"The debug message","type":[[["string"]]]},{"name":"shard","description":"The shard that emitted this message, if any","optional":true,"nullable":true,"type":[[["WebSocketShard"]]]}],"meta":{"line":120,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"connect","description":"Connects this manager to the gateway.","access":"private","async":true,"meta":{"line":128,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"createShards","description":"Handles the creation of a shard.","access":"private","async":true,"returns":[[["Promise","<"],["boolean",">"]]],"meta":{"line":169,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"reconnect","description":"Handles reconnects for this manager.","access":"private","async":true,"returns":[[["Promise","<"],["boolean",">"]]],"meta":{"line":268,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"broadcast","description":"Broadcasts a packet to every shard this manager handles.","access":"private","params":[{"name":"packet","description":"The packet to send","type":[[["Object"]]]}],"meta":{"line":306,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"destroy","description":"Destroys this manager and all its shards.","access":"private","meta":{"line":314,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"handlePacket","description":"Processes a packet and queues it if this WebSocketManager is not ready.","access":"private","params":[{"name":"packet","description":"The packet to be handled","optional":true,"type":[[["Object"]]]},{"name":"shard","description":"The shard that will handle this packet","optional":true,"type":[[["WebSocketShard"]]]}],"returns":[[["boolean"]]],"meta":{"line":329,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"checkShardsReady","description":"Checks whether the client is ready to be marked as ready.","access":"private","meta":{"line":363,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"triggerClientReady","description":"Causes the client to be marked as ready and emits the ready event.","access":"private","meta":{"line":376,"file":"WebSocketManager.js","path":"src/client/websocket"}}],"meta":{"line":36,"file":"WebSocketManager.js","path":"src/client/websocket"}},{"name":"WebSocketShard","description":"Represents a Shard's WebSocket connection","extends":[[["EventEmitter"]]],"props":[{"name":"manager","description":"The WebSocketManager of the shard","type":[[["WebSocketManager"]]],"meta":{"line":31,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"id","description":"The shard's id","type":[[["number"]]],"meta":{"line":37,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"resumeURL","description":"The resume URL for this shard","access":"private","nullable":true,"type":[[["string"]]],"meta":{"line":44,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"status","description":"The current status of the shard","type":[[["Status"]]],"meta":{"line":50,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"sequence","description":"The current sequence of the shard","access":"private","type":[[["number"]]],"meta":{"line":57,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"closeSequence","description":"The sequence of the shard after close","access":"private","type":[[["number"]]],"meta":{"line":64,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"sessionId","description":"The current session id of the shard","access":"private","nullable":true,"type":[[["string"]]],"meta":{"line":71,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"ping","description":"The previous heartbeat ping of the shard","type":[[["number"]]],"meta":{"line":77,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"lastPingTimestamp","description":"The last time a ping was sent (a timestamp)","access":"private","type":[[["number"]]],"meta":{"line":84,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"lastHeartbeatAcked","description":"If we received a heartbeat ack back. Used to identify zombie connections","access":"private","type":[[["boolean"]]],"meta":{"line":91,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"closeEmitted","description":"Used to prevent calling {@link WebSocketShard#event:close} twice while closing or terminating the WebSocket.","access":"private","type":[[["boolean"]]],"meta":{"line":98,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"ratelimit","description":"Contains the rate limit queue and metadata","access":"private","type":[[["Object"]]],"meta":{"line":100,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"connection","description":"The WebSocket connection for the current shard","access":"private","nullable":true,"type":[[["WebSocket"]]],"meta":{"line":116,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"inflate","description":"The compression to use","access":"private","nullable":true,"type":[[["Inflate"]]],"meta":{"line":129,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"helloTimeout","description":"The HELLO timeout","access":"private","nullable":true,"type":[[["NodeJSTimeout"]]],"meta":{"line":137,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"wsCloseTimeout","description":"The WebSocket timeout.","access":"private","nullable":true,"type":[[["NodeJSTimeout"]]],"meta":{"line":145,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"eventsAttached","description":"If the manager attached its event handlers on the shard","access":"private","type":[[["boolean"]]],"meta":{"line":153,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"expectedGuilds","description":"A set of guild ids this shard expects to receive","access":"private","nullable":true,"type":[[["Set","<"],["string",">"]]],"meta":{"line":161,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"readyTimeout","description":"The ready timeout","access":"private","nullable":true,"type":[[["NodeJSTimeout"]]],"meta":{"line":169,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"connectedAt","description":"Time when the WebSocket connection was opened","access":"private","type":[[["number"]]],"meta":{"line":177,"file":"WebSocketShard.js","path":"src/client/websocket"}}],"methods":[{"name":"debug","description":"Emits a debug event.","access":"private","params":[{"name":"message","description":"The debug message","type":[[["string"]]]}],"meta":{"line":191,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"connect","description":"Connects the shard to the gateway.","access":"private","returns":{"types":[[["Promise","<"],["void",">"]]],"description":"A promise that will resolve if the shard turns ready successfully,\nor reject if we couldn't connect"},"meta":{"line":201,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"onOpen","description":"Called whenever a connection is opened to the gateway.","access":"private","meta":{"line":299,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"onMessage","description":"Called whenever a message is received.","access":"private","params":[{"name":"event","description":"Event received","type":[[["MessageEvent"]]]}],"meta":{"line":309,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"onError","description":"Called whenever an error occurs with the WebSocket.","access":"private","params":[{"name":"event","description":"The error that occurred","type":[[["ErrorEvent"]]]}],"meta":{"line":340,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"onClose","description":"Called whenever a connection to the gateway is closed.","access":"private","params":[{"name":"event","description":"Close event that was received","type":[[["CloseEvent"]]]}],"meta":{"line":373,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"emitClose","description":"This method is responsible to emit close event for this shard.\nThis method helps the shard reconnect.","params":[{"name":"event","description":"Close event that was received","optional":true,"type":[[["CloseEvent"]]]}],"meta":{"line":396,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"onPacket","description":"Called whenever a packet is received.","access":"private","params":[{"name":"packet","description":"The received packet","type":[[["Object"]]]}],"meta":{"line":421,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"checkReady","description":"Checks if the shard can be marked as ready","access":"private","meta":{"line":510,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"setHelloTimeout","description":"Sets the HELLO packet timeout.","access":"private","params":[{"name":"time","description":"If set to -1, it will clear the hello timeout","optional":true,"type":[[["number"]]]}],"meta":{"line":564,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"setWsCloseTimeout","description":"Sets the WebSocket Close timeout.\nThis method is responsible for detecting any zombie connections if the WebSocket fails to close properly.","access":"private","params":[{"name":"time","description":"If set to -1, it will clear the timeout","optional":true,"type":[[["number"]]]}],"meta":{"line":586,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"setHeartbeatTimer","description":"Sets the heartbeat timer for this shard.","access":"private","params":[{"name":"time","description":"If -1, clears the interval, any other number sets an interval","type":[[["number"]]]}],"meta":{"line":626,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"sendHeartbeat","description":"Sends a heartbeat to the WebSocket.\nIf this shard didn't receive a heartbeat last time, it will destroy it and reconnect","access":"private","params":[{"name":"tag","description":"What caused this heartbeat to be sent","optional":true,"default":"'HeartbeatTimer'","type":[[["string"]]]},{"name":"ignoreHeartbeatAck","description":"If we should send the heartbeat forcefully.","optional":true,"type":[[["boolean"]]]}],"meta":{"line":648,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"ackHeartbeat","description":"Acknowledges a heartbeat.","access":"private","meta":{"line":675,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"identify","description":"Identifies the client on the connection.","access":"private","returns":[[["void"]]],"meta":{"line":687,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"identifyNew","description":"Identifies as a new connection on the gateway.","access":"private","meta":{"line":695,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"identifyResume","description":"Resumes a session on the gateway.","access":"private","meta":{"line":729,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"send","description":"Adds a packet to the queue to be sent to the gateway.\nIf you use this method, make sure you understand that you need to provide\na full [Payload](https://discord.com/developers/docs/topics/gateway-events#payload-structure).\nDo not use this method if you don't know what you're doing.","params":[{"name":"data","description":"The full packet to send","type":[[["Object"]]]},{"name":"important","description":"If this packet should be added first in queue","optional":true,"default":false,"type":[[["boolean"]]]}],"meta":{"line":757,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"_send","description":"Sends data, bypassing the queue.","access":"private","params":[{"name":"data","description":"Packet to send","type":[[["Object"]]]}],"returns":[[["void"]]],"meta":{"line":768,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"processQueue","description":"Processes the current WebSocket queue.","access":"private","returns":[[["void"]]],"meta":{"line":785,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"destroy","description":"Destroys this shard and closes its WebSocket connection.","access":"private","params":[{"name":"options","description":"Options for destroying the shard","optional":true,"default":"{ closeCode: 1000, reset: false, emit: true, log: true }","type":[[["Object"]]]}],"meta":{"line":807,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"_cleanupConnection","description":"Cleans up the WebSocket connection listeners.","access":"private","meta":{"line":887,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"_emitDestroyed","description":"Emits the DESTROYED event on the shard","access":"private","meta":{"line":896,"file":"WebSocketShard.js","path":"src/client/websocket"}}],"events":[{"name":"close","description":"Emitted when a shard's WebSocket closes.","params":[{"name":"event","description":"The received event","type":[[["CloseEvent"]]]}],"meta":{"line":407,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"ready","description":"Emitted when the shard receives the READY payload and is now waiting for guilds","meta":{"line":429,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"resumed","description":"Emitted when the shard resumes successfully","meta":{"line":444,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"invalidSession","description":"Emitted when the session has been invalidated.","meta":{"line":485,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"allReady","description":"Emitted when the shard is fully ready.\nThis event is emitted if:\n* all guilds were received by this shard\n* the ready timeout expired, and some guilds are unavailable","params":[{"name":"unavailableGuilds","description":"Set of unavailable guilds, if any","nullable":true,"type":[[["Set","<"],["string",">"]]]}],"meta":{"line":521,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"destroyed","description":"Emitted when a shard is destroyed, but no WebSocket connection was present.","meta":{"line":897,"file":"WebSocketShard.js","path":"src/client/websocket"}}],"meta":{"line":23,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"ApplicationCommandManager","description":"Manages API methods for application commands and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"permissions","description":"The manager for permissions of arbitrary commands on arbitrary guilds","type":[[["ApplicationCommandPermissionsManager"]]],"meta":{"line":24,"file":"ApplicationCommandManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of this manager","type":[[["Collection","<"],["Snowflake",", "],["ApplicationCommand",">"]]],"meta":{"line":27,"file":"ApplicationCommandManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"commandPath","description":"The APIRouter path to the commands","access":"private","params":[{"name":"options.id","description":"The application command's id","optional":true,"type":[[["Snowflake"]]]},{"name":"options.guildId","description":"The guild's id to use in the path,\nignored when using a {@link GuildApplicationCommandManager}","optional":true,"type":[[["Snowflake"]]]}],"returns":[[["Object"]]],"meta":{"line":45,"file":"ApplicationCommandManager.js","path":"src/managers"}},{"name":"fetch","description":"Obtains one or multiple application commands from Discord, or the cache if it's already available.","examples":["// Fetch a single command\nclient.application.commands.fetch('123456789012345678')\n .then(command => console.log(`Fetched command ${command.name}`))\n .catch(console.error);","// Fetch all commands\nguild.commands.fetch()\n .then(commands => console.log(`Fetched ${commands.size} commands`))\n .catch(console.error);"],"params":[{"name":"id","description":"The application command's id","optional":true,"type":[[["Snowflake"]]]},{"name":"options","description":"Additional options for this fetch","optional":true,"type":[[["FetchApplicationCommandOptions"]]]}],"async":true,"returns":[[["Promise","<("],["ApplicationCommand","|"],["Collection","<"],["Snowflake",", "],["ApplicationCommand",">)>"]]],"meta":{"line":96,"file":"ApplicationCommandManager.js","path":"src/managers"}},{"name":"create","description":"Creates an application command.","examples":["// Create a new command\nclient.application.commands.create({\n name: 'test',\n description: 'A test command',\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"command","description":"The command","type":[[["ApplicationCommandDataResolvable"]]]},{"name":"guildId","description":"The guild's id to create this command in,\nignored when using a {@link GuildApplicationCommandManager}","optional":true,"type":[[["Snowflake"]]]}],"async":true,"returns":[[["Promise","<"],["ApplicationCommand",">"]]],"meta":{"line":132,"file":"ApplicationCommandManager.js","path":"src/managers"}},{"name":"set","description":"Sets all the commands for this application or guild.","examples":["// Set all commands to just this one\nclient.application.commands.set([\n {\n name: 'test',\n description: 'A test command',\n },\n])\n .then(console.log)\n .catch(console.error);","// Remove all commands\nguild.commands.set([])\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"commands","description":"The commands","type":[[["Array","<"],["ApplicationCommandDataResolvable",">"]]]},{"name":"guildId","description":"The guild's id to create the commands in,\nignored when using a {@link GuildApplicationCommandManager}","optional":true,"type":[[["Snowflake"]]]}],"async":true,"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["ApplicationCommand",">>"]]],"meta":{"line":161,"file":"ApplicationCommandManager.js","path":"src/managers"}},{"name":"edit","description":"Edits an application command.","examples":["// Edit an existing command\nclient.application.commands.edit('123456789012345678', {\n description: 'New description',\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"command","description":"The command to edit","type":[[["ApplicationCommandResolvable"]]]},{"name":"data","description":"The data to update the command with","type":[[["Partial","<"],["ApplicationCommandDataResolvable",">"]]]},{"name":"guildId","description":"The guild's id where the command registered,\nignored when using a {@link GuildApplicationCommandManager}","optional":true,"type":[[["Snowflake"]]]}],"async":true,"returns":[[["Promise","<"],["ApplicationCommand",">"]]],"meta":{"line":183,"file":"ApplicationCommandManager.js","path":"src/managers"}},{"name":"delete","description":"Deletes an application command.","examples":["// Delete a command\nguild.commands.delete('123456789012345678')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"command","description":"The command to delete","type":[[["ApplicationCommandResolvable"]]]},{"name":"guildId","description":"The guild's id where the command is registered,\nignored when using a {@link GuildApplicationCommandManager}","optional":true,"type":[[["Snowflake"]]]}],"async":true,"returns":[[["Promise",""],["ApplicationCommand",">"]]],"meta":{"line":205,"file":"ApplicationCommandManager.js","path":"src/managers"}},{"name":"resolve","description":"Resolves a data entry to a data Object.","inherits":"DataManager#resolve","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Object"]]],"description":"An instance from this Manager","nullable":true},"meta":{"line":39,"file":"DataManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a data entry to an instance id.","inherits":"DataManager#resolveId","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":50,"file":"DataManager.js","path":"src/managers"}},{"name":"transformCommand","description":"Transforms an {@link ApplicationCommandData} object into something that can be used with the API.","scope":"static","access":"private","params":[{"name":"command","description":"The command to transform","type":[[["ApplicationCommandDataResolvable"]]]}],"returns":[[["APIApplicationCommand"]]],"meta":{"line":222,"file":"ApplicationCommandManager.js","path":"src/managers"}}],"meta":{"line":16,"file":"ApplicationCommandManager.js","path":"src/managers"}},{"name":"ApplicationCommandPermissionsManager","description":"Manages API methods for permissions of Application Commands.","extends":[[["BaseManager"]]],"props":[{"name":"manager","description":"The manager or command that this manager belongs to","access":"private","type":[[["ApplicationCommandManager"]],[["ApplicationCommand"]]],"meta":{"line":21,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"guild","description":"The guild that this manager acts on","nullable":true,"type":[[["Guild"]]],"meta":{"line":27,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"guildId","description":"The id of the guild that this manager acts on","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":33,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"commandId","description":"The id of the command this manager acts on","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":39,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"permissionsPath","description":"The APIRouter path to the commands","access":"private","params":[{"name":"guildId","description":"The guild's id to use in the path,","type":[[["Snowflake"]]]},{"name":"commandId","description":"The application command's id","optional":true,"type":[[["Snowflake"]]]}],"returns":[[["Object"]]],"meta":{"line":49,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"fetch","description":"Fetches the permissions for one or multiple commands.","examples":["// Fetch permissions for one command\nguild.commands.permissions.fetch({ command: '123456789012345678' })\n .then(perms => console.log(`Fetched permissions for ${perms.length} users`))\n .catch(console.error);","// Fetch permissions for all commands in a guild\nclient.application.commands.permissions.fetch({ guild: '123456789012345678' })\n .then(perms => console.log(`Fetched permissions for ${perms.size} commands`))\n .catch(console.error);"],"params":[{"name":"options","description":"Options used to fetch permissions","optional":true,"type":[[["BaseApplicationCommandPermissionsOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Array","<"],["ApplicationCommandPermissions",">|"],["Collection","<"],["Snowflake",", "],["Array","<"],["ApplicationCommandPermissions",">>)>"]]],"meta":{"line":95,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"set","description":"Sets the permissions for one or more commands.","examples":["// Set the permissions for one command\nclient.application.commands.permissions.set({ guild: '892455839386304532', command: '123456789012345678',\n permissions: [\n {\n id: '876543210987654321',\n type: 'USER',\n permission: false,\n },\n]})\n .then(console.log)\n .catch(console.error);","// Set the permissions for all commands\nguild.commands.permissions.set({ fullPermissions: [\n {\n id: '123456789012345678',\n permissions: [{\n id: '876543210987654321',\n type: 'USER',\n permission: false,\n }],\n },\n]})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options used to set permissions","type":[[["SetApplicationCommandPermissionsOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Array","<"],["ApplicationCommandPermissions",">|"],["Collection","<"],["Snowflake",", "],["Array","<"],["ApplicationCommandPermissions",">>)>"]]],"meta":{"line":161,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"add","description":"Add permissions to a command.","examples":["// Block a role from the command permissions\nguild.commands.permissions.add({ command: '123456789012345678', permissions: [\n {\n id: '876543211234567890',\n type: 'ROLE',\n permission: false\n },\n]})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options used to add permissions","type":[[["AddApplicationCommandPermissionsOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Array","<"],["ApplicationCommandPermissions",">>"]]],"meta":{"line":222,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"remove","description":"Remove permissions from a command.","examples":["// Remove a user permission from this command\nguild.commands.permissions.remove({ command: '123456789012345678', users: '876543210123456789' })\n .then(console.log)\n .catch(console.error);","// Remove multiple roles from this command\nguild.commands.permissions.remove({\n command: '123456789012345678', roles: ['876543210123456789', '765432101234567890']\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options used to remove permissions","type":[[["RemoveApplicationCommandPermissionsOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Array","<"],["ApplicationCommandPermissions",">>"]]],"meta":{"line":273,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"has","description":"Check whether a permission exists for a user or role","examples":["// Check whether a user has permission to use a command\nguild.commands.permissions.has({ command: '123456789012345678', permissionId: '876543210123456789' })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options used to check permissions","type":[[["AddApplicationCommandPermissionsOptions"]]]}],"async":true,"returns":[[["Promise","<"],["boolean",">"]]],"meta":{"line":348,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"transformPermissions","description":"Transforms an {@link ApplicationCommandPermissionData} object into something that can be used with the API.","scope":"static","access":"private","params":[{"name":"permissions","description":"The permissions to transform","type":[[["ApplicationCommandPermissionData"]]]},{"name":"received","description":"Whether these permissions have been received from Discord","optional":true,"type":[[["boolean"]]]}],"returns":[[["APIApplicationCommandPermissions"]]],"meta":{"line":399,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}}],"meta":{"line":12,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"AutoModerationRuleManager","description":"Manages API methods for auto moderation rules and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"guild","description":"The guild this manager belongs to.","type":[[["Guild"]]],"meta":{"line":25,"file":"AutoModerationRuleManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of items for this manager.","abstract":true,"type":[[["Collection"]]],"meta":{"line":49,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"resolve","description":"Resolves an {@link AutoModerationRuleResolvable} to an {@link AutoModerationRule} object.","params":[{"name":"autoModerationRule","description":"The AutoModerationRule resolvable to resolve","type":[[["AutoModerationRuleResolvable"]]]}],"returns":{"types":[[["AutoModerationRule"]]],"nullable":true},"meta":{"line":28,"file":"AutoModerationRuleManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves an {@link AutoModerationRuleResolvable} to a {@link AutoModerationRule} id.","params":[{"name":"autoModerationRule","description":"The AutoModerationRule resolvable to resolve","type":[[["AutoModerationRuleResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":37,"file":"AutoModerationRuleManager.js","path":"src/managers"}},{"name":"create","description":"Creates a new auto moderation rule.","params":[{"name":"options","description":"Options for creating the auto moderation rule","type":[[["AutoModerationRuleCreateOptions"]]]}],"async":true,"returns":[[["Promise","<"],["AutoModerationRule",">"]]],"meta":{"line":108,"file":"AutoModerationRuleManager.js","path":"src/managers"}},{"name":"edit","description":"Edits an auto moderation rule.","params":[{"name":"autoModerationRule","description":"The auto moderation rule to edit","type":[[["AutoModerationRuleResolvable"]]]},{"name":"options","description":"Options for editing the auto moderation rule","type":[[["AutoModerationRuleEditOptions"]]]}],"async":true,"returns":[[["Promise","<"],["AutoModerationRule",">"]]],"meta":{"line":174,"file":"AutoModerationRuleManager.js","path":"src/managers"}},{"name":"fetch","description":"Fetches auto moderation rules from Discord.","examples":["// Fetch all auto moderation rules from a guild without caching\nguild.autoModerationRules.fetch({ cache: false })\n .then(console.log)\n .catch(console.error);","// Fetch a single auto moderation rule\nguild.autoModerationRules.fetch('979083472868098119')\n .then(console.log)\n .catch(console.error);","// Fetch a single auto moderation rule without checking cache and without caching\nguild.autoModerationRules.fetch({ autoModerationRule: '979083472868098119', cache: false, force: true })\n .then(console.log)\n .catch(console.error)"],"params":[{"name":"options","description":"Options for fetching auto moderation rule(s)","optional":true,"type":[[["AutoModerationRuleResolvable"]],[["FetchAutoModerationRuleOptions"]],[["FetchAutoModerationRulesOptions"]]]}],"returns":[[["Promise","<("],["AutoModerationRule","|"],["Collection","<"],["Snowflake",", "],["AutoModerationRule",">)>"]]],"meta":{"line":255,"file":"AutoModerationRuleManager.js","path":"src/managers"}},{"name":"delete","description":"Deletes an auto moderation rule.","params":[{"name":"autoModerationRule","description":"The auto moderation rule to delete","type":[[["AutoModerationRuleResolvable"]]]},{"name":"reason","description":"The reason for deleting the auto moderation rule","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":290,"file":"AutoModerationRuleManager.js","path":"src/managers"}}],"meta":{"line":17,"file":"AutoModerationRuleManager.js","path":"src/managers"}},{"name":"BaseGuildEmojiManager","description":"Holds methods to resolve GuildEmojis and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"cache","description":"The cache of GuildEmojis","type":[[["Collection","<"],["Snowflake",", "],["GuildEmoji",">"]]],"meta":{"line":17,"file":"BaseGuildEmojiManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"resolve","description":"Resolves an EmojiResolvable to an Emoji object.","params":[{"name":"emoji","description":"The Emoji resolvable to identify","type":[[["EmojiResolvable"]]]}],"returns":{"types":[[["GuildEmoji"]]],"nullable":true},"meta":{"line":36,"file":"BaseGuildEmojiManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves an EmojiResolvable to an Emoji id string.","params":[{"name":"emoji","description":"The Emoji resolvable to identify","type":[[["EmojiResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":46,"file":"BaseGuildEmojiManager.js","path":"src/managers"}},{"name":"resolveIdentifier","description":"Resolves an EmojiResolvable to an emoji identifier.","params":[{"name":"emoji","description":"The emoji resolvable to resolve","type":[[["EmojiIdentifierResolvable"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":64,"file":"BaseGuildEmojiManager.js","path":"src/managers"}}],"meta":{"line":12,"file":"BaseGuildEmojiManager.js","path":"src/managers"}},{"name":"BaseManager","description":"Manages the API methods of a data model.","abstract":true,"props":[{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"meta":{"line":7,"file":"BaseManager.js","path":"src/managers"}},{"name":"BillingManager","description":"Manages the API methods of a data model.","extends":[[["CachedManager"]]],"props":[{"name":"paymentSources","description":"All the payment sources of the client","type":[[["Collection","<"],["Snowflake",", "],["Object",">"]]],"meta":{"line":18,"file":"BillingManager.js","path":"src/managers"}},{"name":"guildBoosts","description":"All the guild boosts of the client","type":[[["Collection","<"],["Snowflake",", "],["GuildBoost",">"]]],"meta":{"line":23,"file":"BillingManager.js","path":"src/managers"}},{"name":"currentSubscription","description":"The current subscription of the client","type":[[["Collection","<"],["Snowflake",", "],["Object",">"]]],"meta":{"line":28,"file":"BillingManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of items for this manager.","abstract":true,"type":[[["Collection"]]],"meta":{"line":49,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"fetchPaymentSources","description":"Fetches all the payment sources of the client","async":true,"returns":[[["Collection","<"],["Snowflake",", "],["Object",">"]]],"meta":{"line":35,"file":"BillingManager.js","path":"src/managers"}},{"name":"fetchGuildBoosts","description":"Fetches all the guild boosts of the client","async":true,"returns":[[["Collection","<"],["Snowflake",", "],["GuildBoost",">"]]],"meta":{"line":47,"file":"BillingManager.js","path":"src/managers"}},{"name":"fetchCurrentSubscription","description":"Fetches the current subscription of the client","async":true,"returns":[[["Collection","<"],["Snowflake",", "],["Object",">"]]],"meta":{"line":58,"file":"BillingManager.js","path":"src/managers"}},{"name":"resolve","description":"Resolves a data entry to a data Object.","inherits":"DataManager#resolve","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Object"]]],"description":"An instance from this Manager","nullable":true},"meta":{"line":39,"file":"DataManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a data entry to an instance id.","inherits":"DataManager#resolveId","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":50,"file":"DataManager.js","path":"src/managers"}}],"meta":{"line":11,"file":"BillingManager.js","path":"src/managers"}},{"name":"CachedManager","description":"Manages the API methods of a data model with a mutable cache of instances.","extends":[[["DataManager"]]],"abstract":true,"props":[{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of items for this manager.","abstract":true,"type":[[["Collection"]]],"meta":{"line":49,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"resolve","description":"Resolves a data entry to a data Object.","inherits":"DataManager#resolve","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Object"]]],"description":"An instance from this Manager","nullable":true},"meta":{"line":39,"file":"DataManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a data entry to an instance id.","inherits":"DataManager#resolveId","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":50,"file":"DataManager.js","path":"src/managers"}}],"meta":{"line":11,"file":"CachedManager.js","path":"src/managers"}},{"name":"ChannelManager","description":"A manager of channels belonging to a client","extends":[[["CachedManager"]]],"props":[{"name":"cache","description":"The cache of Channels","type":[[["Collection","<"],["Snowflake",", "],["Channel",">"]]],"meta":{"line":30,"file":"ChannelManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"resolve","description":"Resolves a ChannelResolvable to a Channel object.","params":[{"name":"channel","description":"The channel resolvable to resolve","type":[[["ChannelResolvable"]]]}],"returns":{"types":[[["Channel"]]],"nullable":true},"meta":{"line":73,"file":"ChannelManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a ChannelResolvable to a channel id string.","params":[{"name":"channel","description":"The channel resolvable to resolve","type":[[["ChannelResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":82,"file":"ChannelManager.js","path":"src/managers"}},{"name":"fetch","description":"Obtains a channel from Discord, or the channel cache if it's already available.","examples":["// Fetch a channel by its id\nclient.channels.fetch('222109930545610754')\n .then(channel => console.log(channel.name))\n .catch(console.error);"],"params":[{"name":"id","description":"The channel's id","type":[[["Snowflake"]]]},{"name":"options","description":"Additional options for this fetch","optional":true,"type":[[["FetchChannelOptions"]]]}],"async":true,"returns":[[["Promise",""],["Channel",">"]]],"meta":{"line":109,"file":"ChannelManager.js","path":"src/managers"}},{"name":"createGroupDM","description":"Create Group DM","params":[{"name":"recipients","description":"Array of recipients","type":[[["Array","<"],["UserResolvable",">"]]]}],"async":true,"returns":{"types":[[["Promise","<"],["GroupDMChannel",">"]]],"description":"Channel"},"meta":{"line":124,"file":"ChannelManager.js","path":"src/managers"}}],"meta":{"line":14,"file":"ChannelManager.js","path":"src/managers"}},{"name":"ClientUserSettingManager","description":"Manages API methods for users and stores their cache.","see":["{@link https://luna.gitlab.io/discord-unofficial-docs/user_settings.html}"],"extends":[[["BaseManager"]]],"props":[{"name":"addFriendFrom","description":"WHO CAN ADD YOU AS A FRIEND ?","see":["{@link https://luna.gitlab.io/discord-unofficial-docs/user_settings.html#friend-source-flags-structure}"],"nullable":true,"type":[[["object"]]],"meta":{"line":23,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"locale","description":"The user's chosen language option","see":["{@link https://discord.com/developers/docs/reference#locales}"],"nullable":true,"type":[[["string"]]],"meta":{"line":44,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"activityDisplay","description":"Show playing status for detected/added games\nSetting => ACTIVITY SETTINGS => Activity Status => Display current activity as a status message","nullable":true,"type":[[["boolean"]]],"meta":{"line":52,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"allowDMsFromGuild","description":"Allow DMs from guild members by default on guild join","nullable":true,"type":[[["boolean"]]],"meta":{"line":59,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"displayImage","description":"Display images and video when uploaded directly","nullable":true,"type":[[["boolean"]]],"meta":{"line":66,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"linkedImageDisplay","description":"Display images and video when linked","nullable":true,"type":[[["boolean"]]],"meta":{"line":73,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"autoplayGIF","description":"Play GIFs without hovering over them\nSetting => APP SETTINGS => Accessibility => Automatically play GIFs when Discord is focused.","nullable":true,"type":[[["boolean"]]],"meta":{"line":81,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"previewLink","description":"Show embeds and preview website links pasted into chat","nullable":true,"type":[[["boolean"]]],"meta":{"line":88,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"animatedEmoji","description":"Play animated emoji without hovering over them\nSetting => APP SETTINGS => Accessibility => Play Animated Emojis","nullable":true,"type":[[["boolean"]]],"meta":{"line":96,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"allowTTS","description":"Enable /tts command and playback\nSetting => APP SETTINGS => Accessibility => Text-to-speech => Allow playback","nullable":true,"type":[[["boolean"]]],"meta":{"line":104,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"compactMode","description":"Use compact mode\nSetting => APP SETTINGS => Appearance => Message Display => Compact Mode","nullable":true,"type":[[["boolean"]]],"meta":{"line":112,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"convertEmoticons","description":"Convert \"old fashioned\" emoticons to emojis\nSetting => APP SETTINGS => Text & Images => Emoji => Convert Emoticons","nullable":true,"type":[[["boolean"]]],"meta":{"line":120,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"DMScanLevel","description":"Content filter level\n\n* `0`: Off\n* `1`: Friends excluded\n* `2`: Scan everyone\n","nullable":true,"type":[[["number"]]],"meta":{"line":132,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"theme","description":"Client theme\nSetting => APP SETTINGS => Appearance => Theme\n* `dark`\n* `light`\n","nullable":true,"type":[[["string"]]],"meta":{"line":143,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"developerMode","description":"Show the option to copy ids in right click menus","nullable":true,"type":[[["boolean"]]],"meta":{"line":150,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"afkTimeout","description":"How many seconds being idle before the user is marked as \"AFK\"; this handles when push notifications are sent","nullable":true,"type":[[["number"]]],"meta":{"line":157,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"stickerAnimationMode","description":"When stickers animate\n\n* `0`: Always\n* `1`: On hover/focus\n* `2`: Never\n","nullable":true,"type":[[["number"]]],"meta":{"line":169,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"showEmojiReactions","description":"Display reactions\nSetting => APP SETTINGS => Text & Images => Emoji => Show emoji reactions","nullable":true,"type":[[["boolean"]]],"meta":{"line":177,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"disableDMfromGuilds","description":"Disable Direct Message from servers","type":[[["Collection","<"],["Snowflake",", "],["Guild",">"]]],"meta":{"line":214,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"raw","description":"Raw data","type":[[["Object"]]],"meta":{"line":224,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"_patch","description":"Patch data file\nhttps://luna.gitlab.io/discord-unofficial-docs/docs/user_settings","access":"private","params":[{"name":"data","description":"Raw Data to patch","type":[[["Object"]]]}],"meta":{"line":35,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"edit","description":"Edit data","params":[{"name":"data","description":"Data to edit","type":[[["any"]]]}],"async":true,"meta":{"line":238,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"toggleCompactMode","description":"Toggle compact mode","returns":[[["Promise","<"],["this",">"]]],"meta":{"line":248,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"setTheme","description":"Discord Theme","params":[{"name":"value","description":"Theme to set (dark | light)","type":[[["string"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":256,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"setCustomStatus","description":"Set custom status","params":[{"name":"options","description":"CustomStatus","type":[[["CustomStatus"]],[["CustomStatusOption"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":278,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"restrictedGuilds","description":"Restricted guilds setting","params":[{"name":"status","description":"Restricted status","type":[[["boolean"]]]}],"returns":[[["Promise"]]],"meta":{"line":337,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"addRestrictedGuild","description":"Add a guild to the list of restricted guilds.","params":[{"name":"guildId","description":"The guild to add","type":[[["GuildIDResolve"]]]}],"returns":[[["Promise"]]],"meta":{"line":351,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"removeRestrictedGuild","description":"Remove a guild from the list of restricted guilds.","params":[{"name":"guildId","description":"The guild to remove","type":[[["GuildIDResolve"]]]}],"returns":[[["Promise"]]],"meta":{"line":366,"file":"ClientUserSettingManager.js","path":"src/managers"}}],"meta":{"line":14,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"DataManager","description":"Manages the API methods of a data model along with a collection of instances.","extends":[[["BaseManager"]]],"abstract":true,"props":[{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of items for this manager.","abstract":true,"type":[[["Collection"]]],"meta":{"line":30,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"resolve","description":"Resolves a data entry to a data Object.","params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Object"]]],"description":"An instance from this Manager","nullable":true},"meta":{"line":39,"file":"DataManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a data entry to an instance id.","params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":50,"file":"DataManager.js","path":"src/managers"}}],"meta":{"line":11,"file":"DataManager.js","path":"src/managers"}},{"name":"GuildBanManager","description":"Manages API methods for GuildBans and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"guild","description":"The guild this Manager belongs to","type":[[["Guild"]]],"meta":{"line":24,"file":"GuildBanManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of this Manager","type":[[["Collection","<"],["Snowflake",", "],["GuildBan",">"]]],"meta":{"line":27,"file":"GuildBanManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"resolve","description":"Resolves a GuildBanResolvable to a GuildBan object.","params":[{"name":"ban","description":"The ban that is in the guild","type":[[["GuildBanResolvable"]]]}],"returns":{"types":[[["GuildBan"]]],"nullable":true},"meta":{"line":49,"file":"GuildBanManager.js","path":"src/managers"}},{"name":"fetch","description":"Fetches ban(s) from Discord.","examples":["// Fetch multiple bans from a guild\nguild.bans.fetch()\n .then(console.log)\n .catch(console.error);","// Fetch a maximum of 5 bans from a guild without caching\nguild.bans.fetch({ limit: 5, cache: false })\n .then(console.log)\n .catch(console.error);","// Fetch a single ban\nguild.bans.fetch('351871113346809860')\n .then(console.log)\n .catch(console.error);","// Fetch a single ban without checking cache\nguild.bans.fetch({ user, force: true })\n .then(console.log)\n .catch(console.error)","// Fetch a single ban without caching\nguild.bans.fetch({ user, cache: false })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for fetching guild ban(s)","optional":true,"type":[[["UserResolvable"]],[["FetchBanOptions"]],[["FetchBansOptions"]]]}],"returns":[[["Promise","<("],["GuildBan","|"],["Collection","<"],["Snowflake",", "],["GuildBan",">)>"]]],"meta":{"line":98,"file":"GuildBanManager.js","path":"src/managers"}},{"name":"create","description":"Bans a user from the guild.","examples":["// Ban a user by id (or with a user/guild member object)\nguild.bans.create('84484653687267328')\n .then(banInfo => console.log(`Banned ${banInfo.user?.tag ?? banInfo.tag ?? banInfo}`))\n .catch(console.error);"],"params":[{"name":"user","description":"The user to ban","type":[[["UserResolvable"]]]},{"name":"options","description":"Options for the ban","optional":true,"type":[[["BanOptions"]]]}],"async":true,"returns":{"types":[[["Promise","<("],["GuildMember","|"],["User","|"],["Snowflake",")>"]]],"description":"Result object will be resolved as specifically as possible.\nIf the GuildMember cannot be resolved, the User will instead be attempted to be resolved. If that also cannot\nbe resolved, the user id will be the result."},"meta":{"line":151,"file":"GuildBanManager.js","path":"src/managers"}},{"name":"remove","description":"Unbans a user from the guild.","examples":["// Unban a user by id (or with a user/guild member object)\nguild.bans.remove('84484653687267328')\n .then(user => console.log(`Unbanned ${user.username} from ${guild.name}`))\n .catch(console.error);"],"params":[{"name":"user","description":"The user to unban","type":[[["UserResolvable"]]]},{"name":"reason","description":"Reason for unbanning user","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise",""],["User",">"]]],"meta":{"line":196,"file":"GuildBanManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a data entry to an instance id.","inherits":"DataManager#resolveId","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":50,"file":"DataManager.js","path":"src/managers"}}],"meta":{"line":16,"file":"GuildBanManager.js","path":"src/managers"}},{"name":"GuildChannelManager","description":"Manages API methods for GuildChannels and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"guild","description":"The guild this Manager belongs to","type":[[["Guild"]]],"meta":{"line":49,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"channelCountWithoutThreads","description":"The number of channels in this managers cache excluding thread channels\nthat do not count towards a guild's maximum channels restriction.","readonly":true,"type":[[["number"]]],"meta":{"line":58,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of this Manager","type":[[["Collection","<"],["Snowflake",", ("],["GuildChannel","|"],["ThreadChannel",")>"]]],"meta":{"line":65,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"resolve","description":"Resolves a GuildChannelResolvable to a Channel object.","params":[{"name":"channel","description":"The GuildChannel resolvable to resolve","type":[[["GuildChannelResolvable"]]]}],"returns":{"types":[[["GuildChannel"]],[["ThreadChannel"]]],"nullable":true},"meta":{"line":91,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a GuildChannelResolvable to a channel id.","params":[{"name":"channel","description":"The GuildChannel resolvable to resolve","type":[[["GuildChannelResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":101,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"create","description":"Creates a new channel in the guild.","examples":["// Create a new text channel\nguild.channels.create('new-general', { reason: 'Needed a cool new channel' })\n .then(console.log)\n .catch(console.error);","// Create a new channel with permission overwrites\nguild.channels.create('new-voice', {\n type: 'GUILD_VOICE',\n permissionOverwrites: [\n {\n id: message.author.id,\n deny: [Permissions.FLAGS.VIEW_CHANNEL],\n },\n ],\n})"],"params":[{"name":"name","description":"The name of the new channel","type":[[["string"]]]},{"name":"options","description":"Options for creating the new channel","optional":true,"default":"{}","type":[[["GuildChannelCreateOptions"]]]}],"async":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":134,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"createWebhook","description":"Creates a webhook for the channel.","examples":["// Create a webhook for the current channel\nguild.channels.createWebhook('222197033908436994', 'Snek', {\n avatar: 'https://i.imgur.com/mI8XcpG.jpg',\n reason: 'Needed a cool new Webhook'\n})\n .then(console.log)\n .catch(console.error)"],"params":[{"name":"channel","description":"The channel to create the webhook for","type":[[["GuildChannelResolvable"]]]},{"name":"name","description":"The name of the webhook","type":[[["string"]]]},{"name":"options","description":"Options for creating the webhook","optional":true,"type":[[["ChannelWebhookCreateOptions"]]]}],"async":true,"returns":{"types":[[["Promise","<"],["Webhook",">"]]],"description":"Returns the created Webhook"},"meta":{"line":216,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"addFollower","description":"Adds the target channel to a channel's followers.","params":[{"name":"channel","description":"The channel to follow","type":[[["NewsChannel"]],[["Snowflake"]]]},{"name":"targetChannel","description":"The channel where published announcements will be posted at","type":[[["TextChannelResolvable"]]]},{"name":"reason","description":"Reason for creating the webhook","optional":true,"type":[[["string"]]]}],"async":true,"returns":{"types":[[["Promise","<"],["Snowflake",">"]]],"description":"Returns created target webhook id."},"meta":{"line":239,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"edit","description":"Edits the channel.","examples":["// Edit a channel\nguild.channels.edit('222197033908436994', { name: 'new-channel' })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"channel","description":"The channel to edit","type":[[["GuildChannelResolvable"]]]},{"name":"data","description":"The new data for the channel","type":[[["ChannelData"]]]},{"name":"reason","description":"Reason for editing this channel","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":289,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"setPosition","description":"Sets a new position for the guild channel.","examples":["// Set a new channel position\nguild.channels.setPosition('222078374472843266', 2)\n .then(newChannel => console.log(`Channel's new position is ${newChannel.position}`))\n .catch(console.error);"],"params":[{"name":"channel","description":"The channel to set the position for","type":[[["GuildChannelResolvable"]]]},{"name":"position","description":"The new position for the guild channel","type":[[["number"]]]},{"name":"options","description":"Options for setting position","optional":true,"type":[[["SetChannelPositionOptions"]]]}],"async":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":358,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"fetch","description":"Obtains one or more guild channels from Discord, or the channel cache if they're already available.","examples":["// Fetch all channels from the guild (excluding threads)\nmessage.guild.channels.fetch()\n .then(channels => console.log(`There are ${channels.size} channels.`))\n .catch(console.error);","// Fetch a single channel\nmessage.guild.channels.fetch('222197033908436994')\n .then(channel => console.log(`The channel name is: ${channel.name}`))\n .catch(console.error);"],"params":[{"name":"id","description":"The channel's id","optional":true,"type":[[["Snowflake"]]]},{"name":"options","description":"Additional options for this fetch","optional":true,"type":[[["BaseFetchOptions"]]]}],"async":true,"returns":[[["Promise","<(?"],["GuildChannel","|"],["ThreadChannel","|"],["Collection","<"],["Snowflake",", ?"],["GuildChannel",">)>"]]],"meta":{"line":393,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"fetchWebhooks","description":"Fetches all webhooks for the channel.","examples":["// Fetch webhooks\nguild.channels.fetchWebhooks('769862166131245066')\n .then(hooks => console.log(`This channel has ${hooks.size} hooks`))\n .catch(console.error);"],"params":[{"name":"channel","description":"The channel to fetch webhooks for","type":[[["GuildChannelResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Webhook",">>"]]],"meta":{"line":422,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"setPositions","description":"Batch-updates the guild's channels' positions.\nOnly one channel's parent can be changed at a time","examples":["guild.channels.setPositions([{ channel: channelId, position: newChannelIndex }])\n .then(guild => console.log(`Updated channel positions for ${guild}`))\n .catch(console.error);"],"params":[{"name":"channelPositions","description":"Channel positions to update","type":[[["Array","<"],["ChannelPosition",">"]]]}],"async":true,"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":455,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"delete","description":"Deletes the channel.","examples":["// Delete the channel\nguild.channels.delete('858850993013260338', 'making room for new channels')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"channel","description":"The channel to delete","type":[[["GuildChannelResolvable"]]]},{"name":"reason","description":"Reason for deleting this channel","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":481,"file":"GuildChannelManager.js","path":"src/managers"}}],"meta":{"line":30,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"GuildEmojiManager","description":"Manages API methods for GuildEmojis and stores their cache.","extends":[[["BaseGuildEmojiManager"]]],"props":[{"name":"guild","description":"The guild this manager belongs to","type":[[["Guild"]]],"meta":{"line":21,"file":"GuildEmojiManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of GuildEmojis","type":[[["Collection","<"],["Snowflake",", "],["GuildEmoji",">"]]],"meta":{"line":17,"file":"BaseGuildEmojiManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"create","description":"Creates a new custom emoji in the guild.","examples":["// Create a new emoji from a URL\nguild.emojis.create('https://i.imgur.com/w3duR07.png', 'rip')\n .then(emoji => console.log(`Created new emoji with name ${emoji.name}!`))\n .catch(console.error);","// Create a new emoji from a file on your computer\nguild.emojis.create('./memes/banana.png', 'banana')\n .then(emoji => console.log(`Created new emoji with name ${emoji.name}!`))\n .catch(console.error);"],"params":[{"name":"attachment","description":"The image for the emoji","type":[[["BufferResolvable"]],[["Base64Resolvable"]]]},{"name":"name","description":"The name for the emoji","type":[[["string"]]]},{"name":"options","description":"Options for creating the emoji","optional":true,"type":[[["GuildEmojiCreateOptions"]]]}],"async":true,"returns":{"types":[[["Promise","<"],["Emoji",">"]]],"description":"The created emoji"},"meta":{"line":52,"file":"GuildEmojiManager.js","path":"src/managers"}},{"name":"fetch","description":"Obtains one or more emojis from Discord, or the emoji cache if they're already available.","examples":["// Fetch all emojis from the guild\nmessage.guild.emojis.fetch()\n .then(emojis => console.log(`There are ${emojis.size} emojis.`))\n .catch(console.error);","// Fetch a single emoji\nmessage.guild.emojis.fetch('222078108977594368')\n .then(emoji => console.log(`The emoji name is: ${emoji.name}`))\n .catch(console.error);"],"params":[{"name":"id","description":"The emoji's id","optional":true,"type":[[["Snowflake"]]]},{"name":"options","description":"Additional options for this fetch","optional":true,"type":[[["BaseFetchOptions"]]]}],"async":true,"returns":[[["Promise","<("],["GuildEmoji","|"],["Collection","<"],["Snowflake",", "],["GuildEmoji",">)>"]]],"meta":{"line":89,"file":"GuildEmojiManager.js","path":"src/managers"}},{"name":"delete","description":"Deletes an emoji.","params":[{"name":"emoji","description":"The Emoji resolvable to delete","type":[[["EmojiResolvable"]]]},{"name":"reason","description":"Reason for deleting the emoji","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":111,"file":"GuildEmojiManager.js","path":"src/managers"}},{"name":"edit","description":"Edits an emoji.","params":[{"name":"emoji","description":"The Emoji resolvable to edit","type":[[["EmojiResolvable"]]]},{"name":"data","description":"The new data for the emoji","type":[[["GuildEmojiEditData"]]]},{"name":"reason","description":"Reason for editing this emoji","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildEmoji",">"]]],"meta":{"line":124,"file":"GuildEmojiManager.js","path":"src/managers"}},{"name":"fetchAuthor","description":"Fetches the author for this emoji","params":[{"name":"emoji","description":"The emoji to fetch the author of","type":[[["EmojiResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["User",">"]]],"meta":{"line":152,"file":"GuildEmojiManager.js","path":"src/managers"}},{"name":"resolve","description":"Resolves an EmojiResolvable to an Emoji object.","inherits":"BaseGuildEmojiManager#resolve","inherited":true,"params":[{"name":"emoji","description":"The Emoji resolvable to identify","type":[[["EmojiResolvable"]]]}],"returns":{"types":[[["GuildEmoji"]]],"nullable":true},"meta":{"line":36,"file":"BaseGuildEmojiManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves an EmojiResolvable to an Emoji id string.","inherits":"BaseGuildEmojiManager#resolveId","inherited":true,"params":[{"name":"emoji","description":"The Emoji resolvable to identify","type":[[["EmojiResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":46,"file":"BaseGuildEmojiManager.js","path":"src/managers"}},{"name":"resolveIdentifier","description":"Resolves an EmojiResolvable to an emoji identifier.","inherits":"BaseGuildEmojiManager#resolveIdentifier","inherited":true,"params":[{"name":"emoji","description":"The emoji resolvable to resolve","type":[[["EmojiIdentifierResolvable"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":64,"file":"BaseGuildEmojiManager.js","path":"src/managers"}}],"meta":{"line":13,"file":"GuildEmojiManager.js","path":"src/managers"}},{"name":"GuildEmojiRoleManager","description":"Manages API methods for roles belonging to emojis and stores their cache.","extends":[[["DataManager"]]],"props":[{"name":"emoji","description":"The emoji belonging to this manager","type":[[["GuildEmoji"]]],"meta":{"line":20,"file":"GuildEmojiRoleManager.js","path":"src/managers"}},{"name":"guild","description":"The guild belonging to this manager","type":[[["Guild"]]],"meta":{"line":25,"file":"GuildEmojiRoleManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of roles belonging to this emoji","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["Role",">"]]],"meta":{"line":33,"file":"GuildEmojiRoleManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"add","description":"Adds a role (or multiple roles) to the list of roles that can use this emoji.","params":[{"name":"roleOrRoles","description":"The role or roles to add","type":[[["RoleResolvable"]],[["Array","<"],["RoleResolvable",">"]],[["Collection","<"],["Snowflake",", "],["Role",">"]]]}],"returns":[[["Promise","<"],["GuildEmoji",">"]]],"meta":{"line":42,"file":"GuildEmojiRoleManager.js","path":"src/managers"}},{"name":"remove","description":"Removes a role (or multiple roles) from the list of roles that can use this emoji.","params":[{"name":"roleOrRoles","description":"The role or roles to remove","type":[[["RoleResolvable"]],[["Array","<"],["RoleResolvable",">"]],[["Collection","<"],["Snowflake",", "],["Role",">"]]]}],"returns":[[["Promise","<"],["GuildEmoji",">"]]],"meta":{"line":63,"file":"GuildEmojiRoleManager.js","path":"src/managers"}},{"name":"set","description":"Sets the role(s) that can use this emoji.","examples":["// Set the emoji's roles to a single role\nguildEmoji.roles.set(['391156570408615936'])\n .then(console.log)\n .catch(console.error);","// Remove all roles from an emoji\nguildEmoji.roles.set([])\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"roles","description":"The roles or role ids to apply","type":[[["Collection","<"],["Snowflake",", "],["Role",">"]],[["Array","<"],["RoleResolvable",">"]]]}],"returns":[[["Promise","<"],["GuildEmoji",">"]]],"meta":{"line":94,"file":"GuildEmojiRoleManager.js","path":"src/managers"}},{"name":"_patch","description":"Patches the roles for this manager's cache","access":"private","params":[{"name":"roles","description":"The new roles","type":[[["Array","<"],["Snowflake",">"]]]}],"meta":{"line":109,"file":"GuildEmojiRoleManager.js","path":"src/managers"}},{"name":"resolve","description":"Resolves a data entry to a data Object.","inherits":"DataManager#resolve","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Object"]]],"description":"An instance from this Manager","nullable":true},"meta":{"line":39,"file":"DataManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a data entry to an instance id.","inherits":"DataManager#resolveId","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":50,"file":"DataManager.js","path":"src/managers"}}],"meta":{"line":12,"file":"GuildEmojiRoleManager.js","path":"src/managers"}},{"name":"GuildForumThreadManager","description":"Manages API methods for threads in forum channels and stores their cache.","extends":[[["ThreadManager"]]],"props":[{"name":"channel","description":"The channel this Manager belongs to","type":[[["ForumChannel"]]],"meta":{"line":13,"file":"GuildForumThreadManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of this Manager","type":[[["Collection","<"],["Snowflake",", "],["ThreadChannel",">"]]],"meta":{"line":22,"file":"ThreadManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"create","description":"Creates a new thread in the channel.","examples":["// Create a new forum post\nforum.threads\n .create({\n name: 'Food Talk',\n autoArchiveDuration: 60,\n message: {\n content: 'Discuss your favorite food!',\n },\n reason: 'Needed a separate thread for food',\n })\n .then(threadChannel => console.log(threadChannel))\n .catch(console.error);"],"params":[{"name":"options","description":"Options to create a new thread","optional":true,"type":[[["GuildForumThreadCreateOptions"]]]}],"async":true,"returns":[[["Promise","<"],["ThreadChannel",">"]]],"meta":{"line":51,"file":"GuildForumThreadManager.js","path":"src/managers"}},{"name":"resolve","description":"Resolves a {@link ThreadChannelResolvable} to a {@link ThreadChannel} object.","inherits":"ThreadManager#resolve","inherited":true,"params":[{"name":"thread","description":"The ThreadChannel resolvable to resolve","type":[[["ThreadChannelResolvable"]]]}],"returns":{"types":[[["ThreadChannel"]]],"nullable":true},"meta":{"line":42,"file":"ThreadManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a {@link ThreadChannelResolvable} to a {@link ThreadChannel} id.","inherits":"ThreadManager#resolveId","inherited":true,"params":[{"name":"thread","description":"The ThreadChannel resolvable to resolve","type":[[["ThreadChannelResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":51,"file":"ThreadManager.js","path":"src/managers"}},{"name":"fetch","description":"Obtains a thread from Discord, or the channel cache if it's already available.","inherits":"ThreadManager#fetch","inherited":true,"examples":["// Fetch a thread by its id\nchannel.threads.fetch('831955138126104859')\n .then(channel => console.log(channel.name))\n .catch(console.error);"],"params":[{"name":"options","description":"The options to fetch threads. If it is a\nThreadChannelResolvable then the specified thread will be fetched. Fetches all active threads if `undefined`","optional":true,"type":[[["ThreadChannelResolvable"]],[["FetchChannelThreadsOptions"]],[["FetchThreadsOptions"]]]},{"name":"cacheOptions","description":"Additional options for this fetch. The `force` field gets ignored\nif `options` is not a {@link ThreadChannelResolvable}","optional":true,"type":[[["BaseFetchOptions"]]]}],"returns":[[["Promise","("],["ThreadChannel","|"],["FetchedThreads",")>"]]],"meta":{"line":79,"file":"ThreadManager.js","path":"src/managers"}},{"name":"fetchArchived","description":"Obtains a set of archived threads from Discord, requires `READ_MESSAGE_HISTORY` in the parent channel.","inherits":"ThreadManager#fetchArchived","inherited":true,"params":[{"name":"options","description":"The options to fetch archived threads","optional":true,"type":[[["FetchChannelThreadsOptions"]]]},{"name":"cache","description":"Whether to cache the new thread objects if they aren't already","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["FetchedThreads",">"]]],"meta":{"line":121,"file":"ThreadManager.js","path":"src/managers"}},{"name":"fetchActive","description":"Obtains the accessible active threads from Discord, requires `READ_MESSAGE_HISTORY` in the parent channel.","inherits":"ThreadManager#fetchActive","inherited":true,"params":[{"name":"cache","description":"Whether to cache the new thread objects if they aren't already","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"options","description":"Options for self-bots where advanced users can specify further options","optional":true,"type":[[["FetchChannelThreadsOptions"]]]}],"async":true,"returns":[[["Promise","<"],["FetchedThreads",">"]]],"meta":{"line":141,"file":"ThreadManager.js","path":"src/managers"}}],"meta":{"line":12,"file":"GuildForumThreadManager.js","path":"src/managers"}},{"name":"GuildInviteManager","description":"Manages API methods for GuildInvites and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"guild","description":"The guild this Manager belongs to","type":[[["Guild"]]],"meta":{"line":21,"file":"GuildInviteManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of this Manager","type":[[["Collection","<"],["string",", "],["Invite",">"]]],"meta":{"line":24,"file":"GuildInviteManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"resolve","description":"Resolves an InviteResolvable to an Invite object.","params":[{"name":"invite","description":"The invite resolvable to resolve","type":[[["InviteResolvable"]]]}],"returns":{"types":[[["Invite"]]],"nullable":true},"meta":{"line":53,"file":"GuildInviteManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves an InviteResolvable to an invite code string.","params":[{"name":"invite","description":"The invite resolvable to resolve","type":[[["InviteResolvable"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":62,"file":"GuildInviteManager.js","path":"src/managers"}},{"name":"fetch","description":"Fetches invite(s) from Discord.","examples":["// Fetch all invites from a guild\nguild.invites.fetch()\n .then(console.log)\n .catch(console.error);","// Fetch all invites from a guild without caching\nguild.invites.fetch({ cache: false })\n .then(console.log)\n .catch(console.error);","// Fetch all invites from a channel\nguild.invites.fetch({ channelId: '222197033908436994' })\n .then(console.log)\n .catch(console.error);","// Fetch a single invite\nguild.invites.fetch('bRCvFy9')\n .then(console.log)\n .catch(console.error);","// Fetch a single invite without checking cache\nguild.invites.fetch({ code: 'bRCvFy9', force: true })\n .then(console.log)\n .catch(console.error)","// Fetch a single invite without caching\nguild.invites.fetch({ code: 'bRCvFy9', cache: false })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for fetching guild invite(s)","optional":true,"type":[[["InviteResolvable"]],[["FetchInviteOptions"]],[["FetchInvitesOptions"]]]}],"returns":[[["Promise","<("],["Invite","|"],["Collection","<"],["string",", "],["Invite",">)>"]]],"meta":{"line":122,"file":"GuildInviteManager.js","path":"src/managers"}},{"name":"create","description":"Create an invite to the guild from the provided channel.","examples":["// Create an invite to a selected channel\nguild.invites.create('599942732013764608')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"channel","description":"The options for creating the invite from a channel.","type":[[["GuildInvitableChannelResolvable"]]]},{"name":"options","description":"The options for creating the invite from a channel.","optional":true,"default":"{}","type":[[["CreateInviteOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Invite",">"]]],"meta":{"line":178,"file":"GuildInviteManager.js","path":"src/managers"}},{"name":"delete","description":"Deletes an invite.","params":[{"name":"invite","description":"The invite to delete","type":[[["InviteResolvable"]]]},{"name":"reason","description":"Reason for deleting the invite","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":206,"file":"GuildInviteManager.js","path":"src/managers"}}],"meta":{"line":13,"file":"GuildInviteManager.js","path":"src/managers"}},{"name":"GuildManager","description":"Manages API methods for Guilds and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"cache","description":"The cache of this Manager","type":[[["Collection","<"],["Snowflake",", "],["Guild",">"]]],"meta":{"line":46,"file":"GuildManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"resolve","description":"Resolves a GuildResolvable to a Guild object.","params":[{"name":"guild","description":"The guild resolvable to identify","type":[[["GuildResolvable"]]]}],"returns":{"types":[[["Guild"]]],"nullable":true},"meta":{"line":104,"file":"GuildManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a {@link GuildResolvable} to a {@link Guild} id string.","params":[{"name":"guild","description":"The guild resolvable to identify","type":[[["GuildResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":125,"file":"GuildManager.js","path":"src/managers"}},{"name":"create","description":"Creates a guild.","params":[{"name":"name","description":"The name of the guild","type":[[["string"]]]},{"name":"options","description":"Options for creating the guild","optional":true,"type":[[["GuildCreateOptions"]]]}],"async":true,"returns":{"types":[[["Promise","<"],["Guild",">"]]],"description":"The guild that was created"},"meta":{"line":169,"file":"GuildManager.js","path":"src/managers"}},{"name":"fetch","description":"Obtains one or multiple guilds from Discord, or the guild cache if it's already available.","params":[{"name":"options","description":"The guild's id or options","optional":true,"type":[[["GuildResolvable"]],[["FetchGuildOptions"]],[["FetchGuildsOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Guild","|"],["Collection","<"],["Snowflake",", "],["OAuth2Guild",">)>"]]],"meta":{"line":286,"file":"GuildManager.js","path":"src/managers"}}],"meta":{"line":34,"file":"GuildManager.js","path":"src/managers"}},{"name":"GuildMemberManager","description":"Manages API methods for GuildMembers and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"guild","description":"The guild this manager belongs to","type":[[["Guild"]]],"meta":{"line":30,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of this Manager","type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]],"meta":{"line":33,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"me","description":"The client user as a GuildMember of this guild","readonly":true,"nullable":true,"type":[[["GuildMember"]]],"meta":{"line":130,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"resolve","description":"Resolves a {@link GuildMemberResolvable} to a {@link GuildMember} object.","params":[{"name":"member","description":"The user that is part of the guild","type":[[["GuildMemberResolvable"]]]}],"returns":{"types":[[["GuildMember"]]],"nullable":true},"meta":{"line":55,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a {@link GuildMemberResolvable} to a member id.","params":[{"name":"member","description":"The user that is part of the guild","type":[[["GuildMemberResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":68,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"add","description":"Adds a user to the guild using OAuth2. Requires the `CREATE_INSTANT_INVITE` permission.","params":[{"name":"user","description":"The user to add to the guild","type":[[["UserResolvable"]]]},{"name":"options","description":"Options for adding the user to the guild","type":[[["AddGuildMemberOptions"]]]}],"async":true,"returns":[[["Promise","<("],["GuildMember","|"],["null",")>"]]],"meta":{"line":95,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"fetch","description":"Fetches member(s) from Discord, even if they're offline.","examples":["// Fetch all members from a guild\nguild.members.fetch()\n .then(console.log)\n .catch(console.error);","// Fetch a single member\nguild.members.fetch('66564597481480192')\n .then(console.log)\n .catch(console.error);","// Fetch a single member without checking cache\nguild.members.fetch({ user, force: true })\n .then(console.log)\n .catch(console.error)","// Fetch a single member without caching\nguild.members.fetch({ user, cache: false })\n .then(console.log)\n .catch(console.error);","// Fetch by an array of users including their presences\nguild.members.fetch({ user: ['66564597481480192', '191615925336670208'], withPresences: true })\n .then(console.log)\n .catch(console.error);","// Fetch by query\nguild.members.fetch({ query: 'hydra', limit: 1 })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"If a UserResolvable, the user to fetch.\nIf undefined, fetches all members.\nIf a query, it limits the results to users with similar usernames.","optional":true,"type":[[["UserResolvable"]],[["FetchMemberOptions"]],[["FetchMembersOptions"]]]}],"returns":[[["Promise","<("],["GuildMember","|"],["Collection","<"],["Snowflake",", "],["GuildMember",">)>"]]],"meta":{"line":194,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"fetchMe","description":"Fetches the client user as a GuildMember of the guild.","params":[{"name":"options","description":"The options for fetching the member","optional":true,"type":[[["BaseFetchOptions"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":225,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"search","description":"Searches for members in the guild based on a query.","params":[{"name":"options","description":"Options for searching members","type":[[["GuildSearchMembersOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["GuildMember",">>"]]],"meta":{"line":242,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"list","description":"Lists up to 1000 members of the guild.","params":[{"name":"options","description":"Options for listing members","optional":true,"type":[[["GuildListMembersOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["GuildMember",">>"]]],"meta":{"line":260,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"edit","description":"Edits a member of the guild.\nThe user must be a member of the guild","params":[{"name":"user","description":"The member to edit","type":[[["UserResolvable"]]]},{"name":"data","description":"The data to edit the member with","type":[[["GuildMemberEditData"]]]},{"name":"reason","description":"Reason for editing this user","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":290,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"prune","description":"Prunes members from the guild based on how long they have been inactive.","examples":["// See how many members will be pruned\nguild.members.prune({ dry: true })\n .then(pruned => console.log(`This will prune ${pruned} people!`))\n .catch(console.error);","// Actually prune the members\nguild.members.prune({ days: 1, reason: 'too many people!' })\n .then(pruned => console.log(`I just pruned ${pruned} people!`))\n .catch(console.error);","// Include members with a specified role\nguild.members.prune({ days: 7, roles: ['657259391652855808'] })\n .then(pruned => console.log(`I just pruned ${pruned} people!`))\n .catch(console.error);"],"params":[{"name":"options","description":"Options for pruning","optional":true,"type":[[["GuildPruneMembersOptions"]]]}],"async":true,"returns":{"types":[[["Promise","<("],["number","|"],["null",")>"]]],"description":"The number of members that were/will be kicked"},"meta":{"line":372,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"kick","description":"Kicks a user from the guild.\nThe user must be a member of the guild","examples":["// Kick a user by id (or with a user/guild member object)\nguild.members.kick('84484653687267328')\n .then(kickInfo => console.log(`Kicked ${kickInfo.user?.tag ?? kickInfo.tag ?? kickInfo}`))\n .catch(console.error);"],"params":[{"name":"user","description":"The member to kick","type":[[["UserResolvable"]]]},{"name":"reason","description":"Reason for kicking","optional":true,"type":[[["string"]]]}],"async":true,"returns":{"types":[[["Promise","<("],["GuildMember","|"],["User","|"],["Snowflake",")>"]]],"description":"Result object will be resolved as specifically as possible.\nIf the GuildMember cannot be resolved, the User will instead be attempted to be resolved. If that also cannot\nbe resolved, the user's id will be the result."},"meta":{"line":413,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"ban","description":"Bans a user from the guild.","examples":["// Ban a user by id (or with a user/guild member object)\nguild.members.ban('84484653687267328')\n .then(banInfo => console.log(`Banned ${banInfo.user?.tag ?? banInfo.tag ?? banInfo}`))\n .catch(console.error);"],"params":[{"name":"user","description":"The user to ban","type":[[["UserResolvable"]]]},{"name":"options","description":"Options for the ban","optional":true,"type":[[["BanOptions"]]]}],"returns":{"types":[[["Promise","<("],["GuildMember","|"],["User","|"],["Snowflake",")>"]]],"description":"Result object will be resolved as specifically as possible.\nIf the GuildMember cannot be resolved, the User will instead be attempted to be resolved. If that also cannot\nbe resolved, the user id will be the result.\nInternally calls the GuildBanManager#create method."},"meta":{"line":436,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"unban","description":"Unbans a user from the guild. Internally calls the {@link GuildBanManager#remove} method.","examples":["// Unban a user by id (or with a user/guild member object)\nguild.members.unban('84484653687267328')\n .then(user => console.log(`Unbanned ${user.username} from ${guild.name}`))\n .catch(console.error);"],"params":[{"name":"user","description":"The user to unban","type":[[["UserResolvable"]]]},{"name":"reason","description":"Reason for unbanning user","optional":true,"type":[[["string"]]]}],"returns":{"types":[[["Promise",""],["User",">"]]],"description":"The user that was unbanned"},"meta":{"line":451,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"addRole","description":"Adds a role to a member.","params":[{"name":"user","description":"The user to add the role from","type":[[["GuildMemberResolvable"]]]},{"name":"role","description":"The role to add","type":[[["RoleResolvable"]]]},{"name":"reason","description":"Reason for adding the role","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<("],["GuildMember","|"],["User","|"],["Snowflake",")>"]]],"meta":{"line":472,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"removeRole","description":"Removes a role from a member.","params":[{"name":"user","description":"The user to remove the role from","type":[[["UserResolvable"]]]},{"name":"role","description":"The role to remove","type":[[["RoleResolvable"]]]},{"name":"reason","description":"Reason for removing the role","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<("],["GuildMember","|"],["User","|"],["Snowflake",")>"]]],"meta":{"line":488,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"fetchByMemberSafety","description":"Experimental method to fetch members from the guild.\nLists up to 10000 members of the guild.","params":[{"name":"timeout","description":"Timeout for receipt of members in ms","optional":true,"default":"15_000","type":[[["number"]]]}],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["GuildMember",">>"]]],"meta":{"line":503,"file":"GuildMemberManager.js","path":"src/managers"}}],"meta":{"line":22,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"GuildMemberRoleManager","description":"Manages API methods for roles of a GuildMember and stores their cache.","extends":[[["DataManager"]]],"props":[{"name":"member","description":"The GuildMember this manager belongs to","type":[[["GuildMember"]]],"meta":{"line":20,"file":"GuildMemberRoleManager.js","path":"src/managers"}},{"name":"guild","description":"The Guild this manager belongs to","type":[[["Guild"]]],"meta":{"line":26,"file":"GuildMemberRoleManager.js","path":"src/managers"}},{"name":"cache","description":"The roles of this member","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["Role",">"]]],"meta":{"line":34,"file":"GuildMemberRoleManager.js","path":"src/managers"}},{"name":"hoist","description":"The role of the member used to hoist them in a separate category in the users list","readonly":true,"nullable":true,"type":[[["Role"]]],"meta":{"line":44,"file":"GuildMemberRoleManager.js","path":"src/managers"}},{"name":"icon","description":"The role of the member used to set their role icon","readonly":true,"nullable":true,"type":[[["Role"]]],"meta":{"line":55,"file":"GuildMemberRoleManager.js","path":"src/managers"}},{"name":"color","description":"The role of the member used to set their color","readonly":true,"nullable":true,"type":[[["Role"]]],"meta":{"line":66,"file":"GuildMemberRoleManager.js","path":"src/managers"}},{"name":"highest","description":"The role of the member with the highest position","readonly":true,"type":[[["Role"]]],"meta":{"line":77,"file":"GuildMemberRoleManager.js","path":"src/managers"}},{"name":"premiumSubscriberRole","description":"The premium subscriber role of the guild, if present on the member","readonly":true,"nullable":true,"type":[[["Role"]]],"meta":{"line":86,"file":"GuildMemberRoleManager.js","path":"src/managers"}},{"name":"botRole","description":"The managed role this member created when joining the guild, if any\nOnly ever available on bots","readonly":true,"nullable":true,"type":[[["Role"]]],"meta":{"line":96,"file":"GuildMemberRoleManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"add","description":"Adds a role (or multiple roles) to the member.","params":[{"name":"roleOrRoles","description":"The role or roles to add","type":[[["RoleResolvable"]],[["Array","<"],["RoleResolvable",">"]],[["Collection","<"],["Snowflake",", "],["Role",">"]]]},{"name":"reason","description":"Reason for adding the role(s)","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":107,"file":"GuildMemberRoleManager.js","path":"src/managers"}},{"name":"remove","description":"Removes a role (or multiple roles) from the member.","params":[{"name":"roleOrRoles","description":"The role or roles to remove","type":[[["RoleResolvable"]],[["Array","<"],["RoleResolvable",">"]],[["Collection","<"],["Snowflake",", "],["Role",">"]]]},{"name":"reason","description":"Reason for removing the role(s)","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":138,"file":"GuildMemberRoleManager.js","path":"src/managers"}},{"name":"set","description":"Sets the roles applied to the member.","examples":["// Set the member's roles to a single role\nguildMember.roles.set(['391156570408615936'])\n .then(console.log)\n .catch(console.error);","// Remove all the roles from a member\nguildMember.roles.set([])\n .then(member => console.log(`Member roles is now of ${member.roles.cache.size} size`))\n .catch(console.error);"],"params":[{"name":"roles","description":"The roles or role ids to apply","type":[[["Collection","<"],["Snowflake",", "],["Role",">"]],[["Array","<"],["RoleResolvable",">"]]]},{"name":"reason","description":"Reason for applying the roles","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":180,"file":"GuildMemberRoleManager.js","path":"src/managers"}},{"name":"resolve","description":"Resolves a data entry to a data Object.","inherits":"DataManager#resolve","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Object"]]],"description":"An instance from this Manager","nullable":true},"meta":{"line":39,"file":"DataManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a data entry to an instance id.","inherits":"DataManager#resolveId","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":50,"file":"DataManager.js","path":"src/managers"}}],"meta":{"line":12,"file":"GuildMemberRoleManager.js","path":"src/managers"}},{"name":"GuildScheduledEventManager","description":"Manages API methods for GuildScheduledEvents and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"guild","description":"The guild this manager belongs to","type":[[["Guild"]]],"meta":{"line":22,"file":"GuildScheduledEventManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of this manager","type":[[["Collection","<"],["Snowflake",", "],["GuildScheduledEvent",">"]]],"meta":{"line":25,"file":"GuildScheduledEventManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"create","description":"Creates a new guild scheduled event.","params":[{"name":"options","description":"Options for creating the guild scheduled event","type":[[["GuildScheduledEventCreateOptions"]]]}],"async":true,"returns":[[["Promise","<"],["GuildScheduledEvent",">"]]],"meta":{"line":69,"file":"GuildScheduledEventManager.js","path":"src/managers"}},{"name":"fetch","description":"Obtains one or more guild scheduled events from Discord, or the guild cache if it's already available.","params":[{"name":"options","description":"The id of the guild scheduled event or options","optional":true,"type":[[["GuildScheduledEventResolvable"]],[["FetchGuildScheduledEventOptions"]],[["FetchGuildScheduledEventsOptions"]]]}],"async":true,"returns":[[["Promise","<("],["GuildScheduledEvent","|"],["Collection","<"],["Snowflake",", "],["GuildScheduledEvent",">)>"]]],"meta":{"line":136,"file":"GuildScheduledEventManager.js","path":"src/managers"}},{"name":"edit","description":"Edits a guild scheduled event.","params":[{"name":"guildScheduledEvent","description":"The guild scheduled event to edit","type":[[["GuildScheduledEventResolvable"]]]},{"name":"options","description":"Options to edit the guild scheduled event","type":[[["GuildScheduledEventEditOptions"]]]}],"async":true,"returns":[[["Promise","<"],["GuildScheduledEvent",">"]]],"meta":{"line":189,"file":"GuildScheduledEventManager.js","path":"src/managers"}},{"name":"delete","description":"Deletes a guild scheduled event.","params":[{"name":"guildScheduledEvent","description":"The guild scheduled event to delete","type":[[["GuildScheduledEventResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":243,"file":"GuildScheduledEventManager.js","path":"src/managers"}},{"name":"fetchSubscribers","description":"Fetches subscribers of a guild scheduled event.","params":[{"name":"guildScheduledEvent","description":"The guild scheduled event to fetch subscribers of","type":[[["GuildScheduledEventResolvable"]]]},{"name":"options","description":"Options for fetching the subscribers","optional":true,"default":"{}","type":[[["FetchGuildScheduledEventSubscribersOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["GuildScheduledEventUser",">>"]]],"meta":{"line":274,"file":"GuildScheduledEventManager.js","path":"src/managers"}},{"name":"resolve","description":"Resolves a data entry to a data Object.","inherits":"DataManager#resolve","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Object"]]],"description":"An instance from this Manager","nullable":true},"meta":{"line":39,"file":"DataManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a data entry to an instance id.","inherits":"DataManager#resolveId","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":50,"file":"DataManager.js","path":"src/managers"}}],"meta":{"line":14,"file":"GuildScheduledEventManager.js","path":"src/managers"}},{"name":"GuildSettingManager","description":"Manages API methods for users and stores their cache.","see":["{@link https://luna.gitlab.io/discord-unofficial-docs/user_settings.html}"],"extends":[[["BaseManager"]]],"props":[{"name":"guildId","description":"Guild Id","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":17,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"raw","description":"Raw data","type":[[["Object"]]],"meta":{"line":24,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"guild","description":"Get the guild","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":33,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"suppressEveryone","description":"Notification setting > Suppress `@everyone` and `@here`","nullable":true,"type":[[["boolean"]]],"meta":{"line":50,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"suppressRoles","description":"Notification setting > Suppress all role `@mention`","nullable":true,"type":[[["boolean"]]],"meta":{"line":57,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"muteScheduledEvents","description":"Notification setting > Mute new events","nullable":true,"type":[[["boolean"]]],"meta":{"line":64,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"messageNotifications","description":"Notification setting > Message notifications\n* `0`: All messages\n* `1`: Only @mentions\n* `2`: Nothing","nullable":true,"type":[[["number"]]],"meta":{"line":74,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"flags","description":"Flags (unknown)","nullable":true,"type":[[["number"]]],"meta":{"line":81,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"mobilePush","description":"Notification setting > Mobile push notifications","nullable":true,"type":[[["boolean"]]],"meta":{"line":88,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"muted","description":"Mute server","nullable":true,"type":[[["boolean"]]],"meta":{"line":95,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"muteConfig","description":"Mute config (muted = true)\n* `muteConfig.endTime`: End time (Date)\n* `muteConfig.selectedTimeWindow`: Selected time window (seconds) (number)","nullable":true,"type":[[["Object"]]],"meta":{"line":104,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"hideMutedChannels","description":"Hide muted channels","nullable":true,"type":[[["boolean"]]],"meta":{"line":116,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"channelOverrides","description":"Channel overrides (unknown)","nullable":true,"type":[[["Array"]]],"meta":{"line":123,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"notifyHighlights","description":"Notification setting > Suppress highlights\n* `0`: ??? (unknown)\n* `1`: Enable\n* `2`: Disable","nullable":true,"type":[[["number"]]],"meta":{"line":133,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"version","description":"Version (unknown)","nullable":true,"type":[[["number"]]],"meta":{"line":140,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"_patch","description":"Patch data file","access":"private","params":[{"name":"data","description":"Raw Data to patch","type":[[["Object"]]]}],"meta":{"line":42,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"edit","description":"Edit guild settings","params":[{"name":"data","description":"Data to edit","type":[[["Object"]]]}],"async":true,"returns":[[["Promise","<"],["GuildSettingManager",">"]]],"meta":{"line":148,"file":"GuildSettingManager.js","path":"src/managers"}}],"meta":{"line":9,"file":"GuildSettingManager.js","path":"src/managers"}},{"name":"GuildStickerManager","description":"Manages API methods for Guild Stickers and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"guild","description":"The guild this manager belongs to","type":[[["Guild"]]],"meta":{"line":21,"file":"GuildStickerManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of Guild Stickers","type":[[["Collection","<"],["Snowflake",", "],["Sticker",">"]]],"meta":{"line":24,"file":"GuildStickerManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"create","description":"Creates a new custom sticker in the guild.","examples":["// Create a new sticker from a URL\nguild.stickers.create('https://i.imgur.com/w3duR07.png', 'rip', 'headstone')\n .then(sticker => console.log(`Created new sticker with name ${sticker.name}!`))\n .catch(console.error);","// Create a new sticker from a file on your computer\nguild.stickers.create('./memes/banana.png', 'banana', 'banana')\n .then(sticker => console.log(`Created new sticker with name ${sticker.name}!`))\n .catch(console.error);"],"params":[{"name":"file","description":"The file for the sticker","type":[[["BufferResolvable"]],[["Stream"]],[["FileOptions"]],[["MessageAttachment"]]]},{"name":"name","description":"The name for the sticker","type":[[["string"]]]},{"name":"tags","description":"The Discord name of a unicode emoji representing the sticker's expression","type":[[["string"]]]},{"name":"options","description":"Options","optional":true,"type":[[["GuildStickerCreateOptions"]]]}],"async":true,"returns":{"types":[[["Promise","<"],["Sticker",">"]]],"description":"The created sticker"},"meta":{"line":59,"file":"GuildStickerManager.js","path":"src/managers"}},{"name":"resolve","description":"Resolves a StickerResolvable to a Sticker object.","params":[{"name":"sticker","description":"The Sticker resolvable to identify","type":[[["StickerResolvable"]]]}],"returns":{"types":[[["Sticker"]]],"nullable":true},"meta":{"line":79,"file":"GuildStickerManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a StickerResolvable to a Sticker id string.","params":[{"name":"sticker","description":"The Sticker resolvable to identify","type":[[["StickerResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":88,"file":"GuildStickerManager.js","path":"src/managers"}},{"name":"edit","description":"Edits a sticker.","params":[{"name":"sticker","description":"The sticker to edit","type":[[["StickerResolvable"]]]},{"name":"data","description":"The new data for the sticker","optional":true,"type":[[["GuildStickerEditData"]]]},{"name":"reason","description":"Reason for editing this sticker","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Sticker",">"]]],"meta":{"line":104,"file":"GuildStickerManager.js","path":"src/managers"}},{"name":"delete","description":"Deletes a sticker.","params":[{"name":"sticker","description":"The sticker to delete","type":[[["StickerResolvable"]]]},{"name":"reason","description":"Reason for deleting this sticker","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":128,"file":"GuildStickerManager.js","path":"src/managers"}},{"name":"fetch","description":"Obtains one or more stickers from Discord, or the sticker cache if they're already available.","examples":["// Fetch all stickers from the guild\nmessage.guild.stickers.fetch()\n .then(stickers => console.log(`There are ${stickers.size} stickers.`))\n .catch(console.error);","// Fetch a single sticker\nmessage.guild.stickers.fetch('222078108977594368')\n .then(sticker => console.log(`The sticker name is: ${sticker.name}`))\n .catch(console.error);"],"params":[{"name":"id","description":"The Sticker's id","optional":true,"type":[[["Snowflake"]]]},{"name":"options","description":"Additional options for this fetch","optional":true,"type":[[["BaseFetchOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Sticker","|"],["Collection","<"],["Snowflake",", "],["Sticker",">)>"]]],"meta":{"line":151,"file":"GuildStickerManager.js","path":"src/managers"}},{"name":"fetchUser","description":"Fetches the user who uploaded this sticker, if this is a guild sticker.","params":[{"name":"sticker","description":"The sticker to fetch the user for","type":[[["StickerResolvable"]]]}],"async":true,"returns":[[["Promise",""],["User",">"]]],"meta":{"line":170,"file":"GuildStickerManager.js","path":"src/managers"}}],"meta":{"line":13,"file":"GuildStickerManager.js","path":"src/managers"}},{"name":"GuildTextThreadManager","description":"Manages API methods for {@link ThreadChannel} objects and stores their cache.","extends":[[["ThreadManager"]]],"props":[{"name":"channel","description":"The channel this Manager belongs to","type":[[["TextChannel"]],[["NewsChannel"]]],"meta":{"line":13,"file":"GuildTextThreadManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of this Manager","type":[[["Collection","<"],["Snowflake",", "],["ThreadChannel",">"]]],"meta":{"line":22,"file":"ThreadManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"create","description":"Creates a new thread in the channel.","examples":["// Create a new public thread\nchannel.threads\n .create({\n name: 'food-talk',\n autoArchiveDuration: 60,\n reason: 'Needed a separate thread for food',\n })\n .then(threadChannel => console.log(threadChannel))\n .catch(console.error);","// Create a new private thread\nchannel.threads\n .create({\n name: 'mod-talk',\n autoArchiveDuration: 60,\n type: 'GUILD_PRIVATE_THREAD',\n reason: 'Needed a separate thread for moderation',\n })\n .then(threadChannel => console.log(threadChannel))\n .catch(console.error);"],"params":[{"name":"options","description":"Options to create a new thread","optional":true,"type":[[["GuildTextThreadCreateOptions"]]]}],"async":true,"returns":[[["Promise","<"],["ThreadChannel",">"]]],"meta":{"line":58,"file":"GuildTextThreadManager.js","path":"src/managers"}},{"name":"resolve","description":"Resolves a {@link ThreadChannelResolvable} to a {@link ThreadChannel} object.","inherits":"ThreadManager#resolve","inherited":true,"params":[{"name":"thread","description":"The ThreadChannel resolvable to resolve","type":[[["ThreadChannelResolvable"]]]}],"returns":{"types":[[["ThreadChannel"]]],"nullable":true},"meta":{"line":42,"file":"ThreadManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a {@link ThreadChannelResolvable} to a {@link ThreadChannel} id.","inherits":"ThreadManager#resolveId","inherited":true,"params":[{"name":"thread","description":"The ThreadChannel resolvable to resolve","type":[[["ThreadChannelResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":51,"file":"ThreadManager.js","path":"src/managers"}},{"name":"fetch","description":"Obtains a thread from Discord, or the channel cache if it's already available.","inherits":"ThreadManager#fetch","inherited":true,"examples":["// Fetch a thread by its id\nchannel.threads.fetch('831955138126104859')\n .then(channel => console.log(channel.name))\n .catch(console.error);"],"params":[{"name":"options","description":"The options to fetch threads. If it is a\nThreadChannelResolvable then the specified thread will be fetched. Fetches all active threads if `undefined`","optional":true,"type":[[["ThreadChannelResolvable"]],[["FetchChannelThreadsOptions"]],[["FetchThreadsOptions"]]]},{"name":"cacheOptions","description":"Additional options for this fetch. The `force` field gets ignored\nif `options` is not a {@link ThreadChannelResolvable}","optional":true,"type":[[["BaseFetchOptions"]]]}],"returns":[[["Promise","("],["ThreadChannel","|"],["FetchedThreads",")>"]]],"meta":{"line":79,"file":"ThreadManager.js","path":"src/managers"}},{"name":"fetchArchived","description":"Obtains a set of archived threads from Discord, requires `READ_MESSAGE_HISTORY` in the parent channel.","inherits":"ThreadManager#fetchArchived","inherited":true,"params":[{"name":"options","description":"The options to fetch archived threads","optional":true,"type":[[["FetchChannelThreadsOptions"]]]},{"name":"cache","description":"Whether to cache the new thread objects if they aren't already","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["FetchedThreads",">"]]],"meta":{"line":121,"file":"ThreadManager.js","path":"src/managers"}},{"name":"fetchActive","description":"Obtains the accessible active threads from Discord, requires `READ_MESSAGE_HISTORY` in the parent channel.","inherits":"ThreadManager#fetchActive","inherited":true,"params":[{"name":"cache","description":"Whether to cache the new thread objects if they aren't already","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"options","description":"Options for self-bots where advanced users can specify further options","optional":true,"type":[[["FetchChannelThreadsOptions"]]]}],"async":true,"returns":[[["Promise","<"],["FetchedThreads",">"]]],"meta":{"line":141,"file":"ThreadManager.js","path":"src/managers"}}],"meta":{"line":12,"file":"GuildTextThreadManager.js","path":"src/managers"}},{"name":"InteractionManager","description":"Manages API methods for InteractionResponse and holds their cache.","extends":[[["CachedManager"]]],"props":[{"name":"channel","description":"The channel that the messages belong to","type":[[["TextBasedChannels"]]],"meta":{"line":18,"file":"InteractionManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of InteractionResponse","type":[[["Collection","<"],["Snowflake",", "],["InteractionResponse",">"]]],"meta":{"line":21,"file":"InteractionManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"resolve","description":"Resolves a data entry to a data Object.","inherits":"DataManager#resolve","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Object"]]],"description":"An instance from this Manager","nullable":true},"meta":{"line":39,"file":"DataManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a data entry to an instance id.","inherits":"DataManager#resolveId","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":50,"file":"DataManager.js","path":"src/managers"}}],"meta":{"line":10,"file":"InteractionManager.js","path":"src/managers"}},{"name":"MessageManager","description":"Manages API methods for Messages and holds their cache.","extends":[[["CachedManager"]]],"props":[{"name":"channel","description":"The channel that the messages belong to","type":[[["TextBasedChannels"]]],"meta":{"line":22,"file":"MessageManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of Messages","type":[[["Collection","<"],["Snowflake",", "],["Message",">"]]],"meta":{"line":25,"file":"MessageManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"fetch","description":"Gets a message, or messages, from this channel.\nThe returned Collection does not contain reaction users of the messages if they were not cached.\nThose need to be fetched separately in such a case.","examples":["// Get message\nchannel.messages.fetch('99539446449315840')\n .then(message => console.log(message.content))\n .catch(console.error);","// Get messages\nchannel.messages.fetch({ limit: 10 })\n .then(messages => console.log(`Received ${messages.size} messages`))\n .catch(console.error);","// Get messages and filter by user id\nchannel.messages.fetch()\n .then(messages => console.log(`${messages.filter(m => m.author.id === '84484653687267328').size} messages`))\n .catch(console.error);"],"params":[{"name":"message","description":"The id of the message to fetch, or query parameters.","optional":true,"type":[[["Snowflake"]],[["ChannelLogsQueryOptions"]]]},{"name":"options","description":"Additional options for this fetch","optional":true,"type":[[["BaseFetchOptions"]]]}],"returns":[[["Promise","<("],["Message","|"],["Collection","<"],["Snowflake",", "],["Message",">)>"]]],"meta":{"line":68,"file":"MessageManager.js","path":"src/managers"}},{"name":"fetchPinned","description":"Fetches the pinned messages of this channel and returns a collection of them.\nThe returned Collection does not contain any reaction data of the messages.\nThose need to be fetched separately.","examples":["// Get pinned messages\nchannel.messages.fetchPinned()\n .then(messages => console.log(`Received ${messages.size} messages`))\n .catch(console.error);"],"params":[{"name":"cache","description":"Whether to cache the message(s)","optional":true,"default":true,"type":[[["boolean"]]]}],"async":true,"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Message",">>"]]],"meta":{"line":84,"file":"MessageManager.js","path":"src/managers"}},{"name":"resolve","description":"Resolves a {@link MessageResolvable} to a {@link Message} object.","params":[{"name":"message","description":"The message resolvable to resolve","type":[[["MessageResolvable"]]]}],"returns":{"types":[[["Message"]]],"nullable":true},"meta":{"line":98,"file":"MessageManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a {@link MessageResolvable} to a {@link Message} id.","params":[{"name":"message","description":"The message resolvable to resolve","type":[[["MessageResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":107,"file":"MessageManager.js","path":"src/managers"}},{"name":"edit","description":"Edits a message, even if it's not cached.","params":[{"name":"message","description":"The message to edit","type":[[["MessageResolvable"]]]},{"name":"options","description":"The options to edit the message","type":[[["string"]],[["MessageEditOptions"]],[["MessagePayload"]]]}],"async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":122,"file":"MessageManager.js","path":"src/managers"}},{"name":"crosspost","description":"Publishes a message in an announcement channel to all channels following it, even if it's not cached.","params":[{"name":"message","description":"The message to publish","type":[[["MessageResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":167,"file":"MessageManager.js","path":"src/managers"}},{"name":"pin","description":"Pins a message to the channel's pinned messages, even if it's not cached.","params":[{"name":"message","description":"The message to pin","type":[[["MessageResolvable"]]]},{"name":"reason","description":"Reason for pinning","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":181,"file":"MessageManager.js","path":"src/managers"}},{"name":"unpin","description":"Unpins a message from the channel's pinned messages, even if it's not cached.","params":[{"name":"message","description":"The message to unpin","type":[[["MessageResolvable"]]]},{"name":"reason","description":"Reason for unpinning","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":194,"file":"MessageManager.js","path":"src/managers"}},{"name":"react","description":"Adds a reaction to a message, even if it's not cached.","params":[{"name":"message","description":"The message to react to","type":[[["MessageResolvable"]]]},{"name":"emoji","description":"The emoji to react with","type":[[["EmojiIdentifierResolvable"]]]},{"name":"burst","description":"Super Reactions (Discord Nitro only)","optional":true,"default":false,"type":[[["boolean"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":208,"file":"MessageManager.js","path":"src/managers"}},{"name":"delete","description":"Deletes a message, even if it's not cached.","params":[{"name":"message","description":"The message to delete","type":[[["MessageResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":236,"file":"MessageManager.js","path":"src/managers"}},{"name":"search","description":"Search Messages in the channel.","params":[{"name":"options","description":"Performs a search within the channel.","type":[[["MessageSearchOptions"]]]}],"async":true,"returns":[[["MessageSearchResult"]]],"meta":{"line":295,"file":"MessageManager.js","path":"src/managers"}}],"meta":{"line":14,"file":"MessageManager.js","path":"src/managers"}},{"name":"PermissionOverwriteManager","description":"Manages API methods for guild channel permission overwrites and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"channel","description":"The channel of the permission overwrite this manager belongs to","type":[[["GuildChannel"]]],"meta":{"line":32,"file":"PermissionOverwriteManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of this Manager","type":[[["Collection","<"],["Snowflake",", "],["PermissionOverwrites",">"]]],"meta":{"line":41,"file":"PermissionOverwriteManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"set","description":"Replaces the permission overwrites in this channel.","examples":["message.channel.permissionOverwrites.set([\n {\n id: message.author.id,\n deny: [Permissions.FLAGS.VIEW_CHANNEL],\n },\n], 'Needed to change permissions');"],"params":[{"name":"overwrites","description":"Permission overwrites the channel gets updated with","type":[[["Array","<"],["OverwriteResolvable",">"]],[["Collection","<"],["Snowflake",", "],["OverwriteResolvable",">"]]]},{"name":"reason","description":"Reason for updating the channel overwrites","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":65,"file":"PermissionOverwriteManager.js","path":"src/managers"}},{"name":"upsert","description":"Creates or edits permission overwrites for a user or role in this channel.","access":"private","params":[{"name":"userOrRole","description":"The user or role to update","type":[[["RoleResolvable"]],[["UserResolvable"]]]},{"name":"options","description":"The options for the update","type":[[["PermissionOverwriteOptions"]]]},{"name":"overwriteOptions","description":"The extra information for the update","optional":true,"type":[[["GuildChannelOverwriteOptions"]]]},{"name":"existing","description":"The existing overwrites to merge with this update","optional":true,"type":[[["PermissionOverwrites"]]]}],"async":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":91,"file":"PermissionOverwriteManager.js","path":"src/managers"}},{"name":"create","description":"Creates permission overwrites for a user or role in this channel, or replaces them if already present.","examples":["// Create or Replace permission overwrites for a message author\nmessage.channel.permissionOverwrites.create(message.author, {\n SEND_MESSAGES: false\n})\n .then(channel => console.log(channel.permissionOverwrites.cache.get(message.author.id)))\n .catch(console.error);"],"params":[{"name":"userOrRole","description":"The user or role to update","type":[[["RoleResolvable"]],[["UserResolvable"]]]},{"name":"options","description":"The options for the update","type":[[["PermissionOverwriteOptions"]]]},{"name":"overwriteOptions","description":"The extra information for the update","optional":true,"type":[[["GuildChannelOverwriteOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":126,"file":"PermissionOverwriteManager.js","path":"src/managers"}},{"name":"edit","description":"Edits permission overwrites for a user or role in this channel, or creates an entry if not already present.","examples":["// Edit or Create permission overwrites for a message author\nmessage.channel.permissionOverwrites.edit(message.author, {\n SEND_MESSAGES: false\n})\n .then(channel => console.log(channel.permissionOverwrites.cache.get(message.author.id)))\n .catch(console.error);"],"params":[{"name":"userOrRole","description":"The user or role to update","type":[[["RoleResolvable"]],[["UserResolvable"]]]},{"name":"options","description":"The options for the update","type":[[["PermissionOverwriteOptions"]]]},{"name":"overwriteOptions","description":"The extra information for the update","optional":true,"type":[[["GuildChannelOverwriteOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":144,"file":"PermissionOverwriteManager.js","path":"src/managers"}},{"name":"delete","description":"Deletes permission overwrites for a user or role in this channel.","params":[{"name":"userOrRole","description":"The user or role to delete","type":[[["UserResolvable"]],[["RoleResolvable"]]]},{"name":"reason","description":"The reason for deleting the overwrite","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":157,"file":"PermissionOverwriteManager.js","path":"src/managers"}},{"name":"resolve","description":"Resolves a data entry to a data Object.","inherits":"DataManager#resolve","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Object"]]],"description":"An instance from this Manager","nullable":true},"meta":{"line":39,"file":"DataManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a data entry to an instance id.","inherits":"DataManager#resolveId","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":50,"file":"DataManager.js","path":"src/managers"}}],"meta":{"line":17,"file":"PermissionOverwriteManager.js","path":"src/managers"}},{"name":"PresenceManager","description":"Manages API methods for Presences and holds their cache.","extends":[[["CachedManager"]]],"props":[{"name":"cache","description":"The cache of Presences","type":[[["Collection","<"],["Snowflake",", "],["Presence",">"]]],"meta":{"line":15,"file":"PresenceManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"resolve","description":"Resolves a {@link PresenceResolvable} to a {@link Presence} object.","params":[{"name":"presence","description":"The presence resolvable to resolve","type":[[["PresenceResolvable"]]]}],"returns":{"types":[[["Presence"]]],"nullable":true},"meta":{"line":38,"file":"PresenceManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a {@link PresenceResolvable} to a {@link Presence} id.","params":[{"name":"presence","description":"The presence resolvable to resolve","type":[[["PresenceResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":50,"file":"PresenceManager.js","path":"src/managers"}}],"meta":{"line":10,"file":"PresenceManager.js","path":"src/managers"}},{"name":"ReactionManager","description":"Manages API methods for reactions and holds their cache.","extends":[[["CachedManager"]]],"props":[{"name":"message","description":"The message that this manager belongs to","type":[[["Message"]]],"meta":{"line":18,"file":"ReactionManager.js","path":"src/managers"}},{"name":"cache","description":"The reaction cache of this manager","type":[[["Collection","<("],["string","|"],["Snowflake","), "],["MessageReaction",">"]]],"meta":{"line":25,"file":"ReactionManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"resolve","description":"Resolves a {@link MessageReactionResolvable} to a {@link MessageReaction} object.","params":[{"name":"reaction","description":"The MessageReaction to resolve","type":[[["MessageReactionResolvable"]]]}],"returns":{"types":[[["MessageReaction"]]],"nullable":true},"meta":{"line":39,"file":"ReactionManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a {@link MessageReactionResolvable} to a {@link MessageReaction} id.","params":[{"name":"reaction","description":"The MessageReaction to resolve","type":[[["MessageReactionResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":48,"file":"ReactionManager.js","path":"src/managers"}},{"name":"removeAll","description":"Removes all reactions from a message.","async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":61,"file":"ReactionManager.js","path":"src/managers"}}],"meta":{"line":10,"file":"ReactionManager.js","path":"src/managers"}},{"name":"ReactionUserManager","description":"Manages API methods for users who reacted to a reaction and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"reaction","description":"The reaction that this manager belongs to","type":[[["MessageReaction"]]],"meta":{"line":20,"file":"ReactionUserManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of this manager","type":[[["Collection","<"],["Snowflake",", "],["User",">"]]],"meta":{"line":23,"file":"ReactionUserManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"fetch","description":"Fetches all the users that gave this reaction. Resolves with a collection of users, mapped by their ids.","params":[{"name":"options","description":"Options for fetching the users","optional":true,"type":[[["FetchReactionUsersOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["User",">>"]]],"meta":{"line":41,"file":"ReactionUserManager.js","path":"src/managers"}},{"name":"remove","description":"Removes a user from this reaction.","params":[{"name":"user","description":"The user to remove the reaction of","optional":true,"default":"this.client.user","type":[[["UserResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["MessageReaction",">"]]],"meta":{"line":60,"file":"ReactionUserManager.js","path":"src/managers"}},{"name":"resolve","description":"Resolves a data entry to a data Object.","inherits":"DataManager#resolve","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Object"]]],"description":"An instance from this Manager","nullable":true},"meta":{"line":39,"file":"DataManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a data entry to an instance id.","inherits":"DataManager#resolveId","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":50,"file":"DataManager.js","path":"src/managers"}}],"meta":{"line":12,"file":"ReactionUserManager.js","path":"src/managers"}},{"name":"RelationshipManager","description":"Manages API methods for Relationships and stores their cache.","props":[{"name":"cache","description":"A collection of users this manager is caching. (Type: Number)","type":[[["Collection","<"],["Snowflake",", "],["RelationshipType",">"]]],"meta":{"line":21,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"friendNicknames","type":[[["Collection","<"],["Snowflake",", "],["string",">"]]],"meta":{"line":25,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"sinceCache","type":[[["Collection","<"],["Snowflake",", "],["Date",">"]]],"meta":{"line":29,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"friendCache","description":"Get all friends","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["User",">"]]],"meta":{"line":38,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"blockedCache","description":"Get all blocked users","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["User",">"]]],"meta":{"line":50,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"incomingCache","description":"Get all incoming friend requests","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["User",">"]]],"meta":{"line":62,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"outgoingCache","description":"Get all outgoing friend requests","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["User",">"]]],"meta":{"line":74,"file":"RelationshipManager.js","path":"src/managers"}}],"methods":[{"name":"toJSON","description":"Return array of cache","returns":[[["Array","<"],["RelationshipJSONData",">"]]],"meta":{"line":93,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"_setup","access":"private","params":[{"name":"users","description":"An array of users to add to the cache","type":[[["Array","<"],["User",">"]]]}],"returns":[[["void"]]],"meta":{"line":107,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a {@link UserResolvable} to a {@link User} id.","params":[{"name":"user","description":"The UserResolvable to identify","type":[[["UserResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":121,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"fetch","description":"Obtains a user from Discord, or the user cache if it's already available.","params":[{"name":"user","description":"The user to fetch","optional":true,"type":[[["UserResolvable"]]]},{"name":"options","description":"Additional options for this fetch","optional":true,"type":[[["BaseFetchOptions"]]]}],"async":true,"returns":[[["Promise","<("],["RelationshipType","|"],["RelationshipManager",")>"]]],"meta":{"line":135,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"deleteRelationship","description":"Deletes a friend / blocked relationship with a client user or cancels a friend request.","params":[{"name":"user","description":"Target","type":[[["UserResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["boolean",">"]]],"meta":{"line":157,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"sendFriendRequest","description":"Sends a friend request.","params":[{"name":"options","description":"Target","type":[[["FriendRequestOptions"]]]}],"async":true,"returns":[[["Promise","<"],["boolean",">"]]],"meta":{"line":184,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"addFriend","description":"Accepts a friend request.","params":[{"name":"user","description":"The user to add as a friend","type":[[["UserResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["boolean",">"]]],"meta":{"line":209,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"setNickname","description":"Changes the nickname of a friend.","params":[{"name":"user","description":"The user to change the nickname","type":[[["UserResolvable"]]]},{"name":"nickname","description":"New nickname","default":null,"nullable":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["boolean",">"]]],"meta":{"line":230,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"addBlocked","description":"Blocks a user.","params":[{"name":"user","description":"User to block","type":[[["UserResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["boolean",">"]]],"meta":{"line":251,"file":"RelationshipManager.js","path":"src/managers"}}],"meta":{"line":14,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"RoleManager","description":"Manages API methods for roles and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"guild","description":"The guild belonging to this manager","type":[[["Guild"]]],"meta":{"line":34,"file":"RoleManager.js","path":"src/managers"}},{"name":"cache","description":"The role cache of this manager","type":[[["Collection","<"],["Snowflake",", "],["Role",">"]]],"meta":{"line":37,"file":"RoleManager.js","path":"src/managers"}},{"name":"everyone","description":"The `@everyone` role of the guild","readonly":true,"type":[[["Role"]]],"meta":{"line":329,"file":"RoleManager.js","path":"src/managers"}},{"name":"premiumSubscriberRole","description":"The premium subscriber role of the guild, if any","readonly":true,"nullable":true,"type":[[["Role"]]],"meta":{"line":338,"file":"RoleManager.js","path":"src/managers"}},{"name":"highest","description":"The role with the highest position in the cache","readonly":true,"type":[[["Role"]]],"meta":{"line":347,"file":"RoleManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"fetch","description":"Obtains a role from Discord, or the role cache if they're already available.","examples":["// Fetch all roles from the guild\nmessage.guild.roles.fetch()\n .then(roles => console.log(`There are ${roles.size} roles.`))\n .catch(console.error);","// Fetch a single role\nmessage.guild.roles.fetch('222078108977594368')\n .then(role => console.log(`The role color is: ${role.color}`))\n .catch(console.error);"],"params":[{"name":"id","description":"The role's id","optional":true,"type":[[["Snowflake"]]]},{"name":"options","description":"Additional options for this fetch","optional":true,"type":[[["BaseFetchOptions"]]]}],"async":true,"returns":[[["Promise","<(?"],["Role","|"],["Collection","<"],["Snowflake",", "],["Role",">)>"]]],"meta":{"line":63,"file":"RoleManager.js","path":"src/managers"}},{"name":"resolve","description":"Resolves a {@link RoleResolvable} to a {@link Role} object.","params":[{"name":"role","description":"The role resolvable to resolve","type":[[["RoleResolvable"]]]}],"returns":{"types":[[["Role"]]],"nullable":true},"meta":{"line":83,"file":"RoleManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a {@link RoleResolvable} to a {@link Role} id.","params":[{"name":"role","description":"The role resolvable to resolve","type":[[["RoleResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":92,"file":"RoleManager.js","path":"src/managers"}},{"name":"create","description":"Creates a new role in the guild with given information.\nThe position will silently reset to 1 if an invalid one is provided, or none.","examples":["// Create a new role\nguild.roles.create()\n .then(console.log)\n .catch(console.error);","// Create a new role with data and a reason\nguild.roles.create({\n name: 'Super Cool Blue People',\n color: 'BLUE',\n reason: 'we needed a role for Super Cool People',\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for creating the new role","optional":true,"type":[[["CreateRoleOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Role",">"]]],"meta":{"line":137,"file":"RoleManager.js","path":"src/managers"}},{"name":"edit","description":"Edits a role of the guild.","examples":["// Edit a role\nguild.roles.edit('222079219327434752', { name: 'buddies' })\n .then(updated => console.log(`Edited role name to ${updated.name}`))\n .catch(console.error);"],"params":[{"name":"role","description":"The role to edit","type":[[["RoleResolvable"]]]},{"name":"data","description":"The new data for the role","type":[[["RoleData"]]]},{"name":"reason","description":"Reason for editing this role","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Role",">"]]],"meta":{"line":179,"file":"RoleManager.js","path":"src/managers"}},{"name":"delete","description":"Deletes a role.","examples":["// Delete a role\nguild.roles.delete('222079219327434752', 'The role needed to go')\n .then(() => console.log('Deleted the role.'))\n .catch(console.error);"],"params":[{"name":"role","description":"The role to delete","type":[[["RoleResolvable"]]]},{"name":"reason","description":"Reason for deleting the role","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":220,"file":"RoleManager.js","path":"src/managers"}},{"name":"setPosition","description":"Sets the new position of the role.","examples":["// Set the position of the role\nguild.roles.setPosition('222197033908436994', 1)\n .then(updated => console.log(`Role position: ${updated.position}`))\n .catch(console.error);"],"params":[{"name":"role","description":"The role to change the position of","type":[[["RoleResolvable"]]]},{"name":"position","description":"The new position for the role","type":[[["number"]]]},{"name":"options","description":"Options for setting the position","optional":true,"type":[[["SetRolePositionOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Role",">"]]],"meta":{"line":238,"file":"RoleManager.js","path":"src/managers"}},{"name":"setPositions","description":"Batch-updates the guild's role positions","examples":["guild.roles.setPositions([{ role: roleId, position: updatedRoleIndex }])\n .then(guild => console.log(`Role positions updated for ${guild}`))\n .catch(console.error);"],"params":[{"name":"rolePositions","description":"Role positions to update","type":[[["Array","<"],["GuildRolePosition",">"]]]}],"async":true,"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":273,"file":"RoleManager.js","path":"src/managers"}},{"name":"comparePositions","description":"Compares the positions of two roles.","params":[{"name":"role1","description":"First role to compare","type":[[["RoleResolvable"]]]},{"name":"role2","description":"Second role to compare","type":[[["RoleResolvable"]]]}],"returns":{"types":[[["number"]]],"description":"Negative number if the first role's position is lower (second role's is higher),\npositive number if the first's is higher (second's is lower), 0 if equal"},"meta":{"line":297,"file":"RoleManager.js","path":"src/managers"}},{"name":"botRoleFor","description":"Gets the managed role a user created when joining the guild, if any\nOnly ever available for bots","params":[{"name":"user","description":"The user to access the bot role for","type":[[["UserResolvable"]]]}],"returns":{"types":[[["Role"]]],"nullable":true},"meta":{"line":318,"file":"RoleManager.js","path":"src/managers"}}],"meta":{"line":19,"file":"RoleManager.js","path":"src/managers"}},{"name":"StageInstanceManager","description":"Manages API methods for {@link StageInstance} objects and holds their cache.","extends":[[["CachedManager"]]],"props":[{"name":"guild","description":"The guild this manager belongs to","type":[[["Guild"]]],"meta":{"line":20,"file":"StageInstanceManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of this Manager","type":[[["Collection","<"],["Snowflake",", "],["StageInstance",">"]]],"meta":{"line":23,"file":"StageInstanceManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"create","description":"Creates a new stage instance.","examples":["// Create a stage instance\nguild.stageInstances.create('1234567890123456789', {\n topic: 'A very creative topic',\n privacyLevel: 'GUILD_ONLY'\n})\n .then(stageInstance => console.log(stageInstance))\n .catch(console.error);"],"params":[{"name":"channel","description":"The stage channel to associate the created stage instance to","type":[[["StageChannelResolvable"]]]},{"name":"options","description":"The options to create the stage instance","type":[[["StageInstanceCreateOptions"]]]}],"async":true,"returns":[[["Promise","<"],["StageInstance",">"]]],"meta":{"line":60,"file":"StageInstanceManager.js","path":"src/managers"}},{"name":"fetch","description":"Fetches the stage instance associated with a stage channel, if it exists.","examples":["// Fetch a stage instance\nguild.stageInstances.fetch('1234567890123456789')\n .then(stageInstance => console.log(stageInstance))\n .catch(console.error);"],"params":[{"name":"channel","description":"The stage channel whose associated stage instance is to be fetched","type":[[["StageChannelResolvable"]]]},{"name":"options","description":"Additional options for this fetch","optional":true,"type":[[["BaseFetchOptions"]]]}],"async":true,"returns":[[["Promise","<"],["StageInstance",">"]]],"meta":{"line":93,"file":"StageInstanceManager.js","path":"src/managers"}},{"name":"edit","description":"Edits an existing stage instance.","examples":["// Edit a stage instance\nguild.stageInstances.edit('1234567890123456789', { topic: 'new topic' })\n .then(stageInstance => console.log(stageInstance))\n .catch(console.error);"],"params":[{"name":"channel","description":"The stage channel whose associated stage instance is to be edited","type":[[["StageChannelResolvable"]]]},{"name":"options","description":"The options to edit the stage instance","type":[[["StageInstanceEditOptions"]]]}],"async":true,"returns":[[["Promise","<"],["StageInstance",">"]]],"meta":{"line":124,"file":"StageInstanceManager.js","path":"src/managers"}},{"name":"delete","description":"Deletes an existing stage instance.","params":[{"name":"channel","description":"The stage channel whose associated stage instance is to be deleted","type":[[["StageChannelResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":154,"file":"StageInstanceManager.js","path":"src/managers"}},{"name":"resolve","description":"Resolves a data entry to a data Object.","inherits":"DataManager#resolve","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Object"]]],"description":"An instance from this Manager","nullable":true},"meta":{"line":39,"file":"DataManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a data entry to an instance id.","inherits":"DataManager#resolveId","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":50,"file":"DataManager.js","path":"src/managers"}}],"meta":{"line":12,"file":"StageInstanceManager.js","path":"src/managers"}},{"name":"ThreadManager","description":"Manages API methods for {@link ThreadChannel} objects and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"channel","description":"The channel this Manager belongs to","type":[[["NewsChannel"]],[["TextChannel"]]],"meta":{"line":19,"file":"ThreadManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of this Manager","type":[[["Collection","<"],["Snowflake",", "],["ThreadChannel",">"]]],"meta":{"line":22,"file":"ThreadManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"resolve","description":"Resolves a {@link ThreadChannelResolvable} to a {@link ThreadChannel} object.","params":[{"name":"thread","description":"The ThreadChannel resolvable to resolve","type":[[["ThreadChannelResolvable"]]]}],"returns":{"types":[[["ThreadChannel"]]],"nullable":true},"meta":{"line":42,"file":"ThreadManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a {@link ThreadChannelResolvable} to a {@link ThreadChannel} id.","params":[{"name":"thread","description":"The ThreadChannel resolvable to resolve","type":[[["ThreadChannelResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":51,"file":"ThreadManager.js","path":"src/managers"}},{"name":"fetch","description":"Obtains a thread from Discord, or the channel cache if it's already available.","examples":["// Fetch a thread by its id\nchannel.threads.fetch('831955138126104859')\n .then(channel => console.log(channel.name))\n .catch(console.error);"],"params":[{"name":"options","description":"The options to fetch threads. If it is a\nThreadChannelResolvable then the specified thread will be fetched. Fetches all active threads if `undefined`","optional":true,"type":[[["ThreadChannelResolvable"]],[["FetchChannelThreadsOptions"]],[["FetchThreadsOptions"]]]},{"name":"cacheOptions","description":"Additional options for this fetch. The `force` field gets ignored\nif `options` is not a {@link ThreadChannelResolvable}","optional":true,"type":[[["BaseFetchOptions"]]]}],"returns":[[["Promise","("],["ThreadChannel","|"],["FetchedThreads",")>"]]],"meta":{"line":79,"file":"ThreadManager.js","path":"src/managers"}},{"name":"fetchArchived","description":"Obtains a set of archived threads from Discord, requires `READ_MESSAGE_HISTORY` in the parent channel.","params":[{"name":"options","description":"The options to fetch archived threads","optional":true,"type":[[["FetchChannelThreadsOptions"]]]},{"name":"cache","description":"Whether to cache the new thread objects if they aren't already","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["FetchedThreads",">"]]],"meta":{"line":121,"file":"ThreadManager.js","path":"src/managers"}},{"name":"fetchActive","description":"Obtains the accessible active threads from Discord, requires `READ_MESSAGE_HISTORY` in the parent channel.","params":[{"name":"cache","description":"Whether to cache the new thread objects if they aren't already","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"options","description":"Options for self-bots where advanced users can specify further options","optional":true,"type":[[["FetchChannelThreadsOptions"]]]}],"async":true,"returns":[[["Promise","<"],["FetchedThreads",">"]]],"meta":{"line":141,"file":"ThreadManager.js","path":"src/managers"}}],"meta":{"line":11,"file":"ThreadManager.js","path":"src/managers"}},{"name":"ThreadMemberManager","description":"Manages API methods for GuildMembers and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"thread","description":"The thread this manager belongs to","type":[[["ThreadChannel"]]],"meta":{"line":23,"file":"ThreadMemberManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of this Manager","type":[[["Collection","<"],["Snowflake",", "],["ThreadMember",">"]]],"meta":{"line":26,"file":"ThreadMemberManager.js","path":"src/managers"}},{"name":"me","description":"The client user as a ThreadMember of this ThreadChannel","readonly":true,"nullable":true,"type":[[["ThreadMember"]]],"meta":{"line":56,"file":"ThreadMemberManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"fetchMe","description":"Fetches the client user as a ThreadMember of the thread.","params":[{"name":"options","description":"The options for fetching the member","optional":true,"type":[[["BaseFetchOptions"]]]}],"returns":[[["Promise","<"],["ThreadMember",">"]]],"meta":{"line":47,"file":"ThreadMemberManager.js","path":"src/managers"}},{"name":"resolve","description":"Resolves a {@link ThreadMemberResolvable} to a {@link ThreadMember} object.","params":[{"name":"member","description":"The user that is part of the thread","type":[[["ThreadMemberResolvable"]]]}],"returns":{"types":[[["GuildMember"]]],"nullable":true},"meta":{"line":72,"file":"ThreadMemberManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a {@link ThreadMemberResolvable} to a {@link ThreadMember} id string.","params":[{"name":"member","description":"The user that is part of the guild","type":[[["ThreadMemberResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":85,"file":"ThreadMemberManager.js","path":"src/managers"}},{"name":"add","description":"Adds a member to the thread.","params":[{"name":"member","description":"The member to add","type":[[["UserResolvable"]],[["me","'"]]]},{"name":"reason","description":"The reason for adding this member","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Snowflake",">"]]],"meta":{"line":98,"file":"ThreadMemberManager.js","path":"src/managers"}},{"name":"remove","description":"Remove a user from the thread.","params":[{"name":"id","description":"The id of the member to remove","type":[[["Snowflake"]],[["me","'"]]]},{"name":"reason","description":"The reason for removing this member from the thread","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Snowflake",">"]]],"meta":{"line":111,"file":"ThreadMemberManager.js","path":"src/managers"}},{"name":"fetch","description":"Fetches member(s) for the thread from Discord.","params":[{"name":"member","description":"The member to fetch. If `undefined`, all members\nin the thread are fetched, and will be cached based on `options.cache`.","optional":true,"type":[[["UserResolvable"]],[["FetchThreadMembersOptions"]],[["boolean"]]]},{"name":"options","description":"Additional options for this fetch","optional":true,"type":[[["FetchThreadMemberOptions"]],[["FetchThreadMembersOptions"]]]}],"returns":[[["Promise","<("],["ThreadMember","|"],["Collection","<"],["Snowflake",", "],["ThreadMember",">)>"]]],"meta":{"line":171,"file":"ThreadMemberManager.js","path":"src/managers"}}],"meta":{"line":15,"file":"ThreadMemberManager.js","path":"src/managers"}},{"name":"UserManager","description":"Manages API methods for users and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"cache","description":"The cache of this manager","type":[[["Collection","<"],["Snowflake",", "],["User",">"]]],"meta":{"line":19,"file":"UserManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"dmChannel","description":"The DM between the client's user and a user","access":"private","params":[{"name":"userId","description":"The user id","type":[[["Snowflake"]]]}],"returns":{"types":[[["DMChannel"]]],"nullable":true},"meta":{"line":41,"file":"UserManager.js","path":"src/managers"}},{"name":"createDM","description":"Creates a {@link DMChannel} between the client and a user.","params":[{"name":"user","description":"The UserResolvable to identify","type":[[["UserResolvable"]]]},{"name":"options","description":"Additional options for this fetch","optional":true,"type":[[["BaseFetchOptions"]]]}],"async":true,"returns":[[["Promise","<"],["DMChannel",">"]]],"meta":{"line":51,"file":"UserManager.js","path":"src/managers"}},{"name":"deleteDM","description":"Deletes a {@link DMChannel} (if one exists) between the client and a user. Resolves with the channel if successful.","params":[{"name":"user","description":"The UserResolvable to identify","type":[[["UserResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["DMChannel",">"]]],"meta":{"line":76,"file":"UserManager.js","path":"src/managers"}},{"name":"fetch","description":"Obtains a user from Discord, or the user cache if it's already available.","params":[{"name":"user","description":"The user to fetch","type":[[["UserResolvable"]]]},{"name":"options","description":"Additional options for this fetch","optional":true,"type":[[["BaseFetchOptions"]]]}],"async":true,"returns":[[["Promise","<"],["User",">"]]],"meta":{"line":91,"file":"UserManager.js","path":"src/managers"}},{"name":"fetchFlags","description":"Fetches a user's flags.","params":[{"name":"user","description":"The UserResolvable to identify","type":[[["UserResolvable"]]]},{"name":"options","description":"Additional options for this fetch","optional":true,"type":[[["BaseFetchOptions"]]]}],"async":true,"returns":[[["Promise","<"],["UserFlags",">"]]],"meta":{"line":108,"file":"UserManager.js","path":"src/managers"}},{"name":"send","description":"Sends a message to a user.","params":[{"name":"user","description":"The UserResolvable to identify","type":[[["UserResolvable"]]]},{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["MessageOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":118,"file":"UserManager.js","path":"src/managers"}},{"name":"resolve","description":"Resolves a {@link UserResolvable} to a {@link User} object.","params":[{"name":"user","description":"The UserResolvable to identify","type":[[["UserResolvable"]]]}],"returns":{"types":[[["User"]]],"nullable":true},"meta":{"line":127,"file":"UserManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a {@link UserResolvable} to a {@link User} id.","params":[{"name":"user","description":"The UserResolvable to identify","type":[[["UserResolvable"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":138,"file":"UserManager.js","path":"src/managers"}}],"meta":{"line":14,"file":"UserManager.js","path":"src/managers"}},{"name":"UserNoteManager","description":"Manages API methods for Client and stores their cache.","extends":[[["BaseManager"]]],"props":[{"name":"cache","description":"Cache User Note","type":[[["Collection","<"],["Snowflake",", "],["string",">"]]],"meta":{"line":17,"file":"UserNoteManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"fetch","description":"Obtains a user from Discord, or the user cache if it's already available.","params":[{"name":"user","description":"The user to fetch","type":[[["UserResolvable"]]]},{"name":"options","description":"Additional options for this fetch","optional":true,"type":[[["BaseFetchOptions"]]]}],"async":true,"returns":[[["Promise","<"],["string",">"]]],"meta":{"line":38,"file":"UserNoteManager.js","path":"src/managers"}}],"meta":{"line":10,"file":"UserNoteManager.js","path":"src/managers"}},{"name":"VoiceStateManager","description":"Manages API methods for VoiceStates and stores their cache.","extends":[[["CachedManager"]]],"props":[{"name":"guild","description":"The guild this manager belongs to","type":[[["Guild"]]],"meta":{"line":18,"file":"VoiceStateManager.js","path":"src/managers"}},{"name":"cache","description":"The cache of this manager","type":[[["Collection","<"],["Snowflake",", "],["VoiceState",">"]]],"meta":{"line":21,"file":"VoiceStateManager.js","path":"src/managers"}},{"name":"_cache","description":"The private cache of items for this manager.","access":"private","readonly":true,"type":[[["Collection"]]],"meta":{"line":15,"file":"CachedManager.js","path":"src/managers"}},{"name":"holds","description":"The data structure belonging to this manager.","access":"private","readonly":true,"type":[[["function"]]],"meta":{"line":15,"file":"DataManager.js","path":"src/managers"}},{"name":"client","description":"The client that instantiated this Manager","readonly":true,"type":[[["Client"]]],"meta":{"line":9,"file":"BaseManager.js","path":"src/managers"}}],"methods":[{"name":"resolve","description":"Resolves a data entry to a data Object.","inherits":"DataManager#resolve","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Object"]]],"description":"An instance from this Manager","nullable":true},"meta":{"line":39,"file":"DataManager.js","path":"src/managers"}},{"name":"resolveId","description":"Resolves a data entry to an instance id.","inherits":"DataManager#resolveId","inherited":true,"params":[{"name":"idOrInstance","description":"The id or instance of something in this Manager","type":[[["string"]],[["Object"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":50,"file":"DataManager.js","path":"src/managers"}}],"meta":{"line":10,"file":"VoiceStateManager.js","path":"src/managers"}},{"name":"DiscordAPIError","description":"Represents an error from the Discord API.","extends":[[["Error"]]],"props":[{"name":"method","description":"The HTTP method used for the request","type":[[["string"]]],"meta":{"line":18,"file":"DiscordAPIError.js","path":"src/rest"}},{"name":"path","description":"The path of the request relative to the HTTP endpoint","type":[[["string"]]],"meta":{"line":24,"file":"DiscordAPIError.js","path":"src/rest"}},{"name":"code","description":"HTTP error code returned by Discord","type":[[["number"]]],"meta":{"line":30,"file":"DiscordAPIError.js","path":"src/rest"}},{"name":"httpStatus","description":"The HTTP status code","type":[[["number"]]],"meta":{"line":36,"file":"DiscordAPIError.js","path":"src/rest"}},{"name":"requestData","description":"The data associated with the request that caused this error","type":[[["HTTPErrorData"]]],"meta":{"line":42,"file":"DiscordAPIError.js","path":"src/rest"}},{"name":"retries","description":"The number of times this request has been retried","type":[[["number"]]],"meta":{"line":52,"file":"DiscordAPIError.js","path":"src/rest"}},{"name":"captcha","description":"Captcha response data if the request requires a captcha","type":[[["Captcha"]],[["null"]]],"meta":{"line":67,"file":"DiscordAPIError.js","path":"src/rest"}}],"methods":[{"name":"flattenErrors","description":"Flattens an errors object returned from the API into an array.","scope":"static","access":"private","params":[{"name":"obj","description":"Discord errors object","type":[[["APIError"]]]},{"name":"key","description":"Used internally to determine key names of nested fields","optional":true,"type":[[["string"]]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":77,"file":"DiscordAPIError.js","path":"src/rest"}}],"meta":{"line":7,"file":"DiscordAPIError.js","path":"src/rest"}},{"name":"HTTPError","description":"Represents an HTTP error from a request.","extends":[[["Error"]]],"props":[{"name":"name","description":"The name of the error","type":[[["string"]]],"meta":{"line":15,"file":"HTTPError.js","path":"src/rest"}},{"name":"code","description":"HTTP error code returned from the request","type":[[["number"]]],"meta":{"line":21,"file":"HTTPError.js","path":"src/rest"}},{"name":"method","description":"The HTTP method used for the request","type":[[["string"]]],"meta":{"line":27,"file":"HTTPError.js","path":"src/rest"}},{"name":"path","description":"The path of the request relative to the HTTP endpoint","type":[[["string"]]],"meta":{"line":33,"file":"HTTPError.js","path":"src/rest"}},{"name":"requestData","description":"The data associated with the request that caused this error","type":[[["HTTPErrorData"]]],"meta":{"line":54,"file":"HTTPError.js","path":"src/rest"}}],"meta":{"line":7,"file":"HTTPError.js","path":"src/rest"}},{"name":"RateLimitError","description":"Represents a RateLimit error from a request.","extends":[[["Error"]]],"props":[{"name":"name","description":"The name of the error","type":[[["string"]]],"meta":{"line":15,"file":"RateLimitError.js","path":"src/rest"}},{"name":"timeout","description":"Time until this rate limit ends, in milliseconds","type":[[["number"]]],"meta":{"line":21,"file":"RateLimitError.js","path":"src/rest"}},{"name":"method","description":"The HTTP method used for the request","type":[[["string"]]],"meta":{"line":27,"file":"RateLimitError.js","path":"src/rest"}},{"name":"path","description":"The path of the request relative to the HTTP endpoint","type":[[["string"]]],"meta":{"line":33,"file":"RateLimitError.js","path":"src/rest"}},{"name":"route","description":"The route of the request relative to the HTTP endpoint","type":[[["string"]]],"meta":{"line":39,"file":"RateLimitError.js","path":"src/rest"}},{"name":"global","description":"Whether this rate limit is global","type":[[["boolean"]]],"meta":{"line":45,"file":"RateLimitError.js","path":"src/rest"}},{"name":"limit","description":"The maximum amount of requests of this endpoint","type":[[["number"]]],"meta":{"line":51,"file":"RateLimitError.js","path":"src/rest"}}],"meta":{"line":7,"file":"RateLimitError.js","path":"src/rest"}},{"name":"Shard","description":"A self-contained shard created by the {@link ShardingManager}. Each one has a {@link ChildProcess} that contains\nan instance of the bot and its {@link Client}. When its child process/worker exits for any reason, the shard will\nspawn a new one to replace it as necessary.","extends":[[["EventEmitter"]]],"props":[{"name":"manager","description":"Manager that created the shard","type":[[["ShardingManager"]]],"meta":{"line":30,"file":"Shard.js","path":"src/sharding"}},{"name":"id","description":"The shard's id in the manager","type":[[["number"]]],"meta":{"line":36,"file":"Shard.js","path":"src/sharding"}},{"name":"args","description":"Arguments for the shard's process (only when {@link ShardingManager#mode} is `process`)","type":[[["Array","<"],["string",">"]]],"meta":{"line":42,"file":"Shard.js","path":"src/sharding"}},{"name":"execArgv","description":"Arguments for the shard's process executable (only when {@link ShardingManager#mode} is `process`)","type":[[["Array","<"],["string",">"]]],"meta":{"line":48,"file":"Shard.js","path":"src/sharding"}},{"name":"env","description":"Environment variables for the shard's process, or workerData for the shard's worker","type":[[["Object"]]],"meta":{"line":54,"file":"Shard.js","path":"src/sharding"}},{"name":"ready","description":"Whether the shard's {@link Client} is ready","type":[[["boolean"]]],"meta":{"line":65,"file":"Shard.js","path":"src/sharding"}},{"name":"process","description":"Process of the shard (if {@link ShardingManager#mode} is `process`)","nullable":true,"type":[[["ChildProcess"]]],"meta":{"line":71,"file":"Shard.js","path":"src/sharding"}},{"name":"worker","description":"Worker of the shard (if {@link ShardingManager#mode} is `worker`)","nullable":true,"type":[[["Worker"]]],"meta":{"line":77,"file":"Shard.js","path":"src/sharding"}},{"name":"_evals","description":"Ongoing promises for calls to {@link Shard#eval}, mapped by the `script` they were called with","access":"private","type":[[["Map","<"],["string",", "],["Promise",">"]]],"meta":{"line":84,"file":"Shard.js","path":"src/sharding"}},{"name":"_fetches","description":"Ongoing promises for calls to {@link Shard#fetchClientValue}, mapped by the `prop` they were called with","access":"private","type":[[["Map","<"],["string",", "],["Promise",">"]]],"meta":{"line":91,"file":"Shard.js","path":"src/sharding"}},{"name":"_exitListener","description":"Listener function for the {@link ChildProcess}' `exit` event","access":"private","type":[[["function"]]],"meta":{"line":98,"file":"Shard.js","path":"src/sharding"}}],"methods":[{"name":"spawn","description":"Forks a child process or creates a worker thread for the shard.\nYou should not need to call this manually.","params":[{"name":"timeout","description":"The amount in milliseconds to wait until the {@link Client} has become ready\nbefore resolving (`-1` or `Infinity` for no wait)","optional":true,"default":30000,"type":[[["number"]]]}],"returns":[[["Promise","<"],["ChildProcess",">"]]],"meta":{"line":108,"file":"Shard.js","path":"src/sharding"}},{"name":"kill","description":"Immediately kills the shard's process/worker and does not restart it.","meta":{"line":179,"file":"Shard.js","path":"src/sharding"}},{"name":"respawn","description":"Kills and restarts the shard's process/worker.","params":[{"name":"options","description":"Options for respawning the shard","optional":true,"type":[[["ShardRespawnOptions"]]]}],"async":true,"returns":[[["Promise","<"],["ChildProcess",">"]]],"meta":{"line":205,"file":"Shard.js","path":"src/sharding"}},{"name":"send","description":"Sends a message to the shard's process/worker.","params":[{"name":"message","description":"Message to send to the shard","type":[["*"]]}],"returns":[[["Promise","<"],["Shard",">"]]],"meta":{"line":216,"file":"Shard.js","path":"src/sharding"}},{"name":"fetchClientValue","description":"Fetches a client property value of the shard.","examples":["shard.fetchClientValue('guilds.cache.size')\n .then(count => console.log(`${count} guilds in shard ${shard.id}`))\n .catch(console.error);"],"params":[{"name":"prop","description":"Name of the client property to get, using periods for nesting","type":[[["string"]]]}],"returns":[[["Promise","<"],["*",">"]]],"meta":{"line":239,"file":"Shard.js","path":"src/sharding"}},{"name":"eval","description":"Evaluates a script or function on the shard, in the context of the {@link Client}.","params":[{"name":"script","description":"JavaScript to run on the shard","type":[[["string"]],[["function"]]]},{"name":"context","description":"The context for the eval","optional":true,"type":[["*"]]}],"returns":{"types":[[["Promise","<"],["*",">"]]],"description":"Result of the script execution"},"meta":{"line":279,"file":"Shard.js","path":"src/sharding"}},{"name":"_handleMessage","description":"Handles a message received from the child process/worker.","access":"private","params":[{"name":"message","description":"Message received","type":[["*"]]}],"meta":{"line":321,"file":"Shard.js","path":"src/sharding"}},{"name":"_handleExit","description":"Handles the shard's process/worker exiting.","access":"private","params":[{"name":"respawn","description":"Whether to spawn the shard again","optional":true,"default":"this.manager.respawn","type":[[["boolean"]]]},{"name":"timeout","description":"The amount in milliseconds to wait until the {@link Client}\nhas become ready (`-1` or `Infinity` for no wait)","optional":true,"type":[[["number"]]]}],"meta":{"line":401,"file":"Shard.js","path":"src/sharding"}},{"name":"incrementMaxListeners","description":"Increments max listeners by one for a given emitter, if they are not zero.","access":"private","params":[{"name":"emitter","description":"The emitter that emits the events.","type":[[["EventEmitter"]],[["process"]]]}],"meta":{"line":423,"file":"Shard.js","path":"src/sharding"}},{"name":"decrementMaxListeners","description":"Decrements max listeners by one for a given emitter, if they are not zero.","access":"private","params":[{"name":"emitter","description":"The emitter that emits the events.","type":[[["EventEmitter"]],[["process"]]]}],"meta":{"line":435,"file":"Shard.js","path":"src/sharding"}}],"events":[{"name":"spawn","description":"Emitted upon the creation of the shard's child process/worker.","params":[{"name":"process","description":"Child process/worker that was created","type":[[["ChildProcess"]],[["Worker"]]]}],"meta":{"line":133,"file":"Shard.js","path":"src/sharding"}},{"name":"ready","description":"Emitted upon the shard's {@link Client#event:shardReady} event.","meta":{"line":326,"file":"Shard.js","path":"src/sharding"}},{"name":"disconnect","description":"Emitted upon the shard's {@link Client#event:shardDisconnect} event.","meta":{"line":337,"file":"Shard.js","path":"src/sharding"}},{"name":"reconnecting","description":"Emitted upon the shard's {@link Client#event:shardReconnecting} event.","meta":{"line":348,"file":"Shard.js","path":"src/sharding"}},{"name":"message","description":"Emitted upon receiving a message from the child process/worker.","params":[{"name":"message","description":"Message that was received","type":[["*"]]}],"meta":{"line":386,"file":"Shard.js","path":"src/sharding"}},{"name":"death","description":"Emitted upon the shard's child process/worker exiting.","params":[{"name":"process","description":"Child process/worker that exited","type":[[["ChildProcess"]],[["Worker"]]]}],"meta":{"line":402,"file":"Shard.js","path":"src/sharding"}}],"meta":{"line":19,"file":"Shard.js","path":"src/sharding"}},{"name":"ShardClientUtil","description":"Helper class for sharded clients spawned as a child process/worker, such as from a {@link ShardingManager}.\nUtilises IPC to send and receive data to/from the master process and other shards.","props":[{"name":"client","description":"Client for the shard","type":[[["Client"]]],"meta":{"line":18,"file":"ShardClientUtil.js","path":"src/sharding"}},{"name":"mode","description":"Mode the shard was spawned with","type":[[["ShardingManagerMode"]]],"meta":{"line":24,"file":"ShardClientUtil.js","path":"src/sharding"}},{"name":"parentPort","description":"Message port for the master process (only when {@link ShardClientUtil#mode} is `worker`)","nullable":true,"type":[[["MessagePort"]]],"meta":{"line":30,"file":"ShardClientUtil.js","path":"src/sharding"}},{"name":"ids","description":"Array of shard ids of this client","readonly":true,"type":[[["Array","<"],["number",">"]]],"meta":{"line":63,"file":"ShardClientUtil.js","path":"src/sharding"}},{"name":"count","description":"Total number of shards","readonly":true,"type":[[["number"]]],"meta":{"line":72,"file":"ShardClientUtil.js","path":"src/sharding"}}],"methods":[{"name":"send","description":"Sends a message to the master process.","emits":["Shard#event:message"],"params":[{"name":"message","description":"Message to send","type":[["*"]]}],"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":82,"file":"ShardClientUtil.js","path":"src/sharding"}},{"name":"fetchClientValues","description":"Fetches a client property value of each shard, or a given shard.","see":["{@link ShardingManager#fetchClientValues}"],"examples":["client.shard.fetchClientValues('guilds.cache.size')\n .then(results => console.log(`${results.reduce((prev, val) => prev + val, 0)} total guilds`))\n .catch(console.error);"],"params":[{"name":"prop","description":"Name of the client property to get, using periods for nesting","type":[[["string"]]]},{"name":"shard","description":"Shard to fetch property from, all if undefined","optional":true,"type":[[["number"]]]}],"returns":[[["Promise","<("],["*","|"],["Array","<"],["*",">)>"]]],"meta":{"line":107,"file":"ShardClientUtil.js","path":"src/sharding"}},{"name":"broadcastEval","description":"Evaluates a script or function on all shards, or a given shard, in the context of the {@link Client}s.","see":["{@link ShardingManager#broadcastEval}"],"examples":["client.shard.broadcastEval(client => client.guilds.cache.size)\n .then(results => console.log(`${results.reduce((prev, val) => prev + val, 0)} total guilds`))\n .catch(console.error);"],"params":[{"name":"script","description":"JavaScript to run on each shard","type":[[["function"]]]},{"name":"options","description":"The options for the broadcast","optional":true,"default":"{}","type":[[["BroadcastEvalOptions"]]]}],"returns":{"types":[[["Promise","<("],["*","|"],["Array","<"],["*",">)>"]]],"description":"Results of the script execution"},"meta":{"line":140,"file":"ShardClientUtil.js","path":"src/sharding"}},{"name":"respawnAll","description":"Requests a respawn of all shards.","see":["{@link ShardingManager#respawnAll}"],"params":[{"name":"options","description":"Options for respawning shards","optional":true,"type":[[["MultipleShardRespawnOptions"]]]}],"returns":{"types":[[["Promise","<"],["void",">"]]],"description":"Resolves upon the message being sent"},"meta":{"line":172,"file":"ShardClientUtil.js","path":"src/sharding"}},{"name":"_handleMessage","description":"Handles an IPC message.","access":"private","params":[{"name":"message","description":"Message received","type":[["*"]]}],"async":true,"meta":{"line":181,"file":"ShardClientUtil.js","path":"src/sharding"}},{"name":"_respond","description":"Sends a message to the master process, emitting an error from the client upon failure.","access":"private","params":[{"name":"type","description":"Type of response to send","type":[[["string"]]]},{"name":"message","description":"Message to send","type":[["*"]]}],"meta":{"line":207,"file":"ShardClientUtil.js","path":"src/sharding"}},{"name":"incrementMaxListeners","description":"Increments max listeners by one for a given emitter, if they are not zero.","access":"private","params":[{"name":"emitter","description":"The emitter that emits the events.","type":[[["EventEmitter"]],[["process"]]]}],"meta":{"line":255,"file":"ShardClientUtil.js","path":"src/sharding"}},{"name":"decrementMaxListeners","description":"Decrements max listeners by one for a given emitter, if they are not zero.","access":"private","params":[{"name":"emitter","description":"The emitter that emits the events.","type":[[["EventEmitter"]],[["process"]]]}],"meta":{"line":267,"file":"ShardClientUtil.js","path":"src/sharding"}},{"name":"singleton","description":"Creates/gets the singleton of this class.","scope":"static","params":[{"name":"client","description":"The client to use","type":[[["Client"]]]},{"name":"mode","description":"Mode the shard was spawned with","type":[[["ShardingManagerMode"]]]}],"returns":[[["ShardClientUtil"]]],"meta":{"line":226,"file":"ShardClientUtil.js","path":"src/sharding"}},{"name":"shardIdForGuildId","description":"Get the shard id for a given guild id.","scope":"static","params":[{"name":"guildId","description":"Snowflake guild id to get shard id for","type":[[["Snowflake"]]]},{"name":"shardCount","description":"Number of shards","type":[[["number"]]]}],"returns":[[["number"]]],"meta":{"line":244,"file":"ShardClientUtil.js","path":"src/sharding"}}],"meta":{"line":12,"file":"ShardClientUtil.js","path":"src/sharding"}},{"name":"ShardingManager","description":"This is a utility class that makes multi-process sharding of a bot an easy and painless experience.\nIt works by spawning a self-contained {@link ChildProcess} or {@link Worker} for each individual shard, each\ncontaining its own instance of your bot's {@link Client}. They all have a line of communication with the master\nprocess, and there are several useful methods that utilise it in order to simplify tasks that are normally difficult\nwith sharding. It can spawn a specific number of shards or the amount that Discord suggests for the bot, and takes a\npath to your main bot script to launch for each one.","extends":[[["EventEmitter"]]],"construct":{"name":"ShardingManager","params":[{"name":"file","description":"Path to your shard script file","type":[[["string"]]]},{"name":"options","description":"Options for the sharding manager","optional":true,"type":[[["ShardingManagerOptions"]]]}]},"props":[{"name":"file","description":"Path to the shard script file","type":[[["string"]]],"meta":{"line":66,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"shardList","description":"List of shards this sharding manager spawns","type":[[["string"]],[["Array","<"],["number",">"]]],"meta":{"line":76,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"totalShards","description":"Amount of shards that all sharding managers spawn in total","type":[[["number"]]],"meta":{"line":96,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"mode","description":"Mode for shards to spawn with","type":[[["ShardingManagerMode"]]],"meta":{"line":111,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"respawn","description":"Whether shards should automatically respawn upon exiting","type":[[["boolean"]]],"meta":{"line":120,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"shardArgs","description":"An array of arguments to pass to shards (only when {@link ShardingManager#mode} is `process`)","type":[[["Array","<"],["string",">"]]],"meta":{"line":126,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"execArgv","description":"An array of arguments to pass to the executable (only when {@link ShardingManager#mode} is `process`)","type":[[["Array","<"],["string",">"]]],"meta":{"line":132,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"token","description":"Token to use for obtaining the automatic shard count, and passing to shards","nullable":true,"type":[[["string"]]],"meta":{"line":138,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"shards","description":"A collection of shards that this manager has spawned","type":[[["Collection","<"],["number",", "],["Shard",">"]]],"meta":{"line":144,"file":"ShardingManager.js","path":"src/sharding"}}],"methods":[{"name":"createShard","description":"Creates a single shard.\nUsing this method is usually not necessary if you use the spawn method.","params":[{"name":"id","description":"Id of the shard to create\nThis is usually not necessary to manually specify.","optional":true,"default":"this.shards.size","type":[[["number"]]]}],"returns":{"types":[[["Shard"]]],"description":"Note that the created shard needs to be explicitly spawned using its spawn method."},"meta":{"line":158,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"spawn","description":"Spawns multiple shards.","params":[{"name":"options","description":"Options for spawning shards","optional":true,"type":[[["MultipleShardSpawnOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Collection","<"],["number",", "],["Shard",">>"]]],"meta":{"line":183,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"broadcast","description":"Sends a message to all shards.","params":[{"name":"message","description":"Message to be sent to the shards","type":[["*"]]}],"returns":[[["Promise","<"],["Array","<"],["Shard",">>"]]],"meta":{"line":231,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"broadcastEval","description":"Evaluates a script on all shards, or a given shard, in the context of the {@link Client}s.","params":[{"name":"script","description":"JavaScript to run on each shard","type":[[["function"]]]},{"name":"options","description":"The options for the broadcast","optional":true,"default":"{}","type":[[["BroadcastEvalOptions"]]]}],"returns":{"types":[[["Promise","<("],["*","|"],["Array","<"],["*",">)>"]]],"description":"Results of the script execution"},"meta":{"line":250,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"fetchClientValues","description":"Fetches a client property value of each shard, or a given shard.","examples":["manager.fetchClientValues('guilds.cache.size')\n .then(results => console.log(`${results.reduce((prev, val) => prev + val, 0)} total guilds`))\n .catch(console.error);"],"params":[{"name":"prop","description":"Name of the client property to get, using periods for nesting","type":[[["string"]]]},{"name":"shard","description":"Shard to fetch property from, all if undefined","optional":true,"type":[[["number"]]]}],"returns":[[["Promise","<("],["*","|"],["Array","<"],["*",">)>"]]],"meta":{"line":265,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"_performOnShards","description":"Runs a method with given arguments on all shards, or a given shard.","access":"private","params":[{"name":"method","description":"Method name to run on each shard","type":[[["string"]]]},{"name":"args","description":"Arguments to pass through to the method call","type":[[["Array","<"],["*",">"]]]},{"name":"shard","description":"Shard to run on, all if undefined","optional":true,"type":[[["number"]]]}],"returns":{"types":[[["Promise","<("],["*","|"],["Array","<"],["*",">)>"]]],"description":"Results of the method execution"},"meta":{"line":277,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"respawnAll","description":"Kills all running shards and respawns them.","params":[{"name":"options","description":"Options for respawning shards","optional":true,"type":[[["MultipleShardRespawnOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Collection","<"],["number",", "],["Shard",">>"]]],"meta":{"line":307,"file":"ShardingManager.js","path":"src/sharding"}}],"events":[{"name":"shardCreate","description":"Emitted upon creating a shard.","params":[{"name":"shard","description":"Shard that was created","type":[[["Shard"]]]}],"meta":{"line":161,"file":"ShardingManager.js","path":"src/sharding"}}],"meta":{"line":22,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"AnonymousGuild","description":"Bundles common attributes and methods between {@link Guild} and {@link InviteGuild}","extends":[[["BaseGuild"]]],"abstract":true,"props":[{"name":"splash","description":"The hash of the guild invite splash image","nullable":true,"type":[[["string"]]],"meta":{"line":25,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"banner","description":"The hash of the guild banner","nullable":true,"type":[[["string"]]],"meta":{"line":33,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"description","description":"The description of the guild, if any","nullable":true,"type":[[["string"]]],"meta":{"line":41,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"verificationLevel","description":"The verification level of the guild","type":[[["VerificationLevel"]]],"meta":{"line":49,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"vanityURLCode","description":"The vanity invite code of the guild, if any","nullable":true,"type":[[["string"]]],"meta":{"line":57,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"nsfwLevel","description":"The NSFW level of this guild","type":[[["NSFWLevel"]]],"meta":{"line":65,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"premiumSubscriptionCount","description":"The total number of boosts for this server","nullable":true,"type":[[["number"]]],"meta":{"line":73,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"id","description":"The guild's id","type":[[["Snowflake"]]],"meta":{"line":19,"file":"BaseGuild.js","path":"src/structures"}},{"name":"name","description":"The name of this guild","type":[[["string"]]],"meta":{"line":25,"file":"BaseGuild.js","path":"src/structures"}},{"name":"icon","description":"The icon hash of this guild","nullable":true,"type":[[["string"]]],"meta":{"line":31,"file":"BaseGuild.js","path":"src/structures"}},{"name":"features","description":"An array of features available to this guild","type":[[["Array","<"],["Features",">"]]],"meta":{"line":37,"file":"BaseGuild.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp this guild was created at","readonly":true,"type":[[["number"]]],"meta":{"line":45,"file":"BaseGuild.js","path":"src/structures"}},{"name":"createdAt","description":"The time this guild was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":54,"file":"BaseGuild.js","path":"src/structures"}},{"name":"nameAcronym","description":"The acronym that shows up in place of a guild icon","readonly":true,"type":[[["string"]]],"meta":{"line":63,"file":"BaseGuild.js","path":"src/structures"}},{"name":"partnered","description":"Whether this guild is partnered","readonly":true,"type":[[["boolean"]]],"meta":{"line":75,"file":"BaseGuild.js","path":"src/structures"}},{"name":"verified","description":"Whether this guild is verified","readonly":true,"type":[[["boolean"]]],"meta":{"line":84,"file":"BaseGuild.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"bannerURL","description":"The URL to this guild's banner.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":84,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"splashURL","description":"The URL to this guild's invite splash image.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":93,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"iconURL","description":"The URL to this guild's icon.","inherits":"BaseGuild#iconURL","inherited":true,"params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["ImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":93,"file":"BaseGuild.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this guild.","inherits":"BaseGuild#fetch","inherited":true,"async":true,"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":102,"file":"BaseGuild.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the guild's name instead of the Guild object.","inherits":"BaseGuild#toString","inherited":true,"returns":[[["string"]]],"meta":{"line":111,"file":"BaseGuild.js","path":"src/structures"}}],"meta":{"line":11,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"ApplicationCommand","description":"Represents an application command.","extends":[[["Base"]]],"props":[{"name":"id","description":"The command's id","type":[[["Snowflake"]]],"meta":{"line":21,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"applicationId","description":"The parent application's id","type":[[["Snowflake"]]],"meta":{"line":27,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"guild","description":"The guild this command is part of","nullable":true,"type":[[["Guild"]]],"meta":{"line":33,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"guildId","description":"The guild's id this command is part of, this may be non-null when `guild` is `null` if the command\nwas fetched from the `ApplicationCommandManager`","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":40,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"permissions","description":"The manager for permissions of this command on its guild or arbitrary guilds when the command is global","type":[[["ApplicationCommandPermissionsManager"]]],"meta":{"line":46,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"type","description":"The type of this application command","type":[[["ApplicationCommandType"]]],"meta":{"line":52,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"name","description":"The name of this command","type":[[["string"]]],"meta":{"line":63,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"nameLocalizations","description":"The name localizations for this command","nullable":true,"type":[[["Object","<"],["Locale",", "],["string",">"]]],"meta":{"line":71,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"nameLocalized","description":"The localized name for this command","nullable":true,"type":[[["string"]]],"meta":{"line":81,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"description","description":"The description of this command","type":[[["string"]]],"meta":{"line":91,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"descriptionLocalizations","description":"The description localizations for this command","nullable":true,"type":[[["Object","<"],["Locale",", "],["string",">"]]],"meta":{"line":99,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"descriptionLocalized","description":"The localized description for this command","nullable":true,"type":[[["string"]]],"meta":{"line":109,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"options","description":"The options of this command","type":[[["Array","<"],["ApplicationCommandOption",">"]]],"meta":{"line":119,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"defaultPermission","description":"Whether the command is enabled by default when the app is added to a guild","deprecated":"Use {@link ApplicationCommand.defaultMemberPermissions} and {@link ApplicationCommand.dmPermission} instead.","type":[[["boolean"]]],"meta":{"line":131,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"defaultMemberPermissions","description":"The default bitfield used to determine whether this command be used in a guild","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":140,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"dmPermission","description":"Whether the command can be used in DMs\nThis property is always `null` on guild commands","nullable":true,"type":[[["boolean"]]],"meta":{"line":153,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"version","description":"Autoincrementing version identifier updated during substantial record changes","type":[[["Snowflake"]]],"meta":{"line":163,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the command was created at","readonly":true,"type":[[["number"]]],"meta":{"line":172,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"createdAt","description":"The time the command was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":181,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"manager","description":"The manager that this command belongs to","readonly":true,"type":[[["ApplicationCommandManager"]]],"meta":{"line":190,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"edit","description":"Edits this application command.","examples":["// Edit the description of this command\ncommand.edit({\n description: 'New description',\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"data","description":"The data to update the command with","type":[[["Partial","<"],["ApplicationCommandData",">"]]]}],"returns":[[["Promise","<"],["ApplicationCommand",">"]]],"meta":{"line":254,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"setName","description":"Edits the name of this ApplicationCommand","params":[{"name":"name","description":"The new name of the command","type":[[["string"]]]}],"returns":[[["Promise","<"],["ApplicationCommand",">"]]],"meta":{"line":263,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"setNameLocalizations","description":"Edits the localized names of this ApplicationCommand","examples":["// Edit the name localizations of this command\ncommand.setLocalizedNames({\n 'en-GB': 'test',\n 'pt-BR': 'teste',\n})\n .then(console.log)\n .catch(console.error)"],"params":[{"name":"nameLocalizations","description":"The new localized names for the command","type":[[["Object","<"],["Locale",", "],["string",">"]]]}],"returns":[[["Promise","<"],["ApplicationCommand",">"]]],"meta":{"line":280,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"setDescription","description":"Edits the description of this ApplicationCommand","params":[{"name":"description","description":"The new description of the command","type":[[["string"]]]}],"returns":[[["Promise","<"],["ApplicationCommand",">"]]],"meta":{"line":289,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"setDescriptionLocalizations","description":"Edits the localized descriptions of this ApplicationCommand","examples":["// Edit the description localizations of this command\ncommand.setLocalizedDescriptions({\n 'en-GB': 'A test command',\n 'pt-BR': 'Um comando de teste',\n})\n .then(console.log)\n .catch(console.error)"],"params":[{"name":"descriptionLocalizations","description":"The new localized descriptions for the command","type":[[["Object","<"],["Locale",", "],["string",">"]]]}],"returns":[[["Promise","<"],["ApplicationCommand",">"]]],"meta":{"line":306,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"setDefaultPermission","description":"Edits the default permission of this ApplicationCommand","deprecated":"Use {@link ApplicationCommand#setDefaultMemberPermissions} and {@link ApplicationCommand#setDMPermission} instead.","params":[{"name":"defaultPermission","description":"The default permission for this command","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["ApplicationCommand",">"]]],"meta":{"line":317,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"setDefaultMemberPermissions","description":"Edits the default member permissions of this ApplicationCommand","params":[{"name":"defaultMemberPermissions","description":"The default member permissions required to run this command","nullable":true,"type":[[["PermissionResolvable"]]]}],"returns":[[["Promise","<"],["ApplicationCommand",">"]]],"meta":{"line":327,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"setDMPermission","description":"Edits the DM permission of this ApplicationCommand","params":[{"name":"dmPermission","description":"Whether the command can be used in DMs","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["ApplicationCommand",">"]]],"meta":{"line":336,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"setOptions","description":"Edits the options of this ApplicationCommand","params":[{"name":"options","description":"The options to set for this command","type":[[["Array","<"],["ApplicationCommandOptionData",">"]]]}],"returns":[[["Promise","<"],["ApplicationCommand",">"]]],"meta":{"line":345,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"delete","description":"Deletes this command.","examples":["// Delete this command\ncommand.delete()\n .then(console.log)\n .catch(console.error);"],"returns":[[["Promise","<"],["ApplicationCommand",">"]]],"meta":{"line":358,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"equals","description":"Whether this command equals another command. It compares all properties, so for most operations\nit is advisable to just compare `command.id === command2.id` as it is much faster and is often\nwhat most users need.","params":[{"name":"command","description":"The command to compare with","type":[[["ApplicationCommand"]],[["ApplicationCommandData"]],[["APIApplicationCommand"]]]},{"name":"enforceOptionOrder","description":"Whether to strictly check that options and choices are in the same\norder in the array The client may not always respect this ordering!","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":[[["boolean"]]],"meta":{"line":371,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"optionsEqual","description":"Recursively checks that all options for an {@link ApplicationCommand} are equal to the provided options.\nIn most cases it is better to compare using {@link ApplicationCommand#equals}","scope":"static","params":[{"name":"existing","description":"The options on the existing command,\nshould be {@link ApplicationCommand#options}","type":[[["Array","<"],["ApplicationCommandOptionData",">"]]]},{"name":"options","description":"The options to compare against","type":[[["Array","<"],["ApplicationCommandOptionData",">"]],[["Array","<"],["APIApplicationCommandOption",">"]]]},{"name":"enforceOptionOrder","description":"Whether to strictly check that options and choices are in the same\norder in the array The client may not always respect this ordering!","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":[[["boolean"]]],"meta":{"line":423,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"_optionEquals","description":"Checks that an option for an {@link ApplicationCommand} is equal to the provided option\nIn most cases it is better to compare using {@link ApplicationCommand#equals}","scope":"static","access":"private","params":[{"name":"existing","description":"The option on the existing command,\nshould be from {@link ApplicationCommand#options}","type":[[["ApplicationCommandOptionData"]]]},{"name":"option","description":"The option to compare against","type":[[["ApplicationCommandOptionData"]],[["APIApplicationCommandOption"]]]},{"name":"enforceOptionOrder","description":"Whether to strictly check that options or choices are in the same\norder in their array The client may not always respect this ordering!","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":[[["boolean"]]],"meta":{"line":447,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"transformOption","description":"Transforms an {@link ApplicationCommandOptionData} object into something that can be used with the API.","scope":"static","access":"private","params":[{"name":"option","description":"The option to transform","type":[[["ApplicationCommandOptionData"]],[["ApplicationCommandOption"]]]},{"name":"received","description":"Whether this option has been received from Discord","optional":true,"type":[[["boolean"]]]}],"returns":[[["APIApplicationCommandOption"]]],"meta":{"line":540,"file":"ApplicationCommand.js","path":"src/structures"}}],"meta":{"line":13,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"ApplicationRoleConnectionMetadata","description":"Role connection metadata object for an application.","props":[{"name":"name","description":"The name of this metadata field","type":[[["string"]]],"meta":{"line":14,"file":"ApplicationRoleConnectionMetadata.js","path":"src/structures"}},{"name":"nameLocalizations","description":"The name localizations for this metadata field","nullable":true,"type":[[["Object","<"],["Locale",", "],["string",">"]]],"meta":{"line":20,"file":"ApplicationRoleConnectionMetadata.js","path":"src/structures"}},{"name":"description","description":"The description of this metadata field","type":[[["string"]]],"meta":{"line":26,"file":"ApplicationRoleConnectionMetadata.js","path":"src/structures"}},{"name":"descriptionLocalizations","description":"The description localizations for this metadata field","nullable":true,"type":[[["Object","<"],["Locale",", "],["string",">"]]],"meta":{"line":32,"file":"ApplicationRoleConnectionMetadata.js","path":"src/structures"}},{"name":"key","description":"The dictionary key for this metadata field","type":[[["string"]]],"meta":{"line":38,"file":"ApplicationRoleConnectionMetadata.js","path":"src/structures"}},{"name":"type","description":"The type of this metadata field","type":[[["ApplicationRoleConnectionMetadataType"]]],"meta":{"line":44,"file":"ApplicationRoleConnectionMetadata.js","path":"src/structures"}}],"meta":{"line":8,"file":"ApplicationRoleConnectionMetadata.js","path":"src/structures"}},{"name":"AutocompleteInteraction","description":"Represents an autocomplete interaction.","extends":[[["Interaction"]]],"props":[{"name":"channelId","description":"The id of the channel this interaction was sent in","type":[[["Snowflake"]]],"meta":{"line":16,"file":"AutocompleteInteraction.js","path":"src/structures"}},{"name":"commandId","description":"The invoked application command's id","type":[[["Snowflake"]]],"meta":{"line":26,"file":"AutocompleteInteraction.js","path":"src/structures"}},{"name":"commandName","description":"The invoked application command's name","type":[[["string"]]],"meta":{"line":32,"file":"AutocompleteInteraction.js","path":"src/structures"}},{"name":"responded","description":"Whether this interaction has already received a response","type":[[["boolean"]]],"meta":{"line":38,"file":"AutocompleteInteraction.js","path":"src/structures"}},{"name":"options","description":"The options passed to the command","type":[[["CommandInteractionOptionResolver"]]],"meta":{"line":44,"file":"AutocompleteInteraction.js","path":"src/structures"}},{"name":"command","description":"The invoked application command, if it was fetched before","nullable":true,"type":[[["ApplicationCommand"]]],"meta":{"line":54,"file":"AutocompleteInteraction.js","path":"src/structures"}},{"name":"type","description":"The interaction's type","type":[[["InteractionType"]]],"meta":{"line":20,"file":"Interaction.js","path":"src/structures"}},{"name":"id","description":"The interaction's id","type":[[["Snowflake"]]],"meta":{"line":26,"file":"Interaction.js","path":"src/structures"}},{"name":"token","description":"The interaction's token","readonly":true,"type":[[["string"]]],"meta":{"line":28,"file":"Interaction.js","path":"src/structures"}},{"name":"applicationId","description":"The application's id","type":[[["Snowflake"]]],"meta":{"line":40,"file":"Interaction.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild this interaction was sent in","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":52,"file":"Interaction.js","path":"src/structures"}},{"name":"user","description":"The user which sent this interaction","type":[[["User"]]],"meta":{"line":58,"file":"Interaction.js","path":"src/structures"}},{"name":"member","description":"If this interaction was sent in a guild, the member which sent it","nullable":true,"type":[[["GuildMember"]],[["APIGuildMember"]]],"meta":{"line":64,"file":"Interaction.js","path":"src/structures"}},{"name":"version","description":"The version","type":[[["number"]]],"meta":{"line":70,"file":"Interaction.js","path":"src/structures"}},{"name":"appPermissions","description":"Set of permissions the application or bot has within the channel the interaction was sent from","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":76,"file":"Interaction.js","path":"src/structures"}},{"name":"memberPermissions","description":"The permissions of the member, if one exists, in the channel this interaction was executed in","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":82,"file":"Interaction.js","path":"src/structures"}},{"name":"locale","description":"The locale of the user who invoked this interaction","type":[[["Locale"]]],"meta":{"line":124,"file":"Interaction.js","path":"src/structures"}},{"name":"guildLocale","description":"The preferred locale from the guild this interaction was sent in","nullable":true,"type":[[["Locale"]]],"meta":{"line":130,"file":"Interaction.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the interaction was created at","readonly":true,"type":[[["number"]]],"meta":{"line":138,"file":"Interaction.js","path":"src/structures"}},{"name":"createdAt","description":"The time the interaction was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":147,"file":"Interaction.js","path":"src/structures"}},{"name":"channel","description":"The channel this interaction was sent in","readonly":true,"nullable":true,"type":[[["TextBasedChannels"]]],"meta":{"line":156,"file":"Interaction.js","path":"src/structures"}},{"name":"guild","description":"The guild this interaction was sent in","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":165,"file":"Interaction.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"transformOption","description":"Transforms an option received from the API.","access":"private","params":[{"name":"option","description":"The received option","type":[[["APIApplicationCommandOption"]]]}],"returns":[[["CommandInteractionOption"]]],"meta":{"line":65,"file":"AutocompleteInteraction.js","path":"src/structures"}},{"name":"respond","description":"Sends results for the autocomplete of this interaction.","examples":["// respond to autocomplete interaction\ninteraction.respond([\n {\n name: 'Option 1',\n value: 'option1',\n },\n])\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the autocomplete","type":[[["Array","<"],["ApplicationCommandOptionChoiceData",">"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":93,"file":"AutocompleteInteraction.js","path":"src/structures"}},{"name":"inGuild","description":"Indicates whether this interaction is received from a guild.","inherits":"Interaction#inGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":173,"file":"Interaction.js","path":"src/structures"}},{"name":"inCachedGuild","description":"Indicates whether or not this interaction is both cached and received from a guild.","inherits":"Interaction#inCachedGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":181,"file":"Interaction.js","path":"src/structures"}},{"name":"inRawGuild","description":"Indicates whether or not this interaction is received from an uncached guild.","inherits":"Interaction#inRawGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":189,"file":"Interaction.js","path":"src/structures"}},{"name":"isApplicationCommand","description":"Indicates whether this interaction is a {@link BaseCommandInteraction}.","inherits":"Interaction#isApplicationCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":197,"file":"Interaction.js","path":"src/structures"}},{"name":"isCommand","description":"Indicates whether this interaction is a {@link CommandInteraction}.","inherits":"Interaction#isCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":205,"file":"Interaction.js","path":"src/structures"}},{"name":"isContextMenu","description":"Indicates whether this interaction is a {@link ContextMenuInteraction}","inherits":"Interaction#isContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":213,"file":"Interaction.js","path":"src/structures"}},{"name":"isModalSubmit","description":"Indicates whether this interaction is a {@link ModalSubmitInteraction}","inherits":"Interaction#isModalSubmit","inherited":true,"returns":[[["boolean"]]],"meta":{"line":221,"file":"Interaction.js","path":"src/structures"}},{"name":"isUserContextMenu","description":"Indicates whether this interaction is a {@link UserContextMenuInteraction}","inherits":"Interaction#isUserContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":229,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageContextMenu","description":"Indicates whether this interaction is a {@link MessageContextMenuInteraction}","inherits":"Interaction#isMessageContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":237,"file":"Interaction.js","path":"src/structures"}},{"name":"isAutocomplete","description":"Indicates whether this interaction is an {@link AutocompleteInteraction}","inherits":"Interaction#isAutocomplete","inherited":true,"returns":[[["boolean"]]],"meta":{"line":245,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageComponent","description":"Indicates whether this interaction is a {@link MessageComponentInteraction}.","inherits":"Interaction#isMessageComponent","inherited":true,"returns":[[["boolean"]]],"meta":{"line":253,"file":"Interaction.js","path":"src/structures"}},{"name":"isButton","description":"Indicates whether this interaction is a {@link ButtonInteraction}.","inherits":"Interaction#isButton","inherited":true,"returns":[[["boolean"]]],"meta":{"line":261,"file":"Interaction.js","path":"src/structures"}},{"name":"isSelectMenu","description":"Indicates whether this interaction is a {@link SelectMenuInteraction}.","inherits":"Interaction#isSelectMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":272,"file":"Interaction.js","path":"src/structures"}},{"name":"isRepliable","description":"Indicates whether this interaction can be replied to.","inherits":"Interaction#isRepliable","inherited":true,"returns":[[["boolean"]]],"meta":{"line":283,"file":"Interaction.js","path":"src/structures"}}],"meta":{"line":12,"file":"AutocompleteInteraction.js","path":"src/structures"}},{"name":"AutoModerationActionExecution","description":"Represents the structure of an executed action when an {@link AutoModerationRule} is triggered.","props":[{"name":"guild","description":"The guild where this action was executed from.","type":[[["Guild"]]],"meta":{"line":14,"file":"AutoModerationActionExecution.js","path":"src/structures"}},{"name":"action","description":"The action that was executed.","type":[[["AutoModerationAction"]]],"meta":{"line":20,"file":"AutoModerationActionExecution.js","path":"src/structures"}},{"name":"ruleId","description":"The id of the auto moderation rule this action belongs to.","type":[[["Snowflake"]]],"meta":{"line":26,"file":"AutoModerationActionExecution.js","path":"src/structures"}},{"name":"ruleTriggerType","description":"The trigger type of the auto moderation rule which was triggered.","type":[[["AutoModerationRuleTriggerType"]]],"meta":{"line":32,"file":"AutoModerationActionExecution.js","path":"src/structures"}},{"name":"userId","description":"The id of the user that triggered this action.","type":[[["Snowflake"]]],"meta":{"line":38,"file":"AutoModerationActionExecution.js","path":"src/structures"}},{"name":"channelId","description":"The id of the channel where this action was triggered from.","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":44,"file":"AutoModerationActionExecution.js","path":"src/structures"}},{"name":"messageId","description":"The id of the message that triggered this action.","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":51,"file":"AutoModerationActionExecution.js","path":"src/structures"}},{"name":"alertSystemMessageId","description":"The id of any system auto moderation messages posted as a result of this action.","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":57,"file":"AutoModerationActionExecution.js","path":"src/structures"}},{"name":"content","description":"The content that triggered this action.\nThis property requires the {@link Intents.FLAGS.MESSAGE_CONTENT} privileged gateway intent.","type":[[["string"]]],"meta":{"line":64,"file":"AutoModerationActionExecution.js","path":"src/structures"}},{"name":"matchedKeyword","description":"The word or phrase configured in the rule that triggered this action.","nullable":true,"type":[[["string"]]],"meta":{"line":70,"file":"AutoModerationActionExecution.js","path":"src/structures"}},{"name":"matchedContent","description":"The substring in content that triggered this action.","nullable":true,"type":[[["string"]]],"meta":{"line":76,"file":"AutoModerationActionExecution.js","path":"src/structures"}},{"name":"autoModerationRule","description":"The auto moderation rule this action belongs to.","readonly":true,"nullable":true,"type":[[["AutoModerationRule"]]],"meta":{"line":84,"file":"AutoModerationActionExecution.js","path":"src/structures"}}],"meta":{"line":8,"file":"AutoModerationActionExecution.js","path":"src/structures"}},{"name":"AutoModerationRule","description":"Represents an auto moderation rule.","extends":[[["Base"]]],"props":[{"name":"id","description":"The id of this auto moderation rule.","type":[[["Snowflake"]]],"meta":{"line":24,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"guild","description":"The guild this auto moderation rule is for.","type":[[["Guild"]]],"meta":{"line":30,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"creatorId","description":"The user that created this auto moderation rule.","type":[[["Snowflake"]]],"meta":{"line":36,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"triggerType","description":"The trigger type of this auto moderation rule.","type":[[["AutoModerationRuleTriggerType"]]],"meta":{"line":42,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"name","description":"The name of this auto moderation rule.","type":[[["string"]]],"meta":{"line":53,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"eventType","description":"The event type of this auto moderation rule.","type":[[["AutoModerationRuleEventType"]]],"meta":{"line":61,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"triggerMetadata","description":"The trigger metadata of the rule.","type":[[["AutoModerationTriggerMetadata"]]],"meta":{"line":83,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"actions","description":"The actions of this auto moderation rule.","type":[[["Array","<"],["AutoModerationAction",">"]]],"meta":{"line":113,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"enabled","description":"Whether this auto moderation rule is enabled.","type":[[["boolean"]]],"meta":{"line":128,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"exemptRoles","description":"The roles exempt by this auto moderation rule.","type":[[["Collection","<"],["Snowflake",", "],["Role",">"]]],"meta":{"line":136,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"exemptChannels","description":"The channels exempt by this auto moderation rule.","type":[[["Collection","<"],["Snowflake",", ("],["GuildChannel","|"],["ThreadChannel",")>"]]],"meta":{"line":146,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"edit","description":"Edits this auto moderation rule.","params":[{"name":"options","description":"Options for editing this auto moderation rule","type":[[["AutoModerationRuleEditOptions"]]]}],"returns":[[["Promise","<"],["AutoModerationRule",">"]]],"meta":{"line":157,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"delete","description":"Deletes this auto moderation rule.","params":[{"name":"reason","description":"The reason for deleting this auto moderation rule","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":166,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"setName","description":"Sets the name for this auto moderation rule.","params":[{"name":"name","description":"The name of this auto moderation rule","type":[[["string"]]]},{"name":"reason","description":"The reason for changing the name of this auto moderation rule","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["AutoModerationRule",">"]]],"meta":{"line":176,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"setEventType","description":"Sets the event type for this auto moderation rule.","params":[{"name":"eventType","description":"The event type of this auto moderation rule","type":[[["AutoModerationRuleEventType"]]]},{"name":"reason","description":"The reason for changing the event type of this auto moderation rule","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["AutoModerationRule",">"]]],"meta":{"line":186,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"setKeywordFilter","description":"Sets the keyword filter for this auto moderation rule.","params":[{"name":"keywordFilter","description":"The keyword filter of this auto moderation rule","type":[[["Array","<"],["string",">"]]]},{"name":"reason","description":"The reason for changing the keyword filter of this auto moderation rule","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["AutoModerationRule",">"]]],"meta":{"line":196,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"setRegexPatterns","description":"Sets the regular expression patterns for this auto moderation rule.","params":[{"name":"regexPatterns","description":"The regular expression patterns of this auto moderation rule\nOnly Rust-flavored regular expressions are supported.","type":[[["Array","<"],["string",">"]]]},{"name":"reason","description":"The reason for changing the regular expression patterns of this auto moderation rule","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["AutoModerationRule",">"]]],"meta":{"line":207,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"setPresets","description":"Sets the presets for this auto moderation rule.","params":[{"name":"presets","description":"The presets of this auto moderation rule","type":[[["Array","<"],["AutoModerationRuleKeywordPresetType",">"]]]},{"name":"reason","description":"The reason for changing the presets of this auto moderation rule","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["AutoModerationRule",">"]]],"meta":{"line":217,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"setAllowList","description":"Sets the allow list for this auto moderation rule.","params":[{"name":"allowList","description":"The allow list of this auto moderation rule","type":[[["Array","<"],["string",">"]]]},{"name":"reason","description":"The reason for changing the allow list of this auto moderation rule","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["AutoModerationRule",">"]]],"meta":{"line":227,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"setMentionTotalLimit","description":"Sets the mention total limit for this auto moderation rule.","params":[{"name":"mentionTotalLimit","description":"The mention total limit of this auto moderation rule","type":[[["number"]]]},{"name":"reason","description":"The reason for changing the mention total limit of this auto moderation rule","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["AutoModerationRule",">"]]],"meta":{"line":237,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"setMentionRaidProtectionEnabled","description":"Sets whether to enable mention raid protection for this auto moderation rule.","params":[{"name":"mentionRaidProtectionEnabled","description":"Whether to enable mention raid protection for this auto moderation rule","type":[[["boolean"]]]},{"name":"reason","description":"The reason for changing the mention raid protection of this auto moderation rule","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["AutoModerationRule",">"]]],"meta":{"line":248,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"setActions","description":"Sets the actions for this auto moderation rule.","params":[{"name":"actions","description":"The actions of this auto moderation rule","type":[[["Array","<"],["AutoModerationActionOptions",">"]]]},{"name":"reason","description":"The reason for changing the actions of this auto moderation rule","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["AutoModerationRule",">"]]],"meta":{"line":258,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"setEnabled","description":"Sets whether this auto moderation rule should be enabled.","params":[{"name":"enabled","description":"Whether to enable this auto moderation rule","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"The reason for enabling or disabling this auto moderation rule","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["AutoModerationRule",">"]]],"meta":{"line":268,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"setExemptRoles","description":"Sets the exempt roles for this auto moderation rule.","params":[{"name":"exemptRoles","description":"The exempt roles of this auto moderation rule","optional":true,"type":[[["Collection","<"],["Snowflake",", "],["Role",">"]],[["Array","<"],["RoleResolvable",">"]]]},{"name":"reason","description":"The reason for changing the exempt roles of this auto moderation rule","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["AutoModerationRule",">"]]],"meta":{"line":278,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"setExemptChannels","description":"Sets the exempt channels for this auto moderation rule.","params":[{"name":"exemptChannels","description":"The exempt channels of this auto moderation rule","optional":true,"type":[[["Collection","<"],["Snowflake",", ("],["GuildChannel","|"],["ThreadChannel",")>"]],[["Array","<"],["GuildChannelResolvable",">"]]]},{"name":"reason","description":"The reason for changing the exempt channels of this auto moderation rule","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["AutoModerationRule",">"]]],"meta":{"line":289,"file":"AutoModerationRule.js","path":"src/structures"}}],"meta":{"line":16,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"Base","description":"Represents a data model that is identifiable by a Snowflake (i.e. Discord API data models).","abstract":true,"props":[{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"meta":{"line":9,"file":"Base.js","path":"src/structures"}},{"name":"BaseCommandInteraction","description":"Represents a command interaction.","extends":[[["Interaction"]]],"implements":[[["InteractionResponses"]]],"abstract":true,"props":[{"name":"channelId","description":"The id of the channel this interaction was sent in","type":[[["Snowflake"]]],"meta":{"line":20,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"commandId","description":"The invoked application command's id","type":[[["Snowflake"]]],"meta":{"line":30,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"commandName","description":"The invoked application command's name","type":[[["string"]]],"meta":{"line":36,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"deferred","description":"Whether the reply to this interaction has been deferred","type":[[["boolean"]]],"meta":{"line":42,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"replied","description":"Whether this interaction has already been replied to","type":[[["boolean"]]],"meta":{"line":48,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"ephemeral","description":"Whether the reply to this interaction is ephemeral","nullable":true,"type":[[["boolean"]]],"meta":{"line":54,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"webhook","description":"An associated interaction webhook, can be used to further interact with this interaction","type":[[["InteractionWebhook"]]],"meta":{"line":60,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"command","description":"The invoked application command, if it was fetched before","nullable":true,"type":[[["ApplicationCommand"]]],"meta":{"line":67,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"type","description":"The interaction's type","type":[[["InteractionType"]]],"meta":{"line":20,"file":"Interaction.js","path":"src/structures"}},{"name":"id","description":"The interaction's id","type":[[["Snowflake"]]],"meta":{"line":26,"file":"Interaction.js","path":"src/structures"}},{"name":"token","description":"The interaction's token","readonly":true,"type":[[["string"]]],"meta":{"line":28,"file":"Interaction.js","path":"src/structures"}},{"name":"applicationId","description":"The application's id","type":[[["Snowflake"]]],"meta":{"line":40,"file":"Interaction.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild this interaction was sent in","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":52,"file":"Interaction.js","path":"src/structures"}},{"name":"user","description":"The user which sent this interaction","type":[[["User"]]],"meta":{"line":58,"file":"Interaction.js","path":"src/structures"}},{"name":"member","description":"If this interaction was sent in a guild, the member which sent it","nullable":true,"type":[[["GuildMember"]],[["APIGuildMember"]]],"meta":{"line":64,"file":"Interaction.js","path":"src/structures"}},{"name":"version","description":"The version","type":[[["number"]]],"meta":{"line":70,"file":"Interaction.js","path":"src/structures"}},{"name":"appPermissions","description":"Set of permissions the application or bot has within the channel the interaction was sent from","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":76,"file":"Interaction.js","path":"src/structures"}},{"name":"memberPermissions","description":"The permissions of the member, if one exists, in the channel this interaction was executed in","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":82,"file":"Interaction.js","path":"src/structures"}},{"name":"locale","description":"The locale of the user who invoked this interaction","type":[[["Locale"]]],"meta":{"line":124,"file":"Interaction.js","path":"src/structures"}},{"name":"guildLocale","description":"The preferred locale from the guild this interaction was sent in","nullable":true,"type":[[["Locale"]]],"meta":{"line":130,"file":"Interaction.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the interaction was created at","readonly":true,"type":[[["number"]]],"meta":{"line":138,"file":"Interaction.js","path":"src/structures"}},{"name":"createdAt","description":"The time the interaction was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":147,"file":"Interaction.js","path":"src/structures"}},{"name":"channel","description":"The channel this interaction was sent in","readonly":true,"nullable":true,"type":[[["TextBasedChannels"]]],"meta":{"line":156,"file":"Interaction.js","path":"src/structures"}},{"name":"guild","description":"The guild this interaction was sent in","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":165,"file":"Interaction.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"transformResolved","description":"Transforms the resolved received from the API.","access":"private","params":[{"name":"resolved","description":"The received resolved objects","type":[[["APIInteractionDataResolved"]]]}],"returns":[[["CommandInteractionResolvedData"]]],"meta":{"line":89,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"transformOption","description":"Transforms an option received from the API.","access":"private","params":[{"name":"option","description":"The received option","type":[[["APIApplicationCommandOption"]]]},{"name":"resolved","description":"The resolved interaction data","type":[[["APIInteractionDataResolved"]]]}],"returns":[[["CommandInteractionOption"]]],"meta":{"line":162,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"deferReply","description":"Defers the reply to this interaction.","implements":["InteractionResponses#deferReply"],"examples":["// Defer the reply to this interaction\ninteraction.deferReply()\n .then(console.log)\n .catch(console.error)","// Defer to send an ephemeral reply later\ninteraction.deferReply({ ephemeral: true })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for deferring the reply to this interaction","optional":true,"type":[[["InteractionDeferReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":58,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"reply","description":"Creates a reply to this interaction.\nUse the `fetchReply` option to get the bot's reply message.","implements":["InteractionResponses#reply"],"examples":["// Reply to the interaction and fetch the response\ninteraction.reply({ content: 'Pong!', fetchReply: true })\n .then((message) => console.log(`Reply sent with content ${message.content}`))\n .catch(console.error);","// Create an ephemeral reply with an embed\nconst embed = new MessageEmbed().setDescription('Pong!');\n\ninteraction.reply({ embeds: [embed], ephemeral: true })\n .then(() => console.log('Reply sent.'))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":93,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"fetchReply","description":"Fetches a reply to this interaction.","see":["Webhook#fetchMessage"],"implements":["InteractionResponses#fetchReply"],"examples":["// Fetch the initial reply to this interaction\ninteraction.fetchReply()\n .then(reply => console.log(`Replied with ${reply.content}`))\n .catch(console.error);"],"params":[{"name":"message","description":"The response to fetch","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":127,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"editReply","description":"Edits a reply to this interaction.","see":["Webhook#editMessage"],"implements":["InteractionResponses#editReply"],"examples":["// Edit the initial reply to this interaction\ninteraction.editReply('New content')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The new options for the message","type":[[["string"]],[["MessagePayload"]],[["InteractionEditReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":148,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"deleteReply","description":"Deletes a reply to this interaction.","see":["Webhook#deleteMessage"],"implements":["InteractionResponses#deleteReply"],"examples":["// Delete the initial reply to this interaction\ninteraction.deleteReply()\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"message","description":"The response to delete","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":166,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"followUp","description":"Send a follow-up message to this interaction.","implements":["InteractionResponses#followUp"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":175,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"showModal","description":"Shows a modal component","implements":["InteractionResponses#showModal"],"params":[{"name":"modal","description":"The modal to show","type":[[["Modal"]],[["ModalOptions"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":243,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"awaitModalSubmit","description":"Collects a single modal submit interaction that passes the filter.\nThe Promise will reject if the time expires.","implements":["InteractionResponses#awaitModalSubmit"],"examples":["// Collect a modal submit interaction\nconst filter = (interaction) => interaction.customId === 'modal';\ninteraction.awaitModalSubmit({ filter, time: 15_000 })\n .then(interaction => console.log(`${interaction.customId} was submitted!`))\n .catch(console.error);"],"params":[{"name":"options","description":"Options to pass to the internal collector","type":[[["AwaitModalSubmitOptions"]]]}],"returns":[[["Promise","<"],["ModalSubmitInteraction",">"]]],"meta":{"line":275,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"inGuild","description":"Indicates whether this interaction is received from a guild.","inherits":"Interaction#inGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":173,"file":"Interaction.js","path":"src/structures"}},{"name":"inCachedGuild","description":"Indicates whether or not this interaction is both cached and received from a guild.","inherits":"Interaction#inCachedGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":181,"file":"Interaction.js","path":"src/structures"}},{"name":"inRawGuild","description":"Indicates whether or not this interaction is received from an uncached guild.","inherits":"Interaction#inRawGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":189,"file":"Interaction.js","path":"src/structures"}},{"name":"isApplicationCommand","description":"Indicates whether this interaction is a {@link BaseCommandInteraction}.","inherits":"Interaction#isApplicationCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":197,"file":"Interaction.js","path":"src/structures"}},{"name":"isCommand","description":"Indicates whether this interaction is a {@link CommandInteraction}.","inherits":"Interaction#isCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":205,"file":"Interaction.js","path":"src/structures"}},{"name":"isContextMenu","description":"Indicates whether this interaction is a {@link ContextMenuInteraction}","inherits":"Interaction#isContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":213,"file":"Interaction.js","path":"src/structures"}},{"name":"isModalSubmit","description":"Indicates whether this interaction is a {@link ModalSubmitInteraction}","inherits":"Interaction#isModalSubmit","inherited":true,"returns":[[["boolean"]]],"meta":{"line":221,"file":"Interaction.js","path":"src/structures"}},{"name":"isUserContextMenu","description":"Indicates whether this interaction is a {@link UserContextMenuInteraction}","inherits":"Interaction#isUserContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":229,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageContextMenu","description":"Indicates whether this interaction is a {@link MessageContextMenuInteraction}","inherits":"Interaction#isMessageContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":237,"file":"Interaction.js","path":"src/structures"}},{"name":"isAutocomplete","description":"Indicates whether this interaction is an {@link AutocompleteInteraction}","inherits":"Interaction#isAutocomplete","inherited":true,"returns":[[["boolean"]]],"meta":{"line":245,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageComponent","description":"Indicates whether this interaction is a {@link MessageComponentInteraction}.","inherits":"Interaction#isMessageComponent","inherited":true,"returns":[[["boolean"]]],"meta":{"line":253,"file":"Interaction.js","path":"src/structures"}},{"name":"isButton","description":"Indicates whether this interaction is a {@link ButtonInteraction}.","inherits":"Interaction#isButton","inherited":true,"returns":[[["boolean"]]],"meta":{"line":261,"file":"Interaction.js","path":"src/structures"}},{"name":"isSelectMenu","description":"Indicates whether this interaction is a {@link SelectMenuInteraction}.","inherits":"Interaction#isSelectMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":272,"file":"Interaction.js","path":"src/structures"}},{"name":"isRepliable","description":"Indicates whether this interaction can be replied to.","inherits":"Interaction#isRepliable","inherited":true,"returns":[[["boolean"]]],"meta":{"line":283,"file":"Interaction.js","path":"src/structures"}}],"meta":{"line":16,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"BaseGuild","description":"The base class for {@link Guild}, {@link OAuth2Guild} and {@link InviteGuild}.","extends":[[["Base"]]],"abstract":true,"props":[{"name":"id","description":"The guild's id","type":[[["Snowflake"]]],"meta":{"line":19,"file":"BaseGuild.js","path":"src/structures"}},{"name":"name","description":"The name of this guild","type":[[["string"]]],"meta":{"line":25,"file":"BaseGuild.js","path":"src/structures"}},{"name":"icon","description":"The icon hash of this guild","nullable":true,"type":[[["string"]]],"meta":{"line":31,"file":"BaseGuild.js","path":"src/structures"}},{"name":"features","description":"An array of features available to this guild","type":[[["Array","<"],["Features",">"]]],"meta":{"line":37,"file":"BaseGuild.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp this guild was created at","readonly":true,"type":[[["number"]]],"meta":{"line":45,"file":"BaseGuild.js","path":"src/structures"}},{"name":"createdAt","description":"The time this guild was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":54,"file":"BaseGuild.js","path":"src/structures"}},{"name":"nameAcronym","description":"The acronym that shows up in place of a guild icon","readonly":true,"type":[[["string"]]],"meta":{"line":63,"file":"BaseGuild.js","path":"src/structures"}},{"name":"partnered","description":"Whether this guild is partnered","readonly":true,"type":[[["boolean"]]],"meta":{"line":75,"file":"BaseGuild.js","path":"src/structures"}},{"name":"verified","description":"Whether this guild is verified","readonly":true,"type":[[["boolean"]]],"meta":{"line":84,"file":"BaseGuild.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"iconURL","description":"The URL to this guild's icon.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["ImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":93,"file":"BaseGuild.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this guild.","async":true,"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":102,"file":"BaseGuild.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the guild's name instead of the Guild object.","returns":[[["string"]]],"meta":{"line":111,"file":"BaseGuild.js","path":"src/structures"}}],"meta":{"line":11,"file":"BaseGuild.js","path":"src/structures"}},{"name":"BaseGuildEmoji","description":"Parent class for {@link GuildEmoji} and {@link GuildPreviewEmoji}.","extends":[[["Emoji"]]],"abstract":true,"props":[{"name":"guild","description":"The guild this emoji is a part of","type":[[["Guild"]],[["GuildPreview"]]],"meta":{"line":18,"file":"BaseGuildEmoji.js","path":"src/structures"}},{"name":"requiresColons","description":"Whether or not this emoji requires colons surrounding it","nullable":true,"type":[[["boolean"]]],"meta":{"line":35,"file":"BaseGuildEmoji.js","path":"src/structures"}},{"name":"managed","description":"Whether this emoji is managed by an external service","nullable":true,"type":[[["boolean"]]],"meta":{"line":43,"file":"BaseGuildEmoji.js","path":"src/structures"}},{"name":"available","description":"Whether this emoji is available","nullable":true,"type":[[["boolean"]]],"meta":{"line":51,"file":"BaseGuildEmoji.js","path":"src/structures"}},{"name":"animated","description":"Whether or not the emoji is animated","nullable":true,"type":[[["boolean"]]],"meta":{"line":34,"file":"Emoji.js","path":"src/structures"}},{"name":"name","description":"The emoji's name","nullable":true,"type":[[["string"]]],"meta":{"line":40,"file":"Emoji.js","path":"src/structures"}},{"name":"id","description":"The emoji's id","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":46,"file":"Emoji.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":54,"file":"Emoji.js","path":"src/structures"}},{"name":"identifier","description":"The identifier of this emoji, used for message reactions","readonly":true,"type":[[["string"]]],"meta":{"line":84,"file":"Emoji.js","path":"src/structures"}},{"name":"url","description":"The URL to the emoji file if it's a custom emoji","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":94,"file":"Emoji.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the emoji was created at, or null if unicode","readonly":true,"nullable":true,"type":[[["number"]]],"meta":{"line":103,"file":"Emoji.js","path":"src/structures"}},{"name":"createdAt","description":"The time the emoji was created at, or null if unicode","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":112,"file":"Emoji.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"toString","description":"When concatenated with a string, this automatically returns the text required to form a graphical emoji on Discord\ninstead of the Emoji object.","inherits":"Emoji#toString","inherited":true,"examples":["// Send a custom emoji from a guild:\nconst emoji = guild.emojis.cache.first();\nmsg.channel.send(`Hello! ${emoji}`);","// Send the emoji used in a reaction to the channel the reaction is part of\nreaction.message.channel.send(`The emoji used was: ${reaction.emoji}`);"],"returns":[[["string"]]],"meta":{"line":128,"file":"Emoji.js","path":"src/structures"}}],"meta":{"line":10,"file":"BaseGuildEmoji.js","path":"src/structures"}},{"name":"BaseGuildTextChannel","description":"Represents a text-based guild channel on Discord.","extends":[[["GuildChannel"]]],"implements":[[["TextBasedChannel"]]],"props":[{"name":"messages","description":"A manager of the messages sent to this channel","type":[[["MessageManager"]]],"meta":{"line":21,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"threads","description":"A manager of the threads belonging to this channel","type":[[["GuildTextThreadManager"]]],"meta":{"line":27,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"nsfw","description":"If the guild considers this channel NSFW","type":[[["boolean"]]],"meta":{"line":33,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"topic","description":"The topic of the text channel","nullable":true,"type":[[["string"]]],"meta":{"line":46,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"lastMessageId","description":"The last message id sent in the channel, if one was sent","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":58,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"lastPinTimestamp","description":"The timestamp when the last pinned message was pinned, if there was one","nullable":true,"type":[[["number"]]],"meta":{"line":66,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"defaultAutoArchiveDuration","description":"The default auto archive duration for newly created threads in this channel","nullable":true,"type":[[["number"]]],"meta":{"line":74,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"defaultThreadRateLimitPerUser","description":"The initial rate limit per user (slowmode) to set on newly created threads in a channel.","nullable":true,"type":[[["number"]]],"meta":{"line":82,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"lastMessage","description":"The Message object of the last message in the channel, if one was sent","readonly":true,"nullable":true,"type":[[["Message"]]],"meta":{"line":50,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"lastPinAt","description":"The date when the last pinned message was pinned, if there was one","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":59,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"guild","description":"The guild the channel is in","type":[[["Guild"]]],"meta":{"line":30,"file":"GuildChannel.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild the channel is in","type":[[["Snowflake"]]],"meta":{"line":36,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionOverwrites","description":"A manager of permission overwrites that belong to this channel","type":[[["PermissionOverwriteManager"]]],"meta":{"line":43,"file":"GuildChannel.js","path":"src/structures"}},{"name":"name","description":"The name of the guild channel","type":[[["string"]]],"meta":{"line":56,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rawPosition","description":"The raw position of the channel from Discord","type":[[["number"]]],"meta":{"line":64,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parentId","description":"The id of the category parent of this channel","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":76,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parent","description":"The category parent of this channel","readonly":true,"nullable":true,"type":[[["CategoryChannel"]]],"meta":{"line":98,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionsLocked","description":"If the permissionOverwrites match the parent channel, null if no parent","readonly":true,"nullable":true,"type":[[["boolean"]]],"meta":{"line":107,"file":"GuildChannel.js","path":"src/structures"}},{"name":"position","description":"The position of the channel","readonly":true,"type":[[["number"]]],"meta":{"line":148,"file":"GuildChannel.js","path":"src/structures"}},{"name":"members","description":"A collection of cached members of this channel, mapped by their ids.\nMembers that can view this channel, if the channel is text-based.\nMembers in the channel, if the channel is voice-based.","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]],"meta":{"line":274,"file":"GuildChannel.js","path":"src/structures"}},{"name":"deletable","description":"Whether the channel is deletable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":416,"file":"GuildChannel.js","path":"src/structures"}},{"name":"manageable","description":"Whether the channel is manageable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":425,"file":"GuildChannel.js","path":"src/structures"}},{"name":"viewable","description":"Whether the channel is viewable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":445,"file":"GuildChannel.js","path":"src/structures"}},{"name":"type","description":"The type of the channel","type":[[["ChannelType"]]],"meta":{"line":41,"file":"Channel.js","path":"src/structures"}},{"name":"id","description":"The channel's id","type":[[["Snowflake"]]],"meta":{"line":51,"file":"Channel.js","path":"src/structures"}},{"name":"flags","description":"The flags that are applied to the channel.","nullable":true,"type":[[["Readonly","<"],["ChannelFlags",">"]]],"meta":{"line":58,"file":"Channel.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the channel was created at","readonly":true,"type":[[["number"]]],"meta":{"line":69,"file":"Channel.js","path":"src/structures"}},{"name":"createdAt","description":"The time the channel was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":78,"file":"Channel.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":87,"file":"Channel.js","path":"src/structures"}},{"name":"partial","description":"Whether this Channel is a partial\nThis is always false outside of DM channels.","readonly":true,"type":[[["boolean"]]],"meta":{"line":118,"file":"Channel.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"setDefaultAutoArchiveDuration","description":"Sets the default auto archive duration for all newly created threads in this channel.","params":[{"name":"defaultAutoArchiveDuration","description":"The new default auto archive duration","type":[[["ThreadAutoArchiveDuration"]]]},{"name":"reason","description":"Reason for changing the channel's default auto archive duration","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["TextChannel",">"]]],"meta":{"line":98,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"setType","description":"Sets the type of this channel (only conversion between text and news is supported)","params":[{"name":"type","description":"The new channel type","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the channel's type","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":108,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"setTopic","description":"Sets a new topic for the guild channel.","examples":["// Set a new channel topic\nchannel.setTopic('needs more rate limiting')\n .then(newChannel => console.log(`Channel's new topic is ${newChannel.topic}`))\n .catch(console.error);"],"params":[{"name":"topic","description":"The new topic for the guild channel","nullable":true,"type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild channel's topic","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":123,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"createInvite","description":"Creates an invite to this guild channel.","examples":["// Create an invite to a channel\nchannel.createInvite()\n .then(invite => console.log(`Created an invite with a code of ${invite.code}`))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for creating the invite","optional":true,"default":"{}","type":[[["CreateInviteOptions"]]]}],"returns":[[["Promise","<"],["Invite",">"]]],"meta":{"line":161,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"fetchInvites","description":"Fetches a collection of invites to this guild channel.\nResolves with a collection mapping invites by their codes.","params":[{"name":"cache","description":"Whether or not to cache the fetched invites","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Collection","<"],["string",", "],["Invite",">>"]]],"meta":{"line":171,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"send","description":"Sends a message to this channel.","implements":["TextBasedChannel#send"],"examples":["// Send a basic message\nchannel.send('hello!')\n .then(message => console.log(`Sent message: ${message.content}`))\n .catch(console.error);","// Send a remote file\nchannel.send({\n files: ['https://cdn.discordapp.com/icons/222078108977594368/6e1019b3179d71046e463a75915e7244.png?size=2048']\n})\n .then(console.log)\n .catch(console.error);","// Send a local file\nchannel.send({\n files: [{\n attachment: 'entire/path/to/file.jpg',\n name: 'file.jpg',\n description: 'A description of the file'\n }]\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["MessageOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":150,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"sendTyping","description":"Sends a typing indicator in the channel.","implements":["TextBasedChannel#sendTyping"],"examples":["// Start typing in a channel\nchannel.sendTyping();"],"async":true,"returns":{"types":[[["Promise","<"],["void",">"]]],"description":"Resolves upon the typing status being sent"},"meta":{"line":355,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createMessageCollector","description":"Creates a Message Collector.","implements":["TextBasedChannel#createMessageCollector"],"examples":["// Create a message collector\nconst filter = m => m.content.includes('discord');\nconst collector = channel.createMessageCollector({ filter, time: 15_000 });\ncollector.on('collect', m => console.log(`Collected ${m.content}`));\ncollector.on('end', collected => console.log(`Collected ${collected.size} items`));"],"params":[{"name":"options","description":"The options to pass to the collector","optional":true,"default":"{}","type":[[["MessageCollectorOptions"]]]}],"returns":[[["MessageCollector"]]],"meta":{"line":370,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"awaitMessages","description":"Similar to createMessageCollector but in promise form.\nResolves with a collection of messages that pass the specified filter.","implements":["TextBasedChannel#awaitMessages"],"examples":["// Await !vote messages\nconst filter = m => m.content.startsWith('!vote');\n// Errors: ['time'] treats ending because of the time limit as an error\nchannel.awaitMessages({ filter, max: 4, time: 60_000, errors: ['time'] })\n .then(collected => console.log(collected.size))\n .catch(collected => console.log(`After a minute, only ${collected.size} out of 4 voted.`));"],"params":[{"name":"options","description":"Optional options to pass to the internal collector","optional":true,"default":"{}","type":[[["AwaitMessagesOptions"]]]}],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Message",">>"]]],"meta":{"line":393,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"fetchWebhooks","description":"Fetches all webhooks for the channel.","implements":["TextBasedChannel#fetchWebhooks"],"examples":["// Fetch webhooks\nchannel.fetchWebhooks()\n .then(hooks => console.log(`This channel has ${hooks.size} hooks`))\n .catch(console.error);"],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Webhook",">>"]]],"meta":{"line":415,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createWebhook","description":"Creates a webhook for the channel.","implements":["TextBasedChannel#createWebhook"],"examples":["// Create a webhook for the current channel\nchannel.createWebhook('Snek', {\n avatar: 'https://i.imgur.com/mI8XcpG.jpg',\n reason: 'Needed a cool new Webhook'\n})\n .then(console.log)\n .catch(console.error)"],"params":[{"name":"name","description":"The name of the webhook","type":[[["string"]]]},{"name":"options","description":"Options for creating the webhook","optional":true,"type":[[["ChannelWebhookCreateOptions"]]]}],"returns":{"types":[[["Promise","<"],["Webhook",">"]]],"description":"Returns the created Webhook"},"meta":{"line":440,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"setRateLimitPerUser","description":"Sets the rate limit per user (slowmode) for this channel.","implements":["TextBasedChannel#setRateLimitPerUser"],"params":[{"name":"rateLimitPerUser","description":"The new rate limit in seconds","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the channel's rate limit","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":450,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"setNSFW","description":"Sets whether this channel is flagged as NSFW.","implements":["TextBasedChannel#setNSFW"],"params":[{"name":"nsfw","description":"Whether the channel should be considered NSFW","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"Reason for changing the channel's NSFW flag","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":460,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"permissionsFor","description":"Gets the overall set of permissions for a member or role in this channel, taking into account channel overwrites.","inherits":"GuildChannel#permissionsFor","inherited":true,"params":[{"name":"memberOrRole","description":"The member or role to obtain the overall permissions for","type":[[["GuildMemberResolvable"]],[["RoleResolvable"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":{"types":[[["Readonly","<"],["Permissions",">"]]],"nullable":true},"meta":{"line":172,"file":"GuildChannel.js","path":"src/structures"}},{"name":"memberPermissions","description":"Gets the overall set of permissions for a member in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#memberPermissions","inherited":true,"params":[{"name":"member","description":"The member to obtain the overall permissions for","type":[[["GuildMember"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","default":true,"type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":212,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rolePermissions","description":"Gets the overall set of permissions for a role in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#rolePermissions","inherited":true,"params":[{"name":"role","description":"The role to obtain the overall permissions for","type":[[["Role"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":241,"file":"GuildChannel.js","path":"src/structures"}},{"name":"lockPermissions","description":"Locks in the permission overwrites from the parent channel.","inherits":"GuildChannel#lockPermissions","inherited":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":261,"file":"GuildChannel.js","path":"src/structures"}},{"name":"edit","description":"Edits the channel.","inherits":"GuildChannel#edit","inherited":true,"examples":["// Edit a channel\nchannel.edit({ name: 'new-channel' })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"data","description":"The new data for the channel","type":[[["ChannelData"]]]},{"name":"reason","description":"Reason for editing this channel","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":289,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setName","description":"Sets a new name for the guild channel.","inherits":"GuildChannel#setName","inherited":true,"examples":["// Set a new channel name\nchannel.setName('not_general')\n .then(newChannel => console.log(`Channel's new name is ${newChannel.name}`))\n .catch(console.error);"],"params":[{"name":"name","description":"The new name for the guild channel","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild channel's name","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":304,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setParent","description":"Sets the parent of this channel.","inherits":"GuildChannel#setParent","inherited":true,"examples":["// Add a parent to a channel\nmessage.channel.setParent('355908108431917066', { lockPermissions: false })\n .then(channel => console.log(`New parent of ${message.channel.name}: ${channel.name}`))\n .catch(console.error);"],"params":[{"name":"channel","description":"The category channel to set as the parent","nullable":true,"type":[[["CategoryChannelResolvable"]]]},{"name":"options","description":"The options for setting the parent","optional":true,"default":"{}","type":[[["SetParentOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":326,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setPosition","description":"Sets a new position for the guild channel.","inherits":"GuildChannel#setPosition","inherited":true,"examples":["// Set a new channel position\nchannel.setPosition(2)\n .then(newChannel => console.log(`Channel's new position is ${newChannel.position}`))\n .catch(console.error);"],"params":[{"name":"position","description":"The new position for the guild channel","type":[[["number"]]]},{"name":"options","description":"Options for setting position","optional":true,"type":[[["SetChannelPositionOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":354,"file":"GuildChannel.js","path":"src/structures"}},{"name":"clone","description":"Clones this channel.","inherits":"GuildChannel#clone","inherited":true,"params":[{"name":"options","description":"The options for cloning this channel","optional":true,"type":[[["GuildChannelCloneOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":369,"file":"GuildChannel.js","path":"src/structures"}},{"name":"equals","description":"Checks if this channel has the same type, topic, position, name, overwrites, and id as another channel.\nIn most cases, a simple `channel.id === channel2.id` will do, and is much faster too.","inherits":"GuildChannel#equals","inherited":true,"params":[{"name":"channel","description":"Channel to compare with","type":[[["GuildChannel"]]]}],"returns":[[["boolean"]]],"meta":{"line":391,"file":"GuildChannel.js","path":"src/structures"}},{"name":"delete","description":"Deletes this channel.","inherits":"GuildChannel#delete","inherited":true,"examples":["// Delete the channel\nchannel.delete('making room for new channels')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"reason","description":"Reason for deleting this channel","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":462,"file":"GuildChannel.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the channel's mention instead of the Channel object.","inherits":"Channel#toString","inherited":true,"examples":["// Logs: Hello from <#123456789012345678>!\nconsole.log(`Hello from ${channel}!`);"],"returns":[[["string"]]],"meta":{"line":129,"file":"Channel.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this channel.","inherits":"Channel#fetch","inherited":true,"params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":152,"file":"Channel.js","path":"src/structures"}},{"name":"isText","description":"Indicates whether this channel is {@link TextBasedChannels text-based}.","inherits":"Channel#isText","inherited":true,"returns":[[["boolean"]]],"meta":{"line":160,"file":"Channel.js","path":"src/structures"}},{"name":"isVoice","description":"Indicates whether this channel is {@link BaseGuildVoiceChannel voice-based}.","inherits":"Channel#isVoice","inherited":true,"returns":[[["boolean"]]],"meta":{"line":168,"file":"Channel.js","path":"src/structures"}},{"name":"isThread","description":"Indicates whether this channel is a {@link ThreadChannel}.","inherits":"Channel#isThread","inherited":true,"returns":[[["boolean"]]],"meta":{"line":176,"file":"Channel.js","path":"src/structures"}},{"name":"isDirectory","description":"Indicates whether this channel is a {@link DirectoryChannel}","inherits":"Channel#isDirectory","inherited":true,"returns":[[["boolean"]]],"meta":{"line":184,"file":"Channel.js","path":"src/structures"}}],"meta":{"line":13,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"BaseGuildVoiceChannel","description":"Represents a voice-based guild channel on Discord.","extends":[[["GuildChannel"]]],"implements":[[["TextBasedChannel"]]],"props":[{"name":"messages","description":"A manager of the messages sent to this channel","type":[[["MessageManager"]]],"meta":{"line":22,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"nsfw","description":"If the guild considers this channel NSFW","type":[[["boolean"]]],"meta":{"line":28,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"bitrate","description":"The bitrate of this voice-based channel","type":[[["number"]]],"meta":{"line":41,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"rtcRegion","description":"The RTC region for this voice-based channel. This region is automatically selected if `null`.","nullable":true,"type":[[["string"]]],"meta":{"line":49,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"userLimit","description":"The maximum amount of users allowed in this channel.","type":[[["number"]]],"meta":{"line":57,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"videoQualityMode","description":"The camera video quality mode of the channel.","nullable":true,"type":[[["VideoQualityMode"]]],"meta":{"line":65,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"lastMessageId","description":"The last message id sent in the channel, if one was sent","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":75,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"rateLimitPerUser","description":"The rate limit per user (slowmode) for this channel in seconds","type":[[["number"]]],"meta":{"line":87,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"status","description":"The status of the voice channel (max 500 characters)","nullable":true,"type":[[["string"]]],"meta":{"line":99,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"members","description":"The members in this voice-based channel","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]],"meta":{"line":108,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"full","description":"Checks if the voice-based channel is full","readonly":true,"type":[[["boolean"]]],"meta":{"line":123,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"joinable","description":"Whether the channel is joinable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":132,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"lastMessage","description":"The Message object of the last message in the channel, if one was sent","readonly":true,"nullable":true,"type":[[["Message"]]],"meta":{"line":50,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"guild","description":"The guild the channel is in","type":[[["Guild"]]],"meta":{"line":30,"file":"GuildChannel.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild the channel is in","type":[[["Snowflake"]]],"meta":{"line":36,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionOverwrites","description":"A manager of permission overwrites that belong to this channel","type":[[["PermissionOverwriteManager"]]],"meta":{"line":43,"file":"GuildChannel.js","path":"src/structures"}},{"name":"name","description":"The name of the guild channel","type":[[["string"]]],"meta":{"line":56,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rawPosition","description":"The raw position of the channel from Discord","type":[[["number"]]],"meta":{"line":64,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parentId","description":"The id of the category parent of this channel","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":76,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parent","description":"The category parent of this channel","readonly":true,"nullable":true,"type":[[["CategoryChannel"]]],"meta":{"line":98,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionsLocked","description":"If the permissionOverwrites match the parent channel, null if no parent","readonly":true,"nullable":true,"type":[[["boolean"]]],"meta":{"line":107,"file":"GuildChannel.js","path":"src/structures"}},{"name":"position","description":"The position of the channel","readonly":true,"type":[[["number"]]],"meta":{"line":148,"file":"GuildChannel.js","path":"src/structures"}},{"name":"deletable","description":"Whether the channel is deletable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":416,"file":"GuildChannel.js","path":"src/structures"}},{"name":"manageable","description":"Whether the channel is manageable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":425,"file":"GuildChannel.js","path":"src/structures"}},{"name":"viewable","description":"Whether the channel is viewable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":445,"file":"GuildChannel.js","path":"src/structures"}},{"name":"type","description":"The type of the channel","type":[[["ChannelType"]]],"meta":{"line":41,"file":"Channel.js","path":"src/structures"}},{"name":"id","description":"The channel's id","type":[[["Snowflake"]]],"meta":{"line":51,"file":"Channel.js","path":"src/structures"}},{"name":"flags","description":"The flags that are applied to the channel.","nullable":true,"type":[[["Readonly","<"],["ChannelFlags",">"]]],"meta":{"line":58,"file":"Channel.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the channel was created at","readonly":true,"type":[[["number"]]],"meta":{"line":69,"file":"Channel.js","path":"src/structures"}},{"name":"createdAt","description":"The time the channel was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":78,"file":"Channel.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":87,"file":"Channel.js","path":"src/structures"}},{"name":"partial","description":"Whether this Channel is a partial\nThis is always false outside of DM channels.","readonly":true,"type":[[["boolean"]]],"meta":{"line":118,"file":"Channel.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"createInvite","description":"Creates an invite to this guild channel.","examples":["// Create an invite to a channel\nchannel.createInvite()\n .then(invite => console.log(`Created an invite with a code of ${invite.code}`))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for creating the invite","optional":true,"default":"{}","type":[[["CreateInviteOptions"]]]}],"returns":[[["Promise","<"],["Invite",">"]]],"meta":{"line":156,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"fetchInvites","description":"Fetches a collection of invites to this guild channel.\nResolves with a collection mapping invites by their codes.","params":[{"name":"cache","description":"Whether or not to cache the fetched invites","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Collection","<"],["string",", "],["Invite",">>"]]],"meta":{"line":166,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"setBitrate","description":"Sets the bitrate of the channel.","examples":["// Set the bitrate of a voice channel\nchannel.setBitrate(48_000)\n .then(channel => console.log(`Set bitrate to ${channel.bitrate}bps for ${channel.name}`))\n .catch(console.error);"],"params":[{"name":"bitrate","description":"The new bitrate","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the channel's bitrate","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["BaseGuildVoiceChannel",">"]]],"meta":{"line":181,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"setRTCRegion","description":"Sets the RTC region of the channel.","examples":["// Set the RTC region to sydney\nchannel.setRTCRegion('sydney');","// Remove a fixed region for this channel - let Discord decide automatically\nchannel.setRTCRegion(null, 'We want to let Discord decide.');"],"params":[{"name":"rtcRegion","description":"The new region of the channel. Set to `null` to remove a specific region for the channel","nullable":true,"type":[[["string"]]]},{"name":"reason","description":"The reason for modifying this region.","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["BaseGuildVoiceChannel",">"]]],"meta":{"line":197,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"setUserLimit","description":"Sets the user limit of the channel.","examples":["// Set the user limit of a voice channel\nchannel.setUserLimit(42)\n .then(channel => console.log(`Set user limit to ${channel.userLimit} for ${channel.name}`))\n .catch(console.error);"],"params":[{"name":"userLimit","description":"The new user limit","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the user limit","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["BaseGuildVoiceChannel",">"]]],"meta":{"line":212,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"setVideoQualityMode","description":"Sets the camera video quality mode of the channel.","params":[{"name":"videoQualityMode","description":"The new camera video quality mode.","type":[[["VideoQualityMode"]],[["number"]]]},{"name":"reason","description":"Reason for changing the camera video quality mode.","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["BaseGuildVoiceChannel",">"]]],"meta":{"line":222,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"send","description":"Sends a message to this channel.","implements":["TextBasedChannel#send"],"examples":["// Send a basic message\nchannel.send('hello!')\n .then(message => console.log(`Sent message: ${message.content}`))\n .catch(console.error);","// Send a remote file\nchannel.send({\n files: ['https://cdn.discordapp.com/icons/222078108977594368/6e1019b3179d71046e463a75915e7244.png?size=2048']\n})\n .then(console.log)\n .catch(console.error);","// Send a local file\nchannel.send({\n files: [{\n attachment: 'entire/path/to/file.jpg',\n name: 'file.jpg',\n description: 'A description of the file'\n }]\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["MessageOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":150,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"sendTyping","description":"Sends a typing indicator in the channel.","implements":["TextBasedChannel#sendTyping"],"examples":["// Start typing in a channel\nchannel.sendTyping();"],"async":true,"returns":{"types":[[["Promise","<"],["void",">"]]],"description":"Resolves upon the typing status being sent"},"meta":{"line":355,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createMessageCollector","description":"Creates a Message Collector.","implements":["TextBasedChannel#createMessageCollector"],"examples":["// Create a message collector\nconst filter = m => m.content.includes('discord');\nconst collector = channel.createMessageCollector({ filter, time: 15_000 });\ncollector.on('collect', m => console.log(`Collected ${m.content}`));\ncollector.on('end', collected => console.log(`Collected ${collected.size} items`));"],"params":[{"name":"options","description":"The options to pass to the collector","optional":true,"default":"{}","type":[[["MessageCollectorOptions"]]]}],"returns":[[["MessageCollector"]]],"meta":{"line":370,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"awaitMessages","description":"Similar to createMessageCollector but in promise form.\nResolves with a collection of messages that pass the specified filter.","implements":["TextBasedChannel#awaitMessages"],"examples":["// Await !vote messages\nconst filter = m => m.content.startsWith('!vote');\n// Errors: ['time'] treats ending because of the time limit as an error\nchannel.awaitMessages({ filter, max: 4, time: 60_000, errors: ['time'] })\n .then(collected => console.log(collected.size))\n .catch(collected => console.log(`After a minute, only ${collected.size} out of 4 voted.`));"],"params":[{"name":"options","description":"Optional options to pass to the internal collector","optional":true,"default":"{}","type":[[["AwaitMessagesOptions"]]]}],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Message",">>"]]],"meta":{"line":393,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"fetchWebhooks","description":"Fetches all webhooks for the channel.","implements":["TextBasedChannel#fetchWebhooks"],"examples":["// Fetch webhooks\nchannel.fetchWebhooks()\n .then(hooks => console.log(`This channel has ${hooks.size} hooks`))\n .catch(console.error);"],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Webhook",">>"]]],"meta":{"line":415,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createWebhook","description":"Creates a webhook for the channel.","implements":["TextBasedChannel#createWebhook"],"examples":["// Create a webhook for the current channel\nchannel.createWebhook('Snek', {\n avatar: 'https://i.imgur.com/mI8XcpG.jpg',\n reason: 'Needed a cool new Webhook'\n})\n .then(console.log)\n .catch(console.error)"],"params":[{"name":"name","description":"The name of the webhook","type":[[["string"]]]},{"name":"options","description":"Options for creating the webhook","optional":true,"type":[[["ChannelWebhookCreateOptions"]]]}],"returns":{"types":[[["Promise","<"],["Webhook",">"]]],"description":"Returns the created Webhook"},"meta":{"line":440,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"setRateLimitPerUser","description":"Sets the rate limit per user (slowmode) for this channel.","implements":["TextBasedChannel#setRateLimitPerUser"],"params":[{"name":"rateLimitPerUser","description":"The new rate limit in seconds","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the channel's rate limit","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":450,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"setNSFW","description":"Sets whether this channel is flagged as NSFW.","implements":["TextBasedChannel#setNSFW"],"params":[{"name":"nsfw","description":"Whether the channel should be considered NSFW","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"Reason for changing the channel's NSFW flag","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":460,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"permissionsFor","description":"Gets the overall set of permissions for a member or role in this channel, taking into account channel overwrites.","inherits":"GuildChannel#permissionsFor","inherited":true,"params":[{"name":"memberOrRole","description":"The member or role to obtain the overall permissions for","type":[[["GuildMemberResolvable"]],[["RoleResolvable"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":{"types":[[["Readonly","<"],["Permissions",">"]]],"nullable":true},"meta":{"line":172,"file":"GuildChannel.js","path":"src/structures"}},{"name":"memberPermissions","description":"Gets the overall set of permissions for a member in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#memberPermissions","inherited":true,"params":[{"name":"member","description":"The member to obtain the overall permissions for","type":[[["GuildMember"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","default":true,"type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":212,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rolePermissions","description":"Gets the overall set of permissions for a role in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#rolePermissions","inherited":true,"params":[{"name":"role","description":"The role to obtain the overall permissions for","type":[[["Role"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":241,"file":"GuildChannel.js","path":"src/structures"}},{"name":"lockPermissions","description":"Locks in the permission overwrites from the parent channel.","inherits":"GuildChannel#lockPermissions","inherited":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":261,"file":"GuildChannel.js","path":"src/structures"}},{"name":"edit","description":"Edits the channel.","inherits":"GuildChannel#edit","inherited":true,"examples":["// Edit a channel\nchannel.edit({ name: 'new-channel' })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"data","description":"The new data for the channel","type":[[["ChannelData"]]]},{"name":"reason","description":"Reason for editing this channel","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":289,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setName","description":"Sets a new name for the guild channel.","inherits":"GuildChannel#setName","inherited":true,"examples":["// Set a new channel name\nchannel.setName('not_general')\n .then(newChannel => console.log(`Channel's new name is ${newChannel.name}`))\n .catch(console.error);"],"params":[{"name":"name","description":"The new name for the guild channel","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild channel's name","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":304,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setParent","description":"Sets the parent of this channel.","inherits":"GuildChannel#setParent","inherited":true,"examples":["// Add a parent to a channel\nmessage.channel.setParent('355908108431917066', { lockPermissions: false })\n .then(channel => console.log(`New parent of ${message.channel.name}: ${channel.name}`))\n .catch(console.error);"],"params":[{"name":"channel","description":"The category channel to set as the parent","nullable":true,"type":[[["CategoryChannelResolvable"]]]},{"name":"options","description":"The options for setting the parent","optional":true,"default":"{}","type":[[["SetParentOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":326,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setPosition","description":"Sets a new position for the guild channel.","inherits":"GuildChannel#setPosition","inherited":true,"examples":["// Set a new channel position\nchannel.setPosition(2)\n .then(newChannel => console.log(`Channel's new position is ${newChannel.position}`))\n .catch(console.error);"],"params":[{"name":"position","description":"The new position for the guild channel","type":[[["number"]]]},{"name":"options","description":"Options for setting position","optional":true,"type":[[["SetChannelPositionOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":354,"file":"GuildChannel.js","path":"src/structures"}},{"name":"clone","description":"Clones this channel.","inherits":"GuildChannel#clone","inherited":true,"params":[{"name":"options","description":"The options for cloning this channel","optional":true,"type":[[["GuildChannelCloneOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":369,"file":"GuildChannel.js","path":"src/structures"}},{"name":"equals","description":"Checks if this channel has the same type, topic, position, name, overwrites, and id as another channel.\nIn most cases, a simple `channel.id === channel2.id` will do, and is much faster too.","inherits":"GuildChannel#equals","inherited":true,"params":[{"name":"channel","description":"Channel to compare with","type":[[["GuildChannel"]]]}],"returns":[[["boolean"]]],"meta":{"line":391,"file":"GuildChannel.js","path":"src/structures"}},{"name":"delete","description":"Deletes this channel.","inherits":"GuildChannel#delete","inherited":true,"examples":["// Delete the channel\nchannel.delete('making room for new channels')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"reason","description":"Reason for deleting this channel","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":462,"file":"GuildChannel.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the channel's mention instead of the Channel object.","inherits":"Channel#toString","inherited":true,"examples":["// Logs: Hello from <#123456789012345678>!\nconsole.log(`Hello from ${channel}!`);"],"returns":[[["string"]]],"meta":{"line":129,"file":"Channel.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this channel.","inherits":"Channel#fetch","inherited":true,"params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":152,"file":"Channel.js","path":"src/structures"}},{"name":"isText","description":"Indicates whether this channel is {@link TextBasedChannels text-based}.","inherits":"Channel#isText","inherited":true,"returns":[[["boolean"]]],"meta":{"line":160,"file":"Channel.js","path":"src/structures"}},{"name":"isVoice","description":"Indicates whether this channel is {@link BaseGuildVoiceChannel voice-based}.","inherits":"Channel#isVoice","inherited":true,"returns":[[["boolean"]]],"meta":{"line":168,"file":"Channel.js","path":"src/structures"}},{"name":"isThread","description":"Indicates whether this channel is a {@link ThreadChannel}.","inherits":"Channel#isThread","inherited":true,"returns":[[["boolean"]]],"meta":{"line":176,"file":"Channel.js","path":"src/structures"}},{"name":"isDirectory","description":"Indicates whether this channel is a {@link DirectoryChannel}","inherits":"Channel#isDirectory","inherited":true,"returns":[[["boolean"]]],"meta":{"line":184,"file":"Channel.js","path":"src/structures"}}],"meta":{"line":15,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"BaseMessageComponent","description":"Represents an interactive component of a Message or Modal. It should not be necessary to construct this directly.\nSee {@link MessageComponent}","construct":{"name":"BaseMessageComponent","params":[{"name":"data","description":"The options for this component","optional":true,"default":"{}","type":[[["BaseMessageComponent"]],[["BaseMessageComponentOptions"]]]}]},"props":[{"name":"type","description":"The type of this component","nullable":true,"type":[[["MessageComponentType"]]],"meta":{"line":52,"file":"BaseMessageComponent.js","path":"src/structures"}}],"methods":[{"name":"create","description":"Constructs a component based on the type of the incoming data","scope":"static","access":"private","params":[{"name":"data","description":"Data for a MessageComponent","type":[[["MessageComponentOptions"]]]},{"name":"client","description":"Client constructing this component","optional":true,"type":[[["Client"]],[["WebhookClient"]]]}],"returns":{"types":[[["MessageComponent"]],[["ModalComponent"]]],"nullable":true},"meta":{"line":62,"file":"BaseMessageComponent.js","path":"src/structures"}},{"name":"resolveType","description":"Resolves the type of a component","scope":"static","access":"private","params":[{"name":"type","description":"The type to resolve","type":[[["MessageComponentTypeResolvable"]]]}],"returns":[[["MessageComponentType"]]],"meta":{"line":109,"file":"BaseMessageComponent.js","path":"src/structures"}}],"meta":{"line":10,"file":"BaseMessageComponent.js","path":"src/structures"}},{"name":"ButtonInteraction","description":"Represents a button interaction.","extends":[[["MessageComponentInteraction"]]],"props":[{"name":"channelId","description":"The id of the channel this interaction was sent in","type":[[["Snowflake"]]],"meta":{"line":17,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"message","description":"The message to which the component was attached","type":[[["Message"]],[["APIMessage"]]],"meta":{"line":27,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"customId","description":"The custom id of the component which was interacted with","type":[[["string"]]],"meta":{"line":33,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"componentType","description":"The type of component which was interacted with","type":[[["string"]]],"meta":{"line":39,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"deferred","description":"Whether the reply to this interaction has been deferred","type":[[["boolean"]]],"meta":{"line":45,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"ephemeral","description":"Whether the reply to this interaction is ephemeral","nullable":true,"type":[[["boolean"]]],"meta":{"line":51,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"replied","description":"Whether this interaction has already been replied to","type":[[["boolean"]]],"meta":{"line":57,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"webhook","description":"An associated interaction webhook, can be used to further interact with this interaction","type":[[["InteractionWebhook"]]],"meta":{"line":63,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"component","description":"The component which was interacted with","readonly":true,"type":[[["MessageActionRowComponent"]],[["APIMessageActionRowComponent"]]],"meta":{"line":78,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"type","description":"The interaction's type","type":[[["InteractionType"]]],"meta":{"line":20,"file":"Interaction.js","path":"src/structures"}},{"name":"id","description":"The interaction's id","type":[[["Snowflake"]]],"meta":{"line":26,"file":"Interaction.js","path":"src/structures"}},{"name":"token","description":"The interaction's token","readonly":true,"type":[[["string"]]],"meta":{"line":28,"file":"Interaction.js","path":"src/structures"}},{"name":"applicationId","description":"The application's id","type":[[["Snowflake"]]],"meta":{"line":40,"file":"Interaction.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild this interaction was sent in","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":52,"file":"Interaction.js","path":"src/structures"}},{"name":"user","description":"The user which sent this interaction","type":[[["User"]]],"meta":{"line":58,"file":"Interaction.js","path":"src/structures"}},{"name":"member","description":"If this interaction was sent in a guild, the member which sent it","nullable":true,"type":[[["GuildMember"]],[["APIGuildMember"]]],"meta":{"line":64,"file":"Interaction.js","path":"src/structures"}},{"name":"version","description":"The version","type":[[["number"]]],"meta":{"line":70,"file":"Interaction.js","path":"src/structures"}},{"name":"appPermissions","description":"Set of permissions the application or bot has within the channel the interaction was sent from","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":76,"file":"Interaction.js","path":"src/structures"}},{"name":"memberPermissions","description":"The permissions of the member, if one exists, in the channel this interaction was executed in","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":82,"file":"Interaction.js","path":"src/structures"}},{"name":"locale","description":"The locale of the user who invoked this interaction","type":[[["Locale"]]],"meta":{"line":124,"file":"Interaction.js","path":"src/structures"}},{"name":"guildLocale","description":"The preferred locale from the guild this interaction was sent in","nullable":true,"type":[[["Locale"]]],"meta":{"line":130,"file":"Interaction.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the interaction was created at","readonly":true,"type":[[["number"]]],"meta":{"line":138,"file":"Interaction.js","path":"src/structures"}},{"name":"createdAt","description":"The time the interaction was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":147,"file":"Interaction.js","path":"src/structures"}},{"name":"channel","description":"The channel this interaction was sent in","readonly":true,"nullable":true,"type":[[["TextBasedChannels"]]],"meta":{"line":156,"file":"Interaction.js","path":"src/structures"}},{"name":"guild","description":"The guild this interaction was sent in","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":165,"file":"Interaction.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"deferReply","description":"Defers the reply to this interaction.","inherits":"MessageComponentInteraction#deferReply","inherited":true,"implements":["InteractionResponses#deferReply"],"examples":["// Defer the reply to this interaction\ninteraction.deferReply()\n .then(console.log)\n .catch(console.error)","// Defer to send an ephemeral reply later\ninteraction.deferReply({ ephemeral: true })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for deferring the reply to this interaction","optional":true,"type":[[["InteractionDeferReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":58,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"reply","description":"Creates a reply to this interaction.\nUse the `fetchReply` option to get the bot's reply message.","inherits":"MessageComponentInteraction#reply","inherited":true,"implements":["InteractionResponses#reply"],"examples":["// Reply to the interaction and fetch the response\ninteraction.reply({ content: 'Pong!', fetchReply: true })\n .then((message) => console.log(`Reply sent with content ${message.content}`))\n .catch(console.error);","// Create an ephemeral reply with an embed\nconst embed = new MessageEmbed().setDescription('Pong!');\n\ninteraction.reply({ embeds: [embed], ephemeral: true })\n .then(() => console.log('Reply sent.'))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":93,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"fetchReply","description":"Fetches a reply to this interaction.","see":["Webhook#fetchMessage"],"inherits":"MessageComponentInteraction#fetchReply","inherited":true,"implements":["InteractionResponses#fetchReply"],"examples":["// Fetch the initial reply to this interaction\ninteraction.fetchReply()\n .then(reply => console.log(`Replied with ${reply.content}`))\n .catch(console.error);"],"params":[{"name":"message","description":"The response to fetch","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":127,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"editReply","description":"Edits a reply to this interaction.","see":["Webhook#editMessage"],"inherits":"MessageComponentInteraction#editReply","inherited":true,"implements":["InteractionResponses#editReply"],"examples":["// Edit the initial reply to this interaction\ninteraction.editReply('New content')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The new options for the message","type":[[["string"]],[["MessagePayload"]],[["InteractionEditReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":148,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"deleteReply","description":"Deletes a reply to this interaction.","see":["Webhook#deleteMessage"],"inherits":"MessageComponentInteraction#deleteReply","inherited":true,"implements":["InteractionResponses#deleteReply"],"examples":["// Delete the initial reply to this interaction\ninteraction.deleteReply()\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"message","description":"The response to delete","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":166,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"followUp","description":"Send a follow-up message to this interaction.","inherits":"MessageComponentInteraction#followUp","inherited":true,"implements":["InteractionResponses#followUp"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":175,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"deferUpdate","description":"Defers an update to the message to which the component was attached.","inherits":"MessageComponentInteraction#deferUpdate","inherited":true,"implements":["InteractionResponses#deferUpdate"],"examples":["// Defer updating and reset the component's loading state\ninteraction.deferUpdate()\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for deferring the update to this interaction","optional":true,"type":[[["InteractionDeferUpdateOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":190,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"update","description":"Updates the original message of the component on which the interaction was received on.","inherits":"MessageComponentInteraction#update","inherited":true,"implements":["InteractionResponses#update"],"examples":["// Remove the components from the message\ninteraction.update({\n content: \"A component interaction was received\",\n components: []\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the updated message","type":[[["string"]],[["MessagePayload"]],[["InteractionUpdateOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":216,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"showModal","description":"Shows a modal component","inherits":"MessageComponentInteraction#showModal","inherited":true,"implements":["InteractionResponses#showModal"],"params":[{"name":"modal","description":"The modal to show","type":[[["Modal"]],[["ModalOptions"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":243,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"awaitModalSubmit","description":"Collects a single modal submit interaction that passes the filter.\nThe Promise will reject if the time expires.","inherits":"MessageComponentInteraction#awaitModalSubmit","inherited":true,"implements":["InteractionResponses#awaitModalSubmit"],"examples":["// Collect a modal submit interaction\nconst filter = (interaction) => interaction.customId === 'modal';\ninteraction.awaitModalSubmit({ filter, time: 15_000 })\n .then(interaction => console.log(`${interaction.customId} was submitted!`))\n .catch(console.error);"],"params":[{"name":"options","description":"Options to pass to the internal collector","type":[[["AwaitModalSubmitOptions"]]]}],"returns":[[["Promise","<"],["ModalSubmitInteraction",">"]]],"meta":{"line":275,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"inGuild","description":"Indicates whether this interaction is received from a guild.","inherits":"Interaction#inGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":173,"file":"Interaction.js","path":"src/structures"}},{"name":"inCachedGuild","description":"Indicates whether or not this interaction is both cached and received from a guild.","inherits":"Interaction#inCachedGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":181,"file":"Interaction.js","path":"src/structures"}},{"name":"inRawGuild","description":"Indicates whether or not this interaction is received from an uncached guild.","inherits":"Interaction#inRawGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":189,"file":"Interaction.js","path":"src/structures"}},{"name":"isApplicationCommand","description":"Indicates whether this interaction is a {@link BaseCommandInteraction}.","inherits":"Interaction#isApplicationCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":197,"file":"Interaction.js","path":"src/structures"}},{"name":"isCommand","description":"Indicates whether this interaction is a {@link CommandInteraction}.","inherits":"Interaction#isCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":205,"file":"Interaction.js","path":"src/structures"}},{"name":"isContextMenu","description":"Indicates whether this interaction is a {@link ContextMenuInteraction}","inherits":"Interaction#isContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":213,"file":"Interaction.js","path":"src/structures"}},{"name":"isModalSubmit","description":"Indicates whether this interaction is a {@link ModalSubmitInteraction}","inherits":"Interaction#isModalSubmit","inherited":true,"returns":[[["boolean"]]],"meta":{"line":221,"file":"Interaction.js","path":"src/structures"}},{"name":"isUserContextMenu","description":"Indicates whether this interaction is a {@link UserContextMenuInteraction}","inherits":"Interaction#isUserContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":229,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageContextMenu","description":"Indicates whether this interaction is a {@link MessageContextMenuInteraction}","inherits":"Interaction#isMessageContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":237,"file":"Interaction.js","path":"src/structures"}},{"name":"isAutocomplete","description":"Indicates whether this interaction is an {@link AutocompleteInteraction}","inherits":"Interaction#isAutocomplete","inherited":true,"returns":[[["boolean"]]],"meta":{"line":245,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageComponent","description":"Indicates whether this interaction is a {@link MessageComponentInteraction}.","inherits":"Interaction#isMessageComponent","inherited":true,"returns":[[["boolean"]]],"meta":{"line":253,"file":"Interaction.js","path":"src/structures"}},{"name":"isButton","description":"Indicates whether this interaction is a {@link ButtonInteraction}.","inherits":"Interaction#isButton","inherited":true,"returns":[[["boolean"]]],"meta":{"line":261,"file":"Interaction.js","path":"src/structures"}},{"name":"isSelectMenu","description":"Indicates whether this interaction is a {@link SelectMenuInteraction}.","inherits":"Interaction#isSelectMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":272,"file":"Interaction.js","path":"src/structures"}},{"name":"isRepliable","description":"Indicates whether this interaction can be replied to.","inherits":"Interaction#isRepliable","inherited":true,"returns":[[["boolean"]]],"meta":{"line":283,"file":"Interaction.js","path":"src/structures"}}],"meta":{"line":9,"file":"ButtonInteraction.js","path":"src/structures"}},{"name":"CallState","description":"Represents a call","extends":[[["Base"]]],"props":[{"name":"channelId","description":"The channel ID of the call","type":[[["Snowflake"]]],"meta":{"line":17,"file":"CallState.js","path":"src/structures"}},{"name":"region","description":"The region of the call","type":[[["string"]]],"meta":{"line":30,"file":"CallState.js","path":"src/structures"}},{"name":"channel","description":"The channel of the call","type":[[["DMChannel"]],[["GroupDMChannel"]]],"meta":{"line":41,"file":"CallState.js","path":"src/structures"}},{"name":"ringing","description":"The list of user ID who is ringing","type":[[["Collection","<"],["Snowflake",", "],["User",">"]]],"meta":{"line":58,"file":"CallState.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"setRTCRegion","description":"Sets the voice region of the call","params":[{"name":"region","description":"Region of the call","type":[[["string"]]]}],"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":50,"file":"CallState.js","path":"src/structures"}}],"meta":{"line":10,"file":"CallState.js","path":"src/structures"}},{"name":"CategoryChannel","description":"Represents a guild category channel on Discord.","extends":[[["GuildChannel"]]],"props":[{"name":"parentId","description":"The id of the parent of this channel.","type":[[["null"]]],"meta":{"line":10,"file":"CategoryChannel.js","path":"src/structures"}},{"name":"parent","description":"The parent of this channel.","readonly":true,"type":[[["null"]]],"meta":{"line":16,"file":"CategoryChannel.js","path":"src/structures"}},{"name":"children","description":"Channels that are a part of this category","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["GuildChannel",">"]]],"meta":{"line":28,"file":"CategoryChannel.js","path":"src/structures"}},{"name":"guild","description":"The guild the channel is in","type":[[["Guild"]]],"meta":{"line":30,"file":"GuildChannel.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild the channel is in","type":[[["Snowflake"]]],"meta":{"line":36,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionOverwrites","description":"A manager of permission overwrites that belong to this channel","type":[[["PermissionOverwriteManager"]]],"meta":{"line":43,"file":"GuildChannel.js","path":"src/structures"}},{"name":"name","description":"The name of the guild channel","type":[[["string"]]],"meta":{"line":56,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rawPosition","description":"The raw position of the channel from Discord","type":[[["number"]]],"meta":{"line":64,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionsLocked","description":"If the permissionOverwrites match the parent channel, null if no parent","readonly":true,"nullable":true,"type":[[["boolean"]]],"meta":{"line":107,"file":"GuildChannel.js","path":"src/structures"}},{"name":"position","description":"The position of the channel","readonly":true,"type":[[["number"]]],"meta":{"line":148,"file":"GuildChannel.js","path":"src/structures"}},{"name":"members","description":"A collection of cached members of this channel, mapped by their ids.\nMembers that can view this channel, if the channel is text-based.\nMembers in the channel, if the channel is voice-based.","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]],"meta":{"line":274,"file":"GuildChannel.js","path":"src/structures"}},{"name":"deletable","description":"Whether the channel is deletable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":416,"file":"GuildChannel.js","path":"src/structures"}},{"name":"manageable","description":"Whether the channel is manageable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":425,"file":"GuildChannel.js","path":"src/structures"}},{"name":"viewable","description":"Whether the channel is viewable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":445,"file":"GuildChannel.js","path":"src/structures"}},{"name":"type","description":"The type of the channel","type":[[["ChannelType"]]],"meta":{"line":41,"file":"Channel.js","path":"src/structures"}},{"name":"id","description":"The channel's id","type":[[["Snowflake"]]],"meta":{"line":51,"file":"Channel.js","path":"src/structures"}},{"name":"flags","description":"The flags that are applied to the channel.","nullable":true,"type":[[["Readonly","<"],["ChannelFlags",">"]]],"meta":{"line":58,"file":"Channel.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the channel was created at","readonly":true,"type":[[["number"]]],"meta":{"line":69,"file":"Channel.js","path":"src/structures"}},{"name":"createdAt","description":"The time the channel was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":78,"file":"Channel.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":87,"file":"Channel.js","path":"src/structures"}},{"name":"partial","description":"Whether this Channel is a partial\nThis is always false outside of DM channels.","readonly":true,"type":[[["boolean"]]],"meta":{"line":118,"file":"Channel.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"setParent","description":"Sets the category parent of this channel.\nIt is not possible to set the parent of a CategoryChannel.","params":[{"name":"channel","description":"The channel to set as parent","nullable":true,"type":[[["CategoryChannelResolvable"]]]},{"name":"options","description":"The options for setting the parent","optional":true,"default":"{}","type":[[["SetParentOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":32,"file":"CategoryChannel.js","path":"src/structures"}},{"name":"createChannel","description":"Creates a new channel within this category.\nYou cannot create a channel of type `GUILD_CATEGORY` inside a CategoryChannel.","params":[{"name":"name","description":"The name of the new channel","type":[[["string"]]]},{"name":"options","description":"Options for creating the new channel","type":[[["CategoryCreateChannelOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":77,"file":"CategoryChannel.js","path":"src/structures"}},{"name":"permissionsFor","description":"Gets the overall set of permissions for a member or role in this channel, taking into account channel overwrites.","inherits":"GuildChannel#permissionsFor","inherited":true,"params":[{"name":"memberOrRole","description":"The member or role to obtain the overall permissions for","type":[[["GuildMemberResolvable"]],[["RoleResolvable"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":{"types":[[["Readonly","<"],["Permissions",">"]]],"nullable":true},"meta":{"line":172,"file":"GuildChannel.js","path":"src/structures"}},{"name":"memberPermissions","description":"Gets the overall set of permissions for a member in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#memberPermissions","inherited":true,"params":[{"name":"member","description":"The member to obtain the overall permissions for","type":[[["GuildMember"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","default":true,"type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":212,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rolePermissions","description":"Gets the overall set of permissions for a role in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#rolePermissions","inherited":true,"params":[{"name":"role","description":"The role to obtain the overall permissions for","type":[[["Role"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":241,"file":"GuildChannel.js","path":"src/structures"}},{"name":"lockPermissions","description":"Locks in the permission overwrites from the parent channel.","inherits":"GuildChannel#lockPermissions","inherited":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":261,"file":"GuildChannel.js","path":"src/structures"}},{"name":"edit","description":"Edits the channel.","inherits":"GuildChannel#edit","inherited":true,"examples":["// Edit a channel\nchannel.edit({ name: 'new-channel' })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"data","description":"The new data for the channel","type":[[["ChannelData"]]]},{"name":"reason","description":"Reason for editing this channel","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":289,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setName","description":"Sets a new name for the guild channel.","inherits":"GuildChannel#setName","inherited":true,"examples":["// Set a new channel name\nchannel.setName('not_general')\n .then(newChannel => console.log(`Channel's new name is ${newChannel.name}`))\n .catch(console.error);"],"params":[{"name":"name","description":"The new name for the guild channel","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild channel's name","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":304,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setPosition","description":"Sets a new position for the guild channel.","inherits":"GuildChannel#setPosition","inherited":true,"examples":["// Set a new channel position\nchannel.setPosition(2)\n .then(newChannel => console.log(`Channel's new position is ${newChannel.position}`))\n .catch(console.error);"],"params":[{"name":"position","description":"The new position for the guild channel","type":[[["number"]]]},{"name":"options","description":"Options for setting position","optional":true,"type":[[["SetChannelPositionOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":354,"file":"GuildChannel.js","path":"src/structures"}},{"name":"clone","description":"Clones this channel.","inherits":"GuildChannel#clone","inherited":true,"params":[{"name":"options","description":"The options for cloning this channel","optional":true,"type":[[["GuildChannelCloneOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":369,"file":"GuildChannel.js","path":"src/structures"}},{"name":"equals","description":"Checks if this channel has the same type, topic, position, name, overwrites, and id as another channel.\nIn most cases, a simple `channel.id === channel2.id` will do, and is much faster too.","inherits":"GuildChannel#equals","inherited":true,"params":[{"name":"channel","description":"Channel to compare with","type":[[["GuildChannel"]]]}],"returns":[[["boolean"]]],"meta":{"line":391,"file":"GuildChannel.js","path":"src/structures"}},{"name":"delete","description":"Deletes this channel.","inherits":"GuildChannel#delete","inherited":true,"examples":["// Delete the channel\nchannel.delete('making room for new channels')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"reason","description":"Reason for deleting this channel","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":462,"file":"GuildChannel.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the channel's mention instead of the Channel object.","inherits":"Channel#toString","inherited":true,"examples":["// Logs: Hello from <#123456789012345678>!\nconsole.log(`Hello from ${channel}!`);"],"returns":[[["string"]]],"meta":{"line":129,"file":"Channel.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this channel.","inherits":"Channel#fetch","inherited":true,"params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":152,"file":"Channel.js","path":"src/structures"}},{"name":"isText","description":"Indicates whether this channel is {@link TextBasedChannels text-based}.","inherits":"Channel#isText","inherited":true,"returns":[[["boolean"]]],"meta":{"line":160,"file":"Channel.js","path":"src/structures"}},{"name":"isVoice","description":"Indicates whether this channel is {@link BaseGuildVoiceChannel voice-based}.","inherits":"Channel#isVoice","inherited":true,"returns":[[["boolean"]]],"meta":{"line":168,"file":"Channel.js","path":"src/structures"}},{"name":"isThread","description":"Indicates whether this channel is a {@link ThreadChannel}.","inherits":"Channel#isThread","inherited":true,"returns":[[["boolean"]]],"meta":{"line":176,"file":"Channel.js","path":"src/structures"}},{"name":"isDirectory","description":"Indicates whether this channel is a {@link DirectoryChannel}","inherits":"Channel#isDirectory","inherited":true,"returns":[[["boolean"]]],"meta":{"line":184,"file":"Channel.js","path":"src/structures"}}],"meta":{"line":9,"file":"CategoryChannel.js","path":"src/structures"}},{"name":"Channel","description":"Represents any channel on Discord.","extends":[[["Base"]]],"abstract":true,"props":[{"name":"type","description":"The type of the channel","type":[[["ChannelType"]]],"meta":{"line":41,"file":"Channel.js","path":"src/structures"}},{"name":"id","description":"The channel's id","type":[[["Snowflake"]]],"meta":{"line":51,"file":"Channel.js","path":"src/structures"}},{"name":"flags","description":"The flags that are applied to the channel.","nullable":true,"type":[[["Readonly","<"],["ChannelFlags",">"]]],"meta":{"line":58,"file":"Channel.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the channel was created at","readonly":true,"type":[[["number"]]],"meta":{"line":69,"file":"Channel.js","path":"src/structures"}},{"name":"createdAt","description":"The time the channel was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":78,"file":"Channel.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":87,"file":"Channel.js","path":"src/structures"}},{"name":"partial","description":"Whether this Channel is a partial\nThis is always false outside of DM channels.","readonly":true,"type":[[["boolean"]]],"meta":{"line":118,"file":"Channel.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"toString","description":"When concatenated with a string, this automatically returns the channel's mention instead of the Channel object.","examples":["// Logs: Hello from <#123456789012345678>!\nconsole.log(`Hello from ${channel}!`);"],"returns":[[["string"]]],"meta":{"line":129,"file":"Channel.js","path":"src/structures"}},{"name":"delete","description":"Deletes this channel.","examples":["// Delete the channel\nchannel.delete()\n .then(console.log)\n .catch(console.error);"],"async":true,"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":142,"file":"Channel.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this channel.","params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":152,"file":"Channel.js","path":"src/structures"}},{"name":"isText","description":"Indicates whether this channel is {@link TextBasedChannels text-based}.","returns":[[["boolean"]]],"meta":{"line":160,"file":"Channel.js","path":"src/structures"}},{"name":"isVoice","description":"Indicates whether this channel is {@link BaseGuildVoiceChannel voice-based}.","returns":[[["boolean"]]],"meta":{"line":168,"file":"Channel.js","path":"src/structures"}},{"name":"isThread","description":"Indicates whether this channel is a {@link ThreadChannel}.","returns":[[["boolean"]]],"meta":{"line":176,"file":"Channel.js","path":"src/structures"}},{"name":"isDirectory","description":"Indicates whether this channel is a {@link DirectoryChannel}","returns":[[["boolean"]]],"meta":{"line":184,"file":"Channel.js","path":"src/structures"}}],"meta":{"line":32,"file":"Channel.js","path":"src/structures"}},{"name":"ClientPresence","description":"Represents the client's presence.","extends":[[["Presence"]]],"props":[{"name":"userId","description":"The presence's user id","type":[[["Snowflake"]]],"meta":{"line":50,"file":"Presence.js","path":"src/structures"}},{"name":"guild","description":"The guild this presence is in","nullable":true,"type":[[["Guild"]]],"meta":{"line":56,"file":"Presence.js","path":"src/structures"}},{"name":"user","description":"The user of this presence","readonly":true,"nullable":true,"type":[[["User"]]],"meta":{"line":66,"file":"Presence.js","path":"src/structures"}},{"name":"member","description":"The member of this presence","readonly":true,"nullable":true,"type":[[["GuildMember"]]],"meta":{"line":75,"file":"Presence.js","path":"src/structures"}},{"name":"status","description":"The status of this presence","type":[[["PresenceStatus"]]],"meta":{"line":85,"file":"Presence.js","path":"src/structures"}},{"name":"activities","description":"The activities of this presence (Always `Activity[]` if not ClientUser)","type":[[["Array","<"],["CustomStatus",">"]],[["Array","<"],["RichPresence",">"]],[["Array","<"],["SpotifyRPC",">"]],[["Array","<"],["Activity",">"]]],"meta":{"line":95,"file":"Presence.js","path":"src/structures"}},{"name":"clientStatus","description":"The devices this presence is on","nullable":true,"type":[[["Object"]]],"props":[{"name":"web","description":"The current presence in the web application","nullable":true,"type":[[["ClientPresenceStatus"]]]},{"name":"mobile","description":"The current presence in the mobile application","nullable":true,"type":[[["ClientPresenceStatus"]]]},{"name":"desktop","description":"The current presence in the desktop application","nullable":true,"type":[[["ClientPresenceStatus"]]]}],"meta":{"line":120,"file":"Presence.js","path":"src/structures"}},{"name":"lastModified","description":"The timestamp this presence was last updated","type":[[["number"]]],"meta":{"line":130,"file":"Presence.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"set","description":"Sets the client's presence","params":[{"name":"presence","description":"The data to set the presence to","type":[[["PresenceData"]]]}],"returns":[[["ClientPresence"]]],"meta":{"line":23,"file":"ClientPresence.js","path":"src/structures"}},{"name":"_parse","description":"Parses presence data into a packet ready to be sent to Discord","access":"private","params":[{"name":"presence","description":"The data to parse","type":[[["PresenceData"]]]}],"returns":[[["APIPresence"]]],"meta":{"line":37,"file":"ClientPresence.js","path":"src/structures"}},{"name":"equals","description":"Whether this presence is equal to another.","inherits":"Presence#equals","inherited":true,"params":[{"name":"presence","description":"The presence to compare with","type":[[["Presence"]]]}],"returns":[[["boolean"]]],"meta":{"line":159,"file":"Presence.js","path":"src/structures"}}],"meta":{"line":13,"file":"ClientPresence.js","path":"src/structures"}},{"name":"ClientUser","description":"Represents the logged in client's Discord user.","extends":[[["User"]]],"props":[{"name":"verified","description":"Whether or not this account has been verified","type":[[["boolean"]]],"meta":{"line":32,"file":"ClientUser.js","path":"src/structures"}},{"name":"mfaEnabled","description":"If the bot's {@link Application#owner Owner} has MFA enabled on their account","nullable":true,"type":[[["boolean"]]],"meta":{"line":40,"file":"ClientUser.js","path":"src/structures"}},{"name":"purchasedFlags","description":"Purchased state of the client user.","type":[[["Readonly","<"],["PurchasedFlags",">"]]],"meta":{"line":52,"file":"ClientUser.js","path":"src/structures"}},{"name":"premiumUsageFlags","description":"Premium usage state of the client user.","type":[[["Readonly","<"],["PremiumUsageFlags",">"]]],"meta":{"line":62,"file":"ClientUser.js","path":"src/structures"}},{"name":"phone","description":"Phone number of the client user.","nullable":true,"type":[[["string"]]],"meta":{"line":72,"file":"ClientUser.js","path":"src/structures"}},{"name":"nsfwAllowed","description":"Whether or not the client user is allowed to send NSFW messages [iOS device].","nullable":true,"type":[[["boolean"]]],"meta":{"line":80,"file":"ClientUser.js","path":"src/structures"}},{"name":"email","description":"Email address of the client user.","nullable":true,"type":[[["string"]]],"meta":{"line":88,"file":"ClientUser.js","path":"src/structures"}},{"name":"bio","description":"About me (User)\nThe user must be force fetched for this property to be present or be updated","nullable":true,"type":[[["string"]]],"meta":{"line":97,"file":"ClientUser.js","path":"src/structures"}},{"name":"pronouns","description":"Pronouns (User)\nThe user must be force fetched for this property to be present or be updated","nullable":true,"type":[[["string"]]],"meta":{"line":106,"file":"ClientUser.js","path":"src/structures"}},{"name":"premiumType","description":"Premium types denote the level of premium a user has.","see":["{@link https://discord-userdoccers.vercel.app/resources/user#premium-type}"],"type":[[["number"]]],"meta":{"line":115,"file":"ClientUser.js","path":"src/structures"}},{"name":"presence","description":"Represents the client user's presence","readonly":true,"type":[[["ClientPresence"]]],"meta":{"line":124,"file":"ClientUser.js","path":"src/structures"}},{"name":"id","description":"The user's id","type":[[["Snowflake"]]],"meta":{"line":25,"file":"User.js","path":"src/structures"}},{"name":"username","description":"The username of the user","nullable":true,"type":[[["string"]]],"meta":{"line":42,"file":"User.js","path":"src/structures"}},{"name":"globalName","description":"The global name of this user","nullable":true,"type":[[["string"]]],"meta":{"line":52,"file":"User.js","path":"src/structures"}},{"name":"bot","description":"Whether or not the user is a bot","nullable":true,"type":[[["boolean"]]],"meta":{"line":62,"file":"User.js","path":"src/structures"}},{"name":"discriminator","description":"The discriminator of this user\n`'0'`, or a 4-digit stringified number if they're using the legacy username system","nullable":true,"type":[[["string"]]],"meta":{"line":73,"file":"User.js","path":"src/structures"}},{"name":"avatar","description":"The user avatar's hash","nullable":true,"type":[[["string"]]],"meta":{"line":83,"file":"User.js","path":"src/structures"}},{"name":"banner","description":"The user banner's hash\nThe user must be force fetched for this property to be present or be updated","nullable":true,"type":[[["string"]]],"meta":{"line":94,"file":"User.js","path":"src/structures"}},{"name":"bannerColor","description":"The user banner's hex\nThe user must be force fetched for this property to be present or be updated","nullable":true,"type":[[["string"]]],"meta":{"line":105,"file":"User.js","path":"src/structures"}},{"name":"accentColor","description":"The base 10 accent color of the user's banner\nThe user must be force fetched for this property to be present or be updated","nullable":true,"type":[[["number"]]],"meta":{"line":116,"file":"User.js","path":"src/structures"}},{"name":"system","description":"Whether the user is an Official Discord System user (part of the urgent message system)","nullable":true,"type":[[["boolean"]]],"meta":{"line":126,"file":"User.js","path":"src/structures"}},{"name":"flags","description":"The flags for this user","nullable":true,"type":[[["UserFlags"]]],"meta":{"line":136,"file":"User.js","path":"src/structures"}},{"name":"avatarDecoration","description":"The user avatar decoration's hash","nullable":true,"type":[[["string"]]],"meta":{"line":144,"file":"User.js","path":"src/structures"}},{"name":"avatarDecorationSKUId","description":"The ID of the avatar decoration's SKU","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":149,"file":"User.js","path":"src/structures"}},{"name":"clan","description":"The primary clan the user is in","nullable":true,"type":[[["UserClan"]]],"meta":{"line":169,"file":"User.js","path":"src/structures"}},{"name":"partial","description":"Whether this User is a partial","readonly":true,"type":[[["boolean"]]],"meta":{"line":185,"file":"User.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the user was created at","readonly":true,"type":[[["number"]]],"meta":{"line":194,"file":"User.js","path":"src/structures"}},{"name":"createdAt","description":"The time the user was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":203,"file":"User.js","path":"src/structures"}},{"name":"defaultAvatarURL","description":"A link to the user's default avatar","readonly":true,"type":[[["string"]]],"meta":{"line":241,"file":"User.js","path":"src/structures"}},{"name":"hexAccentColor","description":"The hexadecimal version of the user accent color, with a leading hash\nThe user must be force fetched for this property to be present","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":262,"file":"User.js","path":"src/structures"}},{"name":"tag","description":"The tag of this user\nThis user's username, or their legacy tag (e.g. `hydrabolt#0001`)\nif they're using the legacy username system","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":287,"file":"User.js","path":"src/structures"}},{"name":"displayName","description":"The global name of this user, or their username if they don't have one","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":300,"file":"User.js","path":"src/structures"}},{"name":"dmChannel","description":"The DM between the client's user and this user","readonly":true,"nullable":true,"type":[[["DMChannel"]]],"meta":{"line":309,"file":"User.js","path":"src/structures"}},{"name":"note","description":"The function returns the note associated with a specific client ID from a cache.","nullable":true,"type":[[["string"]]],"meta":{"line":454,"file":"User.js","path":"src/structures"}},{"name":"voice","description":"The voice state of this member","readonly":true,"type":[[["VoiceState"]]],"meta":{"line":463,"file":"User.js","path":"src/structures"}},{"name":"relationship","description":"Check relationship status (Client -> User)","readonly":true,"type":[[["RelationshipType"]]],"meta":{"line":507,"file":"User.js","path":"src/structures"}},{"name":"friendNickname","description":"Get friend nickname","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":517,"file":"User.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"edit","description":"Edits the logged in client.","params":[{"name":"options","description":"The new data","type":[[["ClientUserEditData"]]]}],"async":true,"returns":[[["Promise","<"],["ClientUser",">"]]],"meta":{"line":142,"file":"ClientUser.js","path":"src/structures"}},{"name":"setUsername","description":"Sets the username of the logged in client.\nChanging usernames in Discord is heavily rate limited, with only 2 requests\nevery hour. Use this sparingly!","examples":["// Set username\nclient.user.setUsername('discordjs', 'passw@rd')\n .then(user => console.log(`My new username is ${user.username}`))\n .catch(console.error);"],"params":[{"name":"username","description":"The new username","type":[[["string"]]]},{"name":"password","description":"Current Password","type":[[["string"]]]}],"returns":[[["Promise","<"],["ClientUser",">"]]],"meta":{"line":162,"file":"ClientUser.js","path":"src/structures"}},{"name":"setAvatar","description":"Sets the avatar of the logged in client.","examples":["// Set avatar\nclient.user.setAvatar('./avatar.png')\n .then(user => console.log(`New avatar set!`))\n .catch(console.error);"],"params":[{"name":"avatar","description":"The new avatar","nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]}],"async":true,"returns":[[["Promise","<"],["ClientUser",">"]]],"meta":{"line":176,"file":"ClientUser.js","path":"src/structures"}},{"name":"setPresence","description":"Sets the full presence of the client user.","see":["{@link https://github.com/aiko-chan-ai/discord.js-selfbot-v13/blob/main/Document/RichPresence.md}"],"examples":["// Set the client user's presence\nclient.user.setPresence({ activities: [{ name: 'with discord.js' }], status: 'idle' });"],"params":[{"name":"data","description":"Data for the presence","type":[[["PresenceData"]]]}],"returns":[[["ClientPresence"]]],"meta":{"line":208,"file":"ClientUser.js","path":"src/structures"}},{"name":"setStatus","description":"Sets the status of the client user.","examples":["// Set the client user's status\nclient.user.setStatus('idle');"],"params":[{"name":"status","description":"Status to change to","type":[[["PresenceStatusData"]]]},{"name":"shardId","description":"Shard id(s) to have the activity set on","optional":true,"type":[[["number"]],[["Array","<"],["number",">"]]]}],"returns":[[["ClientPresence"]]],"meta":{"line":230,"file":"ClientUser.js","path":"src/structures"}},{"name":"setActivity","description":"Sets the activity the client user is playing.","see":["{@link https://github.com/aiko-chan-ai/discord.js-selfbot-v13/blob/main/Document/RichPresence.md}"],"examples":["// Set the client user's activity\nclient.user.setActivity('discord.js', { type: 'WATCHING' });"],"params":[{"name":"name","description":"Activity being played, or options for setting the activity","type":[[["string"]],[["ActivityOptions"]]]},{"name":"options","description":"Options for setting the activity","optional":true,"type":[[["ActivityOptions"]]]}],"returns":[[["ClientPresence"]]],"meta":{"line":253,"file":"ClientUser.js","path":"src/structures"}},{"name":"setAFK","description":"Sets/removes the AFK flag for the client user.","params":[{"name":"afk","description":"Whether or not the user is AFK","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"shardId","description":"Shard Id(s) to have the AFK flag set on","optional":true,"type":[[["number"]],[["Array","<"],["number",">"]]]}],"returns":[[["ClientPresence"]]],"meta":{"line":266,"file":"ClientUser.js","path":"src/structures"}},{"name":"setBanner","description":"Sets the banner of the logged in client.","examples":["// Set banner\nclient.user.setBanner('./banner.png')\n .then(user => console.log(`New banner set!`))\n .catch(console.error);"],"params":[{"name":"banner","description":"The new banner","nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]}],"async":true,"returns":[[["Promise","<"],["ClientUser",">"]]],"meta":{"line":280,"file":"ClientUser.js","path":"src/structures"}},{"name":"setHypeSquad","description":"Set HyperSquad House","examples":["// Set HyperSquad HOUSE_BRAVERY\nclient.user.setHypeSquad(1); || client.user.setHypeSquad('HOUSE_BRAVERY');\n// Leave\nclient.user.setHypeSquad(0);"],"params":[{"name":"type","description":"* `LEAVE`: 0\n* `HOUSE_BRAVERY`: 1\n* `HOUSE_BRILLIANCE`: 2\n* `HOUSE_BALANCE`: 3","type":[[["string"]],[["number"]]]}],"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":299,"file":"ClientUser.js","path":"src/structures"}},{"name":"setAccentColor","description":"Set Accent color","params":[{"name":"color","description":"Color to set","default":null,"type":[[["ColorResolvable"]]]}],"returns":[[["Promise","<"],["ClientUser",">"]]],"meta":{"line":332,"file":"ClientUser.js","path":"src/structures"}},{"name":"setAboutMe","description":"Set About me","params":[{"name":"bio","description":"Bio to set","optional":true,"default":null,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ClientUser",">"]]],"meta":{"line":341,"file":"ClientUser.js","path":"src/structures"}},{"name":"createFriendInvite","description":"Create an invite [Friend Invites]\nmaxAge: 604800 | maxUses: 1","see":["{@link https://github.com/13-05/hidden-disc-docs#js-snippet-for-creating-friend-invites}"],"examples":["// Options not working\nclient.user.createFriendInvite();\n .then(console.log)\n .catch(console.error);"],"async":true,"returns":[[["Promise","<"],["Invite",">"]]],"meta":{"line":356,"file":"ClientUser.js","path":"src/structures"}},{"name":"getAllFriendInvites","description":"Get all friend invites","async":true,"returns":[[["Promise","<"],["Collection","<"],["string",", "],["Invite",">>"]]],"meta":{"line":367,"file":"ClientUser.js","path":"src/structures"}},{"name":"revokeAllFriendInvites","description":"Revoke all friend invites","returns":[[["Promise","<"],["void",">"]]],"meta":{"line":380,"file":"ClientUser.js","path":"src/structures"}},{"name":"setSamsungActivity","description":"Sets Discord Playing status to \"Playing on Samsung Galaxy\". Only selected gamss from discords database works","examples":["// Set the client user's status\nclient.user.setSamsungActivity('com.YostarJP.BlueArchive', 'START');\n// Update\nclient.user.setSamsungActivity('com.miHoYo.bh3oversea', 'UPDATE');\n// Stop\nclient.user.setSamsungActivity('com.miHoYo.GenshinImpact', 'STOP');"],"params":[{"name":"packageName","description":"Android package name","type":[[["string"]]]},{"name":"type","description":"Must be START, UPDATE, or STOP","default":"START","nullable":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["ClientUser",">"]]],"meta":{"line":397,"file":"ClientUser.js","path":"src/structures"}},{"name":"stopRinging","description":"Stop ringing","params":[{"name":"channel","description":"DMChannel | GroupDMChannel","type":[[["ChannelResolvable"]]]}],"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":417,"file":"ClientUser.js","path":"src/structures"}},{"name":"fetchBurstCredit","description":"Super Reactions","returns":[[["Promise","<"],["number",">"]]],"meta":{"line":427,"file":"ClientUser.js","path":"src/structures"}},{"name":"setGlobalName","description":"Set global display name","params":[{"name":"globalName","description":"The new display name","type":[[["string"]]]}],"returns":[[["Promise","<"],["ClientUser",">"]]],"meta":{"line":436,"file":"ClientUser.js","path":"src/structures"}},{"name":"setPronouns","description":"Set pronouns","params":[{"name":"pronouns","description":"Your pronouns","nullable":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ClientUser",">"]]],"meta":{"line":445,"file":"ClientUser.js","path":"src/structures"}},{"name":"avatarURL","description":"A link to the user's avatar.","inherits":"User#avatarURL","inherited":true,"params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["ImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":212,"file":"User.js","path":"src/structures"}},{"name":"avatarDecorationURL","description":"A link to the user's avatar decoration.","inherits":"User#avatarDecorationURL","inherited":true,"params":[{"name":"options","description":"Options for the image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":222,"file":"User.js","path":"src/structures"}},{"name":"clanBadgeURL","description":"A link to the user's clan badge.","inherits":"User#clanBadgeURL","inherited":true,"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":231,"file":"User.js","path":"src/structures"}},{"name":"displayAvatarURL","description":"A link to the user's avatar if they have one.\nOtherwise a link to their default avatar will be returned.","inherits":"User#displayAvatarURL","inherited":true,"params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["ImageURLOptions"]]]}],"returns":[[["string"]]],"meta":{"line":252,"file":"User.js","path":"src/structures"}},{"name":"bannerURL","description":"A link to the user's banner.\nThis method will throw an error if called before the user is force fetched.\nSee {@link User#banner} for more info","inherits":"User#bannerURL","inherited":true,"params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["ImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":274,"file":"User.js","path":"src/structures"}},{"name":"createDM","description":"Creates a DM channel between the client and the user.","inherits":"User#createDM","inherited":true,"params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["DMChannel",">"]]],"meta":{"line":318,"file":"User.js","path":"src/structures"}},{"name":"deleteDM","description":"Deletes a DM channel (if one exists) between the client and the user. Resolves with the channel if successful.","inherits":"User#deleteDM","inherited":true,"returns":[[["Promise","<"],["DMChannel",">"]]],"meta":{"line":326,"file":"User.js","path":"src/structures"}},{"name":"equals","description":"Checks if the user is equal to another.\nIt compares id, username, discriminator, avatar, banner, accent color, and bot flags.\nIt is recommended to compare equality by using `user.id === user2.id` unless you want to compare all properties.","inherits":"User#equals","inherited":true,"params":[{"name":"user","description":"User to compare with","type":[[["User"]]]}],"returns":[[["boolean"]]],"meta":{"line":337,"file":"User.js","path":"src/structures"}},{"name":"_equals","description":"Compares the user with an API user object","access":"private","inherits":"User#_equals","inherited":true,"params":[{"name":"user","description":"The API user object to compare","type":[[["APIUser"]]]}],"returns":[[["boolean"]]],"meta":{"line":357,"file":"User.js","path":"src/structures"}},{"name":"fetchFlags","description":"Fetches this user's flags.","inherits":"User#fetchFlags","inherited":true,"params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["UserFlags",">"]]],"meta":{"line":376,"file":"User.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this user.","inherits":"User#fetch","inherited":true,"params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["User",">"]]],"meta":{"line":385,"file":"User.js","path":"src/structures"}},{"name":"getProfile","description":"Returns a user profile object for a given user ID.\nThis endpoint requires one of the following:\n- The user is a bot\n- The user shares a mutual guild with the current user\n- The user is a friend of the current user\n- The user is a friend suggestion of the current user\n- The user has an outgoing friend request to the current user","see":["{@link https://discord-userdoccers.vercel.app/resources/user#response-body}"],"inherits":"User#getProfile","inherited":true,"params":[{"name":"guildId","description":"The guild ID to get the user's member profile in","optional":true,"type":[[["Snowflake"]]]}],"returns":[[["Promise","<"],["Object",">"]]],"meta":{"line":401,"file":"User.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the user's mention instead of the User object.","inherits":"User#toString","inherited":true,"examples":["// Logs: Hello from <@123456789012345678>!\nconsole.log(`Hello from ${user}!`);"],"returns":[[["string"]]],"meta":{"line":419,"file":"User.js","path":"src/structures"}},{"name":"setNote","description":"The function updates the note of a user and returns the updated user.","inherits":"User#setNote","inherited":true,"params":[{"name":"note","description":"The `note` parameter is the new value that you want to set for the note of the\nuser. It is an optional parameter and its default value is `null`.","optional":true,"default":null,"type":[[["string"]],[["null"]],[["undefined"]]]}],"async":true,"returns":{"types":[[["Promise","<"],["User",">"]]],"description":"The `setNote` method is returning the `User` object."},"meta":{"line":445,"file":"User.js","path":"src/structures"}},{"name":"ring","description":"Ring the user's phone / PC (call)","inherits":"User#ring","inherited":true,"deprecated":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":476,"file":"User.js","path":"src/structures"}},{"name":"sendFriendRequest","description":"Send Friend Request to the user","inherits":"User#sendFriendRequest","inherited":true,"returns":[[["Promise","<"],["boolean",">"]]],"meta":{"line":489,"file":"User.js","path":"src/structures"}},{"name":"deleteRelationship","description":"Unblock / Unfriend / Cancels a friend request","inherits":"User#deleteRelationship","inherited":true,"returns":[[["Promise","<"],["boolean",">"]]],"meta":{"line":498,"file":"User.js","path":"src/structures"}},{"name":"send","description":"Sends a message to this user.","inherits":"User#send","inherited":true,"implements":["TextBasedChannel#send"],"examples":["// Send a direct message\nuser.send('Hello!')\n .then(message => console.log(`Sent message: ${message.content} to ${user.tag}`))\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["MessageOptions"]]]}],"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":522,"file":"User.js","path":"src/structures"}}],"meta":{"line":16,"file":"ClientUser.js","path":"src/structures"}},{"name":"CommandInteraction","description":"Represents a command interaction.","extends":[[["BaseCommandInteraction"]]],"props":[{"name":"options","description":"The options passed to the command.","type":[[["CommandInteractionOptionResolver"]]],"meta":{"line":18,"file":"CommandInteraction.js","path":"src/structures"}},{"name":"channelId","description":"The id of the channel this interaction was sent in","type":[[["Snowflake"]]],"meta":{"line":20,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"commandId","description":"The invoked application command's id","type":[[["Snowflake"]]],"meta":{"line":30,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"commandName","description":"The invoked application command's name","type":[[["string"]]],"meta":{"line":36,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"deferred","description":"Whether the reply to this interaction has been deferred","type":[[["boolean"]]],"meta":{"line":42,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"replied","description":"Whether this interaction has already been replied to","type":[[["boolean"]]],"meta":{"line":48,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"ephemeral","description":"Whether the reply to this interaction is ephemeral","nullable":true,"type":[[["boolean"]]],"meta":{"line":54,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"webhook","description":"An associated interaction webhook, can be used to further interact with this interaction","type":[[["InteractionWebhook"]]],"meta":{"line":60,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"command","description":"The invoked application command, if it was fetched before","nullable":true,"type":[[["ApplicationCommand"]]],"meta":{"line":67,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"type","description":"The interaction's type","type":[[["InteractionType"]]],"meta":{"line":20,"file":"Interaction.js","path":"src/structures"}},{"name":"id","description":"The interaction's id","type":[[["Snowflake"]]],"meta":{"line":26,"file":"Interaction.js","path":"src/structures"}},{"name":"token","description":"The interaction's token","readonly":true,"type":[[["string"]]],"meta":{"line":28,"file":"Interaction.js","path":"src/structures"}},{"name":"applicationId","description":"The application's id","type":[[["Snowflake"]]],"meta":{"line":40,"file":"Interaction.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild this interaction was sent in","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":52,"file":"Interaction.js","path":"src/structures"}},{"name":"user","description":"The user which sent this interaction","type":[[["User"]]],"meta":{"line":58,"file":"Interaction.js","path":"src/structures"}},{"name":"member","description":"If this interaction was sent in a guild, the member which sent it","nullable":true,"type":[[["GuildMember"]],[["APIGuildMember"]]],"meta":{"line":64,"file":"Interaction.js","path":"src/structures"}},{"name":"version","description":"The version","type":[[["number"]]],"meta":{"line":70,"file":"Interaction.js","path":"src/structures"}},{"name":"appPermissions","description":"Set of permissions the application or bot has within the channel the interaction was sent from","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":76,"file":"Interaction.js","path":"src/structures"}},{"name":"memberPermissions","description":"The permissions of the member, if one exists, in the channel this interaction was executed in","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":82,"file":"Interaction.js","path":"src/structures"}},{"name":"locale","description":"The locale of the user who invoked this interaction","type":[[["Locale"]]],"meta":{"line":124,"file":"Interaction.js","path":"src/structures"}},{"name":"guildLocale","description":"The preferred locale from the guild this interaction was sent in","nullable":true,"type":[[["Locale"]]],"meta":{"line":130,"file":"Interaction.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the interaction was created at","readonly":true,"type":[[["number"]]],"meta":{"line":138,"file":"Interaction.js","path":"src/structures"}},{"name":"createdAt","description":"The time the interaction was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":147,"file":"Interaction.js","path":"src/structures"}},{"name":"channel","description":"The channel this interaction was sent in","readonly":true,"nullable":true,"type":[[["TextBasedChannels"]]],"meta":{"line":156,"file":"Interaction.js","path":"src/structures"}},{"name":"guild","description":"The guild this interaction was sent in","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":165,"file":"Interaction.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"toString","description":"Returns a string representation of the command interaction.\nThis can then be copied by a user and executed again in a new command while keeping the option order.","returns":[[["string"]]],"meta":{"line":30,"file":"CommandInteraction.js","path":"src/structures"}},{"name":"transformResolved","description":"Transforms the resolved received from the API.","access":"private","inherits":"BaseCommandInteraction#transformResolved","inherited":true,"params":[{"name":"resolved","description":"The received resolved objects","type":[[["APIInteractionDataResolved"]]]}],"returns":[[["CommandInteractionResolvedData"]]],"meta":{"line":89,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"transformOption","description":"Transforms an option received from the API.","access":"private","inherits":"BaseCommandInteraction#transformOption","inherited":true,"params":[{"name":"option","description":"The received option","type":[[["APIApplicationCommandOption"]]]},{"name":"resolved","description":"The resolved interaction data","type":[[["APIInteractionDataResolved"]]]}],"returns":[[["CommandInteractionOption"]]],"meta":{"line":162,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"deferReply","description":"Defers the reply to this interaction.","inherits":"BaseCommandInteraction#deferReply","inherited":true,"implements":["InteractionResponses#deferReply"],"examples":["// Defer the reply to this interaction\ninteraction.deferReply()\n .then(console.log)\n .catch(console.error)","// Defer to send an ephemeral reply later\ninteraction.deferReply({ ephemeral: true })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for deferring the reply to this interaction","optional":true,"type":[[["InteractionDeferReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":58,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"reply","description":"Creates a reply to this interaction.\nUse the `fetchReply` option to get the bot's reply message.","inherits":"BaseCommandInteraction#reply","inherited":true,"implements":["InteractionResponses#reply"],"examples":["// Reply to the interaction and fetch the response\ninteraction.reply({ content: 'Pong!', fetchReply: true })\n .then((message) => console.log(`Reply sent with content ${message.content}`))\n .catch(console.error);","// Create an ephemeral reply with an embed\nconst embed = new MessageEmbed().setDescription('Pong!');\n\ninteraction.reply({ embeds: [embed], ephemeral: true })\n .then(() => console.log('Reply sent.'))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":93,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"fetchReply","description":"Fetches a reply to this interaction.","see":["Webhook#fetchMessage"],"inherits":"BaseCommandInteraction#fetchReply","inherited":true,"implements":["InteractionResponses#fetchReply"],"examples":["// Fetch the initial reply to this interaction\ninteraction.fetchReply()\n .then(reply => console.log(`Replied with ${reply.content}`))\n .catch(console.error);"],"params":[{"name":"message","description":"The response to fetch","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":127,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"editReply","description":"Edits a reply to this interaction.","see":["Webhook#editMessage"],"inherits":"BaseCommandInteraction#editReply","inherited":true,"implements":["InteractionResponses#editReply"],"examples":["// Edit the initial reply to this interaction\ninteraction.editReply('New content')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The new options for the message","type":[[["string"]],[["MessagePayload"]],[["InteractionEditReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":148,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"deleteReply","description":"Deletes a reply to this interaction.","see":["Webhook#deleteMessage"],"inherits":"BaseCommandInteraction#deleteReply","inherited":true,"implements":["InteractionResponses#deleteReply"],"examples":["// Delete the initial reply to this interaction\ninteraction.deleteReply()\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"message","description":"The response to delete","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":166,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"followUp","description":"Send a follow-up message to this interaction.","inherits":"BaseCommandInteraction#followUp","inherited":true,"implements":["InteractionResponses#followUp"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":175,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"showModal","description":"Shows a modal component","inherits":"BaseCommandInteraction#showModal","inherited":true,"implements":["InteractionResponses#showModal"],"params":[{"name":"modal","description":"The modal to show","type":[[["Modal"]],[["ModalOptions"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":243,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"awaitModalSubmit","description":"Collects a single modal submit interaction that passes the filter.\nThe Promise will reject if the time expires.","inherits":"BaseCommandInteraction#awaitModalSubmit","inherited":true,"implements":["InteractionResponses#awaitModalSubmit"],"examples":["// Collect a modal submit interaction\nconst filter = (interaction) => interaction.customId === 'modal';\ninteraction.awaitModalSubmit({ filter, time: 15_000 })\n .then(interaction => console.log(`${interaction.customId} was submitted!`))\n .catch(console.error);"],"params":[{"name":"options","description":"Options to pass to the internal collector","type":[[["AwaitModalSubmitOptions"]]]}],"returns":[[["Promise","<"],["ModalSubmitInteraction",">"]]],"meta":{"line":275,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"inGuild","description":"Indicates whether this interaction is received from a guild.","inherits":"Interaction#inGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":173,"file":"Interaction.js","path":"src/structures"}},{"name":"inCachedGuild","description":"Indicates whether or not this interaction is both cached and received from a guild.","inherits":"Interaction#inCachedGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":181,"file":"Interaction.js","path":"src/structures"}},{"name":"inRawGuild","description":"Indicates whether or not this interaction is received from an uncached guild.","inherits":"Interaction#inRawGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":189,"file":"Interaction.js","path":"src/structures"}},{"name":"isApplicationCommand","description":"Indicates whether this interaction is a {@link BaseCommandInteraction}.","inherits":"Interaction#isApplicationCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":197,"file":"Interaction.js","path":"src/structures"}},{"name":"isCommand","description":"Indicates whether this interaction is a {@link CommandInteraction}.","inherits":"Interaction#isCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":205,"file":"Interaction.js","path":"src/structures"}},{"name":"isContextMenu","description":"Indicates whether this interaction is a {@link ContextMenuInteraction}","inherits":"Interaction#isContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":213,"file":"Interaction.js","path":"src/structures"}},{"name":"isModalSubmit","description":"Indicates whether this interaction is a {@link ModalSubmitInteraction}","inherits":"Interaction#isModalSubmit","inherited":true,"returns":[[["boolean"]]],"meta":{"line":221,"file":"Interaction.js","path":"src/structures"}},{"name":"isUserContextMenu","description":"Indicates whether this interaction is a {@link UserContextMenuInteraction}","inherits":"Interaction#isUserContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":229,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageContextMenu","description":"Indicates whether this interaction is a {@link MessageContextMenuInteraction}","inherits":"Interaction#isMessageContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":237,"file":"Interaction.js","path":"src/structures"}},{"name":"isAutocomplete","description":"Indicates whether this interaction is an {@link AutocompleteInteraction}","inherits":"Interaction#isAutocomplete","inherited":true,"returns":[[["boolean"]]],"meta":{"line":245,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageComponent","description":"Indicates whether this interaction is a {@link MessageComponentInteraction}.","inherits":"Interaction#isMessageComponent","inherited":true,"returns":[[["boolean"]]],"meta":{"line":253,"file":"Interaction.js","path":"src/structures"}},{"name":"isButton","description":"Indicates whether this interaction is a {@link ButtonInteraction}.","inherits":"Interaction#isButton","inherited":true,"returns":[[["boolean"]]],"meta":{"line":261,"file":"Interaction.js","path":"src/structures"}},{"name":"isSelectMenu","description":"Indicates whether this interaction is a {@link SelectMenuInteraction}.","inherits":"Interaction#isSelectMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":272,"file":"Interaction.js","path":"src/structures"}},{"name":"isRepliable","description":"Indicates whether this interaction can be replied to.","inherits":"Interaction#isRepliable","inherited":true,"returns":[[["boolean"]]],"meta":{"line":283,"file":"Interaction.js","path":"src/structures"}}],"meta":{"line":10,"file":"CommandInteraction.js","path":"src/structures"}},{"name":"CommandInteractionOptionResolver","description":"A resolver for command interaction options.","props":[{"name":"client","description":"The client that instantiated this.","readonly":true,"type":[[["Client"]]],"meta":{"line":10,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"_group","description":"The name of the subcommand group.","access":"private","nullable":true,"type":[[["string"]]],"meta":{"line":23,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"_subcommand","description":"The name of the subcommand.","access":"private","nullable":true,"type":[[["string"]]],"meta":{"line":30,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"_hoistedOptions","description":"The bottom-level options for the interaction.\nIf there is a subcommand (or subcommand and group), this is the options for the subcommand.","access":"private","type":[[["Array","<"],["CommandInteractionOption",">"]]],"meta":{"line":38,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"data","description":"The interaction options array.","readonly":true,"type":[[["ReadonlyArray","<"],["CommandInteractionOption",">"]]],"meta":{"line":51,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"resolved","description":"The interaction resolved data","type":[[["Readonly","<"],["CommandInteractionResolvedData",">"]]],"meta":{"line":59,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}}],"methods":[{"name":"get","description":"Gets an option by its name.","params":[{"name":"name","description":"The name of the option.","type":[[["string"]]]},{"name":"required","description":"Whether to throw an error if the option is not found.","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":{"types":[[["CommandInteractionOption"]]],"description":"The option, if found.","nullable":true},"meta":{"line":73,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"_getTypedOption","description":"Gets an option by name and property and checks its type.","access":"private","params":[{"name":"name","description":"The name of the option.","type":[[["string"]]]},{"name":"type","description":"The type of the option.","type":[[["ApplicationCommandOptionType"]]]},{"name":"properties","description":"The properties to check for for `required`.","type":[[["Array","<"],["string",">"]]]},{"name":"required","description":"Whether to throw an error if the option is not found.","type":[[["boolean"]]]}],"returns":{"types":[[["CommandInteractionOption"]]],"description":"The option, if found.","nullable":true},"meta":{"line":93,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"getSubcommand","description":"Gets the selected subcommand.","params":[{"name":"required","description":"Whether to throw an error if there is no subcommand.","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":{"types":[[["string"]]],"description":"The name of the selected subcommand, or null if not set and not required.","nullable":true},"meta":{"line":110,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"getSubcommandGroup","description":"Gets the selected subcommand group.","params":[{"name":"required","description":"Whether to throw an error if there is no subcommand group.","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":{"types":[[["string"]]],"description":"The name of the selected subcommand group, or null if not set and not required.","nullable":true},"meta":{"line":122,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"getBoolean","description":"Gets a boolean option.","params":[{"name":"name","description":"The name of the option.","type":[[["string"]]]},{"name":"required","description":"Whether to throw an error if the option is not found.","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":{"types":[[["boolean"]]],"description":"The value of the option, or null if not set and not required.","nullable":true},"meta":{"line":135,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"getChannel","description":"Gets a channel option.","params":[{"name":"name","description":"The name of the option.","type":[[["string"]]]},{"name":"required","description":"Whether to throw an error if the option is not found.","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":{"types":[[["GuildChannel"]],[["ThreadChannel"]],[["APIChannel"]]],"description":"The value of the option, or null if not set and not required.","nullable":true},"meta":{"line":147,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"getString","description":"Gets a string option.","params":[{"name":"name","description":"The name of the option.","type":[[["string"]]]},{"name":"required","description":"Whether to throw an error if the option is not found.","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":{"types":[[["string"]]],"description":"The value of the option, or null if not set and not required.","nullable":true},"meta":{"line":158,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"getInteger","description":"Gets an integer option.","params":[{"name":"name","description":"The name of the option.","type":[[["string"]]]},{"name":"required","description":"Whether to throw an error if the option is not found.","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":{"types":[[["number"]]],"description":"The value of the option, or null if not set and not required.","nullable":true},"meta":{"line":169,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"getNumber","description":"Gets a number option.","params":[{"name":"name","description":"The name of the option.","type":[[["string"]]]},{"name":"required","description":"Whether to throw an error if the option is not found.","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":{"types":[[["number"]]],"description":"The value of the option, or null if not set and not required.","nullable":true},"meta":{"line":180,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"getUser","description":"Gets a user option.","params":[{"name":"name","description":"The name of the option.","type":[[["string"]]]},{"name":"required","description":"Whether to throw an error if the option is not found.","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":{"types":[[["User"]]],"description":"The value of the option, or null if not set and not required.","nullable":true},"meta":{"line":191,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"getMember","description":"Gets a member option.","params":[{"name":"name","description":"The name of the option.","type":[[["string"]]]},{"name":"required","description":"Whether to throw an error if the option is not found.","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":{"types":[[["GuildMember"]],[["APIGuildMember"]]],"description":"The value of the option, or null if not set and not required.","nullable":true},"meta":{"line":203,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"getRole","description":"Gets a role option.","params":[{"name":"name","description":"The name of the option.","type":[[["string"]]]},{"name":"required","description":"Whether to throw an error if the option is not found.","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":{"types":[[["Role"]],[["APIRole"]]],"description":"The value of the option, or null if not set and not required.","nullable":true},"meta":{"line":214,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"getMentionable","description":"Gets a mentionable option.","params":[{"name":"name","description":"The name of the option.","type":[[["string"]]]},{"name":"required","description":"Whether to throw an error if the option is not found.","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":{"types":[[["User"]],[["GuildMember"]],[["APIGuildMember"]],[["Role"]],[["APIRole"]]],"description":"The value of the option, or null if not set and not required.","nullable":true},"meta":{"line":226,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"getMessage","description":"Gets a message option.","params":[{"name":"name","description":"The name of the option.","type":[[["string"]]]},{"name":"required","description":"Whether to throw an error if the option is not found.","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":{"types":[[["Message"]],[["APIMessage"]]],"description":"The value of the option, or null if not set and not required.","nullable":true},"meta":{"line":238,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"getFocused","description":"Gets the focused option.","params":[{"name":"getFull","description":"Whether to get the full option object","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":{"types":[[["string"]],[["AutocompleteFocusedOption"]]],"description":"The value of the option, or the whole option if getFull is true"},"meta":{"line":258,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"getAttachment","description":"Gets an attachment option.","params":[{"name":"name","description":"The name of the option.","type":[[["string"]]]},{"name":"required","description":"Whether to throw an error if the option is not found.","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":{"types":[[["MessageAttachment"]]],"description":"The value of the option, or null if not set and not required.","nullable":true},"meta":{"line":270,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}}],"meta":{"line":8,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"ContextMenuInteraction","description":"Represents a context menu interaction.","extends":[[["BaseCommandInteraction"]]],"props":[{"name":"options","description":"The target of the interaction, parsed into options","type":[[["CommandInteractionOptionResolver"]]],"meta":{"line":18,"file":"ContextMenuInteraction.js","path":"src/structures"}},{"name":"targetId","description":"The id of the target of this interaction","type":[[["Snowflake"]]],"meta":{"line":28,"file":"ContextMenuInteraction.js","path":"src/structures"}},{"name":"targetType","description":"The type of the target of the interaction; either USER or MESSAGE","type":[[["ApplicationCommandType"]]],"meta":{"line":34,"file":"ContextMenuInteraction.js","path":"src/structures"}},{"name":"channelId","description":"The id of the channel this interaction was sent in","type":[[["Snowflake"]]],"meta":{"line":20,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"commandId","description":"The invoked application command's id","type":[[["Snowflake"]]],"meta":{"line":30,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"commandName","description":"The invoked application command's name","type":[[["string"]]],"meta":{"line":36,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"deferred","description":"Whether the reply to this interaction has been deferred","type":[[["boolean"]]],"meta":{"line":42,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"replied","description":"Whether this interaction has already been replied to","type":[[["boolean"]]],"meta":{"line":48,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"ephemeral","description":"Whether the reply to this interaction is ephemeral","nullable":true,"type":[[["boolean"]]],"meta":{"line":54,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"webhook","description":"An associated interaction webhook, can be used to further interact with this interaction","type":[[["InteractionWebhook"]]],"meta":{"line":60,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"command","description":"The invoked application command, if it was fetched before","nullable":true,"type":[[["ApplicationCommand"]]],"meta":{"line":67,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"type","description":"The interaction's type","type":[[["InteractionType"]]],"meta":{"line":20,"file":"Interaction.js","path":"src/structures"}},{"name":"id","description":"The interaction's id","type":[[["Snowflake"]]],"meta":{"line":26,"file":"Interaction.js","path":"src/structures"}},{"name":"token","description":"The interaction's token","readonly":true,"type":[[["string"]]],"meta":{"line":28,"file":"Interaction.js","path":"src/structures"}},{"name":"applicationId","description":"The application's id","type":[[["Snowflake"]]],"meta":{"line":40,"file":"Interaction.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild this interaction was sent in","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":52,"file":"Interaction.js","path":"src/structures"}},{"name":"user","description":"The user which sent this interaction","type":[[["User"]]],"meta":{"line":58,"file":"Interaction.js","path":"src/structures"}},{"name":"member","description":"If this interaction was sent in a guild, the member which sent it","nullable":true,"type":[[["GuildMember"]],[["APIGuildMember"]]],"meta":{"line":64,"file":"Interaction.js","path":"src/structures"}},{"name":"version","description":"The version","type":[[["number"]]],"meta":{"line":70,"file":"Interaction.js","path":"src/structures"}},{"name":"appPermissions","description":"Set of permissions the application or bot has within the channel the interaction was sent from","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":76,"file":"Interaction.js","path":"src/structures"}},{"name":"memberPermissions","description":"The permissions of the member, if one exists, in the channel this interaction was executed in","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":82,"file":"Interaction.js","path":"src/structures"}},{"name":"locale","description":"The locale of the user who invoked this interaction","type":[[["Locale"]]],"meta":{"line":124,"file":"Interaction.js","path":"src/structures"}},{"name":"guildLocale","description":"The preferred locale from the guild this interaction was sent in","nullable":true,"type":[[["Locale"]]],"meta":{"line":130,"file":"Interaction.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the interaction was created at","readonly":true,"type":[[["number"]]],"meta":{"line":138,"file":"Interaction.js","path":"src/structures"}},{"name":"createdAt","description":"The time the interaction was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":147,"file":"Interaction.js","path":"src/structures"}},{"name":"channel","description":"The channel this interaction was sent in","readonly":true,"nullable":true,"type":[[["TextBasedChannels"]]],"meta":{"line":156,"file":"Interaction.js","path":"src/structures"}},{"name":"guild","description":"The guild this interaction was sent in","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":165,"file":"Interaction.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"resolveContextMenuOptions","description":"Resolves and transforms options received from the API for a context menu interaction.","access":"private","params":[{"name":"data","description":"The interaction data","type":[[["APIApplicationCommandInteractionData"]]]}],"returns":[[["Array","<"],["CommandInteractionOption",">"]]],"meta":{"line":43,"file":"ContextMenuInteraction.js","path":"src/structures"}},{"name":"transformResolved","description":"Transforms the resolved received from the API.","access":"private","inherits":"BaseCommandInteraction#transformResolved","inherited":true,"params":[{"name":"resolved","description":"The received resolved objects","type":[[["APIInteractionDataResolved"]]]}],"returns":[[["CommandInteractionResolvedData"]]],"meta":{"line":89,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"transformOption","description":"Transforms an option received from the API.","access":"private","inherits":"BaseCommandInteraction#transformOption","inherited":true,"params":[{"name":"option","description":"The received option","type":[[["APIApplicationCommandOption"]]]},{"name":"resolved","description":"The resolved interaction data","type":[[["APIInteractionDataResolved"]]]}],"returns":[[["CommandInteractionOption"]]],"meta":{"line":162,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"deferReply","description":"Defers the reply to this interaction.","inherits":"BaseCommandInteraction#deferReply","inherited":true,"implements":["InteractionResponses#deferReply"],"examples":["// Defer the reply to this interaction\ninteraction.deferReply()\n .then(console.log)\n .catch(console.error)","// Defer to send an ephemeral reply later\ninteraction.deferReply({ ephemeral: true })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for deferring the reply to this interaction","optional":true,"type":[[["InteractionDeferReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":58,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"reply","description":"Creates a reply to this interaction.\nUse the `fetchReply` option to get the bot's reply message.","inherits":"BaseCommandInteraction#reply","inherited":true,"implements":["InteractionResponses#reply"],"examples":["// Reply to the interaction and fetch the response\ninteraction.reply({ content: 'Pong!', fetchReply: true })\n .then((message) => console.log(`Reply sent with content ${message.content}`))\n .catch(console.error);","// Create an ephemeral reply with an embed\nconst embed = new MessageEmbed().setDescription('Pong!');\n\ninteraction.reply({ embeds: [embed], ephemeral: true })\n .then(() => console.log('Reply sent.'))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":93,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"fetchReply","description":"Fetches a reply to this interaction.","see":["Webhook#fetchMessage"],"inherits":"BaseCommandInteraction#fetchReply","inherited":true,"implements":["InteractionResponses#fetchReply"],"examples":["// Fetch the initial reply to this interaction\ninteraction.fetchReply()\n .then(reply => console.log(`Replied with ${reply.content}`))\n .catch(console.error);"],"params":[{"name":"message","description":"The response to fetch","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":127,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"editReply","description":"Edits a reply to this interaction.","see":["Webhook#editMessage"],"inherits":"BaseCommandInteraction#editReply","inherited":true,"implements":["InteractionResponses#editReply"],"examples":["// Edit the initial reply to this interaction\ninteraction.editReply('New content')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The new options for the message","type":[[["string"]],[["MessagePayload"]],[["InteractionEditReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":148,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"deleteReply","description":"Deletes a reply to this interaction.","see":["Webhook#deleteMessage"],"inherits":"BaseCommandInteraction#deleteReply","inherited":true,"implements":["InteractionResponses#deleteReply"],"examples":["// Delete the initial reply to this interaction\ninteraction.deleteReply()\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"message","description":"The response to delete","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":166,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"followUp","description":"Send a follow-up message to this interaction.","inherits":"BaseCommandInteraction#followUp","inherited":true,"implements":["InteractionResponses#followUp"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":175,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"showModal","description":"Shows a modal component","inherits":"BaseCommandInteraction#showModal","inherited":true,"implements":["InteractionResponses#showModal"],"params":[{"name":"modal","description":"The modal to show","type":[[["Modal"]],[["ModalOptions"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":243,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"awaitModalSubmit","description":"Collects a single modal submit interaction that passes the filter.\nThe Promise will reject if the time expires.","inherits":"BaseCommandInteraction#awaitModalSubmit","inherited":true,"implements":["InteractionResponses#awaitModalSubmit"],"examples":["// Collect a modal submit interaction\nconst filter = (interaction) => interaction.customId === 'modal';\ninteraction.awaitModalSubmit({ filter, time: 15_000 })\n .then(interaction => console.log(`${interaction.customId} was submitted!`))\n .catch(console.error);"],"params":[{"name":"options","description":"Options to pass to the internal collector","type":[[["AwaitModalSubmitOptions"]]]}],"returns":[[["Promise","<"],["ModalSubmitInteraction",">"]]],"meta":{"line":275,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"inGuild","description":"Indicates whether this interaction is received from a guild.","inherits":"Interaction#inGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":173,"file":"Interaction.js","path":"src/structures"}},{"name":"inCachedGuild","description":"Indicates whether or not this interaction is both cached and received from a guild.","inherits":"Interaction#inCachedGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":181,"file":"Interaction.js","path":"src/structures"}},{"name":"inRawGuild","description":"Indicates whether or not this interaction is received from an uncached guild.","inherits":"Interaction#inRawGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":189,"file":"Interaction.js","path":"src/structures"}},{"name":"isApplicationCommand","description":"Indicates whether this interaction is a {@link BaseCommandInteraction}.","inherits":"Interaction#isApplicationCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":197,"file":"Interaction.js","path":"src/structures"}},{"name":"isCommand","description":"Indicates whether this interaction is a {@link CommandInteraction}.","inherits":"Interaction#isCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":205,"file":"Interaction.js","path":"src/structures"}},{"name":"isContextMenu","description":"Indicates whether this interaction is a {@link ContextMenuInteraction}","inherits":"Interaction#isContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":213,"file":"Interaction.js","path":"src/structures"}},{"name":"isModalSubmit","description":"Indicates whether this interaction is a {@link ModalSubmitInteraction}","inherits":"Interaction#isModalSubmit","inherited":true,"returns":[[["boolean"]]],"meta":{"line":221,"file":"Interaction.js","path":"src/structures"}},{"name":"isUserContextMenu","description":"Indicates whether this interaction is a {@link UserContextMenuInteraction}","inherits":"Interaction#isUserContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":229,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageContextMenu","description":"Indicates whether this interaction is a {@link MessageContextMenuInteraction}","inherits":"Interaction#isMessageContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":237,"file":"Interaction.js","path":"src/structures"}},{"name":"isAutocomplete","description":"Indicates whether this interaction is an {@link AutocompleteInteraction}","inherits":"Interaction#isAutocomplete","inherited":true,"returns":[[["boolean"]]],"meta":{"line":245,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageComponent","description":"Indicates whether this interaction is a {@link MessageComponentInteraction}.","inherits":"Interaction#isMessageComponent","inherited":true,"returns":[[["boolean"]]],"meta":{"line":253,"file":"Interaction.js","path":"src/structures"}},{"name":"isButton","description":"Indicates whether this interaction is a {@link ButtonInteraction}.","inherits":"Interaction#isButton","inherited":true,"returns":[[["boolean"]]],"meta":{"line":261,"file":"Interaction.js","path":"src/structures"}},{"name":"isSelectMenu","description":"Indicates whether this interaction is a {@link SelectMenuInteraction}.","inherits":"Interaction#isSelectMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":272,"file":"Interaction.js","path":"src/structures"}},{"name":"isRepliable","description":"Indicates whether this interaction can be replied to.","inherits":"Interaction#isRepliable","inherited":true,"returns":[[["boolean"]]],"meta":{"line":283,"file":"Interaction.js","path":"src/structures"}}],"meta":{"line":11,"file":"ContextMenuInteraction.js","path":"src/structures"}},{"name":"DirectoryChannel","description":"Represents a channel that displays a directory of guilds.","extends":[[["Channel"]]],"props":[{"name":"name","description":"The channel's name","type":[[["string"]]],"meta":{"line":16,"file":"DirectoryChannel.js","path":"src/structures"}},{"name":"type","description":"The type of the channel","type":[[["ChannelType"]]],"meta":{"line":41,"file":"Channel.js","path":"src/structures"}},{"name":"id","description":"The channel's id","type":[[["Snowflake"]]],"meta":{"line":51,"file":"Channel.js","path":"src/structures"}},{"name":"flags","description":"The flags that are applied to the channel.","nullable":true,"type":[[["Readonly","<"],["ChannelFlags",">"]]],"meta":{"line":58,"file":"Channel.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the channel was created at","readonly":true,"type":[[["number"]]],"meta":{"line":69,"file":"Channel.js","path":"src/structures"}},{"name":"createdAt","description":"The time the channel was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":78,"file":"Channel.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":87,"file":"Channel.js","path":"src/structures"}},{"name":"partial","description":"Whether this Channel is a partial\nThis is always false outside of DM channels.","readonly":true,"type":[[["boolean"]]],"meta":{"line":118,"file":"Channel.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"toString","description":"When concatenated with a string, this automatically returns the channel's mention instead of the Channel object.","inherits":"Channel#toString","inherited":true,"examples":["// Logs: Hello from <#123456789012345678>!\nconsole.log(`Hello from ${channel}!`);"],"returns":[[["string"]]],"meta":{"line":129,"file":"Channel.js","path":"src/structures"}},{"name":"delete","description":"Deletes this channel.","inherits":"Channel#delete","inherited":true,"examples":["// Delete the channel\nchannel.delete()\n .then(console.log)\n .catch(console.error);"],"async":true,"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":142,"file":"Channel.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this channel.","inherits":"Channel#fetch","inherited":true,"params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":152,"file":"Channel.js","path":"src/structures"}},{"name":"isText","description":"Indicates whether this channel is {@link TextBasedChannels text-based}.","inherits":"Channel#isText","inherited":true,"returns":[[["boolean"]]],"meta":{"line":160,"file":"Channel.js","path":"src/structures"}},{"name":"isVoice","description":"Indicates whether this channel is {@link BaseGuildVoiceChannel voice-based}.","inherits":"Channel#isVoice","inherited":true,"returns":[[["boolean"]]],"meta":{"line":168,"file":"Channel.js","path":"src/structures"}},{"name":"isThread","description":"Indicates whether this channel is a {@link ThreadChannel}.","inherits":"Channel#isThread","inherited":true,"returns":[[["boolean"]]],"meta":{"line":176,"file":"Channel.js","path":"src/structures"}},{"name":"isDirectory","description":"Indicates whether this channel is a {@link DirectoryChannel}","inherits":"Channel#isDirectory","inherited":true,"returns":[[["boolean"]]],"meta":{"line":184,"file":"Channel.js","path":"src/structures"}}],"meta":{"line":9,"file":"DirectoryChannel.js","path":"src/structures"}},{"name":"DMChannel","description":"Represents a direct message channel between two users.","extends":[[["Channel"]]],"implements":[[["TextBasedChannel"]]],"props":[{"name":"messages","description":"A manager of the messages belonging to this channel","type":[[["MessageManager"]]],"meta":{"line":25,"file":"DMChannel.js","path":"src/structures"}},{"name":"recipient","description":"The recipient on the other end of the DM","type":[[["User"]]],"meta":{"line":36,"file":"DMChannel.js","path":"src/structures"}},{"name":"lastMessageId","description":"The channel's last message id, if one was sent","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":44,"file":"DMChannel.js","path":"src/structures"}},{"name":"lastPinTimestamp","description":"The timestamp when the last pinned message was pinned, if there was one","nullable":true,"type":[[["number"]]],"meta":{"line":52,"file":"DMChannel.js","path":"src/structures"}},{"name":"messageRequest","description":"Whether the channel is a message request","nullable":true,"type":[[["boolean"]]],"meta":{"line":62,"file":"DMChannel.js","path":"src/structures"}},{"name":"messageRequestTimestamp","description":"The timestamp when the message request was created","nullable":true,"type":[[["number"]]],"meta":{"line":70,"file":"DMChannel.js","path":"src/structures"}},{"name":"partial","description":"Whether this DMChannel is a partial","readonly":true,"type":[[["boolean"]]],"meta":{"line":108,"file":"DMChannel.js","path":"src/structures"}},{"name":"voiceUsers","description":"The user in this voice-based channel","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["User",">"]]],"meta":{"line":163,"file":"DMChannel.js","path":"src/structures"}},{"name":"shard","description":"Get current shard","readonly":true,"type":[[["WebSocketShard"]]],"meta":{"line":178,"file":"DMChannel.js","path":"src/structures"}},{"name":"voiceAdapterCreator","description":"The voice state adapter for this client that can be used with @discordjs/voice to play audio in DM / Group DM channels.","readonly":true,"nullable":true,"type":[[["function"]]],"meta":{"line":187,"file":"DMChannel.js","path":"src/structures"}},{"name":"lastMessage","description":"The Message object of the last message in the channel, if one was sent","readonly":true,"nullable":true,"type":[[["Message"]]],"meta":{"line":50,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"lastPinAt","description":"The date when the last pinned message was pinned, if there was one","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":59,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"type","description":"The type of the channel","type":[[["ChannelType"]]],"meta":{"line":41,"file":"Channel.js","path":"src/structures"}},{"name":"id","description":"The channel's id","type":[[["Snowflake"]]],"meta":{"line":51,"file":"Channel.js","path":"src/structures"}},{"name":"flags","description":"The flags that are applied to the channel.","nullable":true,"type":[[["Readonly","<"],["ChannelFlags",">"]]],"meta":{"line":58,"file":"Channel.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the channel was created at","readonly":true,"type":[[["number"]]],"meta":{"line":69,"file":"Channel.js","path":"src/structures"}},{"name":"createdAt","description":"The time the channel was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":78,"file":"Channel.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":87,"file":"Channel.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"acceptMessageRequest","description":"Accept this DMChannel.","async":true,"returns":[[["Promise","<"],["DMChannel",">"]]],"meta":{"line":78,"file":"DMChannel.js","path":"src/structures"}},{"name":"cancelMessageRequest","description":"Cancel this DMChannel.","async":true,"returns":[[["Promise","<"],["DMChannel",">"]]],"meta":{"line":95,"file":"DMChannel.js","path":"src/structures"}},{"name":"fetch","description":"Fetch this DMChannel.","params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["DMChannel",">"]]],"meta":{"line":117,"file":"DMChannel.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the recipient's mention instead of the\nDMChannel object.","examples":["// Logs: Hello from <@123456789012345678>!\nconsole.log(`Hello from ${channel}!`);"],"returns":[[["string"]]],"meta":{"line":129,"file":"DMChannel.js","path":"src/structures"}},{"name":"sync","description":"Sync VoiceState of this DMChannel.","returns":[[["undefined"]]],"meta":{"line":137,"file":"DMChannel.js","path":"src/structures"}},{"name":"ring","description":"Ring the user's phone / PC (call)","returns":[[["Promise","<"],["void",">"]]],"meta":{"line":150,"file":"DMChannel.js","path":"src/structures"}},{"name":"send","description":"Sends a message to this channel.","implements":["TextBasedChannel#send"],"examples":["// Send a basic message\nchannel.send('hello!')\n .then(message => console.log(`Sent message: ${message.content}`))\n .catch(console.error);","// Send a remote file\nchannel.send({\n files: ['https://cdn.discordapp.com/icons/222078108977594368/6e1019b3179d71046e463a75915e7244.png?size=2048']\n})\n .then(console.log)\n .catch(console.error);","// Send a local file\nchannel.send({\n files: [{\n attachment: 'entire/path/to/file.jpg',\n name: 'file.jpg',\n description: 'A description of the file'\n }]\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["MessageOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":150,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"sendTyping","description":"Sends a typing indicator in the channel.","implements":["TextBasedChannel#sendTyping"],"examples":["// Start typing in a channel\nchannel.sendTyping();"],"async":true,"returns":{"types":[[["Promise","<"],["void",">"]]],"description":"Resolves upon the typing status being sent"},"meta":{"line":355,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createMessageCollector","description":"Creates a Message Collector.","implements":["TextBasedChannel#createMessageCollector"],"examples":["// Create a message collector\nconst filter = m => m.content.includes('discord');\nconst collector = channel.createMessageCollector({ filter, time: 15_000 });\ncollector.on('collect', m => console.log(`Collected ${m.content}`));\ncollector.on('end', collected => console.log(`Collected ${collected.size} items`));"],"params":[{"name":"options","description":"The options to pass to the collector","optional":true,"default":"{}","type":[[["MessageCollectorOptions"]]]}],"returns":[[["MessageCollector"]]],"meta":{"line":370,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"awaitMessages","description":"Similar to createMessageCollector but in promise form.\nResolves with a collection of messages that pass the specified filter.","implements":["TextBasedChannel#awaitMessages"],"examples":["// Await !vote messages\nconst filter = m => m.content.startsWith('!vote');\n// Errors: ['time'] treats ending because of the time limit as an error\nchannel.awaitMessages({ filter, max: 4, time: 60_000, errors: ['time'] })\n .then(collected => console.log(collected.size))\n .catch(collected => console.log(`After a minute, only ${collected.size} out of 4 voted.`));"],"params":[{"name":"options","description":"Optional options to pass to the internal collector","optional":true,"default":"{}","type":[[["AwaitMessagesOptions"]]]}],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Message",">>"]]],"meta":{"line":393,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"delete","description":"Deletes this channel.","inherits":"Channel#delete","inherited":true,"examples":["// Delete the channel\nchannel.delete()\n .then(console.log)\n .catch(console.error);"],"async":true,"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":142,"file":"Channel.js","path":"src/structures"}},{"name":"isText","description":"Indicates whether this channel is {@link TextBasedChannels text-based}.","inherits":"Channel#isText","inherited":true,"returns":[[["boolean"]]],"meta":{"line":160,"file":"Channel.js","path":"src/structures"}},{"name":"isVoice","description":"Indicates whether this channel is {@link BaseGuildVoiceChannel voice-based}.","inherits":"Channel#isVoice","inherited":true,"returns":[[["boolean"]]],"meta":{"line":168,"file":"Channel.js","path":"src/structures"}},{"name":"isThread","description":"Indicates whether this channel is a {@link ThreadChannel}.","inherits":"Channel#isThread","inherited":true,"returns":[[["boolean"]]],"meta":{"line":176,"file":"Channel.js","path":"src/structures"}},{"name":"isDirectory","description":"Indicates whether this channel is a {@link DirectoryChannel}","inherits":"Channel#isDirectory","inherited":true,"returns":[[["boolean"]]],"meta":{"line":184,"file":"Channel.js","path":"src/structures"}}],"meta":{"line":14,"file":"DMChannel.js","path":"src/structures"}},{"name":"Emoji","description":"Represents an emoji, see {@link GuildEmoji} and {@link ReactionEmoji}.","extends":[[["Base"]]],"props":[{"name":"animated","description":"Whether or not the emoji is animated","nullable":true,"type":[[["boolean"]]],"meta":{"line":34,"file":"Emoji.js","path":"src/structures"}},{"name":"name","description":"The emoji's name","nullable":true,"type":[[["string"]]],"meta":{"line":40,"file":"Emoji.js","path":"src/structures"}},{"name":"id","description":"The emoji's id","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":46,"file":"Emoji.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":54,"file":"Emoji.js","path":"src/structures"}},{"name":"identifier","description":"The identifier of this emoji, used for message reactions","readonly":true,"type":[[["string"]]],"meta":{"line":84,"file":"Emoji.js","path":"src/structures"}},{"name":"url","description":"The URL to the emoji file if it's a custom emoji","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":94,"file":"Emoji.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the emoji was created at, or null if unicode","readonly":true,"nullable":true,"type":[[["number"]]],"meta":{"line":103,"file":"Emoji.js","path":"src/structures"}},{"name":"createdAt","description":"The time the emoji was created at, or null if unicode","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":112,"file":"Emoji.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"toString","description":"When concatenated with a string, this automatically returns the text required to form a graphical emoji on Discord\ninstead of the Emoji object.","examples":["// Send a custom emoji from a guild:\nconst emoji = guild.emojis.cache.first();\nmsg.channel.send(`Hello! ${emoji}`);","// Send the emoji used in a reaction to the channel the reaction is part of\nreaction.message.channel.send(`The emoji used was: ${reaction.emoji}`);"],"returns":[[["string"]]],"meta":{"line":128,"file":"Emoji.js","path":"src/structures"}}],"meta":{"line":27,"file":"Emoji.js","path":"src/structures"}},{"name":"ForumChannel","description":"Represents a channel that only contains threads","extends":[[["GuildChannel"]]],"implements":[[["TextBasedChannel"]]],"props":[{"name":"threads","description":"A manager of the threads belonging to this channel","type":[[["GuildForumThreadManager"]]],"meta":{"line":52,"file":"ForumChannel.js","path":"src/structures"}},{"name":"availableTags","description":"The set of tags that can be used in this channel.","type":[[["Array","<"],["GuildForumTag",">"]]],"meta":{"line":64,"file":"ForumChannel.js","path":"src/structures"}},{"name":"defaultReactionEmoji","description":"The emoji to show in the add reaction button on a thread in a guild forum channel","nullable":true,"type":[[["DefaultReactionEmoji"]]],"meta":{"line":74,"file":"ForumChannel.js","path":"src/structures"}},{"name":"defaultThreadRateLimitPerUser","description":"The initial rate limit per user (slowmode) to set on newly created threads in a channel.","nullable":true,"type":[[["number"]]],"meta":{"line":85,"file":"ForumChannel.js","path":"src/structures"}},{"name":"rateLimitPerUser","description":"The rate limit per user (slowmode) for this channel.","nullable":true,"type":[[["number"]]],"meta":{"line":95,"file":"ForumChannel.js","path":"src/structures"}},{"name":"defaultAutoArchiveDuration","description":"The default auto archive duration for newly created threads in this channel.","nullable":true,"type":[[["ThreadAutoArchiveDuration"]]],"meta":{"line":105,"file":"ForumChannel.js","path":"src/structures"}},{"name":"nsfw","description":"If this channel is considered NSFW.","type":[[["boolean"]]],"meta":{"line":115,"file":"ForumChannel.js","path":"src/structures"}},{"name":"topic","description":"The topic of this channel.","nullable":true,"type":[[["string"]]],"meta":{"line":125,"file":"ForumChannel.js","path":"src/structures"}},{"name":"defaultSortOrder","description":"The default sort order mode used to order posts","nullable":true,"type":[[["SortOrderType"]]],"meta":{"line":133,"file":"ForumChannel.js","path":"src/structures"}},{"name":"defaultForumLayout","description":"The default layout type used to display posts","type":[[["ForumLayoutType"]]],"meta":{"line":142,"file":"ForumChannel.js","path":"src/structures"}},{"name":"guild","description":"The guild the channel is in","type":[[["Guild"]]],"meta":{"line":30,"file":"GuildChannel.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild the channel is in","type":[[["Snowflake"]]],"meta":{"line":36,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionOverwrites","description":"A manager of permission overwrites that belong to this channel","type":[[["PermissionOverwriteManager"]]],"meta":{"line":43,"file":"GuildChannel.js","path":"src/structures"}},{"name":"name","description":"The name of the guild channel","type":[[["string"]]],"meta":{"line":56,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rawPosition","description":"The raw position of the channel from Discord","type":[[["number"]]],"meta":{"line":64,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parentId","description":"The id of the category parent of this channel","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":76,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parent","description":"The category parent of this channel","readonly":true,"nullable":true,"type":[[["CategoryChannel"]]],"meta":{"line":98,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionsLocked","description":"If the permissionOverwrites match the parent channel, null if no parent","readonly":true,"nullable":true,"type":[[["boolean"]]],"meta":{"line":107,"file":"GuildChannel.js","path":"src/structures"}},{"name":"position","description":"The position of the channel","readonly":true,"type":[[["number"]]],"meta":{"line":148,"file":"GuildChannel.js","path":"src/structures"}},{"name":"members","description":"A collection of cached members of this channel, mapped by their ids.\nMembers that can view this channel, if the channel is text-based.\nMembers in the channel, if the channel is voice-based.","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]],"meta":{"line":274,"file":"GuildChannel.js","path":"src/structures"}},{"name":"deletable","description":"Whether the channel is deletable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":416,"file":"GuildChannel.js","path":"src/structures"}},{"name":"manageable","description":"Whether the channel is manageable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":425,"file":"GuildChannel.js","path":"src/structures"}},{"name":"viewable","description":"Whether the channel is viewable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":445,"file":"GuildChannel.js","path":"src/structures"}},{"name":"type","description":"The type of the channel","type":[[["ChannelType"]]],"meta":{"line":41,"file":"Channel.js","path":"src/structures"}},{"name":"id","description":"The channel's id","type":[[["Snowflake"]]],"meta":{"line":51,"file":"Channel.js","path":"src/structures"}},{"name":"flags","description":"The flags that are applied to the channel.","nullable":true,"type":[[["Readonly","<"],["ChannelFlags",">"]]],"meta":{"line":58,"file":"Channel.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the channel was created at","readonly":true,"type":[[["number"]]],"meta":{"line":69,"file":"Channel.js","path":"src/structures"}},{"name":"createdAt","description":"The time the channel was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":78,"file":"Channel.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":87,"file":"Channel.js","path":"src/structures"}},{"name":"partial","description":"Whether this Channel is a partial\nThis is always false outside of DM channels.","readonly":true,"type":[[["boolean"]]],"meta":{"line":118,"file":"Channel.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"setAvailableTags","description":"Sets the available tags for this forum channel","params":[{"name":"availableTags","description":"The tags to set as available in this channel","type":[[["Array","<"],["GuildForumTagData",">"]]]},{"name":"reason","description":"Reason for changing the available tags","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ForumChannel",">"]]],"meta":{"line":151,"file":"ForumChannel.js","path":"src/structures"}},{"name":"setDefaultReactionEmoji","description":"Sets the default reaction emoji for this channel","params":[{"name":"defaultReactionEmoji","description":"The emoji to set as the default reaction emoji","nullable":true,"type":[[["DefaultReactionEmoji"]]]},{"name":"reason","description":"Reason for changing the default reaction emoji","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ForumChannel",">"]]],"meta":{"line":161,"file":"ForumChannel.js","path":"src/structures"}},{"name":"setDefaultThreadRateLimitPerUser","description":"Sets the default rate limit per user (slowmode) for new threads in this channel","params":[{"name":"defaultThreadRateLimitPerUser","description":"The rate limit to set on newly created threads in this channel","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the default rate limit","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ForumChannel",">"]]],"meta":{"line":171,"file":"ForumChannel.js","path":"src/structures"}},{"name":"setDefaultSortOrder","description":"Sets the default sort order mode used to order posts","params":[{"name":"defaultSortOrder","description":"The default sort order mode to set on this channel","nullable":true,"type":[[["SortOrderType"]]]},{"name":"reason","description":"Reason for changing the default sort order","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ForumChannel",">"]]],"meta":{"line":181,"file":"ForumChannel.js","path":"src/structures"}},{"name":"setDefaultForumLayout","description":"Sets the default forum layout type used to display posts","params":[{"name":"defaultForumLayout","description":"The default forum layout type to set on this channel","type":[[["ForumLayoutType"]]]},{"name":"reason","description":"Reason for changing the default forum layout","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ForumChannel",">"]]],"meta":{"line":191,"file":"ForumChannel.js","path":"src/structures"}},{"name":"createInvite","description":"Creates an invite to this guild channel.","examples":["// Create an invite to a channel\nchannel.createInvite()\n .then(invite => console.log(`Created an invite with a code of ${invite.code}`))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for creating the invite","optional":true,"default":"{}","type":[[["CreateInviteOptions"]]]}],"returns":[[["Promise","<"],["Invite",">"]]],"meta":{"line":205,"file":"ForumChannel.js","path":"src/structures"}},{"name":"fetchInvites","description":"Fetches a collection of invites to this guild channel.\nResolves with a collection mapping invites by their codes.","params":[{"name":"cache","description":"Whether or not to cache the fetched invites","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Collection","<"],["string",", "],["Invite",">>"]]],"meta":{"line":215,"file":"ForumChannel.js","path":"src/structures"}},{"name":"setDefaultAutoArchiveDuration","description":"Sets the default auto archive duration for all newly created threads in this channel.","params":[{"name":"defaultAutoArchiveDuration","description":"The new default auto archive duration","type":[[["ThreadAutoArchiveDuration"]]]},{"name":"reason","description":"Reason for changing the channel's default auto archive duration","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ForumChannel",">"]]],"meta":{"line":225,"file":"ForumChannel.js","path":"src/structures"}},{"name":"setTopic","description":"Sets a new topic for the guild channel.","examples":["// Set a new channel topic\nchannel.setTopic('needs more rate limiting')\n .then(newChannel => console.log(`Channel's new topic is ${newChannel.topic}`))\n .catch(console.error);"],"params":[{"name":"topic","description":"The new topic for the guild channel","nullable":true,"type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild channel's topic","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ForumChannel",">"]]],"meta":{"line":240,"file":"ForumChannel.js","path":"src/structures"}},{"name":"fetchWebhooks","description":"Fetches all webhooks for the channel.","implements":["TextBasedChannel#fetchWebhooks"],"examples":["// Fetch webhooks\nchannel.fetchWebhooks()\n .then(hooks => console.log(`This channel has ${hooks.size} hooks`))\n .catch(console.error);"],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Webhook",">>"]]],"meta":{"line":415,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createWebhook","description":"Creates a webhook for the channel.","implements":["TextBasedChannel#createWebhook"],"examples":["// Create a webhook for the current channel\nchannel.createWebhook('Snek', {\n avatar: 'https://i.imgur.com/mI8XcpG.jpg',\n reason: 'Needed a cool new Webhook'\n})\n .then(console.log)\n .catch(console.error)"],"params":[{"name":"name","description":"The name of the webhook","type":[[["string"]]]},{"name":"options","description":"Options for creating the webhook","optional":true,"type":[[["ChannelWebhookCreateOptions"]]]}],"returns":{"types":[[["Promise","<"],["Webhook",">"]]],"description":"Returns the created Webhook"},"meta":{"line":440,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"setRateLimitPerUser","description":"Sets the rate limit per user (slowmode) for this channel.","implements":["TextBasedChannel#setRateLimitPerUser"],"params":[{"name":"rateLimitPerUser","description":"The new rate limit in seconds","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the channel's rate limit","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":450,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"setNSFW","description":"Sets whether this channel is flagged as NSFW.","implements":["TextBasedChannel#setNSFW"],"params":[{"name":"nsfw","description":"Whether the channel should be considered NSFW","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"Reason for changing the channel's NSFW flag","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":460,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"permissionsFor","description":"Gets the overall set of permissions for a member or role in this channel, taking into account channel overwrites.","inherits":"GuildChannel#permissionsFor","inherited":true,"params":[{"name":"memberOrRole","description":"The member or role to obtain the overall permissions for","type":[[["GuildMemberResolvable"]],[["RoleResolvable"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":{"types":[[["Readonly","<"],["Permissions",">"]]],"nullable":true},"meta":{"line":172,"file":"GuildChannel.js","path":"src/structures"}},{"name":"memberPermissions","description":"Gets the overall set of permissions for a member in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#memberPermissions","inherited":true,"params":[{"name":"member","description":"The member to obtain the overall permissions for","type":[[["GuildMember"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","default":true,"type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":212,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rolePermissions","description":"Gets the overall set of permissions for a role in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#rolePermissions","inherited":true,"params":[{"name":"role","description":"The role to obtain the overall permissions for","type":[[["Role"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":241,"file":"GuildChannel.js","path":"src/structures"}},{"name":"lockPermissions","description":"Locks in the permission overwrites from the parent channel.","inherits":"GuildChannel#lockPermissions","inherited":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":261,"file":"GuildChannel.js","path":"src/structures"}},{"name":"edit","description":"Edits the channel.","inherits":"GuildChannel#edit","inherited":true,"examples":["// Edit a channel\nchannel.edit({ name: 'new-channel' })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"data","description":"The new data for the channel","type":[[["ChannelData"]]]},{"name":"reason","description":"Reason for editing this channel","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":289,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setName","description":"Sets a new name for the guild channel.","inherits":"GuildChannel#setName","inherited":true,"examples":["// Set a new channel name\nchannel.setName('not_general')\n .then(newChannel => console.log(`Channel's new name is ${newChannel.name}`))\n .catch(console.error);"],"params":[{"name":"name","description":"The new name for the guild channel","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild channel's name","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":304,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setParent","description":"Sets the parent of this channel.","inherits":"GuildChannel#setParent","inherited":true,"examples":["// Add a parent to a channel\nmessage.channel.setParent('355908108431917066', { lockPermissions: false })\n .then(channel => console.log(`New parent of ${message.channel.name}: ${channel.name}`))\n .catch(console.error);"],"params":[{"name":"channel","description":"The category channel to set as the parent","nullable":true,"type":[[["CategoryChannelResolvable"]]]},{"name":"options","description":"The options for setting the parent","optional":true,"default":"{}","type":[[["SetParentOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":326,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setPosition","description":"Sets a new position for the guild channel.","inherits":"GuildChannel#setPosition","inherited":true,"examples":["// Set a new channel position\nchannel.setPosition(2)\n .then(newChannel => console.log(`Channel's new position is ${newChannel.position}`))\n .catch(console.error);"],"params":[{"name":"position","description":"The new position for the guild channel","type":[[["number"]]]},{"name":"options","description":"Options for setting position","optional":true,"type":[[["SetChannelPositionOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":354,"file":"GuildChannel.js","path":"src/structures"}},{"name":"clone","description":"Clones this channel.","inherits":"GuildChannel#clone","inherited":true,"params":[{"name":"options","description":"The options for cloning this channel","optional":true,"type":[[["GuildChannelCloneOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":369,"file":"GuildChannel.js","path":"src/structures"}},{"name":"equals","description":"Checks if this channel has the same type, topic, position, name, overwrites, and id as another channel.\nIn most cases, a simple `channel.id === channel2.id` will do, and is much faster too.","inherits":"GuildChannel#equals","inherited":true,"params":[{"name":"channel","description":"Channel to compare with","type":[[["GuildChannel"]]]}],"returns":[[["boolean"]]],"meta":{"line":391,"file":"GuildChannel.js","path":"src/structures"}},{"name":"delete","description":"Deletes this channel.","inherits":"GuildChannel#delete","inherited":true,"examples":["// Delete the channel\nchannel.delete('making room for new channels')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"reason","description":"Reason for deleting this channel","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":462,"file":"GuildChannel.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the channel's mention instead of the Channel object.","inherits":"Channel#toString","inherited":true,"examples":["// Logs: Hello from <#123456789012345678>!\nconsole.log(`Hello from ${channel}!`);"],"returns":[[["string"]]],"meta":{"line":129,"file":"Channel.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this channel.","inherits":"Channel#fetch","inherited":true,"params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":152,"file":"Channel.js","path":"src/structures"}},{"name":"isText","description":"Indicates whether this channel is {@link TextBasedChannels text-based}.","inherits":"Channel#isText","inherited":true,"returns":[[["boolean"]]],"meta":{"line":160,"file":"Channel.js","path":"src/structures"}},{"name":"isVoice","description":"Indicates whether this channel is {@link BaseGuildVoiceChannel voice-based}.","inherits":"Channel#isVoice","inherited":true,"returns":[[["boolean"]]],"meta":{"line":168,"file":"Channel.js","path":"src/structures"}},{"name":"isThread","description":"Indicates whether this channel is a {@link ThreadChannel}.","inherits":"Channel#isThread","inherited":true,"returns":[[["boolean"]]],"meta":{"line":176,"file":"Channel.js","path":"src/structures"}},{"name":"isDirectory","description":"Indicates whether this channel is a {@link DirectoryChannel}","inherits":"Channel#isDirectory","inherited":true,"returns":[[["boolean"]]],"meta":{"line":184,"file":"Channel.js","path":"src/structures"}}],"meta":{"line":44,"file":"ForumChannel.js","path":"src/structures"}},{"name":"GroupDMChannel","description":"Represents a Group DM Channel on Discord.","extends":[[["Channel"]]],"implements":[[["TextBasedChannel"]]],"props":[{"name":"messages","description":"A manager of the messages belonging to this channel","type":[[["MessageManager"]]],"meta":{"line":26,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"lastMessageId","description":"The channel's last message id, if one was sent","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":44,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"lastPinTimestamp","description":"The timestamp when the last pinned message was pinned, if there was one","nullable":true,"type":[[["number"]]],"meta":{"line":52,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"ownerId","description":"Owner ID","type":[[["Snowflake"]]],"meta":{"line":62,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"name","description":"The name of this Group DM Channel","nullable":true,"type":[[["string"]]],"meta":{"line":70,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"icon","description":"The hash of the channel icon","nullable":true,"type":[[["string"]]],"meta":{"line":78,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"recipients","description":"The recipients of this Group DM Channel.","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["User",">"]]],"meta":{"line":96,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"owner","description":"The owner of this Group DM Channel","readonly":true,"nullable":true,"type":[[["User"]]],"meta":{"line":108,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"partial","description":"Whether this DMChannel is a partial","readonly":true,"type":[[["boolean"]]],"meta":{"line":117,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"voiceUsers","description":"The user in this voice-based channel","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["User",">"]]],"meta":{"line":328,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"shard","description":"Get current shard","readonly":true,"type":[[["WebSocketShard"]]],"meta":{"line":343,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"voiceAdapterCreator","description":"The voice state adapter for this client that can be used with @discordjs/voice to play audio in DM / Group DM channels.","readonly":true,"nullable":true,"type":[[["function"]]],"meta":{"line":352,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"lastMessage","description":"The Message object of the last message in the channel, if one was sent","readonly":true,"nullable":true,"type":[[["Message"]]],"meta":{"line":50,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"lastPinAt","description":"The date when the last pinned message was pinned, if there was one","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":59,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"type","description":"The type of the channel","type":[[["ChannelType"]]],"meta":{"line":41,"file":"Channel.js","path":"src/structures"}},{"name":"id","description":"The channel's id","type":[[["Snowflake"]]],"meta":{"line":51,"file":"Channel.js","path":"src/structures"}},{"name":"flags","description":"The flags that are applied to the channel.","nullable":true,"type":[[["Readonly","<"],["ChannelFlags",">"]]],"meta":{"line":58,"file":"Channel.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the channel was created at","readonly":true,"type":[[["number"]]],"meta":{"line":69,"file":"Channel.js","path":"src/structures"}},{"name":"createdAt","description":"The time the channel was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":78,"file":"Channel.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":87,"file":"Channel.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"iconURL","description":"The URL to this channel's icon.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":87,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"delete","description":"Leave this Group DM Channel.","examples":["// Delete the channel\nchannel.delete()\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"slient","description":"Leave without notifying other members","default":false,"nullable":true,"type":[[["boolean"]]]}],"async":true,"returns":[[["Promise","<"],["GroupDMChannel",">"]]],"meta":{"line":131,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the recipient's mention instead of the\nGroupDMChannel object.","examples":["// Logs: Hello from Group Test!\nconsole.log(`Hello from ${channel}!`);"],"returns":[[["string"]]],"meta":{"line":152,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"edit","description":"Edit channel data","examples":["// Set the channel name\nchannel.edit({\n name: 'Group Test',\n})\n .then(updated => console.log(`New channel name ${updated}`))\n .catch(console.error);"],"params":[{"name":"data","description":"Data","type":[[["GroupDMChannelEditData"]]]}],"async":true,"returns":[[["Promise","<"],["GroupDMChannel",">"]]],"meta":{"line":190,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"setName","description":"Renames this Group DM Channel.","params":[{"name":"name","description":"Name of the channel","nullable":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GroupDMChannel",">"]]],"meta":{"line":211,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"setIcon","description":"Sets the icon of this Group DM Channel.","params":[{"name":"icon","description":"Icon of the channel","nullable":true,"type":[[["Base64Resolvable"]],[["BufferResolvable"]]]}],"returns":[[["Promise","<"],["GroupDMChannel",">"]]],"meta":{"line":220,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"setOwner","description":"Changes the owner of this Group DM Channel.","params":[{"name":"user","description":"User to transfer ownership to","type":[[["UserResolvable"]]]}],"returns":[[["Promise","<"],["GroupDMChannel",">"]]],"meta":{"line":229,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"addUser","description":"Adds a user to this Group DM Channel.","params":[{"name":"user","description":"User to add to the group","type":[[["UserResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["GroupDMChannel",">"]]],"meta":{"line":242,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"removeUser","description":"Removes a user from this Group DM Channel.","params":[{"name":"user","description":"User to remove from the group","type":[[["UserResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["GroupDMChannel",">"]]],"meta":{"line":253,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"getInvite","description":"Gets the invite for this Group DM Channel.","async":true,"returns":[[["Promise","<"],["Invite",">"]]],"meta":{"line":263,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"fetchAllInvite","description":"Get all the invites for this Group DM Channel.","async":true,"returns":[[["Promise","<"],["Collection","<"],["string",", "],["Invite",">>"]]],"meta":{"line":276,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"removeInvite","description":"Delete invites from this Group DM Channel.","params":[{"name":"invite","description":"Invite to add to the channel","type":[[["InviteResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["GroupDMChannel",">"]]],"meta":{"line":286,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"ring","description":"Ring the user's phone / PC (call)","params":[{"name":"recipients","description":"Array of recipients","optional":true,"type":[[["Array","<"],["UserResolvable",">"]]]}],"returns":[[["Promise","<"],["any",">"]]],"meta":{"line":300,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"sync","description":"Sync VoiceState of this Group DMChannel.","returns":[[["undefined"]]],"meta":{"line":314,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"send","description":"Sends a message to this channel.","implements":["TextBasedChannel#send"],"examples":["// Send a basic message\nchannel.send('hello!')\n .then(message => console.log(`Sent message: ${message.content}`))\n .catch(console.error);","// Send a remote file\nchannel.send({\n files: ['https://cdn.discordapp.com/icons/222078108977594368/6e1019b3179d71046e463a75915e7244.png?size=2048']\n})\n .then(console.log)\n .catch(console.error);","// Send a local file\nchannel.send({\n files: [{\n attachment: 'entire/path/to/file.jpg',\n name: 'file.jpg',\n description: 'A description of the file'\n }]\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["MessageOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":150,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"sendTyping","description":"Sends a typing indicator in the channel.","implements":["TextBasedChannel#sendTyping"],"examples":["// Start typing in a channel\nchannel.sendTyping();"],"async":true,"returns":{"types":[[["Promise","<"],["void",">"]]],"description":"Resolves upon the typing status being sent"},"meta":{"line":355,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createMessageCollector","description":"Creates a Message Collector.","implements":["TextBasedChannel#createMessageCollector"],"examples":["// Create a message collector\nconst filter = m => m.content.includes('discord');\nconst collector = channel.createMessageCollector({ filter, time: 15_000 });\ncollector.on('collect', m => console.log(`Collected ${m.content}`));\ncollector.on('end', collected => console.log(`Collected ${collected.size} items`));"],"params":[{"name":"options","description":"The options to pass to the collector","optional":true,"default":"{}","type":[[["MessageCollectorOptions"]]]}],"returns":[[["MessageCollector"]]],"meta":{"line":370,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"awaitMessages","description":"Similar to createMessageCollector but in promise form.\nResolves with a collection of messages that pass the specified filter.","implements":["TextBasedChannel#awaitMessages"],"examples":["// Await !vote messages\nconst filter = m => m.content.startsWith('!vote');\n// Errors: ['time'] treats ending because of the time limit as an error\nchannel.awaitMessages({ filter, max: 4, time: 60_000, errors: ['time'] })\n .then(collected => console.log(collected.size))\n .catch(collected => console.log(`After a minute, only ${collected.size} out of 4 voted.`));"],"params":[{"name":"options","description":"Optional options to pass to the internal collector","optional":true,"default":"{}","type":[[["AwaitMessagesOptions"]]]}],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Message",">>"]]],"meta":{"line":393,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"fetch","description":"Fetches this channel.","inherits":"Channel#fetch","inherited":true,"params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":152,"file":"Channel.js","path":"src/structures"}},{"name":"isText","description":"Indicates whether this channel is {@link TextBasedChannels text-based}.","inherits":"Channel#isText","inherited":true,"returns":[[["boolean"]]],"meta":{"line":160,"file":"Channel.js","path":"src/structures"}},{"name":"isVoice","description":"Indicates whether this channel is {@link BaseGuildVoiceChannel voice-based}.","inherits":"Channel#isVoice","inherited":true,"returns":[[["boolean"]]],"meta":{"line":168,"file":"Channel.js","path":"src/structures"}},{"name":"isThread","description":"Indicates whether this channel is a {@link ThreadChannel}.","inherits":"Channel#isThread","inherited":true,"returns":[[["boolean"]]],"meta":{"line":176,"file":"Channel.js","path":"src/structures"}},{"name":"isDirectory","description":"Indicates whether this channel is a {@link DirectoryChannel}","inherits":"Channel#isDirectory","inherited":true,"returns":[[["boolean"]]],"meta":{"line":184,"file":"Channel.js","path":"src/structures"}}],"meta":{"line":16,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"Guild","description":"Represents a guild (or a server) on Discord.\nIt's recommended to see if a guild is available before performing operations or reading data from it. You can\ncheck this with {@link Guild#available}.","extends":[[["AnonymousGuild"]]],"props":[{"name":"members","description":"A manager of the members belonging to this guild","type":[[["GuildMemberManager"]]],"meta":{"line":65,"file":"Guild.js","path":"src/structures"}},{"name":"channels","description":"A manager of the channels belonging to this guild","type":[[["GuildChannelManager"]]],"meta":{"line":71,"file":"Guild.js","path":"src/structures"}},{"name":"bans","description":"A manager of the bans belonging to this guild","type":[[["GuildBanManager"]]],"meta":{"line":77,"file":"Guild.js","path":"src/structures"}},{"name":"roles","description":"A manager of the roles belonging to this guild","type":[[["RoleManager"]]],"meta":{"line":83,"file":"Guild.js","path":"src/structures"}},{"name":"presences","description":"A manager of the presences belonging to this guild","type":[[["PresenceManager"]]],"meta":{"line":89,"file":"Guild.js","path":"src/structures"}},{"name":"voiceStates","description":"A manager of the voice states of this guild","type":[[["VoiceStateManager"]]],"meta":{"line":95,"file":"Guild.js","path":"src/structures"}},{"name":"stageInstances","description":"A manager of the stage instances of this guild","type":[[["StageInstanceManager"]]],"meta":{"line":101,"file":"Guild.js","path":"src/structures"}},{"name":"invites","description":"A manager of the invites of this guild","type":[[["GuildInviteManager"]]],"meta":{"line":107,"file":"Guild.js","path":"src/structures"}},{"name":"scheduledEvents","description":"A manager of the scheduled events of this guild","type":[[["GuildScheduledEventManager"]]],"meta":{"line":113,"file":"Guild.js","path":"src/structures"}},{"name":"autoModerationRules","description":"A manager of the auto moderation rules of this guild.","type":[[["AutoModerationRuleManager"]]],"meta":{"line":119,"file":"Guild.js","path":"src/structures"}},{"name":"settings","description":"All of the settings {@link Object}","type":[[["GuildSettingManager"]]],"meta":{"line":125,"file":"Guild.js","path":"src/structures"}},{"name":"available","description":"Whether the guild is available to access. If it is not available, it indicates a server outage","type":[[["boolean"]]],"meta":{"line":133,"file":"Guild.js","path":"src/structures"}},{"name":"shardId","description":"The id of the shard this Guild belongs to.","type":[[["number"]]],"meta":{"line":143,"file":"Guild.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":151,"file":"Guild.js","path":"src/structures"}},{"name":"shard","description":"The Shard this Guild belongs to.","readonly":true,"type":[[["WebSocketShard"]]],"meta":{"line":181,"file":"Guild.js","path":"src/structures"}},{"name":"discoverySplash","description":"The hash of the guild discovery splash image","nullable":true,"type":[[["string"]]],"meta":{"line":201,"file":"Guild.js","path":"src/structures"}},{"name":"memberCount","description":"The full amount of members in this guild","type":[[["number"]]],"meta":{"line":209,"file":"Guild.js","path":"src/structures"}},{"name":"large","description":"Whether the guild is \"large\" (has more than {@link WebsocketOptions large_threshold} members, 50 by default)","type":[[["boolean"]]],"meta":{"line":217,"file":"Guild.js","path":"src/structures"}},{"name":"premiumProgressBarEnabled","description":"Whether this guild has its premium (boost) progress bar enabled","type":[[["boolean"]]],"meta":{"line":225,"file":"Guild.js","path":"src/structures"}},{"name":"applicationId","description":"The id of the application that created this guild (if applicable)","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":270,"file":"Guild.js","path":"src/structures"}},{"name":"afkTimeout","description":"The time in seconds before a user is counted as \"away from keyboard\"","nullable":true,"type":[[["number"]]],"meta":{"line":278,"file":"Guild.js","path":"src/structures"}},{"name":"afkChannelId","description":"The id of the voice channel where AFK members are moved","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":286,"file":"Guild.js","path":"src/structures"}},{"name":"systemChannelId","description":"The system channel's id","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":294,"file":"Guild.js","path":"src/structures"}},{"name":"premiumTier","description":"The premium tier of this guild","type":[[["PremiumTier"]]],"meta":{"line":302,"file":"Guild.js","path":"src/structures"}},{"name":"widgetEnabled","description":"Whether widget images are enabled on this guild","nullable":true,"type":[[["boolean"]]],"meta":{"line":310,"file":"Guild.js","path":"src/structures"}},{"name":"widgetChannelId","description":"The widget channel's id, if enabled","nullable":true,"type":[[["string"]]],"meta":{"line":318,"file":"Guild.js","path":"src/structures"}},{"name":"explicitContentFilter","description":"The explicit content filter level of the guild","type":[[["ExplicitContentFilterLevel"]]],"meta":{"line":326,"file":"Guild.js","path":"src/structures"}},{"name":"mfaLevel","description":"The required MFA level for this guild","type":[[["MFALevel"]]],"meta":{"line":334,"file":"Guild.js","path":"src/structures"}},{"name":"joinedTimestamp","description":"The timestamp the client user joined the guild at","type":[[["number"]]],"meta":{"line":342,"file":"Guild.js","path":"src/structures"}},{"name":"defaultMessageNotifications","description":"The default message notification level of the guild","type":[[["DefaultMessageNotificationLevel"]]],"meta":{"line":350,"file":"Guild.js","path":"src/structures"}},{"name":"systemChannelFlags","description":"The value set for the guild's system channel flags","type":[[["Readonly","<"],["SystemChannelFlags",">"]]],"meta":{"line":358,"file":"Guild.js","path":"src/structures"}},{"name":"maximumMembers","description":"The maximum amount of members the guild can have","nullable":true,"type":[[["number"]]],"meta":{"line":366,"file":"Guild.js","path":"src/structures"}},{"name":"maximumPresences","description":"The maximum amount of presences the guild can have\nYou will need to fetch the guild using {@link Guild#fetch} if you want to receive this parameter","nullable":true,"type":[[["number"]]],"meta":{"line":377,"file":"Guild.js","path":"src/structures"}},{"name":"maxVideoChannelUsers","description":"The maximum amount of users allowed in a video channel.","nullable":true,"type":[[["number"]]],"meta":{"line":387,"file":"Guild.js","path":"src/structures"}},{"name":"maxStageVideoChannelUsers","description":"The maximum amount of users allowed in a stage video channel.","nullable":true,"type":[[["number"]]],"meta":{"line":397,"file":"Guild.js","path":"src/structures"}},{"name":"approximateMemberCount","description":"The approximate amount of members the guild has\nYou will need to fetch the guild using {@link Guild#fetch} if you want to receive this parameter","nullable":true,"type":[[["number"]]],"meta":{"line":408,"file":"Guild.js","path":"src/structures"}},{"name":"approximatePresenceCount","description":"The approximate amount of presences the guild has\nYou will need to fetch the guild using {@link Guild#fetch} if you want to receive this parameter","nullable":true,"type":[[["number"]]],"meta":{"line":419,"file":"Guild.js","path":"src/structures"}},{"name":"vanityURLUses","description":"The use count of the vanity URL code of the guild, if any\nYou will need to fetch this parameter using {@link Guild#fetchVanityData} if you want to receive it","nullable":true,"type":[[["number"]]],"meta":{"line":429,"file":"Guild.js","path":"src/structures"}},{"name":"rulesChannelId","description":"The rules channel's id for the guild","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":436,"file":"Guild.js","path":"src/structures"}},{"name":"publicUpdatesChannelId","description":"The community updates channel's id for the guild","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":444,"file":"Guild.js","path":"src/structures"}},{"name":"preferredLocale","description":"The preferred locale of the guild, defaults to `en-US`","see":["{@link https://discord.com/developers/docs/reference#locales}"],"type":[[["Locale"]]],"meta":{"line":453,"file":"Guild.js","path":"src/structures"}},{"name":"safetyAlertsChannelId","description":"The safety alerts channel's id for the guild","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":461,"file":"Guild.js","path":"src/structures"}},{"name":"ownerId","description":"The user id of this guild's owner","type":[[["Snowflake"]]],"meta":{"line":494,"file":"Guild.js","path":"src/structures"}},{"name":"emojis","description":"A manager of the emojis belonging to this guild","type":[[["GuildEmojiManager"]]],"meta":{"line":529,"file":"Guild.js","path":"src/structures"}},{"name":"stickers","description":"A manager of the stickers belonging to this guild","type":[[["GuildStickerManager"]]],"meta":{"line":543,"file":"Guild.js","path":"src/structures"}},{"name":"joinedAt","description":"The time the client user joined the guild","readonly":true,"type":[[["Date"]]],"meta":{"line":558,"file":"Guild.js","path":"src/structures"}},{"name":"afkChannel","description":"AFK voice channel for this guild","readonly":true,"nullable":true,"type":[[["VoiceChannel"]]],"meta":{"line":586,"file":"Guild.js","path":"src/structures"}},{"name":"systemChannel","description":"System channel for this guild","readonly":true,"nullable":true,"type":[[["TextChannel"]]],"meta":{"line":595,"file":"Guild.js","path":"src/structures"}},{"name":"safetyAlertsChannel","description":"Safety alerts channel for this guild","readonly":true,"nullable":true,"type":[[["TextChannel"]]],"meta":{"line":604,"file":"Guild.js","path":"src/structures"}},{"name":"widgetChannel","description":"Widget channel for this guild","readonly":true,"nullable":true,"type":[[["TextChannel"]],[["NewsChannel"]],[["VoiceChannel"]],[["StageChannel"]],[["ForumChannel"]]],"meta":{"line":613,"file":"Guild.js","path":"src/structures"}},{"name":"rulesChannel","description":"Rules channel for this guild","readonly":true,"nullable":true,"type":[[["TextChannel"]]],"meta":{"line":622,"file":"Guild.js","path":"src/structures"}},{"name":"publicUpdatesChannel","description":"Public updates channel for this guild","readonly":true,"nullable":true,"type":[[["TextChannel"]]],"meta":{"line":631,"file":"Guild.js","path":"src/structures"}},{"name":"me","description":"The client user as a GuildMember of this guild","readonly":true,"nullable":true,"deprecated":"Use {@link GuildMemberManager#me} instead.","type":[[["GuildMember"]]],"meta":{"line":641,"file":"Guild.js","path":"src/structures"}},{"name":"maximumBitrate","description":"The maximum bitrate available for this guild","readonly":true,"type":[[["number"]]],"meta":{"line":655,"file":"Guild.js","path":"src/structures"}},{"name":"voiceAdapterCreator","description":"The voice state adapter for this guild that can be used with @discordjs/voice to play audio in voice\nand stage channels.","readonly":true,"type":[[["function"]]],"meta":{"line":1557,"file":"Guild.js","path":"src/structures"}},{"name":"splash","description":"The hash of the guild invite splash image","nullable":true,"type":[[["string"]]],"meta":{"line":25,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"banner","description":"The hash of the guild banner","nullable":true,"type":[[["string"]]],"meta":{"line":33,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"description","description":"The description of the guild, if any","nullable":true,"type":[[["string"]]],"meta":{"line":41,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"verificationLevel","description":"The verification level of the guild","type":[[["VerificationLevel"]]],"meta":{"line":49,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"vanityURLCode","description":"The vanity invite code of the guild, if any","nullable":true,"type":[[["string"]]],"meta":{"line":57,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"nsfwLevel","description":"The NSFW level of this guild","type":[[["NSFWLevel"]]],"meta":{"line":65,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"premiumSubscriptionCount","description":"The total number of boosts for this server","nullable":true,"type":[[["number"]]],"meta":{"line":73,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"id","description":"The guild's id","type":[[["Snowflake"]]],"meta":{"line":19,"file":"BaseGuild.js","path":"src/structures"}},{"name":"name","description":"The name of this guild","type":[[["string"]]],"meta":{"line":25,"file":"BaseGuild.js","path":"src/structures"}},{"name":"icon","description":"The icon hash of this guild","nullable":true,"type":[[["string"]]],"meta":{"line":31,"file":"BaseGuild.js","path":"src/structures"}},{"name":"features","description":"An array of features available to this guild","type":[[["Array","<"],["Features",">"]]],"meta":{"line":37,"file":"BaseGuild.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp this guild was created at","readonly":true,"type":[[["number"]]],"meta":{"line":45,"file":"BaseGuild.js","path":"src/structures"}},{"name":"createdAt","description":"The time this guild was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":54,"file":"BaseGuild.js","path":"src/structures"}},{"name":"nameAcronym","description":"The acronym that shows up in place of a guild icon","readonly":true,"type":[[["string"]]],"meta":{"line":63,"file":"BaseGuild.js","path":"src/structures"}},{"name":"partnered","description":"Whether this guild is partnered","readonly":true,"type":[[["boolean"]]],"meta":{"line":75,"file":"BaseGuild.js","path":"src/structures"}},{"name":"verified","description":"Whether this guild is verified","readonly":true,"type":[[["boolean"]]],"meta":{"line":84,"file":"BaseGuild.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"discoverySplashURL","description":"The URL to this guild's discovery splash image.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":567,"file":"Guild.js","path":"src/structures"}},{"name":"fetchOwner","description":"Fetches the owner of the guild.\nIf the member object isn't needed, use {@link Guild#ownerId} instead.","params":[{"name":"options","description":"The options for fetching the member","optional":true,"type":[[["BaseFetchOptions"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":577,"file":"Guild.js","path":"src/structures"}},{"name":"fetchIntegrations","description":"Fetches a collection of integrations to this guild.\nResolves with a collection mapping integrations by their ids.","examples":["// Fetch integrations\nguild.fetchIntegrations()\n .then(integrations => console.log(`Fetched ${integrations.size} integrations`))\n .catch(console.error);"],"async":true,"returns":[[["Promise","<"],["Collection","<("],["Snowflake","|"],["string","), "],["Integration",">>"]]],"meta":{"line":682,"file":"Guild.js","path":"src/structures"}},{"name":"fetchTemplates","description":"Fetches a collection of templates from this guild.\nResolves with a collection mapping templates by their codes.","async":true,"returns":[[["Promise","<"],["Collection","<"],["string",", "],["GuildTemplate",">>"]]],"meta":{"line":695,"file":"Guild.js","path":"src/structures"}},{"name":"fetchWelcomeScreen","description":"Fetches the welcome screen for this guild.","async":true,"returns":[[["Promise","<"],["WelcomeScreen",">"]]],"meta":{"line":704,"file":"Guild.js","path":"src/structures"}},{"name":"createTemplate","description":"Creates a template for the guild.","params":[{"name":"name","description":"The name for the template","type":[[["string"]]]},{"name":"description","description":"The description for the template","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildTemplate",">"]]],"meta":{"line":715,"file":"Guild.js","path":"src/structures"}},{"name":"fetchPreview","description":"Obtains a guild preview for this guild from Discord.","async":true,"returns":[[["Promise","<"],["GuildPreview",">"]]],"meta":{"line":724,"file":"Guild.js","path":"src/structures"}},{"name":"fetchVanityData","description":"Fetches the vanity URL invite object to this guild.\nResolves with an object containing the vanity URL invite code and the use count","examples":["// Fetch invite data\nguild.fetchVanityData()\n .then(res => {\n console.log(`Vanity URL: https://discord.gg/${res.code} with ${res.uses} uses`);\n })\n .catch(console.error);"],"async":true,"returns":[[["Promise","<"],["Vanity",">"]]],"meta":{"line":748,"file":"Guild.js","path":"src/structures"}},{"name":"fetchWebhooks","description":"Fetches all webhooks for the guild.","examples":["// Fetch webhooks\nguild.fetchWebhooks()\n .then(webhooks => console.log(`Fetched ${webhooks.size} webhooks`))\n .catch(console.error);"],"async":true,"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Webhook",">>"]]],"meta":{"line":765,"file":"Guild.js","path":"src/structures"}},{"name":"fetchWidget","description":"Fetches the guild widget data, requires the widget to be enabled.","examples":["// Fetches the guild widget data\nguild.fetchWidget()\n .then(widget => console.log(`The widget shows ${widget.channels.size} channels`))\n .catch(console.error);"],"returns":[[["Promise","<"],["Widget",">"]]],"meta":{"line":781,"file":"Guild.js","path":"src/structures"}},{"name":"fetchWidgetSettings","description":"Fetches the guild widget settings.","examples":["// Fetches the guild widget settings\nguild.fetchWidgetSettings()\n .then(widget => console.log(`The widget is ${widget.enabled ? 'enabled' : 'disabled'}`))\n .catch(console.error);"],"async":true,"returns":[[["Promise","<"],["GuildWidgetSettings",">"]]],"meta":{"line":808,"file":"Guild.js","path":"src/structures"}},{"name":"fetchAuditLogs","description":"Fetches audit logs for this guild.","examples":["// Output audit log entries\nguild.fetchAuditLogs()\n .then(audit => console.log(audit.entries.first()))\n .catch(console.error);"],"params":[{"name":"options","description":"Options for fetching audit logs","optional":true,"default":"{}","type":[[["GuildAuditLogsFetchOptions"]]]}],"async":true,"returns":[[["Promise","<"],["GuildAuditLogs",">"]]],"meta":{"line":838,"file":"Guild.js","path":"src/structures"}},{"name":"edit","description":"Updates the guild with new information - e.g. a new name.","examples":["// Set the guild name\nguild.edit({\n name: 'Discord Guild',\n})\n .then(updated => console.log(`New guild name ${updated}`))\n .catch(console.error);"],"params":[{"name":"data","description":"The data to update the guild with","type":[[["GuildEditData"]]]},{"name":"reason","description":"Reason for editing this guild","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":905,"file":"Guild.js","path":"src/structures"}},{"name":"editWelcomeScreen","description":"Updates the guild's welcome screen","examples":["guild.editWelcomeScreen({\n description: 'Hello World',\n enabled: true,\n welcomeChannels: [\n {\n description: 'foobar',\n channel: '222197033908436994',\n }\n ],\n})"],"params":[{"name":"data","description":"Data to edit the welcome screen with","type":[[["WelcomeScreenEditData"]]]}],"async":true,"returns":[[["Promise","<"],["WelcomeScreen",">"]]],"meta":{"line":1012,"file":"Guild.js","path":"src/structures"}},{"name":"setExplicitContentFilter","description":"Edits the level of the explicit content filter.","params":[{"name":"explicitContentFilter","description":"The new level of the explicit content filter","nullable":true,"type":[[["ExplicitContentFilterLevel"]],[["number"]]]},{"name":"reason","description":"Reason for changing the level of the guild's explicit content filter","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1040,"file":"Guild.js","path":"src/structures"}},{"name":"setDefaultMessageNotifications","description":"Edits the setting of the default message notifications of the guild.","params":[{"name":"defaultMessageNotifications","description":"The new default message notification level of the guild","nullable":true,"type":[[["DefaultMessageNotificationLevel"]],[["number"]]]},{"name":"reason","description":"Reason for changing the setting of the default message notifications","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1051,"file":"Guild.js","path":"src/structures"}},{"name":"setSystemChannelFlags","description":"Edits the flags of the default message notifications of the guild.","params":[{"name":"systemChannelFlags","description":"The new flags for the default message notifications","type":[[["SystemChannelFlagsResolvable"]]]},{"name":"reason","description":"Reason for changing the flags of the default message notifications","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1062,"file":"Guild.js","path":"src/structures"}},{"name":"setName","description":"Edits the name of the guild.","examples":["// Edit the guild name\nguild.setName('Discord Guild')\n .then(updated => console.log(`Updated guild name to ${updated.name}`))\n .catch(console.error);"],"params":[{"name":"name","description":"The new name of the guild","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild's name","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1077,"file":"Guild.js","path":"src/structures"}},{"name":"setVerificationLevel","description":"Edits the verification level of the guild.","examples":["// Edit the guild verification level\nguild.setVerificationLevel(1)\n .then(updated => console.log(`Updated guild verification level to ${guild.verificationLevel}`))\n .catch(console.error);"],"params":[{"name":"verificationLevel","description":"The new verification level of the guild","nullable":true,"type":[[["VerificationLevel"]],[["number"]]]},{"name":"reason","description":"Reason for changing the guild's verification level","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1092,"file":"Guild.js","path":"src/structures"}},{"name":"setAFKChannel","description":"Edits the AFK channel of the guild.","examples":["// Edit the guild AFK channel\nguild.setAFKChannel(channel)\n .then(updated => console.log(`Updated guild AFK channel to ${guild.afkChannel.name}`))\n .catch(console.error);"],"params":[{"name":"afkChannel","description":"The new AFK channel","nullable":true,"type":[[["VoiceChannelResolvable"]]]},{"name":"reason","description":"Reason for changing the guild's AFK channel","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1107,"file":"Guild.js","path":"src/structures"}},{"name":"setSystemChannel","description":"Edits the system channel of the guild.","examples":["// Edit the guild system channel\nguild.setSystemChannel(channel)\n .then(updated => console.log(`Updated guild system channel to ${guild.systemChannel.name}`))\n .catch(console.error);"],"params":[{"name":"systemChannel","description":"The new system channel","nullable":true,"type":[[["TextChannelResolvable"]]]},{"name":"reason","description":"Reason for changing the guild's system channel","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1122,"file":"Guild.js","path":"src/structures"}},{"name":"setAFKTimeout","description":"Edits the AFK timeout of the guild.","examples":["// Edit the guild AFK channel\nguild.setAFKTimeout(60)\n .then(updated => console.log(`Updated guild AFK timeout to ${guild.afkTimeout}`))\n .catch(console.error);"],"params":[{"name":"afkTimeout","description":"The time in seconds that a user must be idle to be considered AFK","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the guild's AFK timeout","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1137,"file":"Guild.js","path":"src/structures"}},{"name":"setIcon","description":"Sets a new guild icon.","examples":["// Edit the guild icon\nguild.setIcon('./icon.png')\n .then(updated => console.log('Updated the guild icon'))\n .catch(console.error);"],"params":[{"name":"icon","description":"The new icon of the guild","nullable":true,"type":[[["Base64Resolvable"]],[["BufferResolvable"]]]},{"name":"reason","description":"Reason for changing the guild's icon","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1152,"file":"Guild.js","path":"src/structures"}},{"name":"setOwner","description":"Sets a new owner of the guild.","examples":["// Edit the guild owner\nguild.setOwner(guild.members.cache.first())\n .then(guild => guild.fetchOwner())\n .then(owner => console.log(`Updated the guild owner to ${owner.displayName}`))\n .catch(console.error);"],"params":[{"name":"owner","description":"The new owner of the guild","type":[[["GuildMemberResolvable"]]]},{"name":"reason","description":"Reason for setting the new owner","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1168,"file":"Guild.js","path":"src/structures"}},{"name":"setSplash","description":"Sets a new guild invite splash image.","examples":["// Edit the guild splash\nguild.setSplash('./splash.png')\n .then(updated => console.log('Updated the guild splash'))\n .catch(console.error);"],"params":[{"name":"splash","description":"The new invite splash image of the guild","nullable":true,"type":[[["Base64Resolvable"]],[["BufferResolvable"]]]},{"name":"reason","description":"Reason for changing the guild's invite splash image","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1183,"file":"Guild.js","path":"src/structures"}},{"name":"setDiscoverySplash","description":"Sets a new guild discovery splash image.","examples":["// Edit the guild discovery splash\nguild.setDiscoverySplash('./discoverysplash.png')\n .then(updated => console.log('Updated the guild discovery splash'))\n .catch(console.error);"],"params":[{"name":"discoverySplash","description":"The new discovery splash image of the guild","nullable":true,"type":[[["Base64Resolvable"]],[["BufferResolvable"]]]},{"name":"reason","description":"Reason for changing the guild's discovery splash image","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1198,"file":"Guild.js","path":"src/structures"}},{"name":"setBanner","description":"Sets a new guild banner.","examples":["guild.setBanner('./banner.png')\n .then(updated => console.log('Updated the guild banner'))\n .catch(console.error);"],"params":[{"name":"banner","description":"The new banner of the guild","nullable":true,"type":[[["Base64Resolvable"]],[["BufferResolvable"]]]},{"name":"reason","description":"Reason for changing the guild's banner","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1212,"file":"Guild.js","path":"src/structures"}},{"name":"setRulesChannel","description":"Edits the rules channel of the guild.","examples":["// Edit the guild rules channel\nguild.setRulesChannel(channel)\n .then(updated => console.log(`Updated guild rules channel to ${guild.rulesChannel.name}`))\n .catch(console.error);"],"params":[{"name":"rulesChannel","description":"The new rules channel","nullable":true,"type":[[["TextChannelResolvable"]]]},{"name":"reason","description":"Reason for changing the guild's rules channel","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1227,"file":"Guild.js","path":"src/structures"}},{"name":"setPublicUpdatesChannel","description":"Edits the community updates channel of the guild.","examples":["// Edit the guild community updates channel\nguild.setPublicUpdatesChannel(channel)\n .then(updated => console.log(`Updated guild community updates channel to ${guild.publicUpdatesChannel.name}`))\n .catch(console.error);"],"params":[{"name":"publicUpdatesChannel","description":"The new community updates channel","nullable":true,"type":[[["TextChannelResolvable"]]]},{"name":"reason","description":"Reason for changing the guild's community updates channel","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1242,"file":"Guild.js","path":"src/structures"}},{"name":"setPreferredLocale","description":"Edits the preferred locale of the guild.","examples":["// Edit the guild preferred locale\nguild.setPreferredLocale('en-US')\n .then(updated => console.log(`Updated guild preferred locale to ${guild.preferredLocale}`))\n .catch(console.error);"],"params":[{"name":"preferredLocale","description":"The new preferred locale of the guild","nullable":true,"type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild's preferred locale","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1257,"file":"Guild.js","path":"src/structures"}},{"name":"setSafetyAlertsChannel","description":"Edits the safety alerts channel of the guild.","examples":["// Edit the guild safety alerts channel\nguild.setSafetyAlertsChannel(channel)\n .then(updated => console.log(`Updated guild safety alerts channel to ${updated.safetyAlertsChannel.name}`))\n .catch(console.error);"],"params":[{"name":"safetyAlertsChannel","description":"The new safety alerts channel","nullable":true,"type":[[["TextChannelResolvable"]]]},{"name":"reason","description":"Reason for changing the guild's safety alerts channel","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1272,"file":"Guild.js","path":"src/structures"}},{"name":"setPremiumProgressBarEnabled","description":"Edits the enabled state of the guild's premium progress bar","params":[{"name":"enabled","description":"The new enabled state of the guild's premium progress bar","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"Reason for changing the state of the guild's premium progress bar","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1282,"file":"Guild.js","path":"src/structures"}},{"name":"setChannelPositions","description":"Batch-updates the guild's channels' positions.\nOnly one channel's parent can be changed at a time","examples":["guild.setChannelPositions([{ channel: channelId, position: newChannelIndex }])\n .then(guild => console.log(`Updated channel positions for ${guild}`))\n .catch(console.error);"],"deprecated":"Use {@link GuildChannelManager#setPositions} instead","params":[{"name":"channelPositions","description":"Channel positions to update","type":[[["Array","<"],["ChannelPosition",">"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1313,"file":"Guild.js","path":"src/structures"}},{"name":"setRolePositions","description":"Batch-updates the guild's role positions","examples":["guild.setRolePositions([{ role: roleId, position: updatedRoleIndex }])\n .then(guild => console.log(`Role positions updated for ${guild}`))\n .catch(console.error);"],"deprecated":"Use {@link RoleManager#setPositions} instead","params":[{"name":"rolePositions","description":"Role positions to update","type":[[["Array","<"],["GuildRolePosition",">"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1343,"file":"Guild.js","path":"src/structures"}},{"name":"setWidgetSettings","description":"Edits the guild's widget settings.","params":[{"name":"settings","description":"The widget settings for the guild","type":[[["GuildWidgetSettingsData"]]]},{"name":"reason","description":"Reason for changing the guild's widget settings","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1362,"file":"Guild.js","path":"src/structures"}},{"name":"disableInvites","description":"Sets whether this guild's invites are disabled.","params":[{"name":"disabled","description":"Whether the invites are disabled","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1378,"file":"Guild.js","path":"src/structures"}},{"name":"leave","description":"Leaves the guild.","examples":["// Leave a guild\nguild.leave()\n .then(guild => console.log(`Left the guild: ${guild.name}`))\n .catch(console.error);"],"async":true,"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1393,"file":"Guild.js","path":"src/structures"}},{"name":"delete","description":"Deletes the guild.","examples":["// Delete a guild\nguild.delete()\n .then(g => console.log(`Deleted the guild ${g}`))\n .catch(console.error);"],"async":true,"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1408,"file":"Guild.js","path":"src/structures"}},{"name":"equals","description":"Whether this guild equals another guild. It compares all properties, so for most operations\nit is advisable to just compare `guild.id === guild2.id` as it is much faster and is often\nwhat most users need.","params":[{"name":"guild","description":"The guild to compare with","type":[[["Guild"]]]}],"returns":[[["boolean"]]],"meta":{"line":1420,"file":"Guild.js","path":"src/structures"}},{"name":"markAsRead","description":"Marks the guild as read.","examples":["const guild = client.guilds.cache.get('id');\nguild.markAsRead();"],"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":1462,"file":"Guild.js","path":"src/structures"}},{"name":"setCommunity","description":"Set Community Feature.","params":[{"name":"stats","description":"True / False to enable / disable Community Feature","default":true,"type":[[["boolean"]]]},{"name":"publicUpdatesChannel","description":"The community updates channel of the guild","optional":true,"type":[[["GuildTextChannelResolvable"]]]},{"name":"rulesChannel","description":"The new rules channel","optional":true,"type":[[["GuildTextChannelResolvable"]]]},{"name":"reason","description":"Reason for changing the community feature","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":1474,"file":"Guild.js","path":"src/structures"}},{"name":"topEmojis","description":"Get the top emojis of this guild.","returns":[[["Promise","<"],["Collection","<"],["number",", "],["GuildEmoji",">>"]]],"meta":{"line":1511,"file":"Guild.js","path":"src/structures"}},{"name":"setVanityCode","description":"Set the vanity URL to this guild.\nResolves with an object containing the vanity URL invite code and the use count.","examples":["// Set invite code\nguild.setVanityCode('elysia')\n .then(res => {\n console.log(`Vanity URL: https://discord.gg/${res.code} with ${res.uses} uses`);\n })\n .catch(console.error);"],"params":[{"name":"code","description":"Vanity URL code","optional":true,"default":"''","type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Vanity",">"]]],"meta":{"line":1540,"file":"Guild.js","path":"src/structures"}},{"name":"_sortedRoles","description":"Creates a collection of this guild's roles, sorted by their position and ids.","access":"private","returns":[[["Collection","<"],["Snowflake",", "],["Role",">"]]],"meta":{"line":1578,"file":"Guild.js","path":"src/structures"}},{"name":"_sortedChannels","description":"Creates a collection of this guild's or a specific category's channels, sorted by their position and ids.","access":"private","params":[{"name":"channel","description":"Category to get the channels of","optional":true,"type":[[["GuildChannel"]]]}],"returns":[[["Collection","<"],["Snowflake",", "],["GuildChannel",">"]]],"meta":{"line":1588,"file":"Guild.js","path":"src/structures"}},{"name":"bannerURL","description":"The URL to this guild's banner.","inherits":"AnonymousGuild#bannerURL","inherited":true,"params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":84,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"splashURL","description":"The URL to this guild's invite splash image.","inherits":"AnonymousGuild#splashURL","inherited":true,"params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":93,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"iconURL","description":"The URL to this guild's icon.","inherits":"BaseGuild#iconURL","inherited":true,"params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["ImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":93,"file":"BaseGuild.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this guild.","inherits":"BaseGuild#fetch","inherited":true,"async":true,"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":102,"file":"BaseGuild.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the guild's name instead of the Guild object.","inherits":"BaseGuild#toString","inherited":true,"returns":[[["string"]]],"meta":{"line":111,"file":"BaseGuild.js","path":"src/structures"}}],"meta":{"line":57,"file":"Guild.js","path":"src/structures"}},{"name":"GuildAuditLogs","description":"Audit logs entries are held in this class.","props":[{"name":"webhooks","description":"Cached webhooks","access":"private","type":[[["Collection","<"],["Snowflake",", "],["Webhook",">"]]],"meta":{"line":197,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"integrations","description":"Cached integrations","access":"private","type":[[["Collection","<("],["Snowflake","|"],["string","), "],["Integration",">"]]],"meta":{"line":209,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"applicationCommands","description":"Cached application commands, includes application commands from other applications","access":"private","type":[[["Collection","<"],["Snowflake",", "],["ApplicationCommand",">"]]],"meta":{"line":221,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"autoModerationRules","description":"Cached auto moderation rules.","access":"private","type":[[["Collection","<"],["Snowflake",", "],["AutoModerationRule",">"]]],"meta":{"line":232,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"entries","description":"The entries for this guild's audit logs","type":[[["Collection","<"],["Snowflake",", "],["GuildAuditLogsEntry",">"]]],"meta":{"line":242,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"Targets","description":"Key mirror of all available audit log targets.","scope":"static","type":[[["Object","<"],["string",", "],["string",">"]]],"meta":{"line":36,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"Actions","description":"All available actions keyed under their names to their numeric values.","scope":"static","type":[[["Object","<"],["string",", "],["number",">"]]],"meta":{"line":122,"file":"GuildAuditLogs.js","path":"src/structures"}}],"methods":[{"name":"build","description":"Handles possible promises for entry targets.","scope":"static","async":true,"returns":[[["Promise","<"],["GuildAuditLogs",">"]]],"meta":{"line":253,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"targetType","description":"Finds the target type from the entry action.","scope":"static","params":[{"name":"target","description":"The action target","type":[[["AuditLogAction"]]]}],"returns":[[["AuditLogTargetType"]]],"meta":{"line":287,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"actionType","description":"Finds the action type from the entry action.","scope":"static","params":[{"name":"action","description":"The action target","type":[[["AuditLogAction"]]]}],"returns":[[["AuditLogActionType"]]],"meta":{"line":320,"file":"GuildAuditLogs.js","path":"src/structures"}}],"meta":{"line":188,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"GuildAuditLogsEntry","description":"Audit logs entry.","props":[{"name":"targetType","description":"The target type of this entry","type":[[["AuditLogTargetType"]]],"meta":{"line":412,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"actionType","description":"The action type of this entry","type":[[["AuditLogActionType"]]],"meta":{"line":418,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"action","description":"Specific action type of this entry in its string presentation","type":[[["AuditLogAction"]]],"meta":{"line":424,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"reason","description":"The reason of this entry","nullable":true,"type":[[["string"]]],"meta":{"line":430,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"executorId","description":"The id of the user that executed this entry","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":436,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"executor","description":"The user that executed this entry","nullable":true,"type":[[["User"]]],"meta":{"line":442,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"changes","description":"Specific property changes","type":[[["Array","<"],["AuditLogChange",">"]]],"meta":{"line":460,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"id","description":"The entry's id","type":[[["Snowflake"]]],"meta":{"line":466,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"extra","description":"Any extra data from the entry","nullable":true,"type":[[["Object"]],[["Role"]],[["GuildMember"]]],"meta":{"line":472,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"targetId","description":"The id of the target of this entry","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":556,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"target","description":"The target of this entry","nullable":true,"type":[[["AuditLogEntryTarget"]]],"meta":{"line":562,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp this entry was created at","readonly":true,"type":[[["number"]]],"meta":{"line":707,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"createdAt","description":"The time this entry was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":716,"file":"GuildAuditLogs.js","path":"src/structures"}}],"meta":{"line":405,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"GuildBan","description":"Represents a ban in a guild on Discord.","extends":[[["Base"]]],"props":[{"name":"guild","description":"The guild in which the ban is","type":[[["Guild"]]],"meta":{"line":17,"file":"GuildBan.js","path":"src/structures"}},{"name":"user","description":"The user this ban applies to","type":[[["User"]]],"meta":{"line":28,"file":"GuildBan.js","path":"src/structures"}},{"name":"reason","description":"The reason for the ban","nullable":true,"type":[[["string"]]],"meta":{"line":36,"file":"GuildBan.js","path":"src/structures"}},{"name":"partial","description":"Whether this GuildBan is partial. If the reason is not provided the value is null","readonly":true,"type":[[["boolean"]]],"meta":{"line":45,"file":"GuildBan.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"fetch","description":"Fetches this GuildBan.","params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["GuildBan",">"]]],"meta":{"line":54,"file":"GuildBan.js","path":"src/structures"}}],"meta":{"line":9,"file":"GuildBan.js","path":"src/structures"}},{"name":"GuildBoost","description":"Represents a guild boost in a guild on Discord.","extends":[[["Base"]]],"props":[{"name":"id","description":"The id of the guild boost","type":[[["Snowflake"]]],"meta":{"line":21,"file":"GuildBoost.js","path":"src/structures"}},{"name":"subscriptionId","description":"The id of the subscription","type":[[["Snowflake"]]],"meta":{"line":28,"file":"GuildBoost.js","path":"src/structures"}},{"name":"premiumGuildSubscriptionId","description":"The premium guild subscription id","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":35,"file":"GuildBoost.js","path":"src/structures"}},{"name":"guildId","description":"Guild id","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":40,"file":"GuildBoost.js","path":"src/structures"}},{"name":"ended","description":"Ended ???","nullable":true,"type":[[["boolean"]]],"meta":{"line":45,"file":"GuildBoost.js","path":"src/structures"}},{"name":"canceled","description":"Whether the subscription is canceled","type":[[["boolean"]]],"meta":{"line":52,"file":"GuildBoost.js","path":"src/structures"}},{"name":"cooldownEndsAt","description":"The cooldown end date","type":[[["Date"]]],"meta":{"line":59,"file":"GuildBoost.js","path":"src/structures"}},{"name":"guilld","description":"The guild of the boost","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":67,"file":"GuildBoost.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"unsubscribe","description":"Cancel the boost","async":true,"returns":[[["Promise","<"],["GuildBoost",">"]]],"meta":{"line":75,"file":"GuildBoost.js","path":"src/structures"}},{"name":"subscribe","description":"Use the boost","params":[{"name":"guild","description":"The guild to use the boost on","type":[[["GuildResolvable"]]]}],"async":true,"returns":[[["Promise","<"],["GuildBoost",">"]]],"meta":{"line":91,"file":"GuildBoost.js","path":"src/structures"}}],"meta":{"line":9,"file":"GuildBoost.js","path":"src/structures"}},{"name":"GuildChannel","description":"Represents a guild channel from any of the following:\n- {@link TextChannel}\n- {@link VoiceChannel}\n- {@link CategoryChannel}\n- {@link NewsChannel}\n- {@link StoreChannel}\n- {@link StageChannel}\n- {@link ForumChannel}","extends":[[["Channel"]]],"abstract":true,"props":[{"name":"guild","description":"The guild the channel is in","type":[[["Guild"]]],"meta":{"line":30,"file":"GuildChannel.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild the channel is in","type":[[["Snowflake"]]],"meta":{"line":36,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionOverwrites","description":"A manager of permission overwrites that belong to this channel","type":[[["PermissionOverwriteManager"]]],"meta":{"line":43,"file":"GuildChannel.js","path":"src/structures"}},{"name":"name","description":"The name of the guild channel","type":[[["string"]]],"meta":{"line":56,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rawPosition","description":"The raw position of the channel from Discord","type":[[["number"]]],"meta":{"line":64,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parentId","description":"The id of the category parent of this channel","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":76,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parent","description":"The category parent of this channel","readonly":true,"nullable":true,"type":[[["CategoryChannel"]]],"meta":{"line":98,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionsLocked","description":"If the permissionOverwrites match the parent channel, null if no parent","readonly":true,"nullable":true,"type":[[["boolean"]]],"meta":{"line":107,"file":"GuildChannel.js","path":"src/structures"}},{"name":"position","description":"The position of the channel","readonly":true,"type":[[["number"]]],"meta":{"line":148,"file":"GuildChannel.js","path":"src/structures"}},{"name":"members","description":"A collection of cached members of this channel, mapped by their ids.\nMembers that can view this channel, if the channel is text-based.\nMembers in the channel, if the channel is voice-based.","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]],"meta":{"line":274,"file":"GuildChannel.js","path":"src/structures"}},{"name":"deletable","description":"Whether the channel is deletable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":416,"file":"GuildChannel.js","path":"src/structures"}},{"name":"manageable","description":"Whether the channel is manageable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":425,"file":"GuildChannel.js","path":"src/structures"}},{"name":"viewable","description":"Whether the channel is viewable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":445,"file":"GuildChannel.js","path":"src/structures"}},{"name":"type","description":"The type of the channel","type":[[["ChannelType"]]],"meta":{"line":41,"file":"Channel.js","path":"src/structures"}},{"name":"id","description":"The channel's id","type":[[["Snowflake"]]],"meta":{"line":51,"file":"Channel.js","path":"src/structures"}},{"name":"flags","description":"The flags that are applied to the channel.","nullable":true,"type":[[["Readonly","<"],["ChannelFlags",">"]]],"meta":{"line":58,"file":"Channel.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the channel was created at","readonly":true,"type":[[["number"]]],"meta":{"line":69,"file":"Channel.js","path":"src/structures"}},{"name":"createdAt","description":"The time the channel was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":78,"file":"Channel.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":87,"file":"Channel.js","path":"src/structures"}},{"name":"partial","description":"Whether this Channel is a partial\nThis is always false outside of DM channels.","readonly":true,"type":[[["boolean"]]],"meta":{"line":118,"file":"Channel.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"permissionsFor","description":"Gets the overall set of permissions for a member or role in this channel, taking into account channel overwrites.","params":[{"name":"memberOrRole","description":"The member or role to obtain the overall permissions for","type":[[["GuildMemberResolvable"]],[["RoleResolvable"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":{"types":[[["Readonly","<"],["Permissions",">"]]],"nullable":true},"meta":{"line":172,"file":"GuildChannel.js","path":"src/structures"}},{"name":"memberPermissions","description":"Gets the overall set of permissions for a member in this channel, taking into account channel overwrites.","access":"private","params":[{"name":"member","description":"The member to obtain the overall permissions for","type":[[["GuildMember"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","default":true,"type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":212,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rolePermissions","description":"Gets the overall set of permissions for a role in this channel, taking into account channel overwrites.","access":"private","params":[{"name":"role","description":"The role to obtain the overall permissions for","type":[[["Role"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":241,"file":"GuildChannel.js","path":"src/structures"}},{"name":"lockPermissions","description":"Locks in the permission overwrites from the parent channel.","returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":261,"file":"GuildChannel.js","path":"src/structures"}},{"name":"edit","description":"Edits the channel.","examples":["// Edit a channel\nchannel.edit({ name: 'new-channel' })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"data","description":"The new data for the channel","type":[[["ChannelData"]]]},{"name":"reason","description":"Reason for editing this channel","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":289,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setName","description":"Sets a new name for the guild channel.","examples":["// Set a new channel name\nchannel.setName('not_general')\n .then(newChannel => console.log(`Channel's new name is ${newChannel.name}`))\n .catch(console.error);"],"params":[{"name":"name","description":"The new name for the guild channel","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild channel's name","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":304,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setParent","description":"Sets the parent of this channel.","examples":["// Add a parent to a channel\nmessage.channel.setParent('355908108431917066', { lockPermissions: false })\n .then(channel => console.log(`New parent of ${message.channel.name}: ${channel.name}`))\n .catch(console.error);"],"params":[{"name":"channel","description":"The category channel to set as the parent","nullable":true,"type":[[["CategoryChannelResolvable"]]]},{"name":"options","description":"The options for setting the parent","optional":true,"default":"{}","type":[[["SetParentOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":326,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setPosition","description":"Sets a new position for the guild channel.","examples":["// Set a new channel position\nchannel.setPosition(2)\n .then(newChannel => console.log(`Channel's new position is ${newChannel.position}`))\n .catch(console.error);"],"params":[{"name":"position","description":"The new position for the guild channel","type":[[["number"]]]},{"name":"options","description":"Options for setting position","optional":true,"type":[[["SetChannelPositionOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":354,"file":"GuildChannel.js","path":"src/structures"}},{"name":"clone","description":"Clones this channel.","params":[{"name":"options","description":"The options for cloning this channel","optional":true,"type":[[["GuildChannelCloneOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":369,"file":"GuildChannel.js","path":"src/structures"}},{"name":"equals","description":"Checks if this channel has the same type, topic, position, name, overwrites, and id as another channel.\nIn most cases, a simple `channel.id === channel2.id` will do, and is much faster too.","params":[{"name":"channel","description":"Channel to compare with","type":[[["GuildChannel"]]]}],"returns":[[["boolean"]]],"meta":{"line":391,"file":"GuildChannel.js","path":"src/structures"}},{"name":"delete","description":"Deletes this channel.","examples":["// Delete the channel\nchannel.delete('making room for new channels')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"reason","description":"Reason for deleting this channel","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":462,"file":"GuildChannel.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the channel's mention instead of the Channel object.","inherits":"Channel#toString","inherited":true,"examples":["// Logs: Hello from <#123456789012345678>!\nconsole.log(`Hello from ${channel}!`);"],"returns":[[["string"]]],"meta":{"line":129,"file":"Channel.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this channel.","inherits":"Channel#fetch","inherited":true,"params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":152,"file":"Channel.js","path":"src/structures"}},{"name":"isText","description":"Indicates whether this channel is {@link TextBasedChannels text-based}.","inherits":"Channel#isText","inherited":true,"returns":[[["boolean"]]],"meta":{"line":160,"file":"Channel.js","path":"src/structures"}},{"name":"isVoice","description":"Indicates whether this channel is {@link BaseGuildVoiceChannel voice-based}.","inherits":"Channel#isVoice","inherited":true,"returns":[[["boolean"]]],"meta":{"line":168,"file":"Channel.js","path":"src/structures"}},{"name":"isThread","description":"Indicates whether this channel is a {@link ThreadChannel}.","inherits":"Channel#isThread","inherited":true,"returns":[[["boolean"]]],"meta":{"line":176,"file":"Channel.js","path":"src/structures"}},{"name":"isDirectory","description":"Indicates whether this channel is a {@link DirectoryChannel}","inherits":"Channel#isDirectory","inherited":true,"returns":[[["boolean"]]],"meta":{"line":184,"file":"Channel.js","path":"src/structures"}}],"meta":{"line":22,"file":"GuildChannel.js","path":"src/structures"}},{"name":"GuildEmoji","description":"Represents a custom emoji.","extends":[[["BaseGuildEmoji"]]],"props":[{"name":"author","description":"The user who created this emoji","nullable":true,"type":[[["User"]]],"meta":{"line":20,"file":"GuildEmoji.js","path":"src/structures"}},{"name":"_roles","description":"Array of role ids this emoji is active for","access":"private","type":[[["Array","<"],["Snowflake",">"]]],"meta":{"line":22,"file":"GuildEmoji.js","path":"src/structures"}},{"name":"guild","description":"The guild this emoji is part of","type":[[["Guild"]]],"meta":{"line":33,"file":"GuildEmoji.js","path":"src/structures"}},{"name":"deletable","description":"Whether the emoji is deletable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":57,"file":"GuildEmoji.js","path":"src/structures"}},{"name":"roles","description":"A manager for roles this emoji is active for.","readonly":true,"type":[[["GuildEmojiRoleManager"]]],"meta":{"line":67,"file":"GuildEmoji.js","path":"src/structures"}},{"name":"requiresColons","description":"Whether or not this emoji requires colons surrounding it","nullable":true,"type":[[["boolean"]]],"meta":{"line":35,"file":"BaseGuildEmoji.js","path":"src/structures"}},{"name":"managed","description":"Whether this emoji is managed by an external service","nullable":true,"type":[[["boolean"]]],"meta":{"line":43,"file":"BaseGuildEmoji.js","path":"src/structures"}},{"name":"available","description":"Whether this emoji is available","nullable":true,"type":[[["boolean"]]],"meta":{"line":51,"file":"BaseGuildEmoji.js","path":"src/structures"}},{"name":"animated","description":"Whether or not the emoji is animated","nullable":true,"type":[[["boolean"]]],"meta":{"line":34,"file":"Emoji.js","path":"src/structures"}},{"name":"name","description":"The emoji's name","nullable":true,"type":[[["string"]]],"meta":{"line":40,"file":"Emoji.js","path":"src/structures"}},{"name":"id","description":"The emoji's id","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":46,"file":"Emoji.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":54,"file":"Emoji.js","path":"src/structures"}},{"name":"identifier","description":"The identifier of this emoji, used for message reactions","readonly":true,"type":[[["string"]]],"meta":{"line":84,"file":"Emoji.js","path":"src/structures"}},{"name":"url","description":"The URL to the emoji file if it's a custom emoji","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":94,"file":"Emoji.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the emoji was created at, or null if unicode","readonly":true,"nullable":true,"type":[[["number"]]],"meta":{"line":103,"file":"Emoji.js","path":"src/structures"}},{"name":"createdAt","description":"The time the emoji was created at, or null if unicode","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":112,"file":"Emoji.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"fetchAuthor","description":"Fetches the author for this emoji","returns":[[["Promise","<"],["User",">"]]],"meta":{"line":75,"file":"GuildEmoji.js","path":"src/structures"}},{"name":"edit","description":"Edits the emoji.","examples":["// Edit an emoji\nemoji.edit({ name: 'newemoji' })\n .then(e => console.log(`Edited emoji ${e}`))\n .catch(console.error);"],"params":[{"name":"data","description":"The new data for the emoji","type":[[["GuildEmojiEditData"]]]},{"name":"reason","description":"Reason for editing this emoji","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildEmoji",">"]]],"meta":{"line":97,"file":"GuildEmoji.js","path":"src/structures"}},{"name":"setName","description":"Sets the name of the emoji.","params":[{"name":"name","description":"The new name for the emoji","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the emoji's name","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildEmoji",">"]]],"meta":{"line":120,"file":"GuildEmoji.js","path":"src/structures"}},{"name":"delete","description":"Deletes the emoji.","params":[{"name":"reason","description":"Reason for deleting the emoji","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildEmoji",">"]]],"meta":{"line":129,"file":"GuildEmoji.js","path":"src/structures"}},{"name":"equals","description":"Whether this emoji is the same as another one.","params":[{"name":"other","description":"The emoji to compare it to","type":[[["GuildEmoji"]],[["APIEmoji"]]]}],"returns":[[["boolean"]]],"meta":{"line":139,"file":"GuildEmoji.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the text required to form a graphical emoji on Discord\ninstead of the Emoji object.","inherits":"Emoji#toString","inherited":true,"examples":["// Send a custom emoji from a guild:\nconst emoji = guild.emojis.cache.first();\nmsg.channel.send(`Hello! ${emoji}`);","// Send the emoji used in a reaction to the channel the reaction is part of\nreaction.message.channel.send(`The emoji used was: ${reaction.emoji}`);"],"returns":[[["string"]]],"meta":{"line":128,"file":"Emoji.js","path":"src/structures"}}],"meta":{"line":12,"file":"GuildEmoji.js","path":"src/structures"}},{"name":"GuildMember","description":"Represents a member of a guild on Discord.","extends":[[["Base"]]],"implements":[[["TextBasedChannel"]]],"props":[{"name":"guild","description":"The guild that this member is part of","type":[[["Guild"]]],"meta":{"line":33,"file":"GuildMember.js","path":"src/structures"}},{"name":"joinedTimestamp","description":"The timestamp the member joined the guild at","nullable":true,"type":[[["number"]]],"meta":{"line":39,"file":"GuildMember.js","path":"src/structures"}},{"name":"premiumSinceTimestamp","description":"The last timestamp this member started boosting the guild","nullable":true,"type":[[["number"]]],"meta":{"line":45,"file":"GuildMember.js","path":"src/structures"}},{"name":"nickname","description":"The nickname of this member, if they have one","nullable":true,"type":[[["string"]]],"meta":{"line":51,"file":"GuildMember.js","path":"src/structures"}},{"name":"pending","description":"Whether this member has yet to pass the guild's membership gate","type":[[["boolean"]]],"meta":{"line":57,"file":"GuildMember.js","path":"src/structures"}},{"name":"communicationDisabledUntilTimestamp","description":"The timestamp this member's timeout will be removed","nullable":true,"type":[[["number"]]],"meta":{"line":63,"file":"GuildMember.js","path":"src/structures"}},{"name":"_roles","description":"The role ids of the member","access":"private","type":[[["Array","<"],["Snowflake",">"]]],"meta":{"line":70,"file":"GuildMember.js","path":"src/structures"}},{"name":"user","description":"The user that this guild member instance represents","nullable":true,"type":[[["User"]]],"meta":{"line":80,"file":"GuildMember.js","path":"src/structures"}},{"name":"avatar","description":"The guild member's avatar hash","nullable":true,"type":[[["string"]]],"meta":{"line":89,"file":"GuildMember.js","path":"src/structures"}},{"name":"flags","description":"The flags of this member","type":[[["Readonly","<"],["GuildMemberFlags",">"]]],"meta":{"line":109,"file":"GuildMember.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":126,"file":"GuildMember.js","path":"src/structures"}},{"name":"partial","description":"Whether this GuildMember is a partial","readonly":true,"type":[[["boolean"]]],"meta":{"line":156,"file":"GuildMember.js","path":"src/structures"}},{"name":"roles","description":"A manager for the roles belonging to this member","readonly":true,"type":[[["GuildMemberRoleManager"]]],"meta":{"line":165,"file":"GuildMember.js","path":"src/structures"}},{"name":"voice","description":"The voice state of this member","readonly":true,"type":[[["VoiceState"]]],"meta":{"line":174,"file":"GuildMember.js","path":"src/structures"}},{"name":"joinedAt","description":"The time this member joined the guild","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":203,"file":"GuildMember.js","path":"src/structures"}},{"name":"communicationDisabledUntil","description":"The time this member's timeout will be removed","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":212,"file":"GuildMember.js","path":"src/structures"}},{"name":"premiumSince","description":"The last time this member started boosting the guild","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":221,"file":"GuildMember.js","path":"src/structures"}},{"name":"presence","description":"The presence of this guild member","readonly":true,"nullable":true,"type":[[["Presence"]]],"meta":{"line":230,"file":"GuildMember.js","path":"src/structures"}},{"name":"displayColor","description":"The displayed color of this member in base 10","readonly":true,"type":[[["number"]]],"meta":{"line":239,"file":"GuildMember.js","path":"src/structures"}},{"name":"displayHexColor","description":"The displayed color of this member in hexadecimal","readonly":true,"type":[[["string"]]],"meta":{"line":248,"file":"GuildMember.js","path":"src/structures"}},{"name":"id","description":"The member's id","readonly":true,"type":[[["Snowflake"]]],"meta":{"line":257,"file":"GuildMember.js","path":"src/structures"}},{"name":"displayName","description":"The nickname of this member, or their user display name if they don't have one","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":266,"file":"GuildMember.js","path":"src/structures"}},{"name":"permissions","description":"The overall set of permissions for this member, taking only roles and owner status into account","readonly":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":275,"file":"GuildMember.js","path":"src/structures"}},{"name":"manageable","description":"Whether the client user is above this user in the hierarchy, according to role position and guild ownership.\nThis is a prerequisite for many moderative actions.","readonly":true,"type":[[["boolean"]]],"meta":{"line":286,"file":"GuildMember.js","path":"src/structures"}},{"name":"kickable","description":"Whether this member is kickable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":299,"file":"GuildMember.js","path":"src/structures"}},{"name":"bannable","description":"Whether this member is bannable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":308,"file":"GuildMember.js","path":"src/structures"}},{"name":"moderatable","description":"Whether this member is moderatable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":317,"file":"GuildMember.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"avatarURL","description":"A link to the member's guild avatar.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["ImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":183,"file":"GuildMember.js","path":"src/structures"}},{"name":"displayAvatarURL","description":"A link to the member's guild avatar if they have one.\nOtherwise, a link to their {@link User#displayAvatarURL} will be returned.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["ImageURLOptions"]]]}],"returns":[[["string"]]],"meta":{"line":194,"file":"GuildMember.js","path":"src/structures"}},{"name":"isCommunicationDisabled","description":"Whether this member is currently timed out","returns":[[["boolean"]]],"meta":{"line":329,"file":"GuildMember.js","path":"src/structures"}},{"name":"permissionsIn","description":"Returns `channel.permissionsFor(guildMember)`. Returns permissions for a member in a guild channel,\ntaking into account roles and permission overwrites.","params":[{"name":"channel","description":"The guild channel to use as context","type":[[["GuildChannelResolvable"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":339,"file":"GuildMember.js","path":"src/structures"}},{"name":"edit","description":"Edits this member.","params":[{"name":"data","description":"The data to edit the member with","type":[[["GuildMemberEditData"]]]},{"name":"reason","description":"Reason for editing this user","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":351,"file":"GuildMember.js","path":"src/structures"}},{"name":"setNickname","description":"Sets the nickname for this member.","examples":["// Set a nickname for a guild member\nguildMember.setNickname('cool nickname', 'Needed a new nickname')\n .then(member => console.log(`Set nickname of ${member.user.username}`))\n .catch(console.error);","// Remove a nickname for a guild member\nguildMember.setNickname(null, 'No nicknames allowed!')\n .then(member => console.log(`Removed nickname for ${member.user.username}`))\n .catch(console.error);"],"params":[{"name":"nick","description":"The nickname for the guild member, or `null` if you want to reset their nickname","nullable":true,"type":[[["string"]]]},{"name":"reason","description":"Reason for setting the nickname","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":371,"file":"GuildMember.js","path":"src/structures"}},{"name":"setFlags","description":"Sets the flags for this member.","params":[{"name":"flags","description":"The flags to set","type":[[["GuildMemberFlagsResolvable"]]]},{"name":"reason","description":"Reason for setting the flags","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":381,"file":"GuildMember.js","path":"src/structures"}},{"name":"createDM","description":"Creates a DM channel between the client and this member.","params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["DMChannel",">"]]],"meta":{"line":390,"file":"GuildMember.js","path":"src/structures"}},{"name":"deleteDM","description":"Deletes any DMs with this member.","returns":[[["Promise","<"],["DMChannel",">"]]],"meta":{"line":398,"file":"GuildMember.js","path":"src/structures"}},{"name":"kick","description":"Kicks this member from the guild.","params":[{"name":"reason","description":"Reason for kicking user","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":407,"file":"GuildMember.js","path":"src/structures"}},{"name":"ban","description":"Bans this guild member.","examples":["// Ban a guild member, deleting a week's worth of messages\nguildMember.ban({ deleteMessageSeconds: 60 * 60 * 24 * 7, reason: 'They deserved it' })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for the ban","optional":true,"type":[[["BanOptions"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":421,"file":"GuildMember.js","path":"src/structures"}},{"name":"disableCommunicationUntil","description":"Times this guild member out.","examples":["// Time a guild member out for 5 minutes\nguildMember.disableCommunicationUntil(Date.now() + (5 * 60 * 1000), 'They deserved it')\n .then(console.log)\n .catch(console.error);","// Remove the timeout of a guild member\nguildMember.disableCommunicationUntil(null)\n .then(member => console.log(`Removed timeout for ${member.displayName}`))\n .catch(console.error);"],"params":[{"name":"communicationDisabledUntil","description":"The date or timestamp\nfor the member's communication to be disabled until. Provide `null` to remove the timeout.","type":[[["DateResolvable"]],[["null"]]]},{"name":"reason","description":"The reason for this timeout.","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":442,"file":"GuildMember.js","path":"src/structures"}},{"name":"timeout","description":"Times this guild member out.","examples":["// Time a guild member out for 5 minutes\nguildMember.timeout(5 * 60 * 1000, 'They deserved it')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"timeout","description":"The time in milliseconds\nfor the member's communication to be disabled until. Provide `null` to remove the timeout.","type":[[["number"]],[["null"]]]},{"name":"reason","description":"The reason for this timeout.","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":458,"file":"GuildMember.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this GuildMember.","params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":467,"file":"GuildMember.js","path":"src/structures"}},{"name":"equals","description":"Whether this guild member equals another guild member. It compares all properties, so for most\ncomparison it is advisable to just compare `member.id === member2.id` as it is significantly faster\nand is often what most users need.","params":[{"name":"member","description":"The member to compare with","type":[[["GuildMember"]]]}],"returns":[[["boolean"]]],"meta":{"line":478,"file":"GuildMember.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the user's mention instead of the GuildMember object.","examples":["// Logs: Hello from <@123456789012345678>!\nconsole.log(`Hello from ${member}!`);"],"returns":[[["string"]]],"meta":{"line":502,"file":"GuildMember.js","path":"src/structures"}},{"name":"setAvatar","description":"Sets the guild avatar of the logged in client.","params":[{"name":"avatar","description":"The new avatar","nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":523,"file":"GuildMember.js","path":"src/structures"}},{"name":"setBanner","description":"Sets the guild banner of the logged in client.","params":[{"name":"banner","description":"The new banner","nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":532,"file":"GuildMember.js","path":"src/structures"}},{"name":"setAboutMe","description":"Set Guild About me","params":[{"name":"bio","description":"Bio to set","default":null,"type":[[["string"]],[["null"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":541,"file":"GuildMember.js","path":"src/structures"}},{"name":"send","description":"Sends a message to this user.","implements":["TextBasedChannel#send"],"examples":["// Send a direct message\nguildMember.send('Hello!')\n .then(message => console.log(`Sent message: ${message.content} to ${guildMember.displayName}`))\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["MessageOptions"]]]}],"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":546,"file":"GuildMember.js","path":"src/structures"}}],"meta":{"line":25,"file":"GuildMember.js","path":"src/structures"}},{"name":"GuildPreview","description":"Represents the data about the guild any bot can preview, connected to the specified guild.","extends":[[["Base"]]],"props":[{"name":"id","description":"The id of this guild","type":[[["string"]]],"meta":{"line":27,"file":"GuildPreview.js","path":"src/structures"}},{"name":"name","description":"The name of this guild","type":[[["string"]]],"meta":{"line":34,"file":"GuildPreview.js","path":"src/structures"}},{"name":"icon","description":"The icon of this guild","nullable":true,"type":[[["string"]]],"meta":{"line":42,"file":"GuildPreview.js","path":"src/structures"}},{"name":"splash","description":"The splash icon of this guild","nullable":true,"type":[[["string"]]],"meta":{"line":50,"file":"GuildPreview.js","path":"src/structures"}},{"name":"discoverySplash","description":"The discovery splash icon of this guild","nullable":true,"type":[[["string"]]],"meta":{"line":58,"file":"GuildPreview.js","path":"src/structures"}},{"name":"features","description":"An array of enabled guild features","type":[[["Array","<"],["Features",">"]]],"meta":{"line":66,"file":"GuildPreview.js","path":"src/structures"}},{"name":"approximateMemberCount","description":"The approximate count of members in this guild","type":[[["number"]]],"meta":{"line":74,"file":"GuildPreview.js","path":"src/structures"}},{"name":"approximatePresenceCount","description":"The approximate count of online members in this guild","type":[[["number"]]],"meta":{"line":82,"file":"GuildPreview.js","path":"src/structures"}},{"name":"description","description":"The description for this guild","nullable":true,"type":[[["string"]]],"meta":{"line":90,"file":"GuildPreview.js","path":"src/structures"}},{"name":"emojis","description":"Collection of emojis belonging to this guild","type":[[["Collection","<"],["Snowflake",", "],["GuildPreviewEmoji",">"]]],"meta":{"line":100,"file":"GuildPreview.js","path":"src/structures"}},{"name":"stickers","description":"Collection of stickers belonging to this guild","type":[[["Collection","<"],["Snowflake",", "],["Sticker",">"]]],"meta":{"line":112,"file":"GuildPreview.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp this guild was created at","readonly":true,"type":[[["number"]]],"meta":{"line":122,"file":"GuildPreview.js","path":"src/structures"}},{"name":"createdAt","description":"The time this guild was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":131,"file":"GuildPreview.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"splashURL","description":"The URL to this guild's splash.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":140,"file":"GuildPreview.js","path":"src/structures"}},{"name":"discoverySplashURL","description":"The URL to this guild's discovery splash.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":149,"file":"GuildPreview.js","path":"src/structures"}},{"name":"iconURL","description":"The URL to this guild's icon.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["ImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":158,"file":"GuildPreview.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this guild.","async":true,"returns":[[["Promise","<"],["GuildPreview",">"]]],"meta":{"line":166,"file":"GuildPreview.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the guild's name instead of the Guild object.","examples":["// Logs: Hello from My Guild!\nconsole.log(`Hello from ${previewGuild}!`);"],"returns":[[["string"]]],"meta":{"line":179,"file":"GuildPreview.js","path":"src/structures"}}],"meta":{"line":13,"file":"GuildPreview.js","path":"src/structures"}},{"name":"GuildPreviewEmoji","description":"Represents an instance of an emoji belonging to a public guild obtained through Discord's preview endpoint.","extends":[[["BaseGuildEmoji"]]],"props":[{"name":"guild","description":"The public guild this emoji is part of","type":[[["GuildPreview"]]],"meta":{"line":10,"file":"GuildPreviewEmoji.js","path":"src/structures"}},{"name":"roles","description":"The roles this emoji is active for","type":[[["Array","<"],["Snowflake",">"]]],"meta":{"line":23,"file":"GuildPreviewEmoji.js","path":"src/structures"}},{"name":"requiresColons","description":"Whether or not this emoji requires colons surrounding it","nullable":true,"type":[[["boolean"]]],"meta":{"line":35,"file":"BaseGuildEmoji.js","path":"src/structures"}},{"name":"managed","description":"Whether this emoji is managed by an external service","nullable":true,"type":[[["boolean"]]],"meta":{"line":43,"file":"BaseGuildEmoji.js","path":"src/structures"}},{"name":"available","description":"Whether this emoji is available","nullable":true,"type":[[["boolean"]]],"meta":{"line":51,"file":"BaseGuildEmoji.js","path":"src/structures"}},{"name":"animated","description":"Whether or not the emoji is animated","nullable":true,"type":[[["boolean"]]],"meta":{"line":34,"file":"Emoji.js","path":"src/structures"}},{"name":"name","description":"The emoji's name","nullable":true,"type":[[["string"]]],"meta":{"line":40,"file":"Emoji.js","path":"src/structures"}},{"name":"id","description":"The emoji's id","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":46,"file":"Emoji.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":54,"file":"Emoji.js","path":"src/structures"}},{"name":"identifier","description":"The identifier of this emoji, used for message reactions","readonly":true,"type":[[["string"]]],"meta":{"line":84,"file":"Emoji.js","path":"src/structures"}},{"name":"url","description":"The URL to the emoji file if it's a custom emoji","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":94,"file":"Emoji.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the emoji was created at, or null if unicode","readonly":true,"nullable":true,"type":[[["number"]]],"meta":{"line":103,"file":"Emoji.js","path":"src/structures"}},{"name":"createdAt","description":"The time the emoji was created at, or null if unicode","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":112,"file":"Emoji.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"toString","description":"When concatenated with a string, this automatically returns the text required to form a graphical emoji on Discord\ninstead of the Emoji object.","inherits":"Emoji#toString","inherited":true,"examples":["// Send a custom emoji from a guild:\nconst emoji = guild.emojis.cache.first();\nmsg.channel.send(`Hello! ${emoji}`);","// Send the emoji used in a reaction to the channel the reaction is part of\nreaction.message.channel.send(`The emoji used was: ${reaction.emoji}`);"],"returns":[[["string"]]],"meta":{"line":128,"file":"Emoji.js","path":"src/structures"}}],"meta":{"line":9,"file":"GuildPreviewEmoji.js","path":"src/structures"}},{"name":"GuildScheduledEvent","description":"Represents a scheduled event in a {@link Guild}.","extends":[[["Base"]]],"props":[{"name":"id","description":"The id of the guild scheduled event","type":[[["Snowflake"]]],"meta":{"line":25,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild this guild scheduled event belongs to","type":[[["Snowflake"]]],"meta":{"line":31,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"channelId","description":"The channel id in which the scheduled event will be hosted, or `null` if entity type is `EXTERNAL`","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":42,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"creatorId","description":"The id of the user that created this guild scheduled event","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":52,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"name","description":"The name of the guild scheduled event","type":[[["string"]]],"meta":{"line":61,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"description","description":"The description of the guild scheduled event","nullable":true,"type":[[["string"]]],"meta":{"line":68,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"scheduledStartTimestamp","description":"The timestamp the guild scheduled event will start at\nThis can be potentially `null` only when it's an {@link AuditLogEntryTarget}","nullable":true,"type":[[["number"]]],"meta":{"line":78,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"scheduledEndTimestamp","description":"The timestamp the guild scheduled event will end at,\nor `null` if the event does not have a scheduled time to end","nullable":true,"type":[[["number"]]],"meta":{"line":85,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"privacyLevel","description":"The privacy level of the guild scheduled event","type":[[["PrivacyLevel"]]],"meta":{"line":91,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"status","description":"The status of the guild scheduled event","type":[[["GuildScheduledEventStatus"]]],"meta":{"line":97,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"entityType","description":"The type of hosting entity associated with the scheduled event","type":[[["GuildScheduledEventEntityType"]]],"meta":{"line":103,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"entityId","description":"The id of the hosting entity associated with the scheduled event","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":110,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"userCount","description":"The number of users who are subscribed to this guild scheduled event","nullable":true,"type":[[["number"]]],"meta":{"line":120,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"creator","description":"The user that created this guild scheduled event","nullable":true,"type":[[["User"]]],"meta":{"line":130,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"entityMetadata","description":"Additional metadata","nullable":true,"type":[[["GuildScheduledEventEntityMetadata"]]],"meta":{"line":150,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"image","description":"The cover image hash for this scheduled event","nullable":true,"type":[[["string"]]],"meta":{"line":165,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the guild scheduled event was created at","readonly":true,"type":[[["number"]]],"meta":{"line":185,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"createdAt","description":"The time the guild scheduled event was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":194,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"scheduledStartAt","description":"The time the guild scheduled event will start at","readonly":true,"type":[[["Date"]]],"meta":{"line":203,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"scheduledEndAt","description":"The time the guild scheduled event will end at,\nor `null` if the event does not have a scheduled time to end","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":213,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"channel","description":"The channel associated with this scheduled event","readonly":true,"nullable":true,"type":[[["VoiceChannel"]],[["StageChannel"]]],"meta":{"line":222,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"guild","description":"The guild this scheduled event belongs to","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":231,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"url","description":"The URL to the guild scheduled event","readonly":true,"type":[[["string"]]],"meta":{"line":240,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"coverImageURL","description":"The URL of this scheduled event's cover image","params":[{"name":"options","description":"Options for image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":176,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"createInviteURL","description":"Creates an invite URL to this guild scheduled event.","params":[{"name":"options","description":"The options to create the invite","optional":true,"type":[[["CreateGuildScheduledEventInviteURLOptions"]]]}],"async":true,"returns":[[["Promise","<"],["string",">"]]],"meta":{"line":256,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"edit","description":"Edits this guild scheduled event.","examples":["// Edit a guild scheduled event\nguildScheduledEvent.edit({ name: 'Party' })\n .then(guildScheduledEvent => console.log(guildScheduledEvent))\n .catch(console.error);"],"params":[{"name":"options","description":"The options to edit the guild scheduled event","type":[[["GuildScheduledEventEditOptions"]]]}],"returns":[[["Promise","<"],["GuildScheduledEvent",">"]]],"meta":{"line":277,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"delete","description":"Deletes this guild scheduled event.","examples":["// Delete a guild scheduled event\nguildScheduledEvent.delete()\n .then(guildScheduledEvent => console.log(guildScheduledEvent))\n .catch(console.error);"],"async":true,"returns":[[["Promise","<"],["GuildScheduledEvent",">"]]],"meta":{"line":290,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"setName","description":"Sets a new name for the guild scheduled event.","examples":["// Set name of a guild scheduled event\nguildScheduledEvent.setName('Birthday Party')\n .then(guildScheduledEvent => console.log(`Set the name to: ${guildScheduledEvent.name}`))\n .catch(console.error);"],"params":[{"name":"name","description":"The new name of the guild scheduled event","type":[[["string"]]]},{"name":"reason","description":"The reason for changing the name","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildScheduledEvent",">"]]],"meta":{"line":306,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"setScheduledStartTime","description":"Sets a new time to schedule the event at.","examples":["// Set start time of a guild scheduled event\nguildScheduledEvent.setScheduledStartTime('2022-09-24T00:00:00+05:30')\n .then(guildScheduledEvent => console.log(`Set the start time to: ${guildScheduledEvent.scheduledStartTime}`))\n .catch(console.error);"],"params":[{"name":"scheduledStartTime","description":"The time to schedule the event at","type":[[["DateResolvable"]]]},{"name":"reason","description":"The reason for changing the scheduled start time","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildScheduledEvent",">"]]],"meta":{"line":321,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"setScheduledEndTime","description":"Sets a new time to end the event at.","examples":["// Set end time of a guild scheduled event\nguildScheduledEvent.setScheduledEndTime('2022-09-25T00:00:00+05:30')\n .then(guildScheduledEvent => console.log(`Set the end time to: ${guildScheduledEvent.scheduledEndTime}`))\n .catch(console.error);"],"params":[{"name":"scheduledEndTime","description":"The time to end the event at","type":[[["DateResolvable"]]]},{"name":"reason","description":"The reason for changing the scheduled end time","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildScheduledEvent",">"]]],"meta":{"line":337,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"setDescription","description":"Sets the new description of the guild scheduled event.","examples":["// Set description of a guild scheduled event\nguildScheduledEvent.setDescription('A virtual birthday party')\n .then(guildScheduledEvent => console.log(`Set the description to: ${guildScheduledEvent.description}`))\n .catch(console.error);"],"params":[{"name":"description","description":"The description of the guild scheduled event","type":[[["string"]]]},{"name":"reason","description":"The reason for changing the description","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildScheduledEvent",">"]]],"meta":{"line":352,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"setStatus","description":"Sets the new status of the guild scheduled event.\nIf you're working with TypeScript, use this method in conjunction with status type-guards\nlike {@link GuildScheduledEvent#isScheduled} to get only valid status as suggestion","examples":["// Set status of a guild scheduled event\nguildScheduledEvent.setStatus('ACTIVE')\n .then(guildScheduledEvent => console.log(`Set the status to: ${guildScheduledEvent.status}`))\n .catch(console.error);"],"params":[{"name":"status","description":"The status of the guild scheduled event","type":[[["GuildScheduledEventStatus"]],[["number"]]]},{"name":"reason","description":"The reason for changing the status","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildScheduledEvent",">"]]],"meta":{"line":369,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"setLocation","description":"Sets the new location of the guild scheduled event.","examples":["// Set location of a guild scheduled event\nguildScheduledEvent.setLocation('Earth')\n .then(guildScheduledEvent => console.log(`Set the location to: ${guildScheduledEvent.entityMetadata.location}`))\n .catch(console.error);"],"params":[{"name":"location","description":"The location of the guild scheduled event","type":[[["string"]]]},{"name":"reason","description":"The reason for changing the location","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildScheduledEvent",">"]]],"meta":{"line":384,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"fetchSubscribers","description":"Fetches subscribers of this guild scheduled event.","params":[{"name":"options","description":"Options for fetching the subscribers","optional":true,"type":[[["FetchGuildScheduledEventSubscribersOptions"]]]}],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["GuildScheduledEventUser",">>"]]],"meta":{"line":393,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically concatenates the event's URL instead of the object.","examples":["// Logs: Event: https://discord.com/events/412345678901234567/499876543211234567\nconsole.log(`Event: ${guildScheduledEvent}`);"],"returns":[[["string"]]],"meta":{"line":404,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"isActive","description":"Indicates whether this guild scheduled event has an `ACTIVE` status.","returns":[[["boolean"]]],"meta":{"line":412,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"isCanceled","description":"Indicates whether this guild scheduled event has a `CANCELED` status.","returns":[[["boolean"]]],"meta":{"line":420,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"isCompleted","description":"Indicates whether this guild scheduled event has a `COMPLETED` status.","returns":[[["boolean"]]],"meta":{"line":428,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"isScheduled","description":"Indicates whether this guild scheduled event has a `SCHEDULED` status.","returns":[[["boolean"]]],"meta":{"line":436,"file":"GuildScheduledEvent.js","path":"src/structures"}}],"meta":{"line":17,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"GuildTemplate","description":"Represents the template for a guild.","extends":[[["Base"]]],"props":[{"name":"code","description":"The unique code of this template","type":[[["string"]]],"meta":{"line":24,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"name","description":"The name of this template","type":[[["string"]]],"meta":{"line":32,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"description","description":"The description of this template","nullable":true,"type":[[["string"]]],"meta":{"line":40,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"usageCount","description":"The amount of times this template has been used","type":[[["number"]]],"meta":{"line":48,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"creatorId","description":"The id of the user that created this template","type":[[["Snowflake"]]],"meta":{"line":56,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"creator","description":"The user that created this template","type":[[["User"]]],"meta":{"line":64,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"createdAt","description":"The time when this template was created at","type":[[["Date"]]],"meta":{"line":72,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"updatedAt","description":"The time when this template was last synced to the guild","type":[[["Date"]]],"meta":{"line":80,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild that this template belongs to","type":[[["Snowflake"]]],"meta":{"line":88,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"serializedGuild","description":"The data of the guild that this template would create","type":[[["APIGuild"]]],"meta":{"line":96,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"unSynced","description":"Whether this template has unsynced changes","nullable":true,"type":[[["boolean"]]],"meta":{"line":103,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp of when this template was created at","readonly":true,"type":[[["number"]]],"meta":{"line":187,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"updatedTimestamp","description":"The timestamp of when this template was last synced to the guild","readonly":true,"type":[[["number"]]],"meta":{"line":196,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"guild","description":"The guild that this template belongs to","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":205,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"url","description":"The URL of this template","readonly":true,"type":[[["string"]]],"meta":{"line":214,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}},{"name":"GUILD_TEMPLATES_PATTERN","description":"Regular expression that globally matches guild template links","scope":"static","type":[[["RegExp"]]],"meta":{"line":234,"file":"GuildTemplate.js","path":"src/structures"}}],"methods":[{"name":"createGuild","description":"Creates a guild based on this template.\nThis is only available to bots in fewer than 10 guilds.","params":[{"name":"name","description":"The name of the guild","type":[[["string"]]]},{"name":"icon","description":"The icon for the guild","optional":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]}],"async":true,"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":115,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"edit","description":"Updates the metadata of this template.","params":[{"name":"options","description":"Options for editing the template","optional":true,"type":[[["EditGuildTemplateOptions"]]]}],"async":true,"returns":[[["Promise","<"],["GuildTemplate",">"]]],"meta":{"line":159,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"delete","description":"Deletes this template.","async":true,"returns":[[["Promise","<"],["GuildTemplate",">"]]],"meta":{"line":168,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"sync","description":"Syncs this template to the current state of the guild.","async":true,"returns":[[["Promise","<"],["GuildTemplate",">"]]],"meta":{"line":177,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the template's code instead of the template object.","examples":["// Logs: Template: FKvmczH2HyUf\nconsole.log(`Template: ${guildTemplate}!`);"],"returns":[[["string"]]],"meta":{"line":225,"file":"GuildTemplate.js","path":"src/structures"}}],"meta":{"line":12,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"Integration","description":"Represents a guild integration.","extends":[[["Base"]]],"props":[{"name":"guild","description":"The guild this integration belongs to","type":[[["Guild"]]],"meta":{"line":34,"file":"Integration.js","path":"src/structures"}},{"name":"id","description":"The integration id","type":[[["Snowflake"]],[["string"]]],"meta":{"line":40,"file":"Integration.js","path":"src/structures"}},{"name":"name","description":"The integration name","type":[[["string"]]],"meta":{"line":46,"file":"Integration.js","path":"src/structures"}},{"name":"type","description":"The integration type","type":[[["IntegrationType"]]],"meta":{"line":52,"file":"Integration.js","path":"src/structures"}},{"name":"enabled","description":"Whether this integration is enabled","type":[[["boolean"]]],"meta":{"line":58,"file":"Integration.js","path":"src/structures"}},{"name":"syncing","description":"Whether this integration is syncing","nullable":true,"type":[[["boolean"]]],"meta":{"line":64,"file":"Integration.js","path":"src/structures"}},{"name":"role","description":"The role that this integration uses for subscribers","nullable":true,"type":[[["Role"]]],"meta":{"line":70,"file":"Integration.js","path":"src/structures"}},{"name":"enableEmoticons","description":"Whether emoticons should be synced for this integration (twitch only currently)","nullable":true,"type":[[["boolean"]]],"meta":{"line":77,"file":"Integration.js","path":"src/structures"}},{"name":"user","description":"The user for this integration","nullable":true,"type":[[["User"]]],"meta":{"line":87,"file":"Integration.js","path":"src/structures"}},{"name":"account","description":"The account integration information","type":[[["IntegrationAccount"]]],"meta":{"line":96,"file":"Integration.js","path":"src/structures"}},{"name":"syncedAt","description":"The last time this integration was last synced","nullable":true,"type":[[["number"]]],"meta":{"line":102,"file":"Integration.js","path":"src/structures"}},{"name":"subscriberCount","description":"How many subscribers this integration has","nullable":true,"type":[[["number"]]],"meta":{"line":109,"file":"Integration.js","path":"src/structures"}},{"name":"revoked","description":"Whether this integration has been revoked","nullable":true,"type":[[["boolean"]]],"meta":{"line":119,"file":"Integration.js","path":"src/structures"}},{"name":"roles","description":"All roles that are managed by this integration","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["Role",">"]]],"meta":{"line":132,"file":"Integration.js","path":"src/structures"}},{"name":"expireBehavior","description":"The behavior of expiring subscribers","nullable":true,"type":[[["number"]]],"meta":{"line":143,"file":"Integration.js","path":"src/structures"}},{"name":"expireGracePeriod","description":"The grace period before expiring subscribers","nullable":true,"type":[[["number"]]],"meta":{"line":151,"file":"Integration.js","path":"src/structures"}},{"name":"application","description":"The application for this integration","nullable":true,"type":[[["IntegrationApplication"]]],"meta":{"line":162,"file":"Integration.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"delete","description":"Deletes this integration.","params":[{"name":"reason","description":"Reason for deleting this integration","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Integration",">"]]],"meta":{"line":174,"file":"Integration.js","path":"src/structures"}}],"meta":{"line":26,"file":"Integration.js","path":"src/structures"}},{"name":"IntegrationApplication","description":"Represents an Integration's OAuth2 Application.","extends":[[["Application"]]],"props":[{"name":"bot","description":"The bot user for this application","nullable":true,"type":[[["User"]]],"meta":{"line":18,"file":"IntegrationApplication.js","path":"src/structures"}},{"name":"termsOfServiceURL","description":"The URL of the application's terms of service","nullable":true,"type":[[["string"]]],"meta":{"line":28,"file":"IntegrationApplication.js","path":"src/structures"}},{"name":"privacyPolicyURL","description":"The URL of the application's privacy policy","nullable":true,"type":[[["string"]]],"meta":{"line":38,"file":"IntegrationApplication.js","path":"src/structures"}},{"name":"rpcOrigins","description":"The Array of RPC origin URLs","type":[[["Array","<"],["string",">"]]],"meta":{"line":48,"file":"IntegrationApplication.js","path":"src/structures"}},{"name":"summary","description":"The application's summary","nullable":true,"deprecated":"This property is no longer being sent by the API.","type":[[["string"]]],"meta":{"line":59,"file":"IntegrationApplication.js","path":"src/structures"}},{"name":"hook","description":"Whether the application can be default hooked by the client","nullable":true,"type":[[["boolean"]]],"meta":{"line":69,"file":"IntegrationApplication.js","path":"src/structures"}},{"name":"cover","description":"The hash of the application's cover image","nullable":true,"type":[[["string"]]],"meta":{"line":79,"file":"IntegrationApplication.js","path":"src/structures"}},{"name":"verifyKey","description":"The hex-encoded key for verification in interactions and the GameSDK's GetTicket","nullable":true,"type":[[["string"]]],"meta":{"line":89,"file":"IntegrationApplication.js","path":"src/structures"}},{"name":"id","description":"The application's id","type":[[["Snowflake"]]],"meta":{"line":32,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"name","description":"The name of the application","nullable":true,"type":[[["string"]]],"meta":{"line":39,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"description","description":"The application's description","nullable":true,"type":[[["string"]]],"meta":{"line":49,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"icon","description":"The application's icon hash","nullable":true,"type":[[["string"]]],"meta":{"line":59,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"roleConnectionsVerificationURL","description":"This application's role connection verification entry point URL","nullable":true,"type":[[["string"]]],"meta":{"line":69,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"tags","description":"The tags this application has (max of 5)","type":[[["Array","<"],["string",">"]]],"meta":{"line":79,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"installParams","description":"Settings for this application's default in-app authorization","nullable":true,"type":[[["ClientApplicationInstallParams"]]],"meta":{"line":86,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"customInstallURL","description":"This application's custom installation URL","nullable":true,"type":[[["string"]]],"meta":{"line":99,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"flags","description":"The flags this application has","type":[[["ApplicationFlags"]]],"meta":{"line":109,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"approximateGuildCount","description":"An approximate amount of guilds this application is in.","nullable":true,"type":[[["number"]]],"meta":{"line":117,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"guildId","description":"The id of the guild associated with this application.","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":127,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"botRequireCodeGrant","description":"If this application's bot requires a code grant when using the OAuth2 flow","nullable":true,"type":[[["boolean"]]],"meta":{"line":157,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"botPublic","description":"If this application's bot is public","nullable":true,"type":[[["boolean"]]],"meta":{"line":167,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"owner","description":"The owner of this OAuth application","nullable":true,"type":[[["User"]],[["Team"]]],"meta":{"line":176,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"guild","description":"The guild associated with this application.","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":188,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"partial","description":"Whether this application is partial","readonly":true,"type":[[["boolean"]]],"meta":{"line":197,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"createdTimestamp","description":"The timestamp the application was created at","readonly":true,"type":[[["number"]]],"meta":{"line":206,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"createdAt","description":"The time the application was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":215,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"fetch","description":"Obtains this application from Discord.","inherits":"Application#fetch","inherited":true,"async":true,"returns":[[["Promise","<"],["Application",">"]]],"meta":{"line":223,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"fetchRoleConnectionMetadataRecords","description":"Gets this application's role connection metadata records","inherits":"Application#fetchRoleConnectionMetadataRecords","inherited":true,"async":true,"returns":[[["Promise","<"],["Array","<"],["ApplicationRoleConnectionMetadata",">>"]]],"meta":{"line":240,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"iconURL","description":"A link to the application's icon.","inherits":"Application#iconURL","inherited":true,"params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":250,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"coverURL","description":"A link to this application's cover image.","inherits":"Application#coverURL","inherited":true,"params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":260,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"fetchAssets","description":"Gets the application's rich presence assets.","inherits":"Application#fetchAssets","inherited":true,"deprecated":"This will be removed in the next major as it is unsupported functionality.","async":true,"returns":[[["Promise","<"],["Array","<"],["ApplicationAsset",">>"]]],"meta":{"line":278,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the application's name instead of the\nApplication object.","inherits":"Application#toString","inherited":true,"examples":["// Logs: Application name: My App\nconsole.log(`Application name: ${application}`);"],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":304,"file":"Application.js","path":"src/structures/interfaces"}}],"meta":{"line":9,"file":"IntegrationApplication.js","path":"src/structures"}},{"name":"Interaction","description":"Represents an interaction.","extends":[[["Base"]]],"props":[{"name":"type","description":"The interaction's type","type":[[["InteractionType"]]],"meta":{"line":20,"file":"Interaction.js","path":"src/structures"}},{"name":"id","description":"The interaction's id","type":[[["Snowflake"]]],"meta":{"line":26,"file":"Interaction.js","path":"src/structures"}},{"name":"token","description":"The interaction's token","readonly":true,"type":[[["string"]]],"meta":{"line":28,"file":"Interaction.js","path":"src/structures"}},{"name":"applicationId","description":"The application's id","type":[[["Snowflake"]]],"meta":{"line":40,"file":"Interaction.js","path":"src/structures"}},{"name":"channelId","description":"The id of the channel this interaction was sent in","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":46,"file":"Interaction.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild this interaction was sent in","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":52,"file":"Interaction.js","path":"src/structures"}},{"name":"user","description":"The user which sent this interaction","type":[[["User"]]],"meta":{"line":58,"file":"Interaction.js","path":"src/structures"}},{"name":"member","description":"If this interaction was sent in a guild, the member which sent it","nullable":true,"type":[[["GuildMember"]],[["APIGuildMember"]]],"meta":{"line":64,"file":"Interaction.js","path":"src/structures"}},{"name":"version","description":"The version","type":[[["number"]]],"meta":{"line":70,"file":"Interaction.js","path":"src/structures"}},{"name":"appPermissions","description":"Set of permissions the application or bot has within the channel the interaction was sent from","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":76,"file":"Interaction.js","path":"src/structures"}},{"name":"memberPermissions","description":"The permissions of the member, if one exists, in the channel this interaction was executed in","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":82,"file":"Interaction.js","path":"src/structures"}},{"name":"locale","description":"The locale of the user who invoked this interaction","type":[[["Locale"]]],"meta":{"line":124,"file":"Interaction.js","path":"src/structures"}},{"name":"guildLocale","description":"The preferred locale from the guild this interaction was sent in","nullable":true,"type":[[["Locale"]]],"meta":{"line":130,"file":"Interaction.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the interaction was created at","readonly":true,"type":[[["number"]]],"meta":{"line":138,"file":"Interaction.js","path":"src/structures"}},{"name":"createdAt","description":"The time the interaction was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":147,"file":"Interaction.js","path":"src/structures"}},{"name":"channel","description":"The channel this interaction was sent in","readonly":true,"nullable":true,"type":[[["TextBasedChannels"]]],"meta":{"line":156,"file":"Interaction.js","path":"src/structures"}},{"name":"guild","description":"The guild this interaction was sent in","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":165,"file":"Interaction.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"inGuild","description":"Indicates whether this interaction is received from a guild.","returns":[[["boolean"]]],"meta":{"line":173,"file":"Interaction.js","path":"src/structures"}},{"name":"inCachedGuild","description":"Indicates whether or not this interaction is both cached and received from a guild.","returns":[[["boolean"]]],"meta":{"line":181,"file":"Interaction.js","path":"src/structures"}},{"name":"inRawGuild","description":"Indicates whether or not this interaction is received from an uncached guild.","returns":[[["boolean"]]],"meta":{"line":189,"file":"Interaction.js","path":"src/structures"}},{"name":"isApplicationCommand","description":"Indicates whether this interaction is a {@link BaseCommandInteraction}.","returns":[[["boolean"]]],"meta":{"line":197,"file":"Interaction.js","path":"src/structures"}},{"name":"isCommand","description":"Indicates whether this interaction is a {@link CommandInteraction}.","returns":[[["boolean"]]],"meta":{"line":205,"file":"Interaction.js","path":"src/structures"}},{"name":"isContextMenu","description":"Indicates whether this interaction is a {@link ContextMenuInteraction}","returns":[[["boolean"]]],"meta":{"line":213,"file":"Interaction.js","path":"src/structures"}},{"name":"isModalSubmit","description":"Indicates whether this interaction is a {@link ModalSubmitInteraction}","returns":[[["boolean"]]],"meta":{"line":221,"file":"Interaction.js","path":"src/structures"}},{"name":"isUserContextMenu","description":"Indicates whether this interaction is a {@link UserContextMenuInteraction}","returns":[[["boolean"]]],"meta":{"line":229,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageContextMenu","description":"Indicates whether this interaction is a {@link MessageContextMenuInteraction}","returns":[[["boolean"]]],"meta":{"line":237,"file":"Interaction.js","path":"src/structures"}},{"name":"isAutocomplete","description":"Indicates whether this interaction is an {@link AutocompleteInteraction}","returns":[[["boolean"]]],"meta":{"line":245,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageComponent","description":"Indicates whether this interaction is a {@link MessageComponentInteraction}.","returns":[[["boolean"]]],"meta":{"line":253,"file":"Interaction.js","path":"src/structures"}},{"name":"isButton","description":"Indicates whether this interaction is a {@link ButtonInteraction}.","returns":[[["boolean"]]],"meta":{"line":261,"file":"Interaction.js","path":"src/structures"}},{"name":"isSelectMenu","description":"Indicates whether this interaction is a {@link SelectMenuInteraction}.","returns":[[["boolean"]]],"meta":{"line":272,"file":"Interaction.js","path":"src/structures"}},{"name":"isRepliable","description":"Indicates whether this interaction can be replied to.","returns":[[["boolean"]]],"meta":{"line":283,"file":"Interaction.js","path":"src/structures"}}],"meta":{"line":12,"file":"Interaction.js","path":"src/structures"}},{"name":"InteractionCollector","description":"Collects interactions.\nWill automatically stop if the message ({@link Client#event:messageDelete messageDelete} or\n{@link Client#event:messageDeleteBulk messageDeleteBulk}),\nchannel ({@link Client#event:channelDelete channelDelete}), or\nguild ({@link Client#event:guildDelete guildDelete}) is deleted.\nInteraction collectors that do not specify `time` or `idle` may be prone to always running.\nEnsure your interaction collectors end via either of these options or manual cancellation.","extends":[[["Collector"]]],"construct":{"name":"InteractionCollector","params":[{"name":"client","description":"The client on which to collect interactions","type":[[["Client"]]]},{"name":"options","description":"The options to apply to this collector","optional":true,"default":"{}","type":[[["InteractionCollectorOptions"]]]}]},"props":[{"name":"messageId","description":"The message from which to collect interactions, if provided","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":42,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"channelId","description":"The channel from which to collect interactions, if provided","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":48,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"guildId","description":"The guild from which to collect interactions, if provided","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":57,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"interactionType","description":"The type of interaction to collect","nullable":true,"type":[[["InteractionType"]]],"meta":{"line":67,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"componentType","description":"The type of component to collect","nullable":true,"type":[[["MessageComponentType"]]],"meta":{"line":76,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"users","description":"The users that have interacted with this collector","type":[[["Collection","<"],["Snowflake",", "],["User",">"]]],"meta":{"line":85,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"total","description":"The total number of interactions collected","type":[[["number"]]],"meta":{"line":91,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"endReason","description":"The reason this collector has ended with, or null if it hasn't ended yet","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":192,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this Collector","readonly":true,"type":[[["Client"]]],"meta":{"line":35,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"filter","description":"The filter applied to this collector","type":[[["CollectorFilter"]]],"meta":{"line":48,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"options","description":"The options of this collector","type":[[["CollectorOptions"]]],"meta":{"line":54,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"collected","description":"The items collected by this collector","type":[[["Collection"]]],"meta":{"line":60,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"ended","description":"Whether this collector has finished collecting","type":[[["boolean"]]],"meta":{"line":66,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"_timeout","description":"Timeout for cleanup","access":"private","nullable":true,"type":[[["Timeout"]]],"meta":{"line":73,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"_idletimeout","description":"Timeout for cleanup due to inactivity","access":"private","nullable":true,"type":[[["Timeout"]]],"meta":{"line":80,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"next","description":"Returns a promise that resolves with the next collected element;\nrejects with collected elements if the collector finishes without receiving a next element","readonly":true,"type":[[["Promise"]]],"meta":{"line":148,"file":"Collector.js","path":"src/structures/interfaces"}}],"methods":[{"name":"collect","description":"Handles an incoming interaction for possible collection.","access":"private","params":[{"name":"interaction","description":"The interaction to possibly collect","type":[[["Interaction"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":142,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"dispose","description":"Handles an interaction for possible disposal.","params":[{"name":"interaction","description":"The interaction that could be disposed of","type":[[["Interaction"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":162,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"empty","description":"Empties this interaction collector.","meta":{"line":180,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"_handleMessageDeletion","description":"Handles checking if the message has been deleted, and if so, stops the collector with the reason 'messageDelete'.","access":"private","params":[{"name":"message","description":"The message that was deleted","type":[[["Message"]]]}],"returns":[[["void"]]],"meta":{"line":205,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"_handleChannelDeletion","description":"Handles checking if the channel has been deleted, and if so, stops the collector with the reason 'channelDelete'.","access":"private","params":[{"name":"channel","description":"The channel that was deleted","type":[[["GuildChannel"]]]}],"returns":[[["void"]]],"meta":{"line":217,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"_handleThreadDeletion","description":"Handles checking if the thread has been deleted, and if so, stops the collector with the reason 'threadDelete'.","access":"private","params":[{"name":"thread","description":"The thread that was deleted","type":[[["ThreadChannel"]]]}],"returns":[[["void"]]],"meta":{"line":229,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"_handleGuildDeletion","description":"Handles checking if the guild has been deleted, and if so, stops the collector with the reason 'guildDelete'.","access":"private","params":[{"name":"guild","description":"The guild that was deleted","type":[[["Guild"]]]}],"returns":[[["void"]]],"meta":{"line":241,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"handleCollect","description":"Call this to handle an event as a collectable element. Accepts any event data as parameters.","inherits":"Collector#handleCollect","inherited":true,"emits":["Collector#event:collect"],"params":[{"name":"args","description":"The arguments emitted by the listener","variable":true,"type":[["*"]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":99,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"handleDispose","description":"Call this to remove an element from the collection. Accepts any event data as parameters.","inherits":"Collector#handleDispose","inherited":true,"emits":["Collector#event:dispose"],"params":[{"name":"args","description":"The arguments emitted by the listener","variable":true,"type":[["*"]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":126,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"stop","description":"Stops this collector and emits the `end` event.","inherits":"Collector#stop","inherited":true,"emits":["Collector#event:end"],"params":[{"name":"reason","description":"The reason this collector is ending","optional":true,"default":"'user'","type":[[["string"]]]}],"meta":{"line":180,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"resetTimer","description":"Resets the collector's timeout and idle timer.","inherits":"Collector#resetTimer","inherited":true,"params":[{"name":"options","description":"Options for resetting","optional":true,"type":[[["CollectorResetTimerOptions"]]]}],"meta":{"line":213,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"checkEnd","description":"Checks whether the collector should end, and if so, ends it.","inherits":"Collector#checkEnd","inherited":true,"returns":{"types":[[["boolean"]]],"description":"Whether the collector ended or not"},"meta":{"line":228,"file":"Collector.js","path":"src/structures/interfaces"}}],"events":[{"name":"collect","description":"Emitted whenever an interaction is collected.","params":[{"name":"interaction","description":"The interaction that was collected","type":[[["Interaction"]]]}],"meta":{"line":143,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"dispose","description":"Emitted whenever an interaction is disposed of.","params":[{"name":"interaction","description":"The interaction that was disposed of","type":[[["Interaction"]]]}],"meta":{"line":163,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"end","description":"Emitted when the collector is finished collecting.","params":[{"name":"collected","description":"The elements collected by the collector","type":[[["Collection"]]]},{"name":"reason","description":"The reason the collector ended","type":[[["string"]]]}],"meta":{"line":193,"file":"Collector.js","path":"src/structures/interfaces"}}],"meta":{"line":30,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"InteractionWebhook","description":"Represents a webhook for an Interaction","implements":[[["Webhook"]]],"construct":{"name":"InteractionWebhook","params":[{"name":"client","description":"The instantiating client","type":[[["Client"]]]},{"name":"id","description":"The application's id","type":[[["Snowflake"]]]},{"name":"token","description":"The interaction's token","type":[[["string"]]]}]},"props":[{"name":"client","description":"The client that instantiated the interaction webhook","readonly":true,"type":[[["Client"]]],"meta":{"line":16,"file":"InteractionWebhook.js","path":"src/structures"}},{"name":"id","description":"The webhook's id","type":[[["Snowflake"]]],"meta":{"line":55,"file":"Webhook.js","path":"src/structures"}},{"name":"url","description":"The URL of this webhook","readonly":true,"type":[[["string"]]],"meta":{"line":418,"file":"Webhook.js","path":"src/structures"}}],"methods":[{"name":"send","description":"Sends a message with this webhook.","implements":["Webhook#send"],"params":[{"name":"options","description":"The content for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":34,"file":"InteractionWebhook.js","path":"src/structures"}},{"name":"fetchMessage","description":"Gets a message that was sent by this webhook.","implements":["Webhook#fetchMessage"],"params":[{"name":"message","description":"The id of the message to fetch","type":[[["Snowflake"]],[["original","'"]]]},{"name":"cacheOrOptions","description":"The options to provide to fetch the message.\nA **deprecated** boolean may be passed instead to specify whether to cache the message.","optional":true,"default":"{}","type":[[["WebhookFetchMessageOptions"]],[["boolean"]]]}],"async":true,"returns":{"types":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"description":"Returns the raw message data if the webhook was instantiated as a\n{@link WebhookClient} or if the channel is uncached, otherwise a {@link Message} will be returned"},"meta":{"line":286,"file":"Webhook.js","path":"src/structures"}},{"name":"editMessage","description":"Edits a message that was sent by this webhook.","implements":["Webhook#editMessage"],"params":[{"name":"message","description":"The message to edit","type":[[["MessageResolvable"]],[["original","'"]]]},{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["WebhookEditMessageOptions"]]]}],"async":true,"returns":{"types":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"description":"Returns the raw message data if the webhook was instantiated as a\n{@link WebhookClient} or if the channel is uncached, otherwise a {@link Message} will be returned"},"meta":{"line":322,"file":"Webhook.js","path":"src/structures"}},{"name":"deleteMessage","description":"Delete a message that was sent by this webhook.","implements":["Webhook#deleteMessage"],"params":[{"name":"message","description":"The message to delete","type":[[["MessageResolvable"]],[["original","'"]]]},{"name":"threadId","description":"The id of the thread this message belongs to","optional":true,"type":[[["Snowflake"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":371,"file":"Webhook.js","path":"src/structures"}}],"meta":{"line":9,"file":"InteractionWebhook.js","path":"src/structures"}},{"name":"Application","description":"Represents an OAuth2 Application.","extends":[[["Base"]]],"abstract":true,"props":[{"name":"id","description":"The application's id","type":[[["Snowflake"]]],"meta":{"line":32,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"name","description":"The name of the application","nullable":true,"type":[[["string"]]],"meta":{"line":39,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"description","description":"The application's description","nullable":true,"type":[[["string"]]],"meta":{"line":49,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"icon","description":"The application's icon hash","nullable":true,"type":[[["string"]]],"meta":{"line":59,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"roleConnectionsVerificationURL","description":"This application's role connection verification entry point URL","nullable":true,"type":[[["string"]]],"meta":{"line":69,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"tags","description":"The tags this application has (max of 5)","type":[[["Array","<"],["string",">"]]],"meta":{"line":79,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"installParams","description":"Settings for this application's default in-app authorization","nullable":true,"type":[[["ClientApplicationInstallParams"]]],"meta":{"line":86,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"customInstallURL","description":"This application's custom installation URL","nullable":true,"type":[[["string"]]],"meta":{"line":99,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"flags","description":"The flags this application has","type":[[["ApplicationFlags"]]],"meta":{"line":109,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"approximateGuildCount","description":"An approximate amount of guilds this application is in.","nullable":true,"type":[[["number"]]],"meta":{"line":117,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"guildId","description":"The id of the guild associated with this application.","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":127,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"cover","description":"The hash of the application's cover image","nullable":true,"type":[[["string"]]],"meta":{"line":137,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"rpcOrigins","description":"The application's RPC origins, if enabled","type":[[["Array","<"],["string",">"]]],"meta":{"line":147,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"botRequireCodeGrant","description":"If this application's bot requires a code grant when using the OAuth2 flow","nullable":true,"type":[[["boolean"]]],"meta":{"line":157,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"botPublic","description":"If this application's bot is public","nullable":true,"type":[[["boolean"]]],"meta":{"line":167,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"owner","description":"The owner of this OAuth application","nullable":true,"type":[[["User"]],[["Team"]]],"meta":{"line":176,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"guild","description":"The guild associated with this application.","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":188,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"partial","description":"Whether this application is partial","readonly":true,"type":[[["boolean"]]],"meta":{"line":197,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"createdTimestamp","description":"The timestamp the application was created at","readonly":true,"type":[[["number"]]],"meta":{"line":206,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"createdAt","description":"The time the application was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":215,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"fetch","description":"Obtains this application from Discord.","async":true,"returns":[[["Promise","<"],["Application",">"]]],"meta":{"line":223,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"fetchRoleConnectionMetadataRecords","description":"Gets this application's role connection metadata records","async":true,"returns":[[["Promise","<"],["Array","<"],["ApplicationRoleConnectionMetadata",">>"]]],"meta":{"line":240,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"iconURL","description":"A link to the application's icon.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":250,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"coverURL","description":"A link to this application's cover image.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":260,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"fetchAssets","description":"Gets the application's rich presence assets.","deprecated":"This will be removed in the next major as it is unsupported functionality.","async":true,"returns":[[["Promise","<"],["Array","<"],["ApplicationAsset",">>"]]],"meta":{"line":278,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the application's name instead of the\nApplication object.","examples":["// Logs: Application name: My App\nconsole.log(`Application name: ${application}`);"],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":304,"file":"Application.js","path":"src/structures/interfaces"}}],"meta":{"line":21,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"Collector","description":"Abstract class for defining a new Collector.","extends":[[["EventEmitter"]]],"abstract":true,"props":[{"name":"client","description":"The client that instantiated this Collector","readonly":true,"type":[[["Client"]]],"meta":{"line":35,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"filter","description":"The filter applied to this collector","type":[[["CollectorFilter"]]],"meta":{"line":48,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"options","description":"The options of this collector","type":[[["CollectorOptions"]]],"meta":{"line":54,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"collected","description":"The items collected by this collector","type":[[["Collection"]]],"meta":{"line":60,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"ended","description":"Whether this collector has finished collecting","type":[[["boolean"]]],"meta":{"line":66,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"_timeout","description":"Timeout for cleanup","access":"private","nullable":true,"type":[[["Timeout"]]],"meta":{"line":73,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"_idletimeout","description":"Timeout for cleanup due to inactivity","access":"private","nullable":true,"type":[[["Timeout"]]],"meta":{"line":80,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"next","description":"Returns a promise that resolves with the next collected element;\nrejects with collected elements if the collector finishes without receiving a next element","readonly":true,"type":[[["Promise"]]],"meta":{"line":148,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"endReason","description":"The reason this collector has ended with, or null if it hasn't ended yet","readonly":true,"nullable":true,"abstract":true,"type":[[["string"]]],"meta":{"line":276,"file":"Collector.js","path":"src/structures/interfaces"}}],"methods":[{"name":"handleCollect","description":"Call this to handle an event as a collectable element. Accepts any event data as parameters.","emits":["Collector#event:collect"],"params":[{"name":"args","description":"The arguments emitted by the listener","variable":true,"type":[["*"]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":99,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"handleDispose","description":"Call this to remove an element from the collection. Accepts any event data as parameters.","emits":["Collector#event:dispose"],"params":[{"name":"args","description":"The arguments emitted by the listener","variable":true,"type":[["*"]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":126,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"stop","description":"Stops this collector and emits the `end` event.","emits":["Collector#event:end"],"params":[{"name":"reason","description":"The reason this collector is ending","optional":true,"default":"'user'","type":[[["string"]]]}],"meta":{"line":180,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"resetTimer","description":"Resets the collector's timeout and idle timer.","params":[{"name":"options","description":"Options for resetting","optional":true,"type":[[["CollectorResetTimerOptions"]]]}],"meta":{"line":213,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"checkEnd","description":"Checks whether the collector should end, and if so, ends it.","returns":{"types":[[["boolean"]]],"description":"Whether the collector ended or not"},"meta":{"line":228,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"collect","description":"Handles incoming events from the `handleCollect` function. Returns null if the event should not\nbe collected, or returns an object describing the data that should be stored.","see":["Collector#handleCollect"],"abstract":true,"params":[{"name":"args","description":"Any args the event listener emits","variable":true,"type":[["*"]]}],"returns":{"types":[["*"],[["Promise",""],["*",">"]]],"description":"Data to insert into collection, if any","nullable":true},"meta":{"line":286,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"dispose","description":"Handles incoming events from the `handleDispose`. Returns null if the event should not\nbe disposed, or returns the key that should be removed.","see":["Collector#handleDispose"],"abstract":true,"params":[{"name":"args","description":"Any args the event listener emits","variable":true,"type":[["*"]]}],"returns":{"types":[["*"]],"description":"Key to remove from the collection, if any","nullable":true},"meta":{"line":296,"file":"Collector.js","path":"src/structures/interfaces"}}],"events":[{"name":"collect","description":"Emitted whenever an element is collected.","params":[{"name":"args","description":"The arguments emitted by the listener","variable":true,"type":[["*"]]}],"meta":{"line":105,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"dispose","description":"Emitted whenever an element is disposed of.","params":[{"name":"args","description":"The arguments emitted by the listener","variable":true,"type":[["*"]]}],"meta":{"line":133,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"end","description":"Emitted when the collector is finished collecting.","params":[{"name":"collected","description":"The elements collected by the collector","type":[[["Collection"]]]},{"name":"reason","description":"The reason the collector ended","type":[[["string"]]]}],"meta":{"line":193,"file":"Collector.js","path":"src/structures/interfaces"}}],"meta":{"line":31,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"Invite","description":"Represents an invitation to a guild channel.","extends":[[["Base"]]],"props":[{"name":"guild","description":"The guild the invite is for including welcome screen data if present","nullable":true,"type":[[["Guild"]],[["InviteGuild"]]],"meta":{"line":30,"file":"Invite.js","path":"src/structures"}},{"name":"code","description":"The code for this invite","type":[[["string"]]],"meta":{"line":40,"file":"Invite.js","path":"src/structures"}},{"name":"presenceCount","description":"The approximate number of online members of the guild this invite is for\nThis is only available when the invite was fetched through {@link Client#fetchInvite}.","nullable":true,"type":[[["number"]]],"meta":{"line":49,"file":"Invite.js","path":"src/structures"}},{"name":"memberCount","description":"The approximate total number of members of the guild this invite is for\nThis is only available when the invite was fetched through {@link Client#fetchInvite}.","nullable":true,"type":[[["number"]]],"meta":{"line":60,"file":"Invite.js","path":"src/structures"}},{"name":"temporary","description":"Whether or not this invite only grants temporary membership\nThis is only available when the invite was fetched through {@link GuildInviteManager#fetch}\nor created through {@link GuildInviteManager#create}.","nullable":true,"type":[[["boolean"]]],"meta":{"line":72,"file":"Invite.js","path":"src/structures"}},{"name":"maxAge","description":"The maximum age of the invite, in seconds, 0 if never expires\nThis is only available when the invite was fetched through {@link GuildInviteManager#fetch}\nor created through {@link GuildInviteManager#create}.","nullable":true,"type":[[["number"]]],"meta":{"line":84,"file":"Invite.js","path":"src/structures"}},{"name":"uses","description":"How many times this invite has been used\nThis is only available when the invite was fetched through {@link GuildInviteManager#fetch}\nor created through {@link GuildInviteManager#create}.","nullable":true,"type":[[["number"]]],"meta":{"line":96,"file":"Invite.js","path":"src/structures"}},{"name":"maxUses","description":"The maximum uses of this invite\nThis is only available when the invite was fetched through {@link GuildInviteManager#fetch}\nor created through {@link GuildInviteManager#create}.","nullable":true,"type":[[["number"]]],"meta":{"line":108,"file":"Invite.js","path":"src/structures"}},{"name":"inviterId","description":"The user's id who created this invite","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":118,"file":"Invite.js","path":"src/structures"}},{"name":"inviter","description":"The user who created this invite","nullable":true,"type":[[["User"]]],"meta":{"line":129,"file":"Invite.js","path":"src/structures"}},{"name":"targetUser","description":"The user whose stream to display for this voice channel stream invite","nullable":true,"type":[[["User"]]],"meta":{"line":140,"file":"Invite.js","path":"src/structures"}},{"name":"targetApplication","description":"The embedded application to open for this voice channel embedded application invite","nullable":true,"type":[[["IntegrationApplication"]]],"meta":{"line":150,"file":"Invite.js","path":"src/structures"}},{"name":"targetType","description":"The target type","nullable":true,"type":[[["TargetType"]]],"meta":{"line":170,"file":"Invite.js","path":"src/structures"}},{"name":"type","description":"The type of invite","nullable":true,"type":[[["InviteType"]]],"meta":{"line":188,"file":"Invite.js","path":"src/structures"}},{"name":"channelId","description":"The channel's id this invite is for","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":198,"file":"Invite.js","path":"src/structures"}},{"name":"channel","description":"The channel this invite is for","nullable":true,"type":[[["Channel"]]],"meta":{"line":207,"file":"Invite.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp this invite was created at","nullable":true,"type":[[["number"]]],"meta":{"line":216,"file":"Invite.js","path":"src/structures"}},{"name":"stageInstance","description":"The stage instance data if there is a public {@link StageInstance} in the stage channel this invite is for","nullable":true,"type":[[["InviteStageInstance"]]],"meta":{"line":232,"file":"Invite.js","path":"src/structures"}},{"name":"guildScheduledEvent","description":"The guild scheduled event data if there is a {@link GuildScheduledEvent} in the channel this invite is for","nullable":true,"type":[[["GuildScheduledEvent"]]],"meta":{"line":242,"file":"Invite.js","path":"src/structures"}},{"name":"flags","description":"The flags that are applied to the invite.","nullable":true,"type":[[["Readonly","<"],["InviteFlags",">"]]],"meta":{"line":252,"file":"Invite.js","path":"src/structures"}},{"name":"createdAt","description":"The time the invite was created at","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":263,"file":"Invite.js","path":"src/structures"}},{"name":"deletable","description":"Whether the invite is deletable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":272,"file":"Invite.js","path":"src/structures"}},{"name":"expiresTimestamp","description":"The timestamp the invite will expire at","readonly":true,"nullable":true,"type":[[["number"]]],"meta":{"line":287,"file":"Invite.js","path":"src/structures"}},{"name":"expiresAt","description":"The time the invite will expire at","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":299,"file":"Invite.js","path":"src/structures"}},{"name":"url","description":"The URL to the invite","readonly":true,"type":[[["string"]]],"meta":{"line":309,"file":"Invite.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}},{"name":"INVITES_PATTERN","description":"Regular expression that globally matches Discord invite links","scope":"static","type":[[["RegExp"]]],"meta":{"line":356,"file":"Invite.js","path":"src/structures"}}],"methods":[{"name":"delete","description":"Deletes this invite.","params":[{"name":"reason","description":"Reason for deleting this invite","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Invite",">"]]],"meta":{"line":318,"file":"Invite.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically concatenates the invite's URL instead of the object.","examples":["// Logs: Invite: https://discord.gg/A1b2C3\nconsole.log(`Invite: ${invite}`);"],"returns":[[["string"]]],"meta":{"line":330,"file":"Invite.js","path":"src/structures"}}],"meta":{"line":18,"file":"Invite.js","path":"src/structures"}},{"name":"InviteGuild","description":"Represents a guild received from an invite, includes welcome screen data if available.","extends":[[["AnonymousGuild"]]],"props":[{"name":"welcomeScreen","description":"The welcome screen for this invite guild","nullable":true,"type":[[["WelcomeScreen"]]],"meta":{"line":18,"file":"InviteGuild.js","path":"src/structures"}},{"name":"splash","description":"The hash of the guild invite splash image","nullable":true,"type":[[["string"]]],"meta":{"line":25,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"banner","description":"The hash of the guild banner","nullable":true,"type":[[["string"]]],"meta":{"line":33,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"description","description":"The description of the guild, if any","nullable":true,"type":[[["string"]]],"meta":{"line":41,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"verificationLevel","description":"The verification level of the guild","type":[[["VerificationLevel"]]],"meta":{"line":49,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"vanityURLCode","description":"The vanity invite code of the guild, if any","nullable":true,"type":[[["string"]]],"meta":{"line":57,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"nsfwLevel","description":"The NSFW level of this guild","type":[[["NSFWLevel"]]],"meta":{"line":65,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"premiumSubscriptionCount","description":"The total number of boosts for this server","nullable":true,"type":[[["number"]]],"meta":{"line":73,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"id","description":"The guild's id","type":[[["Snowflake"]]],"meta":{"line":19,"file":"BaseGuild.js","path":"src/structures"}},{"name":"name","description":"The name of this guild","type":[[["string"]]],"meta":{"line":25,"file":"BaseGuild.js","path":"src/structures"}},{"name":"icon","description":"The icon hash of this guild","nullable":true,"type":[[["string"]]],"meta":{"line":31,"file":"BaseGuild.js","path":"src/structures"}},{"name":"features","description":"An array of features available to this guild","type":[[["Array","<"],["Features",">"]]],"meta":{"line":37,"file":"BaseGuild.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp this guild was created at","readonly":true,"type":[[["number"]]],"meta":{"line":45,"file":"BaseGuild.js","path":"src/structures"}},{"name":"createdAt","description":"The time this guild was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":54,"file":"BaseGuild.js","path":"src/structures"}},{"name":"nameAcronym","description":"The acronym that shows up in place of a guild icon","readonly":true,"type":[[["string"]]],"meta":{"line":63,"file":"BaseGuild.js","path":"src/structures"}},{"name":"partnered","description":"Whether this guild is partnered","readonly":true,"type":[[["boolean"]]],"meta":{"line":75,"file":"BaseGuild.js","path":"src/structures"}},{"name":"verified","description":"Whether this guild is verified","readonly":true,"type":[[["boolean"]]],"meta":{"line":84,"file":"BaseGuild.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"bannerURL","description":"The URL to this guild's banner.","inherits":"AnonymousGuild#bannerURL","inherited":true,"params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":84,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"splashURL","description":"The URL to this guild's invite splash image.","inherits":"AnonymousGuild#splashURL","inherited":true,"params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":93,"file":"AnonymousGuild.js","path":"src/structures"}},{"name":"iconURL","description":"The URL to this guild's icon.","inherits":"BaseGuild#iconURL","inherited":true,"params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["ImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":93,"file":"BaseGuild.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this guild.","inherits":"BaseGuild#fetch","inherited":true,"async":true,"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":102,"file":"BaseGuild.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the guild's name instead of the Guild object.","inherits":"BaseGuild#toString","inherited":true,"returns":[[["string"]]],"meta":{"line":111,"file":"BaseGuild.js","path":"src/structures"}}],"meta":{"line":10,"file":"InviteGuild.js","path":"src/structures"}},{"name":"InviteStageInstance","description":"Represents the data about a public {@link StageInstance} in an {@link Invite}.","extends":[[["Base"]]],"props":[{"name":"channelId","description":"The id of the stage channel this invite is for","type":[[["Snowflake"]]],"meta":{"line":18,"file":"InviteStageInstance.js","path":"src/structures"}},{"name":"guildId","description":"The stage channel's guild id","type":[[["Snowflake"]]],"meta":{"line":24,"file":"InviteStageInstance.js","path":"src/structures"}},{"name":"members","description":"The members speaking in the stage channel","type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]],"meta":{"line":30,"file":"InviteStageInstance.js","path":"src/structures"}},{"name":"topic","description":"The topic of the stage instance","type":[[["string"]]],"meta":{"line":41,"file":"InviteStageInstance.js","path":"src/structures"}},{"name":"participantCount","description":"The number of users in the stage channel","type":[[["number"]]],"meta":{"line":49,"file":"InviteStageInstance.js","path":"src/structures"}},{"name":"speakerCount","description":"The number of users speaking in the stage channel","type":[[["number"]]],"meta":{"line":57,"file":"InviteStageInstance.js","path":"src/structures"}},{"name":"channel","description":"The stage channel this invite is for","readonly":true,"nullable":true,"type":[[["StageChannel"]]],"meta":{"line":72,"file":"InviteStageInstance.js","path":"src/structures"}},{"name":"guild","description":"The guild of the stage channel this invite is for","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":81,"file":"InviteStageInstance.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"meta":{"line":10,"file":"InviteStageInstance.js","path":"src/structures"}},{"name":"Message","description":"Represents a message on Discord.","extends":[[["Base"]]],"props":[{"name":"channelId","description":"The id of the channel the message was sent in","type":[[["Snowflake"]]],"meta":{"line":43,"file":"Message.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild the message was sent in, if any","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":49,"file":"Message.js","path":"src/structures"}},{"name":"id","description":"The message's id","type":[[["Snowflake"]]],"meta":{"line":59,"file":"Message.js","path":"src/structures"}},{"name":"position","description":"A generally increasing integer (there may be gaps or duplicates) that represents\nthe approximate position of the message in a thread.","nullable":true,"type":[[["number"]]],"meta":{"line":67,"file":"Message.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the message was sent at","type":[[["number"]]],"meta":{"line":76,"file":"Message.js","path":"src/structures"}},{"name":"type","description":"The type of the message","nullable":true,"type":[[["MessageType"]]],"meta":{"line":83,"file":"Message.js","path":"src/structures"}},{"name":"system","description":"Whether or not this message was sent by Discord, not actually a user (e.g. pin notifications)","nullable":true,"type":[[["boolean"]]],"meta":{"line":89,"file":"Message.js","path":"src/structures"}},{"name":"content","description":"The content of the message","nullable":true,"type":[[["string"]]],"meta":{"line":100,"file":"Message.js","path":"src/structures"}},{"name":"author","description":"The author of the message","nullable":true,"type":[[["User"]]],"meta":{"line":110,"file":"Message.js","path":"src/structures"}},{"name":"pinned","description":"Whether or not this message is pinned","nullable":true,"type":[[["boolean"]]],"meta":{"line":120,"file":"Message.js","path":"src/structures"}},{"name":"tts","description":"Whether or not the message was Text-To-Speech","nullable":true,"type":[[["boolean"]]],"meta":{"line":130,"file":"Message.js","path":"src/structures"}},{"name":"nonce","description":"A random number or string used for checking message delivery\nThis is only received after the message was sent successfully, and\nlost if re-fetched","nullable":true,"type":[[["string"]]],"meta":{"line":142,"file":"Message.js","path":"src/structures"}},{"name":"embeds","description":"A list of embeds in the message - e.g. YouTube Player","type":[[["Array","<"],["MessageEmbed",">"]]],"meta":{"line":152,"file":"Message.js","path":"src/structures"}},{"name":"components","description":"A list of MessageActionRows in the message","type":[[["Array","<"],["MessageActionRow",">"]]],"meta":{"line":162,"file":"Message.js","path":"src/structures"}},{"name":"attachments","description":"A collection of attachments in the message - e.g. Pictures - mapped by their ids","type":[[["Collection","<"],["Snowflake",", "],["MessageAttachment",">"]]],"meta":{"line":172,"file":"Message.js","path":"src/structures"}},{"name":"stickers","description":"A collection of stickers in the message","type":[[["Collection","<"],["Snowflake",", "],["Sticker",">"]]],"meta":{"line":187,"file":"Message.js","path":"src/structures"}},{"name":"editedTimestamp","description":"The timestamp the message was last edited at (if applicable)","nullable":true,"type":[[["number"]]],"meta":{"line":200,"file":"Message.js","path":"src/structures"}},{"name":"reactions","description":"A manager of the reactions belonging to this message","type":[[["ReactionManager"]]],"meta":{"line":210,"file":"Message.js","path":"src/structures"}},{"name":"mentions","description":"All valid mentions that the message contains","type":[[["MessageMentions"]]],"meta":{"line":225,"file":"Message.js","path":"src/structures"}},{"name":"webhookId","description":"The id of the webhook that sent the message, if applicable","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":249,"file":"Message.js","path":"src/structures"}},{"name":"groupActivityApplication","description":"Supplemental application information for group activities","nullable":true,"type":[[["Application"]]],"meta":{"line":269,"file":"Message.js","path":"src/structures"}},{"name":"applicationId","description":"The id of the application of the interaction that sent this message, if any","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":279,"file":"Message.js","path":"src/structures"}},{"name":"activity","description":"Group activity","nullable":true,"type":[[["MessageActivity"]]],"meta":{"line":289,"file":"Message.js","path":"src/structures"}},{"name":"flags","description":"Flags that are applied to the message","type":[[["Readonly","<"],["MessageFlags",">"]]],"meta":{"line":312,"file":"Message.js","path":"src/structures"}},{"name":"reference","description":"Message reference data","nullable":true,"type":[[["MessageReference"]]],"meta":{"line":337,"file":"Message.js","path":"src/structures"}},{"name":"interaction","description":"Partial data of the interaction that this message is a reply to","nullable":true,"type":[[["MessageInteraction"]]],"meta":{"line":365,"file":"Message.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":381,"file":"Message.js","path":"src/structures"}},{"name":"channel","description":"The channel that the message was sent in","readonly":true,"type":[[["TextBasedChannels"]]],"meta":{"line":411,"file":"Message.js","path":"src/structures"}},{"name":"partial","description":"Whether or not this message is a partial","readonly":true,"type":[[["boolean"]]],"meta":{"line":420,"file":"Message.js","path":"src/structures"}},{"name":"member","description":"Represents the author of the message as a guild member.\nOnly available if the message comes from a guild where the author is still a member","readonly":true,"nullable":true,"type":[[["GuildMember"]]],"meta":{"line":430,"file":"Message.js","path":"src/structures"}},{"name":"createdAt","description":"The time the message was sent at","readonly":true,"type":[[["Date"]]],"meta":{"line":439,"file":"Message.js","path":"src/structures"}},{"name":"editedAt","description":"The time the message was last edited at (if applicable)","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":448,"file":"Message.js","path":"src/structures"}},{"name":"guild","description":"The guild the message was sent in (if in a guild channel)","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":457,"file":"Message.js","path":"src/structures"}},{"name":"hasThread","description":"Whether this message has a thread associated with it","readonly":true,"type":[[["boolean"]]],"meta":{"line":466,"file":"Message.js","path":"src/structures"}},{"name":"thread","description":"The thread started by this message\nThis property is not suitable for checking whether a message has a thread,\nuse {@link Message#hasThread} instead.","readonly":true,"nullable":true,"type":[[["ThreadChannel"]]],"meta":{"line":477,"file":"Message.js","path":"src/structures"}},{"name":"url","description":"The URL to jump to this message","readonly":true,"type":[[["string"]]],"meta":{"line":486,"file":"Message.js","path":"src/structures"}},{"name":"cleanContent","description":"The message contents with all mentions replaced by the equivalent text.\nIf mentions cannot be resolved to a name, the relevant mention in the message content will not be converted.","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":496,"file":"Message.js","path":"src/structures"}},{"name":"editable","description":"Whether the message is editable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":549,"file":"Message.js","path":"src/structures"}},{"name":"deletable","description":"Whether the message is deletable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":572,"file":"Message.js","path":"src/structures"}},{"name":"bulkDeletable","description":"Whether the message is bulk deletable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":604,"file":"Message.js","path":"src/structures"}},{"name":"pinnable","description":"Whether the message is pinnable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":613,"file":"Message.js","path":"src/structures"}},{"name":"crosspostable","description":"Whether the message is crosspostable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":642,"file":"Message.js","path":"src/structures"}},{"name":"isMessage","description":"Check data","readonly":true,"type":[[["boolean"]]],"meta":{"line":1025,"file":"Message.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"createReactionCollector","description":"Creates a reaction collector.","examples":["// Create a reaction collector\nconst filter = (reaction, user) => reaction.emoji.name === '👌' && user.id === 'someId';\nconst collector = message.createReactionCollector({ filter, time: 15_000 });\ncollector.on('collect', r => console.log(`Collected ${r.emoji.name}`));\ncollector.on('end', collected => console.log(`Collected ${collected.size} items`));"],"params":[{"name":"options","description":"Options to send to the collector","optional":true,"default":"{}","type":[[["ReactionCollectorOptions"]]]}],"returns":[[["ReactionCollector"]]],"meta":{"line":512,"file":"Message.js","path":"src/structures"}},{"name":"awaitReactions","description":"Similar to createReactionCollector but in promise form.\nResolves with a collection of reactions that pass the specified filter.","examples":["// Create a reaction collector\nconst filter = (reaction, user) => reaction.emoji.name === '👌' && user.id === 'someId'\nmessage.awaitReactions({ filter, time: 15_000 })\n .then(collected => console.log(`Collected ${collected.size} reactions`))\n .catch(console.error);"],"params":[{"name":"options","description":"Optional options to pass to the internal collector","optional":true,"default":"{}","type":[[["AwaitReactionsOptions"]]]}],"returns":[[["Promise","<"],["Collection","<("],["string","|"],["Snowflake","), "],["MessageReaction",">>"]]],"meta":{"line":534,"file":"Message.js","path":"src/structures"}},{"name":"fetchReference","description":"Fetches the Message this crosspost/reply/pin-add references, if available to the client","async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":628,"file":"Message.js","path":"src/structures"}},{"name":"edit","description":"Edits the content of the message.","examples":["// Update the content of a message\nmessage.edit('This is my new content!')\n .then(msg => console.log(`Updated the content of a message to ${msg.content}`))\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["MessageEditOptions"]]]}],"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":681,"file":"Message.js","path":"src/structures"}},{"name":"crosspost","description":"Publishes a message in an announcement channel to all channels following it.","examples":["// Crosspost a message\nif (message.channel.type === 'GUILD_NEWS') {\n message.crosspost()\n .then(() => console.log('Crossposted message'))\n .catch(console.error);\n}"],"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":697,"file":"Message.js","path":"src/structures"}},{"name":"pin","description":"Pins this message to the channel's pinned messages.","examples":["// Pin a message\nmessage.pin()\n .then(console.log)\n .catch(console.error)"],"params":[{"name":"reason","description":"Reason for pinning","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":712,"file":"Message.js","path":"src/structures"}},{"name":"unpin","description":"Unpins this message from the channel's pinned messages.","examples":["// Unpin a message\nmessage.unpin()\n .then(console.log)\n .catch(console.error)"],"params":[{"name":"reason","description":"Reason for unpinning","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":728,"file":"Message.js","path":"src/structures"}},{"name":"react","description":"Adds a reaction to the message.","examples":["// React to a message with a unicode emoji\nmessage.react('🤔')\n .then(console.log)\n .catch(console.error);","// React to a message with a custom emoji\nmessage.react(message.guild.emojis.cache.get('123456789012345678'))\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"emoji","description":"The emoji to react with","type":[[["EmojiIdentifierResolvable"]]]},{"name":"burst","description":"Super Reactions","optional":true,"default":false,"type":[[["boolean"]]]}],"async":true,"returns":[[["Promise","<"],["MessageReaction",">"]]],"meta":{"line":750,"file":"Message.js","path":"src/structures"}},{"name":"delete","description":"Deletes the message.","examples":["// Delete a message\nmessage.delete()\n .then(msg => console.log(`Deleted message from ${msg.author.username}`))\n .catch(console.error);"],"async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":775,"file":"Message.js","path":"src/structures"}},{"name":"reply","description":"Send an inline reply to this message.","examples":["// Reply to a message\nmessage.reply('This is a reply!')\n .then(() => console.log(`Replied to message \"${message.content}\"`))\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["ReplyMessageOptions"]]]}],"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":799,"file":"Message.js","path":"src/structures"}},{"name":"startThread","description":"Create a new public thread from this message","see":["GuildTextThreadManager#create"],"params":[{"name":"options","description":"Options for starting a thread on this message","optional":true,"type":[[["StartThreadOptions"]]]}],"returns":[[["Promise","<"],["ThreadChannel",">"]]],"meta":{"line":844,"file":"Message.js","path":"src/structures"}},{"name":"vote","description":"Submits a poll vote for the current user. Returns a 204 empty response on success.","examples":["// Vote multi choices\nmessage.vote(1,2);\n// Remove vote\nmessage.vote();"],"params":[{"name":"ids","description":"ID of the answer","variable":true,"type":[[["Array","<"],["number",">"]]]}],"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":863,"file":"Message.js","path":"src/structures"}},{"name":"endPoll","description":"Immediately ends the poll. You cannot end polls from other users.","returns":[[["Promise","<"],["RawMessage",">"]]],"meta":{"line":878,"file":"Message.js","path":"src/structures"}},{"name":"getAnswerVoter","description":"Get a list of users that voted for this specific answer.","params":[{"name":"answerId","description":"Answer Id","type":[[["number"]]]},{"name":"afterUserId","description":"Get users after this user ID","optional":true,"type":[[["Snowflake"]]]},{"name":"limit","description":"Max number of users to return (1-100, default 25)","optional":true,"default":25,"type":[[["number"]]]}],"returns":[[["Promise","<{"],["users",": "],["Partial","<"],["RawUser",">}>"]]],"meta":{"line":889,"file":"Message.js","path":"src/structures"}},{"name":"fetch","description":"Fetch this message.","params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":907,"file":"Message.js","path":"src/structures"}},{"name":"fetchWebhook","description":"Fetches the webhook used to create this message.","returns":[[["Promise",""],["Webhook",">"]]],"meta":{"line":916,"file":"Message.js","path":"src/structures"}},{"name":"suppressEmbeds","description":"Suppresses or unsuppresses embeds on a message.","params":[{"name":"suppress","description":"If the embeds should be suppressed or not","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":927,"file":"Message.js","path":"src/structures"}},{"name":"removeAttachments","description":"Removes the attachments from this message.","returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":943,"file":"Message.js","path":"src/structures"}},{"name":"resolveComponent","description":"Resolves a component by a custom id.","params":[{"name":"customId","description":"The custom id to resolve against","type":[[["string"]]]}],"returns":{"types":[[["MessageActionRowComponent"]]],"nullable":true},"meta":{"line":952,"file":"Message.js","path":"src/structures"}},{"name":"equals","description":"Used mainly internally. Whether two messages are identical in properties. If you want to compare messages\nwithout checking all the properties, use `message.id === message2.id`, which is much more efficient. This\nmethod allows you to see if there are differences in content, embeds, attachments, nonce and tts properties.","params":[{"name":"message","description":"The message to compare it to","type":[[["Message"]]]},{"name":"rawData","description":"Raw data passed through the WebSocket about this message","type":[[["APIMessage"]]]}],"returns":[[["boolean"]]],"meta":{"line":964,"file":"Message.js","path":"src/structures"}},{"name":"inGuild","description":"Whether this message is from a guild.","returns":[[["boolean"]]],"meta":{"line":992,"file":"Message.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically concatenates the message's content instead of the object.","examples":["// Logs: Message: This is a message!\nconsole.log(`Message: ${message}`);"],"returns":[[["string"]]],"meta":{"line":1003,"file":"Message.js","path":"src/structures"}},{"name":"clickButton","description":"Click specific button or automatically click first button if no button is specified.","examples":["// Demo msg\nSome content\n ――――――――――――――――――――――――――――――――> X from 0\n │ [button1] [button2] [button3]\n │ [button4] [button5] [button6]\n ↓\n Y from 0\n// Click button6 with X and Y\n[0,0] [1,0] [2,0]\n[0,1] [1,1] [2,1]\n// Code\nmessage.clickButton({\n X: 2, Y: 1,\n});\n// Click button with customId (Ex button 5)\nmessage.clickButton('button5');\n// Click button 1\nmessage.clickButton();"],"params":[{"name":"button","description":"button","type":[[["MessageButtonLocation"]],[["string"]],[["undefined"]]]}],"returns":[[["Promise","<("],["Message","|"],["Modal",")>"]]],"meta":{"line":1060,"file":"Message.js","path":"src/structures"}},{"name":"selectMenu","description":"Select specific menu","params":[{"name":"menu","description":"Target","type":[[["number"]],[["string"]]]},{"name":"values","description":"Any value","type":[[["Array","<("],["UserResolvable","|"],["RoleResolvable","|"],["ChannelResolvable","|"],["string",")>"]]]}],"returns":[[["Promise","<("],["Message","|"],["Modal",")>"]]],"meta":{"line":1100,"file":"Message.js","path":"src/structures"}},{"name":"markUnread","description":"Marks the message as unread.","returns":[[["Promise","<"],["void",">"]]],"meta":{"line":1169,"file":"Message.js","path":"src/structures"}},{"name":"markRead","description":"Marks the message as read.","returns":[[["Promise","<"],["void",">"]]],"meta":{"line":1188,"file":"Message.js","path":"src/structures"}},{"name":"report","description":"Report Message","examples":["// GET https://discord.com/api/v9/reporting/menu/message?variant=4\n// Report Category\n// - MESSAGE_WELCOME (3)\n// - Something else (28)\n// - Hacks, cheats, phishing or malicious links (72)\nmessage.report([3, 28, 72]).then(console.log);\n// { \"report_id\": \"1199663489988440124\" }"],"params":[{"name":"breadcrumbs","description":"Options for reporting","type":[[["Arrray","<"],["number",">"]]]},{"name":"elements","description":"Metadata","optional":true,"default":"{}","type":[[["Object"]]]}],"returns":[[["Promise","<{"],["report_id",": "],["Snowflake","}>"]]],"meta":{"line":1210,"file":"Message.js","path":"src/structures"}}],"meta":{"line":35,"file":"Message.js","path":"src/structures"}},{"name":"MessageActionRow","description":"Represents an action row containing message components.","extends":[[["BaseMessageComponent"]]],"construct":{"name":"MessageActionRow","params":[{"name":"data","description":"MessageActionRow to clone or raw data","optional":true,"default":"{}","type":[[["MessageActionRow"]],[["MessageActionRowOptions"]]]},{"name":"client","description":"The client constructing this MessageActionRow, if provided","optional":true,"default":null,"type":[[["Client"]]]}]},"props":[{"name":"components","description":"The components in this action row","type":[[["Array","<"],["MessageActionRowComponent",">"]]],"meta":{"line":51,"file":"MessageActionRow.js","path":"src/structures"}},{"name":"type","description":"The type of this component","nullable":true,"type":[[["MessageComponentType"]]],"meta":{"line":52,"file":"BaseMessageComponent.js","path":"src/structures"}}],"methods":[{"name":"addComponents","description":"Adds components to the action row.","params":[{"name":"components","description":"The components to add","variable":true,"type":[[["Array","<"],["MessageActionRowComponentResolvable",">"]]]}],"returns":[[["MessageActionRow"]]],"meta":{"line":59,"file":"MessageActionRow.js","path":"src/structures"}},{"name":"setComponents","description":"Sets the components of the action row.","params":[{"name":"components","description":"The components to set","variable":true,"type":[[["Array","<"],["MessageActionRowComponentResolvable",">"]]]}],"returns":[[["MessageActionRow"]]],"meta":{"line":69,"file":"MessageActionRow.js","path":"src/structures"}},{"name":"spliceComponents","description":"Removes, replaces, and inserts components in the action row.","params":[{"name":"index","description":"The index to start at","type":[[["number"]]]},{"name":"deleteCount","description":"The number of components to remove","type":[[["number"]]]},{"name":"components","description":"The replacing components","optional":true,"variable":true,"type":[[["Array","<"],["MessageActionRowComponentResolvable",">"]]]}],"returns":[[["MessageActionRow"]]],"meta":{"line":81,"file":"MessageActionRow.js","path":"src/structures"}},{"name":"toJSON","description":"Transforms the action row to a plain object.","returns":{"types":[[["APIMessageComponent"]]],"description":"The raw data of this action row"},"meta":{"line":90,"file":"MessageActionRow.js","path":"src/structures"}}],"meta":{"line":10,"file":"MessageActionRow.js","path":"src/structures"}},{"name":"MessageAttachment","description":"Represents an attachment in a message.","construct":{"name":"MessageAttachment","params":[{"name":"attachment","description":"The file","type":[[["BufferResolvable"]],[["Stream"]]]},{"name":"name","description":"The name of the file, if any","optional":true,"default":null,"type":[[["string"]]]},{"name":"data","description":"Extra data","optional":true,"type":[[["APIAttachment"]]]}]},"props":[{"name":"name","description":"The name of this attachment","nullable":true,"type":[[["string"]]],"meta":{"line":21,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"id","description":"The attachment's id","type":[[["Snowflake"]]],"meta":{"line":80,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"size","description":"The size of this attachment in bytes","type":[[["number"]]],"meta":{"line":87,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"url","description":"The URL to this attachment","type":[[["string"]]],"meta":{"line":95,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"proxyURL","description":"The Proxy URL to this attachment","type":[[["string"]]],"meta":{"line":103,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"height","description":"The height of this attachment (if an image or video)","nullable":true,"type":[[["number"]]],"meta":{"line":111,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"width","description":"The width of this attachment (if an image or video)","nullable":true,"type":[[["number"]]],"meta":{"line":121,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"contentType","description":"The media type of this attachment","nullable":true,"type":[[["string"]]],"meta":{"line":131,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"description","description":"The description (alt text) of this attachment","nullable":true,"type":[[["string"]]],"meta":{"line":141,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"ephemeral","description":"Whether this attachment is ephemeral","type":[[["boolean"]]],"meta":{"line":150,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"duration","description":"The duration of this attachment in seconds\nThis will only be available if the attachment is an audio file.","nullable":true,"type":[[["number"]]],"meta":{"line":158,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"waveform","description":"The base64 encoded byte array representing a sampled waveform\nThis will only be available if the attachment is an audio file.","nullable":true,"type":[[["string"]]],"meta":{"line":169,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"flags","description":"The flags of this attachment","type":[[["Readonly","<"],["AttachmentFlags",">"]]],"meta":{"line":179,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"spoiler","description":"Whether or not this attachment has been marked as a spoiler","readonly":true,"type":[[["boolean"]]],"meta":{"line":190,"file":"MessageAttachment.js","path":"src/structures"}}],"methods":[{"name":"setDescription","description":"Sets the description of this attachment.","params":[{"name":"description","description":"The description of the file","type":[[["string"]]]}],"returns":{"types":[[["MessageAttachment"]]],"description":"This attachment"},"meta":{"line":30,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"setFile","description":"Sets the file of this attachment.","params":[{"name":"attachment","description":"The file","type":[[["BufferResolvable"]],[["Stream"]]]},{"name":"name","description":"The name of the file, if any","optional":true,"default":null,"type":[[["string"]]]}],"returns":{"types":[[["MessageAttachment"]]],"description":"This attachment"},"meta":{"line":41,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"setName","description":"Sets the name of this attachment.","params":[{"name":"name","description":"The name of the file","type":[[["string"]]]}],"returns":{"types":[[["MessageAttachment"]]],"description":"This attachment"},"meta":{"line":52,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"setSpoiler","description":"Sets whether this attachment is a spoiler","params":[{"name":"spoiler","description":"Whether the attachment should be marked as a spoiler","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":{"types":[[["MessageAttachment"]]],"description":"This attachment"},"meta":{"line":62,"file":"MessageAttachment.js","path":"src/structures"}}],"meta":{"line":9,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"MessageButton","description":"Represents a button message component.","extends":[[["BaseMessageComponent"]]],"construct":{"name":"MessageButton","params":[{"name":"data","description":"MessageButton to clone or raw data","optional":true,"default":"{}","type":[[["MessageButton"]],[["MessageButtonOptions"]]]}]},"props":[{"name":"label","description":"The text to be displayed on this button","nullable":true,"type":[[["string"]]],"meta":{"line":37,"file":"MessageButton.js","path":"src/structures"}},{"name":"customId","description":"A unique string to be sent in the interaction when clicked","nullable":true,"type":[[["string"]]],"meta":{"line":43,"file":"MessageButton.js","path":"src/structures"}},{"name":"style","description":"The style of this button","nullable":true,"type":[[["MessageButtonStyle"]]],"meta":{"line":49,"file":"MessageButton.js","path":"src/structures"}},{"name":"emoji","description":"Emoji for this button","nullable":true,"type":[[["RawEmoji"]]],"meta":{"line":55,"file":"MessageButton.js","path":"src/structures"}},{"name":"url","description":"The URL this button links to, if it is a Link style button","nullable":true,"type":[[["string"]]],"meta":{"line":61,"file":"MessageButton.js","path":"src/structures"}},{"name":"disabled","description":"Whether this button is currently disabled","type":[[["boolean"]]],"meta":{"line":67,"file":"MessageButton.js","path":"src/structures"}},{"name":"type","description":"The type of this component","nullable":true,"type":[[["MessageComponentType"]]],"meta":{"line":52,"file":"BaseMessageComponent.js","path":"src/structures"}}],"methods":[{"name":"setCustomId","description":"Sets the custom id for this button","params":[{"name":"customId","description":"A unique string to be sent in the interaction when clicked","type":[[["string"]]]}],"returns":[[["MessageButton"]]],"meta":{"line":75,"file":"MessageButton.js","path":"src/structures"}},{"name":"setDisabled","description":"Sets the interactive status of the button","params":[{"name":"disabled","description":"Whether this button should be disabled","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["MessageButton"]]],"meta":{"line":85,"file":"MessageButton.js","path":"src/structures"}},{"name":"setEmoji","description":"Set the emoji of this button","params":[{"name":"emoji","description":"The emoji to be displayed on this button","type":[[["EmojiIdentifierResolvable"]]]}],"returns":[[["MessageButton"]]],"meta":{"line":95,"file":"MessageButton.js","path":"src/structures"}},{"name":"setLabel","description":"Sets the label of this button","params":[{"name":"label","description":"The text to be displayed on this button","type":[[["string"]]]}],"returns":[[["MessageButton"]]],"meta":{"line":105,"file":"MessageButton.js","path":"src/structures"}},{"name":"setStyle","description":"Sets the style of this button","params":[{"name":"style","description":"The style of this button","type":[[["MessageButtonStyleResolvable"]]]}],"returns":[[["MessageButton"]]],"meta":{"line":115,"file":"MessageButton.js","path":"src/structures"}},{"name":"setURL","description":"Sets the URL of this button.\nMessageButton#style must be LINK when setting a URL","params":[{"name":"url","description":"The URL of this button","type":[[["string"]]]}],"returns":[[["MessageButton"]]],"meta":{"line":126,"file":"MessageButton.js","path":"src/structures"}},{"name":"toJSON","description":"Transforms the button to a plain object.","returns":{"types":[[["APIMessageButton"]]],"description":"The raw data of this button"},"meta":{"line":135,"file":"MessageButton.js","path":"src/structures"}},{"name":"resolveStyle","description":"Resolves the style of a button","scope":"static","access":"private","params":[{"name":"style","description":"The style to resolve","type":[[["MessageButtonStyleResolvable"]]]}],"returns":[[["MessageButtonStyle"]]],"meta":{"line":160,"file":"MessageButton.js","path":"src/structures"}}],"meta":{"line":12,"file":"MessageButton.js","path":"src/structures"}},{"name":"MessageCollector","description":"Collects messages on a channel.\nWill automatically stop if the channel ({@link Client#event:channelDelete channelDelete}),\nthread ({@link Client#event:threadDelete threadDelete}), or\nguild ({@link Client#event:guildDelete guildDelete}) is deleted.","extends":[[["Collector"]]],"construct":{"name":"MessageCollector","params":[{"name":"channel","description":"The channel","type":[[["TextBasedChannels"]]]},{"name":"options","description":"The options to be applied to this collector","type":[[["MessageCollectorOptions"]]]}]},"props":[{"name":"channel","description":"The channel","type":[[["TextBasedChannels"]]],"meta":{"line":32,"file":"MessageCollector.js","path":"src/structures"}},{"name":"received","description":"Total number of messages that were received in the channel during message collection","type":[[["number"]]],"meta":{"line":38,"file":"MessageCollector.js","path":"src/structures"}},{"name":"endReason","description":"The reason this collector has ended with, or null if it hasn't ended yet","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":103,"file":"MessageCollector.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this Collector","readonly":true,"type":[[["Client"]]],"meta":{"line":35,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"filter","description":"The filter applied to this collector","type":[[["CollectorFilter"]]],"meta":{"line":48,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"options","description":"The options of this collector","type":[[["CollectorOptions"]]],"meta":{"line":54,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"collected","description":"The items collected by this collector","type":[[["Collection"]]],"meta":{"line":60,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"ended","description":"Whether this collector has finished collecting","type":[[["boolean"]]],"meta":{"line":66,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"_timeout","description":"Timeout for cleanup","access":"private","nullable":true,"type":[[["Timeout"]]],"meta":{"line":73,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"_idletimeout","description":"Timeout for cleanup due to inactivity","access":"private","nullable":true,"type":[[["Timeout"]]],"meta":{"line":80,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"next","description":"Returns a promise that resolves with the next collected element;\nrejects with collected elements if the collector finishes without receiving a next element","readonly":true,"type":[[["Promise"]]],"meta":{"line":148,"file":"Collector.js","path":"src/structures/interfaces"}}],"methods":[{"name":"collect","description":"Handles a message for possible collection.","access":"private","params":[{"name":"message","description":"The message that could be collected","type":[[["Message"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":73,"file":"MessageCollector.js","path":"src/structures"}},{"name":"dispose","description":"Handles a message for possible disposal.","params":[{"name":"message","description":"The message that could be disposed of","type":[[["Message"]]]}],"returns":{"types":[[["Snowflake"]]],"nullable":true},"meta":{"line":89,"file":"MessageCollector.js","path":"src/structures"}},{"name":"_handleChannelDeletion","description":"Handles checking if the channel has been deleted, and if so, stops the collector with the reason 'channelDelete'.","access":"private","params":[{"name":"channel","description":"The channel that was deleted","type":[[["GuildChannel"]]]}],"returns":[[["void"]]],"meta":{"line":115,"file":"MessageCollector.js","path":"src/structures"}},{"name":"_handleThreadDeletion","description":"Handles checking if the thread has been deleted, and if so, stops the collector with the reason 'threadDelete'.","access":"private","params":[{"name":"thread","description":"The thread that was deleted","type":[[["ThreadChannel"]]]}],"returns":[[["void"]]],"meta":{"line":127,"file":"MessageCollector.js","path":"src/structures"}},{"name":"_handleGuildDeletion","description":"Handles checking if the guild has been deleted, and if so, stops the collector with the reason 'guildDelete'.","access":"private","params":[{"name":"guild","description":"The guild that was deleted","type":[[["Guild"]]]}],"returns":[[["void"]]],"meta":{"line":139,"file":"MessageCollector.js","path":"src/structures"}},{"name":"handleCollect","description":"Call this to handle an event as a collectable element. Accepts any event data as parameters.","inherits":"Collector#handleCollect","inherited":true,"emits":["Collector#event:collect"],"params":[{"name":"args","description":"The arguments emitted by the listener","variable":true,"type":[["*"]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":99,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"handleDispose","description":"Call this to remove an element from the collection. Accepts any event data as parameters.","inherits":"Collector#handleDispose","inherited":true,"emits":["Collector#event:dispose"],"params":[{"name":"args","description":"The arguments emitted by the listener","variable":true,"type":[["*"]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":126,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"stop","description":"Stops this collector and emits the `end` event.","inherits":"Collector#stop","inherited":true,"emits":["Collector#event:end"],"params":[{"name":"reason","description":"The reason this collector is ending","optional":true,"default":"'user'","type":[[["string"]]]}],"meta":{"line":180,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"resetTimer","description":"Resets the collector's timeout and idle timer.","inherits":"Collector#resetTimer","inherited":true,"params":[{"name":"options","description":"Options for resetting","optional":true,"type":[[["CollectorResetTimerOptions"]]]}],"meta":{"line":213,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"checkEnd","description":"Checks whether the collector should end, and if so, ends it.","inherits":"Collector#checkEnd","inherited":true,"returns":{"types":[[["boolean"]]],"description":"Whether the collector ended or not"},"meta":{"line":228,"file":"Collector.js","path":"src/structures/interfaces"}}],"events":[{"name":"collect","description":"Emitted whenever a message is collected.","params":[{"name":"message","description":"The message that was collected","type":[[["Message"]]]}],"meta":{"line":74,"file":"MessageCollector.js","path":"src/structures"}},{"name":"dispose","description":"Emitted whenever a message is disposed of.","params":[{"name":"message","description":"The message that was disposed of","type":[[["Message"]]]}],"meta":{"line":90,"file":"MessageCollector.js","path":"src/structures"}},{"name":"end","description":"Emitted when the collector is finished collecting.","params":[{"name":"collected","description":"The elements collected by the collector","type":[[["Collection"]]]},{"name":"reason","description":"The reason the collector ended","type":[[["string"]]]}],"meta":{"line":193,"file":"Collector.js","path":"src/structures/interfaces"}}],"meta":{"line":19,"file":"MessageCollector.js","path":"src/structures"}},{"name":"MessageComponentInteraction","description":"Represents a message component interaction.","extends":[[["Interaction"]]],"implements":[[["InteractionResponses"]]],"props":[{"name":"channelId","description":"The id of the channel this interaction was sent in","type":[[["Snowflake"]]],"meta":{"line":17,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"message","description":"The message to which the component was attached","type":[[["Message"]],[["APIMessage"]]],"meta":{"line":27,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"customId","description":"The custom id of the component which was interacted with","type":[[["string"]]],"meta":{"line":33,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"componentType","description":"The type of component which was interacted with","type":[[["string"]]],"meta":{"line":39,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"deferred","description":"Whether the reply to this interaction has been deferred","type":[[["boolean"]]],"meta":{"line":45,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"ephemeral","description":"Whether the reply to this interaction is ephemeral","nullable":true,"type":[[["boolean"]]],"meta":{"line":51,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"replied","description":"Whether this interaction has already been replied to","type":[[["boolean"]]],"meta":{"line":57,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"webhook","description":"An associated interaction webhook, can be used to further interact with this interaction","type":[[["InteractionWebhook"]]],"meta":{"line":63,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"component","description":"The component which was interacted with","readonly":true,"type":[[["MessageActionRowComponent"]],[["APIMessageActionRowComponent"]]],"meta":{"line":78,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"type","description":"The interaction's type","type":[[["InteractionType"]]],"meta":{"line":20,"file":"Interaction.js","path":"src/structures"}},{"name":"id","description":"The interaction's id","type":[[["Snowflake"]]],"meta":{"line":26,"file":"Interaction.js","path":"src/structures"}},{"name":"token","description":"The interaction's token","readonly":true,"type":[[["string"]]],"meta":{"line":28,"file":"Interaction.js","path":"src/structures"}},{"name":"applicationId","description":"The application's id","type":[[["Snowflake"]]],"meta":{"line":40,"file":"Interaction.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild this interaction was sent in","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":52,"file":"Interaction.js","path":"src/structures"}},{"name":"user","description":"The user which sent this interaction","type":[[["User"]]],"meta":{"line":58,"file":"Interaction.js","path":"src/structures"}},{"name":"member","description":"If this interaction was sent in a guild, the member which sent it","nullable":true,"type":[[["GuildMember"]],[["APIGuildMember"]]],"meta":{"line":64,"file":"Interaction.js","path":"src/structures"}},{"name":"version","description":"The version","type":[[["number"]]],"meta":{"line":70,"file":"Interaction.js","path":"src/structures"}},{"name":"appPermissions","description":"Set of permissions the application or bot has within the channel the interaction was sent from","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":76,"file":"Interaction.js","path":"src/structures"}},{"name":"memberPermissions","description":"The permissions of the member, if one exists, in the channel this interaction was executed in","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":82,"file":"Interaction.js","path":"src/structures"}},{"name":"locale","description":"The locale of the user who invoked this interaction","type":[[["Locale"]]],"meta":{"line":124,"file":"Interaction.js","path":"src/structures"}},{"name":"guildLocale","description":"The preferred locale from the guild this interaction was sent in","nullable":true,"type":[[["Locale"]]],"meta":{"line":130,"file":"Interaction.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the interaction was created at","readonly":true,"type":[[["number"]]],"meta":{"line":138,"file":"Interaction.js","path":"src/structures"}},{"name":"createdAt","description":"The time the interaction was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":147,"file":"Interaction.js","path":"src/structures"}},{"name":"channel","description":"The channel this interaction was sent in","readonly":true,"nullable":true,"type":[[["TextBasedChannels"]]],"meta":{"line":156,"file":"Interaction.js","path":"src/structures"}},{"name":"guild","description":"The guild this interaction was sent in","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":165,"file":"Interaction.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"deferReply","description":"Defers the reply to this interaction.","implements":["InteractionResponses#deferReply"],"examples":["// Defer the reply to this interaction\ninteraction.deferReply()\n .then(console.log)\n .catch(console.error)","// Defer to send an ephemeral reply later\ninteraction.deferReply({ ephemeral: true })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for deferring the reply to this interaction","optional":true,"type":[[["InteractionDeferReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":58,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"reply","description":"Creates a reply to this interaction.\nUse the `fetchReply` option to get the bot's reply message.","implements":["InteractionResponses#reply"],"examples":["// Reply to the interaction and fetch the response\ninteraction.reply({ content: 'Pong!', fetchReply: true })\n .then((message) => console.log(`Reply sent with content ${message.content}`))\n .catch(console.error);","// Create an ephemeral reply with an embed\nconst embed = new MessageEmbed().setDescription('Pong!');\n\ninteraction.reply({ embeds: [embed], ephemeral: true })\n .then(() => console.log('Reply sent.'))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":93,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"fetchReply","description":"Fetches a reply to this interaction.","see":["Webhook#fetchMessage"],"implements":["InteractionResponses#fetchReply"],"examples":["// Fetch the initial reply to this interaction\ninteraction.fetchReply()\n .then(reply => console.log(`Replied with ${reply.content}`))\n .catch(console.error);"],"params":[{"name":"message","description":"The response to fetch","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":127,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"editReply","description":"Edits a reply to this interaction.","see":["Webhook#editMessage"],"implements":["InteractionResponses#editReply"],"examples":["// Edit the initial reply to this interaction\ninteraction.editReply('New content')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The new options for the message","type":[[["string"]],[["MessagePayload"]],[["InteractionEditReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":148,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"deleteReply","description":"Deletes a reply to this interaction.","see":["Webhook#deleteMessage"],"implements":["InteractionResponses#deleteReply"],"examples":["// Delete the initial reply to this interaction\ninteraction.deleteReply()\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"message","description":"The response to delete","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":166,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"followUp","description":"Send a follow-up message to this interaction.","implements":["InteractionResponses#followUp"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":175,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"deferUpdate","description":"Defers an update to the message to which the component was attached.","implements":["InteractionResponses#deferUpdate"],"examples":["// Defer updating and reset the component's loading state\ninteraction.deferUpdate()\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for deferring the update to this interaction","optional":true,"type":[[["InteractionDeferUpdateOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":190,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"update","description":"Updates the original message of the component on which the interaction was received on.","implements":["InteractionResponses#update"],"examples":["// Remove the components from the message\ninteraction.update({\n content: \"A component interaction was received\",\n components: []\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the updated message","type":[[["string"]],[["MessagePayload"]],[["InteractionUpdateOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":216,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"showModal","description":"Shows a modal component","implements":["InteractionResponses#showModal"],"params":[{"name":"modal","description":"The modal to show","type":[[["Modal"]],[["ModalOptions"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":243,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"awaitModalSubmit","description":"Collects a single modal submit interaction that passes the filter.\nThe Promise will reject if the time expires.","implements":["InteractionResponses#awaitModalSubmit"],"examples":["// Collect a modal submit interaction\nconst filter = (interaction) => interaction.customId === 'modal';\ninteraction.awaitModalSubmit({ filter, time: 15_000 })\n .then(interaction => console.log(`${interaction.customId} was submitted!`))\n .catch(console.error);"],"params":[{"name":"options","description":"Options to pass to the internal collector","type":[[["AwaitModalSubmitOptions"]]]}],"returns":[[["Promise","<"],["ModalSubmitInteraction",">"]]],"meta":{"line":275,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"inGuild","description":"Indicates whether this interaction is received from a guild.","inherits":"Interaction#inGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":173,"file":"Interaction.js","path":"src/structures"}},{"name":"inCachedGuild","description":"Indicates whether or not this interaction is both cached and received from a guild.","inherits":"Interaction#inCachedGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":181,"file":"Interaction.js","path":"src/structures"}},{"name":"inRawGuild","description":"Indicates whether or not this interaction is received from an uncached guild.","inherits":"Interaction#inRawGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":189,"file":"Interaction.js","path":"src/structures"}},{"name":"isApplicationCommand","description":"Indicates whether this interaction is a {@link BaseCommandInteraction}.","inherits":"Interaction#isApplicationCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":197,"file":"Interaction.js","path":"src/structures"}},{"name":"isCommand","description":"Indicates whether this interaction is a {@link CommandInteraction}.","inherits":"Interaction#isCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":205,"file":"Interaction.js","path":"src/structures"}},{"name":"isContextMenu","description":"Indicates whether this interaction is a {@link ContextMenuInteraction}","inherits":"Interaction#isContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":213,"file":"Interaction.js","path":"src/structures"}},{"name":"isModalSubmit","description":"Indicates whether this interaction is a {@link ModalSubmitInteraction}","inherits":"Interaction#isModalSubmit","inherited":true,"returns":[[["boolean"]]],"meta":{"line":221,"file":"Interaction.js","path":"src/structures"}},{"name":"isUserContextMenu","description":"Indicates whether this interaction is a {@link UserContextMenuInteraction}","inherits":"Interaction#isUserContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":229,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageContextMenu","description":"Indicates whether this interaction is a {@link MessageContextMenuInteraction}","inherits":"Interaction#isMessageContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":237,"file":"Interaction.js","path":"src/structures"}},{"name":"isAutocomplete","description":"Indicates whether this interaction is an {@link AutocompleteInteraction}","inherits":"Interaction#isAutocomplete","inherited":true,"returns":[[["boolean"]]],"meta":{"line":245,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageComponent","description":"Indicates whether this interaction is a {@link MessageComponentInteraction}.","inherits":"Interaction#isMessageComponent","inherited":true,"returns":[[["boolean"]]],"meta":{"line":253,"file":"Interaction.js","path":"src/structures"}},{"name":"isButton","description":"Indicates whether this interaction is a {@link ButtonInteraction}.","inherits":"Interaction#isButton","inherited":true,"returns":[[["boolean"]]],"meta":{"line":261,"file":"Interaction.js","path":"src/structures"}},{"name":"isSelectMenu","description":"Indicates whether this interaction is a {@link SelectMenuInteraction}.","inherits":"Interaction#isSelectMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":272,"file":"Interaction.js","path":"src/structures"}},{"name":"isRepliable","description":"Indicates whether this interaction can be replied to.","inherits":"Interaction#isRepliable","inherited":true,"returns":[[["boolean"]]],"meta":{"line":283,"file":"Interaction.js","path":"src/structures"}},{"name":"resolveType","description":"Resolves the type of a MessageComponent","scope":"static","access":"private","params":[{"name":"type","description":"The type to resolve","type":[[["MessageComponentTypeResolvable"]]]}],"returns":[[["MessageComponentType"]]],"meta":{"line":90,"file":"MessageComponentInteraction.js","path":"src/structures"}}],"meta":{"line":13,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"MessageContextMenuInteraction","description":"Represents a message context menu interaction.","extends":[[["ContextMenuInteraction"]]],"props":[{"name":"targetMessage","description":"The message this interaction was sent from","readonly":true,"type":[[["Message"]],[["APIMessage"]]],"meta":{"line":15,"file":"MessageContextMenuInteraction.js","path":"src/structures"}},{"name":"options","description":"The target of the interaction, parsed into options","type":[[["CommandInteractionOptionResolver"]]],"meta":{"line":18,"file":"ContextMenuInteraction.js","path":"src/structures"}},{"name":"targetId","description":"The id of the target of this interaction","type":[[["Snowflake"]]],"meta":{"line":28,"file":"ContextMenuInteraction.js","path":"src/structures"}},{"name":"targetType","description":"The type of the target of the interaction; either USER or MESSAGE","type":[[["ApplicationCommandType"]]],"meta":{"line":34,"file":"ContextMenuInteraction.js","path":"src/structures"}},{"name":"channelId","description":"The id of the channel this interaction was sent in","type":[[["Snowflake"]]],"meta":{"line":20,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"commandId","description":"The invoked application command's id","type":[[["Snowflake"]]],"meta":{"line":30,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"commandName","description":"The invoked application command's name","type":[[["string"]]],"meta":{"line":36,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"deferred","description":"Whether the reply to this interaction has been deferred","type":[[["boolean"]]],"meta":{"line":42,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"replied","description":"Whether this interaction has already been replied to","type":[[["boolean"]]],"meta":{"line":48,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"ephemeral","description":"Whether the reply to this interaction is ephemeral","nullable":true,"type":[[["boolean"]]],"meta":{"line":54,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"webhook","description":"An associated interaction webhook, can be used to further interact with this interaction","type":[[["InteractionWebhook"]]],"meta":{"line":60,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"command","description":"The invoked application command, if it was fetched before","nullable":true,"type":[[["ApplicationCommand"]]],"meta":{"line":67,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"type","description":"The interaction's type","type":[[["InteractionType"]]],"meta":{"line":20,"file":"Interaction.js","path":"src/structures"}},{"name":"id","description":"The interaction's id","type":[[["Snowflake"]]],"meta":{"line":26,"file":"Interaction.js","path":"src/structures"}},{"name":"token","description":"The interaction's token","readonly":true,"type":[[["string"]]],"meta":{"line":28,"file":"Interaction.js","path":"src/structures"}},{"name":"applicationId","description":"The application's id","type":[[["Snowflake"]]],"meta":{"line":40,"file":"Interaction.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild this interaction was sent in","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":52,"file":"Interaction.js","path":"src/structures"}},{"name":"user","description":"The user which sent this interaction","type":[[["User"]]],"meta":{"line":58,"file":"Interaction.js","path":"src/structures"}},{"name":"member","description":"If this interaction was sent in a guild, the member which sent it","nullable":true,"type":[[["GuildMember"]],[["APIGuildMember"]]],"meta":{"line":64,"file":"Interaction.js","path":"src/structures"}},{"name":"version","description":"The version","type":[[["number"]]],"meta":{"line":70,"file":"Interaction.js","path":"src/structures"}},{"name":"appPermissions","description":"Set of permissions the application or bot has within the channel the interaction was sent from","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":76,"file":"Interaction.js","path":"src/structures"}},{"name":"memberPermissions","description":"The permissions of the member, if one exists, in the channel this interaction was executed in","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":82,"file":"Interaction.js","path":"src/structures"}},{"name":"locale","description":"The locale of the user who invoked this interaction","type":[[["Locale"]]],"meta":{"line":124,"file":"Interaction.js","path":"src/structures"}},{"name":"guildLocale","description":"The preferred locale from the guild this interaction was sent in","nullable":true,"type":[[["Locale"]]],"meta":{"line":130,"file":"Interaction.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the interaction was created at","readonly":true,"type":[[["number"]]],"meta":{"line":138,"file":"Interaction.js","path":"src/structures"}},{"name":"createdAt","description":"The time the interaction was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":147,"file":"Interaction.js","path":"src/structures"}},{"name":"channel","description":"The channel this interaction was sent in","readonly":true,"nullable":true,"type":[[["TextBasedChannels"]]],"meta":{"line":156,"file":"Interaction.js","path":"src/structures"}},{"name":"guild","description":"The guild this interaction was sent in","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":165,"file":"Interaction.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"resolveContextMenuOptions","description":"Resolves and transforms options received from the API for a context menu interaction.","access":"private","inherits":"ContextMenuInteraction#resolveContextMenuOptions","inherited":true,"params":[{"name":"data","description":"The interaction data","type":[[["APIApplicationCommandInteractionData"]]]}],"returns":[[["Array","<"],["CommandInteractionOption",">"]]],"meta":{"line":43,"file":"ContextMenuInteraction.js","path":"src/structures"}},{"name":"transformResolved","description":"Transforms the resolved received from the API.","access":"private","inherits":"BaseCommandInteraction#transformResolved","inherited":true,"params":[{"name":"resolved","description":"The received resolved objects","type":[[["APIInteractionDataResolved"]]]}],"returns":[[["CommandInteractionResolvedData"]]],"meta":{"line":89,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"transformOption","description":"Transforms an option received from the API.","access":"private","inherits":"BaseCommandInteraction#transformOption","inherited":true,"params":[{"name":"option","description":"The received option","type":[[["APIApplicationCommandOption"]]]},{"name":"resolved","description":"The resolved interaction data","type":[[["APIInteractionDataResolved"]]]}],"returns":[[["CommandInteractionOption"]]],"meta":{"line":162,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"deferReply","description":"Defers the reply to this interaction.","inherits":"BaseCommandInteraction#deferReply","inherited":true,"implements":["InteractionResponses#deferReply"],"examples":["// Defer the reply to this interaction\ninteraction.deferReply()\n .then(console.log)\n .catch(console.error)","// Defer to send an ephemeral reply later\ninteraction.deferReply({ ephemeral: true })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for deferring the reply to this interaction","optional":true,"type":[[["InteractionDeferReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":58,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"reply","description":"Creates a reply to this interaction.\nUse the `fetchReply` option to get the bot's reply message.","inherits":"BaseCommandInteraction#reply","inherited":true,"implements":["InteractionResponses#reply"],"examples":["// Reply to the interaction and fetch the response\ninteraction.reply({ content: 'Pong!', fetchReply: true })\n .then((message) => console.log(`Reply sent with content ${message.content}`))\n .catch(console.error);","// Create an ephemeral reply with an embed\nconst embed = new MessageEmbed().setDescription('Pong!');\n\ninteraction.reply({ embeds: [embed], ephemeral: true })\n .then(() => console.log('Reply sent.'))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":93,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"fetchReply","description":"Fetches a reply to this interaction.","see":["Webhook#fetchMessage"],"inherits":"BaseCommandInteraction#fetchReply","inherited":true,"implements":["InteractionResponses#fetchReply"],"examples":["// Fetch the initial reply to this interaction\ninteraction.fetchReply()\n .then(reply => console.log(`Replied with ${reply.content}`))\n .catch(console.error);"],"params":[{"name":"message","description":"The response to fetch","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":127,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"editReply","description":"Edits a reply to this interaction.","see":["Webhook#editMessage"],"inherits":"BaseCommandInteraction#editReply","inherited":true,"implements":["InteractionResponses#editReply"],"examples":["// Edit the initial reply to this interaction\ninteraction.editReply('New content')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The new options for the message","type":[[["string"]],[["MessagePayload"]],[["InteractionEditReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":148,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"deleteReply","description":"Deletes a reply to this interaction.","see":["Webhook#deleteMessage"],"inherits":"BaseCommandInteraction#deleteReply","inherited":true,"implements":["InteractionResponses#deleteReply"],"examples":["// Delete the initial reply to this interaction\ninteraction.deleteReply()\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"message","description":"The response to delete","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":166,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"followUp","description":"Send a follow-up message to this interaction.","inherits":"BaseCommandInteraction#followUp","inherited":true,"implements":["InteractionResponses#followUp"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":175,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"showModal","description":"Shows a modal component","inherits":"BaseCommandInteraction#showModal","inherited":true,"implements":["InteractionResponses#showModal"],"params":[{"name":"modal","description":"The modal to show","type":[[["Modal"]],[["ModalOptions"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":243,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"awaitModalSubmit","description":"Collects a single modal submit interaction that passes the filter.\nThe Promise will reject if the time expires.","inherits":"BaseCommandInteraction#awaitModalSubmit","inherited":true,"implements":["InteractionResponses#awaitModalSubmit"],"examples":["// Collect a modal submit interaction\nconst filter = (interaction) => interaction.customId === 'modal';\ninteraction.awaitModalSubmit({ filter, time: 15_000 })\n .then(interaction => console.log(`${interaction.customId} was submitted!`))\n .catch(console.error);"],"params":[{"name":"options","description":"Options to pass to the internal collector","type":[[["AwaitModalSubmitOptions"]]]}],"returns":[[["Promise","<"],["ModalSubmitInteraction",">"]]],"meta":{"line":275,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"inGuild","description":"Indicates whether this interaction is received from a guild.","inherits":"Interaction#inGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":173,"file":"Interaction.js","path":"src/structures"}},{"name":"inCachedGuild","description":"Indicates whether or not this interaction is both cached and received from a guild.","inherits":"Interaction#inCachedGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":181,"file":"Interaction.js","path":"src/structures"}},{"name":"inRawGuild","description":"Indicates whether or not this interaction is received from an uncached guild.","inherits":"Interaction#inRawGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":189,"file":"Interaction.js","path":"src/structures"}},{"name":"isApplicationCommand","description":"Indicates whether this interaction is a {@link BaseCommandInteraction}.","inherits":"Interaction#isApplicationCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":197,"file":"Interaction.js","path":"src/structures"}},{"name":"isCommand","description":"Indicates whether this interaction is a {@link CommandInteraction}.","inherits":"Interaction#isCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":205,"file":"Interaction.js","path":"src/structures"}},{"name":"isContextMenu","description":"Indicates whether this interaction is a {@link ContextMenuInteraction}","inherits":"Interaction#isContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":213,"file":"Interaction.js","path":"src/structures"}},{"name":"isModalSubmit","description":"Indicates whether this interaction is a {@link ModalSubmitInteraction}","inherits":"Interaction#isModalSubmit","inherited":true,"returns":[[["boolean"]]],"meta":{"line":221,"file":"Interaction.js","path":"src/structures"}},{"name":"isUserContextMenu","description":"Indicates whether this interaction is a {@link UserContextMenuInteraction}","inherits":"Interaction#isUserContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":229,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageContextMenu","description":"Indicates whether this interaction is a {@link MessageContextMenuInteraction}","inherits":"Interaction#isMessageContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":237,"file":"Interaction.js","path":"src/structures"}},{"name":"isAutocomplete","description":"Indicates whether this interaction is an {@link AutocompleteInteraction}","inherits":"Interaction#isAutocomplete","inherited":true,"returns":[[["boolean"]]],"meta":{"line":245,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageComponent","description":"Indicates whether this interaction is a {@link MessageComponentInteraction}.","inherits":"Interaction#isMessageComponent","inherited":true,"returns":[[["boolean"]]],"meta":{"line":253,"file":"Interaction.js","path":"src/structures"}},{"name":"isButton","description":"Indicates whether this interaction is a {@link ButtonInteraction}.","inherits":"Interaction#isButton","inherited":true,"returns":[[["boolean"]]],"meta":{"line":261,"file":"Interaction.js","path":"src/structures"}},{"name":"isSelectMenu","description":"Indicates whether this interaction is a {@link SelectMenuInteraction}.","inherits":"Interaction#isSelectMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":272,"file":"Interaction.js","path":"src/structures"}},{"name":"isRepliable","description":"Indicates whether this interaction can be replied to.","inherits":"Interaction#isRepliable","inherited":true,"returns":[[["boolean"]]],"meta":{"line":283,"file":"Interaction.js","path":"src/structures"}}],"meta":{"line":9,"file":"MessageContextMenuInteraction.js","path":"src/structures"}},{"name":"MessageEmbed","description":"Represents an embed in a message (image/video preview, rich embed, etc.)","construct":{"name":"MessageEmbed","params":[{"name":"data","description":"MessageEmbed to clone or raw embed data","optional":true,"default":"{}","type":[[["MessageEmbed"]],[["MessageEmbedOptions"]],[["APIEmbed"]]]}]},"props":[{"name":"type","description":"The type of this embed, either:\n* `rich` - a generic embed rendered from embed attributes\n* `image` - an image embed\n* `video` - a video embed\n* `gifv` - an animated gif image embed rendered as a video embed\n* `article` - an article embed\n* `link` - a link embed","see":["{@link https://discord.com/developers/docs/resources/channel#embed-object-embed-types}"],"deprecated":true,"type":[[["string"]]],"meta":{"line":61,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"title","description":"The title of this embed","nullable":true,"type":[[["string"]]],"meta":{"line":67,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"description","description":"The description of this embed","nullable":true,"type":[[["string"]]],"meta":{"line":73,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"url","description":"The URL of this embed","nullable":true,"type":[[["string"]]],"meta":{"line":79,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"color","description":"The color of this embed","nullable":true,"type":[[["number"]]],"meta":{"line":85,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"timestamp","description":"The timestamp of this embed","nullable":true,"type":[[["number"]]],"meta":{"line":91,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"fields","description":"The fields of this embed","type":[[["Array","<"],["EmbedField",">"]]],"meta":{"line":105,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"thumbnail","description":"The thumbnail of this embed (if there is one)","nullable":true,"type":[[["MessageEmbedThumbnail"]]],"meta":{"line":123,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"image","description":"The image of this embed, if there is one","nullable":true,"type":[[["MessageEmbedImage"]]],"meta":{"line":145,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"video","description":"The video of this embed (if there is one)","readonly":true,"nullable":true,"type":[[["MessageEmbedVideo"]]],"meta":{"line":168,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"author","description":"The author of this embed (if there is one)","nullable":true,"type":[[["MessageEmbedAuthor"]]],"meta":{"line":190,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"provider","description":"The provider of this embed (if there is one)","nullable":true,"type":[[["MessageEmbedProvider"]]],"meta":{"line":210,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"footer","description":"The footer of this embed","nullable":true,"type":[[["MessageEmbedFooter"]]],"meta":{"line":229,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"createdAt","description":"The date displayed on this embed","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":243,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"hexColor","description":"The hexadecimal version of the embed color, with a leading hash","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":252,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"length","description":"The accumulated length for the embed title, description, fields, footer text, and author name","readonly":true,"type":[[["number"]]],"meta":{"line":261,"file":"MessageEmbed.js","path":"src/structures"}}],"methods":[{"name":"equals","description":"Checks if this embed is equal to another one by comparing every single one of their properties.","params":[{"name":"embed","description":"The embed to compare with","type":[[["MessageEmbed"]],[["APIEmbed"]]]}],"returns":[[["boolean"]]],"meta":{"line":278,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"_fieldEquals","description":"Compares two given embed fields to see if they are equal","access":"private","params":[{"name":"field","description":"The first field to compare","type":[[["EmbedFieldData"]]]},{"name":"other","description":"The second field to compare","type":[[["EmbedFieldData"]]]}],"returns":[[["boolean"]]],"meta":{"line":308,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"addField","description":"Adds a field to the embed (max 25).","deprecated":"This method is a wrapper for {@link MessageEmbed#addFields}. Use that instead.","params":[{"name":"name","description":"The name of this field","type":[[["string"]]]},{"name":"value","description":"The value of this field","type":[[["string"]]]},{"name":"inline","description":"If this field will be displayed inline","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":[[["MessageEmbed"]]],"meta":{"line":320,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"addFields","description":"Adds fields to the embed (max 25).","params":[{"name":"fields","description":"The fields to add","variable":true,"type":[[["EmbedFieldData"]],[["Array","<"],["EmbedFieldData",">"]]]}],"returns":[[["MessageEmbed"]]],"meta":{"line":338,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"spliceFields","description":"Removes, replaces, and inserts fields in the embed (max 25).","params":[{"name":"index","description":"The index to start at","type":[[["number"]]]},{"name":"deleteCount","description":"The number of fields to remove","type":[[["number"]]]},{"name":"fields","description":"The replacing field objects","optional":true,"variable":true,"type":[[["EmbedFieldData"]],[["Array","<"],["EmbedFieldData",">"]]]}],"returns":[[["MessageEmbed"]]],"meta":{"line":350,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"setFields","description":"Sets the embed's fields (max 25).","params":[{"name":"fields","description":"The fields to set","variable":true,"type":[[["EmbedFieldData"]],[["Array","<"],["EmbedFieldData",">"]]]}],"returns":[[["MessageEmbed"]]],"meta":{"line":360,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"setAuthor","description":"Sets the author of this embed.","params":[{"name":"options","description":"The options to provide for the author.\nProvide `null` to remove the author data.","type":[[["string"]],[["EmbedAuthorData"]],[["null"]]]},{"name":"deprecatedIconURL","description":"The icon URL of this author.\nThis parameter is **deprecated**. Use the `options` parameter instead.","optional":true,"type":[[["string"]]]},{"name":"deprecatedURL","description":"The URL of this author.\nThis parameter is **deprecated**. Use the `options` parameter instead.","optional":true,"type":[[["string"]]]}],"returns":[[["MessageEmbed"]]],"meta":{"line":383,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"setColor","description":"Sets the color of this embed.","params":[{"name":"color","description":"The color of the embed","type":[[["ColorResolvable"]]]}],"returns":[[["MessageEmbed"]]],"meta":{"line":412,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"setDescription","description":"Sets the description of this embed.","params":[{"name":"description","description":"The description","type":[[["string"]]]}],"returns":[[["MessageEmbed"]]],"meta":{"line":422,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"setFooter","description":"Sets the footer of this embed.","params":[{"name":"options","description":"The options to provide for the footer.\nProvide `null` to remove the footer data.","type":[[["string"]],[["EmbedFooterData"]],[["null"]]]},{"name":"deprecatedIconURL","description":"The icon URL of this footer.\nThis parameter is **deprecated**. Use the `options` parameter instead.","optional":true,"type":[[["string"]]]}],"returns":[[["MessageEmbed"]]],"meta":{"line":442,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"setImage","description":"Sets the image of this embed.","params":[{"name":"url","description":"The URL of the image","type":[[["string"]]]}],"returns":[[["MessageEmbed"]]],"meta":{"line":471,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"setThumbnail","description":"Sets the thumbnail of this embed.","params":[{"name":"url","description":"The URL of the thumbnail","type":[[["string"]]]}],"returns":[[["MessageEmbed"]]],"meta":{"line":481,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"setTimestamp","description":"Sets the timestamp of this embed.","params":[{"name":"timestamp","description":"The timestamp or date.\nIf `null` then the timestamp will be unset (i.e. when editing an existing {@link MessageEmbed})","optional":true,"default":"Date.now()","type":[[["Date"]],[["number"]],[["null"]]]}],"returns":[[["MessageEmbed"]]],"meta":{"line":492,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"setTitle","description":"Sets the title of this embed.","params":[{"name":"title","description":"The title","type":[[["string"]]]}],"returns":[[["MessageEmbed"]]],"meta":{"line":503,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"setURL","description":"Sets the URL of this embed.","params":[{"name":"url","description":"The URL","type":[[["string"]]]}],"returns":[[["MessageEmbed"]]],"meta":{"line":513,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"toJSON","description":"Transforms the embed to a plain object.","returns":{"types":[[["APIEmbed"]]],"description":"The raw data of this embed"},"meta":{"line":522,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"normalizeField","description":"Normalizes field input and verifies strings.","scope":"static","params":[{"name":"name","description":"The name of the field","type":[[["string"]]]},{"name":"value","description":"The value of the field","type":[[["string"]]]},{"name":"inline","description":"Set the field to display inline","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":[[["EmbedField"]]],"meta":{"line":552,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"normalizeFields","description":"Normalizes field input and resolves strings.","scope":"static","params":[{"name":"fields","description":"Fields to normalize","variable":true,"type":[[["EmbedFieldData"]],[["Array","<"],["EmbedFieldData",">"]]]}],"returns":[[["Array","<"],["EmbedField",">"]]],"meta":{"line":572,"file":"MessageEmbed.js","path":"src/structures"}}],"meta":{"line":16,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"MessageMentions","description":"Keeps track of mentions in a {@link Message}.","props":[{"name":"everyone","description":"Whether `@everyone` or `@here` were mentioned","type":[[["boolean"]]],"meta":{"line":38,"file":"MessageMentions.js","path":"src/structures"}},{"name":"users","description":"Any users that were mentioned\nOrder as received from the API, not as they appear in the message content","type":[[["Collection","<"],["Snowflake",", "],["User",">"]]],"meta":{"line":47,"file":"MessageMentions.js","path":"src/structures"}},{"name":"roles","description":"Any roles that were mentioned\nOrder as received from the API, not as they appear in the message content","type":[[["Collection","<"],["Snowflake",", "],["Role",">"]]],"meta":{"line":68,"file":"MessageMentions.js","path":"src/structures"}},{"name":"_members","description":"Cached members for {@link MessageMentions#members}","access":"private","nullable":true,"type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]],"meta":{"line":87,"file":"MessageMentions.js","path":"src/structures"}},{"name":"_channels","description":"Cached channels for {@link MessageMentions#channels}","access":"private","nullable":true,"type":[[["Collection","<"],["Snowflake",", "],["Channel",">"]]],"meta":{"line":94,"file":"MessageMentions.js","path":"src/structures"}},{"name":"_parsedUsers","description":"Cached users for {@link MessageMentions#parsedUsers}","access":"private","nullable":true,"type":[[["Collection","<"],["Snowflake",", "],["User",">"]]],"meta":{"line":101,"file":"MessageMentions.js","path":"src/structures"}},{"name":"crosspostedChannels","description":"A collection of crossposted channels\nOrder as received from the API, not as they appear in the message content","type":[[["Collection","<"],["Snowflake",", "],["CrosspostedChannel",">"]]],"meta":{"line":119,"file":"MessageMentions.js","path":"src/structures"}},{"name":"repliedUser","description":"The author of the message that this message is a reply to","nullable":true,"type":[[["User"]]],"meta":{"line":141,"file":"MessageMentions.js","path":"src/structures"}},{"name":"members","description":"Any members that were mentioned (only in {@link Guild}s)\nOrder as received from the API, not as they appear in the message content","readonly":true,"nullable":true,"type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]],"meta":{"line":150,"file":"MessageMentions.js","path":"src/structures"}},{"name":"channels","description":"Any channels that were mentioned\nOrder as they appear first in the message content","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["Channel",">"]]],"meta":{"line":167,"file":"MessageMentions.js","path":"src/structures"}},{"name":"parsedUsers","description":"Any user mentions that were included in the message content\nOrder as they appear first in the message content","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["User",">"]]],"meta":{"line":184,"file":"MessageMentions.js","path":"src/structures"}},{"name":"EVERYONE_PATTERN","description":"Regular expression that globally matches `@everyone` and `@here`","scope":"static","type":[[["RegExp"]]],"meta":{"line":253,"file":"MessageMentions.js","path":"src/structures"}},{"name":"USERS_PATTERN","description":"Regular expression that globally matches user mentions like `<@81440962496172032>`","scope":"static","type":[[["RegExp"]]],"meta":{"line":259,"file":"MessageMentions.js","path":"src/structures"}},{"name":"ROLES_PATTERN","description":"Regular expression that globally matches role mentions like `<@&297577916114403338>`","scope":"static","type":[[["RegExp"]]],"meta":{"line":265,"file":"MessageMentions.js","path":"src/structures"}},{"name":"CHANNELS_PATTERN","description":"Regular expression that globally matches channel mentions like `<#222079895583457280>`","scope":"static","type":[[["RegExp"]]],"meta":{"line":271,"file":"MessageMentions.js","path":"src/structures"}}],"methods":[{"name":"has","description":"Checks if a user, guild member, thread member, role, or channel is mentioned.\nTakes into account user mentions, role mentions, channel mentions,\nreplied user mention, and `@everyone`/`@here` mentions.","params":[{"name":"data","description":"The User/Role/Channel to check for","type":[[["UserResolvable"]],[["RoleResolvable"]],[["ChannelResolvable"]]]},{"name":"options","description":"The options for the check","optional":true,"type":[[["MessageMentionsHasOptions"]]]}],"returns":[[["boolean"]]],"meta":{"line":212,"file":"MessageMentions.js","path":"src/structures"}}],"meta":{"line":10,"file":"MessageMentions.js","path":"src/structures"}},{"name":"MessagePayload","description":"Represents a message to be sent to the API.","construct":{"name":"MessagePayload","params":[{"name":"target","description":"The target for this message to be sent to","type":[[["MessageTarget"]]]},{"name":"options","description":"Options passed in from send","type":[[["MessageOptions"]],[["WebhookMessageOptions"]]]}]},"props":[{"name":"target","description":"The target for this message to be sent to","type":[[["MessageTarget"]]],"meta":{"line":26,"file":"MessagePayload.js","path":"src/structures"}},{"name":"options","description":"Options passed in from send","type":[[["MessageOptions"]],[["WebhookMessageOptions"]]],"meta":{"line":32,"file":"MessagePayload.js","path":"src/structures"}},{"name":"data","description":"Data sendable to the API","nullable":true,"type":[[["APIMessage"]]],"meta":{"line":38,"file":"MessagePayload.js","path":"src/structures"}},{"name":"files","description":"Files sendable to the API","nullable":true,"type":[[["Array","<"],["MessageFile",">"]]],"meta":{"line":51,"file":"MessagePayload.js","path":"src/structures"}},{"name":"isWebhook","description":"Whether or not the target is a {@link Webhook} or a {@link WebhookClient}","readonly":true,"type":[[["boolean"]]],"meta":{"line":59,"file":"MessagePayload.js","path":"src/structures"}},{"name":"isUser","description":"Whether or not the target is a {@link User}","readonly":true,"type":[[["boolean"]]],"meta":{"line":70,"file":"MessagePayload.js","path":"src/structures"}},{"name":"isMessage","description":"Whether or not the target is a {@link Message}","readonly":true,"type":[[["boolean"]]],"meta":{"line":81,"file":"MessagePayload.js","path":"src/structures"}},{"name":"isMessageManager","description":"Whether or not the target is a {@link MessageManager}","readonly":true,"type":[[["boolean"]]],"meta":{"line":91,"file":"MessagePayload.js","path":"src/structures"}},{"name":"isInteraction","description":"Whether or not the target is an {@link Interaction} or an {@link InteractionWebhook}","readonly":true,"type":[[["boolean"]]],"meta":{"line":101,"file":"MessagePayload.js","path":"src/structures"}}],"methods":[{"name":"makeContent","description":"Makes the content of this message.","returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":111,"file":"MessagePayload.js","path":"src/structures"}},{"name":"resolveData","description":"Resolves data.","returns":[[["MessagePayload"]]],"meta":{"line":126,"file":"MessagePayload.js","path":"src/structures"}},{"name":"resolveFiles","description":"Resolves files.","async":true,"returns":[[["Promise","<"],["MessagePayload",">"]]],"meta":{"line":243,"file":"MessagePayload.js","path":"src/structures"}},{"name":"resolveFile","description":"Resolves a single file into an object sendable to the API.","scope":"static","params":[{"name":"fileLike","description":"Something that could be resolved to a file","type":[[["BufferResolvable"]],[["Stream"]],[["FileOptions"]],[["MessageAttachment"]]]}],"async":true,"returns":[[["Promise","<"],["MessageFile",">"]]],"meta":{"line":255,"file":"MessagePayload.js","path":"src/structures"}},{"name":"create","description":"Creates a {@link MessagePayload} from user-level arguments.","scope":"static","params":[{"name":"target","description":"Target to send to","type":[[["MessageTarget"]]]},{"name":"options","description":"Options or content to use","type":[[["string"]],[["MessageOptions"]],[["WebhookMessageOptions"]]]},{"name":"extra","description":"Extra options to add onto specified options","optional":true,"default":"{}","type":[[["MessageOptions"]],[["WebhookMessageOptions"]]]}],"returns":[[["MessagePayload"]]],"meta":{"line":299,"file":"MessagePayload.js","path":"src/structures"}}],"meta":{"line":16,"file":"MessagePayload.js","path":"src/structures"}},{"name":"MessagePoll","description":"Represents the poll object has a lot of levels and nested structures. It was also designed to support future extensibility, so some fields may appear to be more complex than necessary.","construct":{"name":"MessagePoll","params":[{"name":"data","description":"Message poll to clone or raw data","type":[[["Object"]]]}]},"props":[{"name":"question","description":"The question of the poll","nullable":true,"type":[[["MessagePollMedia"]]],"meta":{"line":33,"file":"MessagePoll.js","path":"src/structures"}},{"name":"answers","description":"The answers available in the poll","type":[[["Collection","<"],["number",", "],["MessagePollMedia",">"]]],"meta":{"line":43,"file":"MessagePoll.js","path":"src/structures"}},{"name":"layoutType","description":"The layout type of the poll","nullable":true,"type":[[["MessagePollLayoutTypes"]]],"meta":{"line":57,"file":"MessagePoll.js","path":"src/structures"}},{"name":"allowMultiSelect","description":"Whether a user can select multiple answers","type":[[["boolean"]]],"meta":{"line":67,"file":"MessagePoll.js","path":"src/structures"}},{"name":"expiry","description":"When the poll ends","nullable":true,"type":[[["Date"]]],"meta":{"line":77,"file":"MessagePoll.js","path":"src/structures"}},{"name":"duration","description":"Number of hours the poll should be open for (max 32 days, default 1)","nullable":true,"type":[[["Number"]]],"meta":{"line":87,"file":"MessagePoll.js","path":"src/structures"}},{"name":"results","description":"In a nutshell, this contains the number of votes for each answer.\nThe `results` field may be not present in certain responses where, as an implementation detail,\nDiscord does not fetch the poll results in the backend.\nThis should be treated as \"unknown results\", as opposed to \"no results\".\nYou can keep using the results if you have previously received them through other means.\nDue to the intricacies of counting at scale, while a poll is in progress the results may not\nbe perfectly accurate. They usually are accurate, and shouldn't deviate significantly — it's\njust difficult to make guarantees. To compensate for this, after a poll is finished there is\na background job which performs a final, accurate tally of votes. This tally concludes once\n`is_finalized` is `true`. Polls that have ended will also always contain results.\nIf `answer_counts` does not contain an entry for a particular answer, then there are no votes\nfor that answer.","nullable":true,"type":[[["MessagePollResult"]]],"meta":{"line":123,"file":"MessagePoll.js","path":"src/structures"}}],"methods":[{"name":"toJSON","description":"Convert to JSON","returns":[[["Object"]]],"meta":{"line":150,"file":"MessagePoll.js","path":"src/structures"}},{"name":"setQuestion","description":"Set question","params":[{"name":"text","description":"question","type":[[["string"]]]}],"returns":[[["MessagePoll"]]],"meta":{"line":186,"file":"MessagePoll.js","path":"src/structures"}},{"name":"setAnswers","description":"Set answers","params":[{"name":"answers","description":"answers","type":[[["Array","<"],["MessagePollMedia",">"]]]}],"returns":[[["MessagePoll"]]],"meta":{"line":198,"file":"MessagePoll.js","path":"src/structures"}},{"name":"addAnswer","description":"Add answer","params":[{"name":"answer","description":"answer","type":[[["MessagePollMedia"]]]}],"returns":[[["MessagePoll"]]],"meta":{"line":211,"file":"MessagePoll.js","path":"src/structures"}},{"name":"setAllowMultiSelect","description":"Set allow multi select","params":[{"name":"state","description":"state","type":[[["boolean"]]]}],"returns":[[["MessagePoll"]]],"meta":{"line":221,"file":"MessagePoll.js","path":"src/structures"}},{"name":"setDuration","description":"Set duration","params":[{"name":"duration","description":"duration (hours)","type":[[["number"]]]}],"returns":[[["MessagePoll"]]],"meta":{"line":231,"file":"MessagePoll.js","path":"src/structures"}}],"meta":{"line":10,"file":"MessagePoll.js","path":"src/structures"}},{"name":"MessageReaction","description":"Represents a reaction to a message.","props":[{"name":"client","description":"The client that instantiated this message reaction","readonly":true,"type":[[["Client"]]],"meta":{"line":13,"file":"MessageReaction.js","path":"src/structures"}},{"name":"message","description":"The message that this reaction refers to","type":[[["Message"]]],"meta":{"line":25,"file":"MessageReaction.js","path":"src/structures"}},{"name":"me","description":"Whether the client has given this reaction","type":[[["boolean"]]],"meta":{"line":31,"file":"MessageReaction.js","path":"src/structures"}},{"name":"isBurst","description":"Is super reaction","type":[[["boolean"]]],"meta":{"line":37,"file":"MessageReaction.js","path":"src/structures"}},{"name":"users","description":"A manager of the users that have given this reaction","type":[[["ReactionUserManager"]]],"meta":{"line":43,"file":"MessageReaction.js","path":"src/structures"}},{"name":"count","description":"The number of people that have given the same reaction","nullable":true,"type":[[["number"]]],"meta":{"line":56,"file":"MessageReaction.js","path":"src/structures"}},{"name":"burstCount","description":"The number of people that have given the same super reaction","nullable":true,"type":[[["number"]]],"meta":{"line":64,"file":"MessageReaction.js","path":"src/structures"}},{"name":"burstColors","description":"HEX colors used for super reaction","type":[[["Array","<"],["string",">"]]],"meta":{"line":72,"file":"MessageReaction.js","path":"src/structures"}},{"name":"countDetails","description":"The reaction count details object contains information about super and normal reaction counts.","nullable":true,"type":[[["ReactionCountDetailsData"]]],"meta":{"line":87,"file":"MessageReaction.js","path":"src/structures"}},{"name":"emoji","description":"The emoji of this reaction. Either a {@link GuildEmoji} object for known custom emojis, or a {@link ReactionEmoji}\nobject which has fewer properties. Whatever the prototype of the emoji, it will still have\n`name`, `id`, `identifier` and `toString()`","readonly":true,"type":[[["GuildEmoji"]],[["ReactionEmoji"]]],"meta":{"line":114,"file":"MessageReaction.js","path":"src/structures"}},{"name":"partial","description":"Whether or not this reaction is a partial","readonly":true,"type":[[["boolean"]]],"meta":{"line":133,"file":"MessageReaction.js","path":"src/structures"}}],"methods":[{"name":"remove","description":"Removes all users from this reaction.","async":true,"returns":[[["Promise","<"],["MessageReaction",">"]]],"meta":{"line":98,"file":"MessageReaction.js","path":"src/structures"}},{"name":"fetch","description":"Fetch this reaction.","async":true,"returns":[[["Promise","<"],["MessageReaction",">"]]],"meta":{"line":141,"file":"MessageReaction.js","path":"src/structures"}}],"meta":{"line":11,"file":"MessageReaction.js","path":"src/structures"}},{"name":"MessageSelectMenu","description":"Represents a select menu message component","extends":[[["BaseMessageComponent"]]],"construct":{"name":"MessageSelectMenu","params":[{"name":"data","description":"MessageSelectMenu to clone or raw data","optional":true,"default":"{}","type":[[["MessageSelectMenu"]],[["MessageSelectMenuOptions"]]]}]},"props":[{"name":"customId","description":"A unique string to be sent in the interaction when clicked","nullable":true,"type":[[["string"]]],"meta":{"line":55,"file":"MessageSelectMenu.js","path":"src/structures"}},{"name":"placeholder","description":"Custom placeholder text to display when nothing is selected","nullable":true,"type":[[["string"]]],"meta":{"line":61,"file":"MessageSelectMenu.js","path":"src/structures"}},{"name":"minValues","description":"The minimum number of selections required","nullable":true,"type":[[["number"]]],"meta":{"line":67,"file":"MessageSelectMenu.js","path":"src/structures"}},{"name":"maxValues","description":"The maximum number of selections allowed","nullable":true,"type":[[["number"]]],"meta":{"line":73,"file":"MessageSelectMenu.js","path":"src/structures"}},{"name":"options","description":"Options for the STRING_SELECT menu","type":[[["Array","<"],["MessageSelectOption",">"]]],"meta":{"line":79,"file":"MessageSelectMenu.js","path":"src/structures"}},{"name":"disabled","description":"Whether this select menu is currently disabled","type":[[["boolean"]]],"meta":{"line":85,"file":"MessageSelectMenu.js","path":"src/structures"}},{"name":"channelTypes","description":"Channels that are possible to select in CHANNEL_SELECT menu","type":[[["Array","<"],["ChannelType",">"]]],"meta":{"line":91,"file":"MessageSelectMenu.js","path":"src/structures"}},{"name":"type","description":"The type of this component","nullable":true,"type":[[["MessageComponentType"]]],"meta":{"line":52,"file":"BaseMessageComponent.js","path":"src/structures"}}],"methods":[{"name":"toJSON","description":"Transforms the select menu into a plain object","returns":{"types":[[["APIMessageSelectMenu"]]],"description":"The raw data of this select menu"},"meta":{"line":101,"file":"MessageSelectMenu.js","path":"src/structures"}},{"name":"normalizeOption","description":"Normalizes option input and resolves strings and emojis.","scope":"static","params":[{"name":"option","description":"The select menu option to normalize","type":[[["MessageSelectOptionData"]]]}],"returns":[[["MessageSelectOption"]]],"meta":{"line":119,"file":"MessageSelectMenu.js","path":"src/structures"}},{"name":"normalizeOptions","description":"Normalizes option input and resolves strings and emojis.","scope":"static","params":[{"name":"options","description":"The select menu options to normalize","variable":true,"type":[[["MessageSelectOptionData"]],[["Array","<"],["MessageSelectOptionData",">"]]]}],"returns":[[["Array","<"],["MessageSelectOption",">"]]],"meta":{"line":135,"file":"MessageSelectMenu.js","path":"src/structures"}}],"meta":{"line":11,"file":"MessageSelectMenu.js","path":"src/structures"}},{"name":"Modal","description":"Represents a modal (form) to be shown in response to an interaction","construct":{"name":"Modal","params":[{"name":"data","description":"Modal to clone or raw data","type":[[["Object"]]]},{"name":"client","description":"The client constructing this Modal, if provided","default":null,"type":[[["Client"]]]}]},"props":[{"name":"components","description":"A list of MessageActionRows in the modal","type":[[["Array","<"],["MessageActionRow",">"]]],"meta":{"line":21,"file":"Modal.js","path":"src/structures"}},{"name":"customId","description":"A unique string to be sent in the interaction when submitted","nullable":true,"type":[[["string"]]],"meta":{"line":27,"file":"Modal.js","path":"src/structures"}},{"name":"title","description":"The title to be displayed on this modal","nullable":true,"type":[[["string"]]],"meta":{"line":33,"file":"Modal.js","path":"src/structures"}},{"name":"nonce","description":"Timestamp (Discord epoch) of when this modal was created","type":[[["Snowflake"]]],"meta":{"line":39,"file":"Modal.js","path":"src/structures"}},{"name":"id","description":"ID slash / button / menu when modal is displayed","type":[[["Snowflake"]]],"meta":{"line":45,"file":"Modal.js","path":"src/structures"}},{"name":"applicationId","description":"Application sending the modal","type":[[["Snowflake"]]],"meta":{"line":51,"file":"Modal.js","path":"src/structures"}},{"name":"channelId","description":"The id of the channel the message was sent in","type":[[["Snowflake"]]],"meta":{"line":57,"file":"Modal.js","path":"src/structures"}},{"name":"replied","description":"Whether this interaction has already been replied to","type":[[["boolean"]]],"meta":{"line":63,"file":"Modal.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild the message was sent in, if any","readonly":true,"nullable":true,"type":[[["Snowflake"]]],"meta":{"line":76,"file":"Modal.js","path":"src/structures"}},{"name":"channel","description":"The channel that the message was sent in","readonly":true,"type":[[["TextBasedChannels"]]],"meta":{"line":85,"file":"Modal.js","path":"src/structures"}},{"name":"guild","description":"The guild the message was sent in (if in a guild channel)","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":94,"file":"Modal.js","path":"src/structures"}},{"name":"isMessage","description":"Check data","readonly":true,"type":[[["boolean"]]],"meta":{"line":156,"file":"Modal.js","path":"src/structures"}}],"methods":[{"name":"reply","description":"Reply to this modal with data. (Event only)","examples":["client.on('interactionModalCreate', modal => {\n // Modal > ActionRow > TextInput\n modal.components[0].components[0].setValue('1+1');\n modal.components[1].components[0].setValue('hello');\n modal.reply();\n})"],"returns":[[["Promise","<("],["Message","|"],["Modal",")>"]]],"meta":{"line":118,"file":"Modal.js","path":"src/structures"}}],"meta":{"line":11,"file":"Modal.js","path":"src/structures"}},{"name":"ModalSubmitFieldsResolver","description":"A resolver for modal submit interaction text inputs.","props":[{"name":"components","description":"The components within the modal","type":[[["Array","<"],["PartialModalActionRow",">"]]],"meta":{"line":15,"file":"ModalSubmitFieldsResolver.js","path":"src/structures"}},{"name":"_fields","description":"The extracted fields from the modal","access":"private","type":[[["Array","<"],["PartialInputTextData",">"]]],"meta":{"line":23,"file":"ModalSubmitFieldsResolver.js","path":"src/structures"}}],"methods":[{"name":"getField","description":"Gets a field given a custom id from a component","params":[{"name":"customId","description":"The custom id of the component","type":[[["string"]]]}],"returns":{"types":[[["PartialInputTextData"]]],"nullable":true},"meta":{"line":32,"file":"ModalSubmitFieldsResolver.js","path":"src/structures"}},{"name":"getTextInputValue","description":"Gets the value of a text input component given a custom id","params":[{"name":"customId","description":"The custom id of the text input component","type":[[["string"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":43,"file":"ModalSubmitFieldsResolver.js","path":"src/structures"}}],"meta":{"line":9,"file":"ModalSubmitFieldsResolver.js","path":"src/structures"}},{"name":"ModalSubmitInteraction","description":"Represents a modal submit interaction.","extends":[[["Interaction"]]],"implements":[[["InteractionResponses"]]],"props":[{"name":"customId","description":"The custom id of the modal.","type":[[["string"]]],"meta":{"line":22,"file":"ModalSubmitInteraction.js","path":"src/structures"}},{"name":"components","description":"The inputs within the modal","type":[[["Array","<"],["PartialModalActionRow",">"]]],"meta":{"line":41,"file":"ModalSubmitInteraction.js","path":"src/structures"}},{"name":"message","description":"The message associated with this interaction","type":[[["Message"]],[["APIMessage"]],[["null"]]],"meta":{"line":51,"file":"ModalSubmitInteraction.js","path":"src/structures"}},{"name":"fields","description":"The fields within the modal","type":[[["ModalSubmitFieldsResolver"]]],"meta":{"line":57,"file":"ModalSubmitInteraction.js","path":"src/structures"}},{"name":"deferred","description":"Whether the reply to this interaction has been deferred","type":[[["boolean"]]],"meta":{"line":63,"file":"ModalSubmitInteraction.js","path":"src/structures"}},{"name":"ephemeral","description":"Whether the reply to this interaction is ephemeral","nullable":true,"type":[[["boolean"]]],"meta":{"line":69,"file":"ModalSubmitInteraction.js","path":"src/structures"}},{"name":"replied","description":"Whether this interaction has already been replied to","type":[[["boolean"]]],"meta":{"line":75,"file":"ModalSubmitInteraction.js","path":"src/structures"}},{"name":"webhook","description":"An associated interaction webhook, can be used to further interact with this interaction","type":[[["InteractionWebhook"]]],"meta":{"line":81,"file":"ModalSubmitInteraction.js","path":"src/structures"}},{"name":"type","description":"The interaction's type","type":[[["InteractionType"]]],"meta":{"line":20,"file":"Interaction.js","path":"src/structures"}},{"name":"id","description":"The interaction's id","type":[[["Snowflake"]]],"meta":{"line":26,"file":"Interaction.js","path":"src/structures"}},{"name":"token","description":"The interaction's token","readonly":true,"type":[[["string"]]],"meta":{"line":28,"file":"Interaction.js","path":"src/structures"}},{"name":"applicationId","description":"The application's id","type":[[["Snowflake"]]],"meta":{"line":40,"file":"Interaction.js","path":"src/structures"}},{"name":"channelId","description":"The id of the channel this interaction was sent in","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":46,"file":"Interaction.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild this interaction was sent in","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":52,"file":"Interaction.js","path":"src/structures"}},{"name":"user","description":"The user which sent this interaction","type":[[["User"]]],"meta":{"line":58,"file":"Interaction.js","path":"src/structures"}},{"name":"member","description":"If this interaction was sent in a guild, the member which sent it","nullable":true,"type":[[["GuildMember"]],[["APIGuildMember"]]],"meta":{"line":64,"file":"Interaction.js","path":"src/structures"}},{"name":"version","description":"The version","type":[[["number"]]],"meta":{"line":70,"file":"Interaction.js","path":"src/structures"}},{"name":"appPermissions","description":"Set of permissions the application or bot has within the channel the interaction was sent from","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":76,"file":"Interaction.js","path":"src/structures"}},{"name":"memberPermissions","description":"The permissions of the member, if one exists, in the channel this interaction was executed in","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":82,"file":"Interaction.js","path":"src/structures"}},{"name":"locale","description":"The locale of the user who invoked this interaction","type":[[["Locale"]]],"meta":{"line":124,"file":"Interaction.js","path":"src/structures"}},{"name":"guildLocale","description":"The preferred locale from the guild this interaction was sent in","nullable":true,"type":[[["Locale"]]],"meta":{"line":130,"file":"Interaction.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the interaction was created at","readonly":true,"type":[[["number"]]],"meta":{"line":138,"file":"Interaction.js","path":"src/structures"}},{"name":"createdAt","description":"The time the interaction was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":147,"file":"Interaction.js","path":"src/structures"}},{"name":"channel","description":"The channel this interaction was sent in","readonly":true,"nullable":true,"type":[[["TextBasedChannels"]]],"meta":{"line":156,"file":"Interaction.js","path":"src/structures"}},{"name":"guild","description":"The guild this interaction was sent in","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":165,"file":"Interaction.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"isFromMessage","description":"Whether this is from a {@link MessageComponentInteraction}.","returns":[[["boolean"]]],"meta":{"line":101,"file":"ModalSubmitInteraction.js","path":"src/structures"}},{"name":"deferReply","description":"Defers the reply to this interaction.","implements":["InteractionResponses#deferReply"],"examples":["// Defer the reply to this interaction\ninteraction.deferReply()\n .then(console.log)\n .catch(console.error)","// Defer to send an ephemeral reply later\ninteraction.deferReply({ ephemeral: true })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for deferring the reply to this interaction","optional":true,"type":[[["InteractionDeferReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":58,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"reply","description":"Creates a reply to this interaction.\nUse the `fetchReply` option to get the bot's reply message.","implements":["InteractionResponses#reply"],"examples":["// Reply to the interaction and fetch the response\ninteraction.reply({ content: 'Pong!', fetchReply: true })\n .then((message) => console.log(`Reply sent with content ${message.content}`))\n .catch(console.error);","// Create an ephemeral reply with an embed\nconst embed = new MessageEmbed().setDescription('Pong!');\n\ninteraction.reply({ embeds: [embed], ephemeral: true })\n .then(() => console.log('Reply sent.'))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":93,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"fetchReply","description":"Fetches a reply to this interaction.","see":["Webhook#fetchMessage"],"implements":["InteractionResponses#fetchReply"],"examples":["// Fetch the initial reply to this interaction\ninteraction.fetchReply()\n .then(reply => console.log(`Replied with ${reply.content}`))\n .catch(console.error);"],"params":[{"name":"message","description":"The response to fetch","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":127,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"editReply","description":"Edits a reply to this interaction.","see":["Webhook#editMessage"],"implements":["InteractionResponses#editReply"],"examples":["// Edit the initial reply to this interaction\ninteraction.editReply('New content')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The new options for the message","type":[[["string"]],[["MessagePayload"]],[["InteractionEditReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":148,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"deleteReply","description":"Deletes a reply to this interaction.","see":["Webhook#deleteMessage"],"implements":["InteractionResponses#deleteReply"],"examples":["// Delete the initial reply to this interaction\ninteraction.deleteReply()\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"message","description":"The response to delete","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":166,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"followUp","description":"Send a follow-up message to this interaction.","implements":["InteractionResponses#followUp"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":175,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"deferUpdate","description":"Defers an update to the message to which the component was attached.","implements":["InteractionResponses#deferUpdate"],"examples":["// Defer updating and reset the component's loading state\ninteraction.deferUpdate()\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for deferring the update to this interaction","optional":true,"type":[[["InteractionDeferUpdateOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":190,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"update","description":"Updates the original message of the component on which the interaction was received on.","implements":["InteractionResponses#update"],"examples":["// Remove the components from the message\ninteraction.update({\n content: \"A component interaction was received\",\n components: []\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the updated message","type":[[["string"]],[["MessagePayload"]],[["InteractionUpdateOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":216,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"inGuild","description":"Indicates whether this interaction is received from a guild.","inherits":"Interaction#inGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":173,"file":"Interaction.js","path":"src/structures"}},{"name":"inCachedGuild","description":"Indicates whether or not this interaction is both cached and received from a guild.","inherits":"Interaction#inCachedGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":181,"file":"Interaction.js","path":"src/structures"}},{"name":"inRawGuild","description":"Indicates whether or not this interaction is received from an uncached guild.","inherits":"Interaction#inRawGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":189,"file":"Interaction.js","path":"src/structures"}},{"name":"isApplicationCommand","description":"Indicates whether this interaction is a {@link BaseCommandInteraction}.","inherits":"Interaction#isApplicationCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":197,"file":"Interaction.js","path":"src/structures"}},{"name":"isCommand","description":"Indicates whether this interaction is a {@link CommandInteraction}.","inherits":"Interaction#isCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":205,"file":"Interaction.js","path":"src/structures"}},{"name":"isContextMenu","description":"Indicates whether this interaction is a {@link ContextMenuInteraction}","inherits":"Interaction#isContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":213,"file":"Interaction.js","path":"src/structures"}},{"name":"isModalSubmit","description":"Indicates whether this interaction is a {@link ModalSubmitInteraction}","inherits":"Interaction#isModalSubmit","inherited":true,"returns":[[["boolean"]]],"meta":{"line":221,"file":"Interaction.js","path":"src/structures"}},{"name":"isUserContextMenu","description":"Indicates whether this interaction is a {@link UserContextMenuInteraction}","inherits":"Interaction#isUserContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":229,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageContextMenu","description":"Indicates whether this interaction is a {@link MessageContextMenuInteraction}","inherits":"Interaction#isMessageContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":237,"file":"Interaction.js","path":"src/structures"}},{"name":"isAutocomplete","description":"Indicates whether this interaction is an {@link AutocompleteInteraction}","inherits":"Interaction#isAutocomplete","inherited":true,"returns":[[["boolean"]]],"meta":{"line":245,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageComponent","description":"Indicates whether this interaction is a {@link MessageComponentInteraction}.","inherits":"Interaction#isMessageComponent","inherited":true,"returns":[[["boolean"]]],"meta":{"line":253,"file":"Interaction.js","path":"src/structures"}},{"name":"isButton","description":"Indicates whether this interaction is a {@link ButtonInteraction}.","inherits":"Interaction#isButton","inherited":true,"returns":[[["boolean"]]],"meta":{"line":261,"file":"Interaction.js","path":"src/structures"}},{"name":"isSelectMenu","description":"Indicates whether this interaction is a {@link SelectMenuInteraction}.","inherits":"Interaction#isSelectMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":272,"file":"Interaction.js","path":"src/structures"}},{"name":"isRepliable","description":"Indicates whether this interaction can be replied to.","inherits":"Interaction#isRepliable","inherited":true,"returns":[[["boolean"]]],"meta":{"line":283,"file":"Interaction.js","path":"src/structures"}},{"name":"transformComponent","description":"Transforms component data to discord.js-compatible data","scope":"static","params":[{"name":"rawComponent","description":"The data to transform","type":[["*"]]}],"returns":[[["Array","<"],["PartialTextInputData",">"]]],"meta":{"line":89,"file":"ModalSubmitInteraction.js","path":"src/structures"}}],"meta":{"line":14,"file":"ModalSubmitInteraction.js","path":"src/structures"}},{"name":"NewsChannel","description":"Represents a guild news channel on Discord.","extends":[[["BaseGuildTextChannel"]]],"props":[{"name":"messages","description":"A manager of the messages sent to this channel","type":[[["MessageManager"]]],"meta":{"line":21,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"threads","description":"A manager of the threads belonging to this channel","type":[[["GuildTextThreadManager"]]],"meta":{"line":27,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"nsfw","description":"If the guild considers this channel NSFW","type":[[["boolean"]]],"meta":{"line":33,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"topic","description":"The topic of the text channel","nullable":true,"type":[[["string"]]],"meta":{"line":46,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"lastMessageId","description":"The last message id sent in the channel, if one was sent","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":58,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"lastPinTimestamp","description":"The timestamp when the last pinned message was pinned, if there was one","nullable":true,"type":[[["number"]]],"meta":{"line":66,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"defaultAutoArchiveDuration","description":"The default auto archive duration for newly created threads in this channel","nullable":true,"type":[[["number"]]],"meta":{"line":74,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"defaultThreadRateLimitPerUser","description":"The initial rate limit per user (slowmode) to set on newly created threads in a channel.","nullable":true,"type":[[["number"]]],"meta":{"line":82,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"lastMessage","description":"The Message object of the last message in the channel, if one was sent","readonly":true,"nullable":true,"type":[[["Message"]]],"meta":{"line":50,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"lastPinAt","description":"The date when the last pinned message was pinned, if there was one","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":59,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"guild","description":"The guild the channel is in","type":[[["Guild"]]],"meta":{"line":30,"file":"GuildChannel.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild the channel is in","type":[[["Snowflake"]]],"meta":{"line":36,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionOverwrites","description":"A manager of permission overwrites that belong to this channel","type":[[["PermissionOverwriteManager"]]],"meta":{"line":43,"file":"GuildChannel.js","path":"src/structures"}},{"name":"name","description":"The name of the guild channel","type":[[["string"]]],"meta":{"line":56,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rawPosition","description":"The raw position of the channel from Discord","type":[[["number"]]],"meta":{"line":64,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parentId","description":"The id of the category parent of this channel","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":76,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parent","description":"The category parent of this channel","readonly":true,"nullable":true,"type":[[["CategoryChannel"]]],"meta":{"line":98,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionsLocked","description":"If the permissionOverwrites match the parent channel, null if no parent","readonly":true,"nullable":true,"type":[[["boolean"]]],"meta":{"line":107,"file":"GuildChannel.js","path":"src/structures"}},{"name":"position","description":"The position of the channel","readonly":true,"type":[[["number"]]],"meta":{"line":148,"file":"GuildChannel.js","path":"src/structures"}},{"name":"members","description":"A collection of cached members of this channel, mapped by their ids.\nMembers that can view this channel, if the channel is text-based.\nMembers in the channel, if the channel is voice-based.","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]],"meta":{"line":274,"file":"GuildChannel.js","path":"src/structures"}},{"name":"deletable","description":"Whether the channel is deletable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":416,"file":"GuildChannel.js","path":"src/structures"}},{"name":"manageable","description":"Whether the channel is manageable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":425,"file":"GuildChannel.js","path":"src/structures"}},{"name":"viewable","description":"Whether the channel is viewable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":445,"file":"GuildChannel.js","path":"src/structures"}},{"name":"type","description":"The type of the channel","type":[[["ChannelType"]]],"meta":{"line":41,"file":"Channel.js","path":"src/structures"}},{"name":"id","description":"The channel's id","type":[[["Snowflake"]]],"meta":{"line":51,"file":"Channel.js","path":"src/structures"}},{"name":"flags","description":"The flags that are applied to the channel.","nullable":true,"type":[[["Readonly","<"],["ChannelFlags",">"]]],"meta":{"line":58,"file":"Channel.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the channel was created at","readonly":true,"type":[[["number"]]],"meta":{"line":69,"file":"Channel.js","path":"src/structures"}},{"name":"createdAt","description":"The time the channel was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":78,"file":"Channel.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":87,"file":"Channel.js","path":"src/structures"}},{"name":"partial","description":"Whether this Channel is a partial\nThis is always false outside of DM channels.","readonly":true,"type":[[["boolean"]]],"meta":{"line":118,"file":"Channel.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"addFollower","description":"Adds the target to this channel's followers.\nIf you need the created webhook id, use {@link GuildChannelManager#addFollower}.","examples":["if (channel.type === 'GUILD_NEWS') {\n channel.addFollower('222197033908436994', 'Important announcements')\n .then(() => console.log('Added follower'))\n .catch(console.error);\n}"],"params":[{"name":"channel","description":"The channel where the webhook should be created","type":[[["TextChannelResolvable"]]]},{"name":"reason","description":"Reason for creating the webhook","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["NewsChannel",">"]]],"meta":{"line":24,"file":"NewsChannel.js","path":"src/structures"}},{"name":"setDefaultAutoArchiveDuration","description":"Sets the default auto archive duration for all newly created threads in this channel.","inherits":"BaseGuildTextChannel#setDefaultAutoArchiveDuration","inherited":true,"params":[{"name":"defaultAutoArchiveDuration","description":"The new default auto archive duration","type":[[["ThreadAutoArchiveDuration"]]]},{"name":"reason","description":"Reason for changing the channel's default auto archive duration","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["TextChannel",">"]]],"meta":{"line":98,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"setType","description":"Sets the type of this channel (only conversion between text and news is supported)","inherits":"BaseGuildTextChannel#setType","inherited":true,"params":[{"name":"type","description":"The new channel type","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the channel's type","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":108,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"setTopic","description":"Sets a new topic for the guild channel.","inherits":"BaseGuildTextChannel#setTopic","inherited":true,"examples":["// Set a new channel topic\nchannel.setTopic('needs more rate limiting')\n .then(newChannel => console.log(`Channel's new topic is ${newChannel.topic}`))\n .catch(console.error);"],"params":[{"name":"topic","description":"The new topic for the guild channel","nullable":true,"type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild channel's topic","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":123,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"createInvite","description":"Creates an invite to this guild channel.","inherits":"BaseGuildTextChannel#createInvite","inherited":true,"examples":["// Create an invite to a channel\nchannel.createInvite()\n .then(invite => console.log(`Created an invite with a code of ${invite.code}`))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for creating the invite","optional":true,"default":"{}","type":[[["CreateInviteOptions"]]]}],"returns":[[["Promise","<"],["Invite",">"]]],"meta":{"line":161,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"fetchInvites","description":"Fetches a collection of invites to this guild channel.\nResolves with a collection mapping invites by their codes.","inherits":"BaseGuildTextChannel#fetchInvites","inherited":true,"params":[{"name":"cache","description":"Whether or not to cache the fetched invites","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Collection","<"],["string",", "],["Invite",">>"]]],"meta":{"line":171,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"send","description":"Sends a message to this channel.","inherits":"BaseGuildTextChannel#send","inherited":true,"implements":["TextBasedChannel#send"],"examples":["// Send a basic message\nchannel.send('hello!')\n .then(message => console.log(`Sent message: ${message.content}`))\n .catch(console.error);","// Send a remote file\nchannel.send({\n files: ['https://cdn.discordapp.com/icons/222078108977594368/6e1019b3179d71046e463a75915e7244.png?size=2048']\n})\n .then(console.log)\n .catch(console.error);","// Send a local file\nchannel.send({\n files: [{\n attachment: 'entire/path/to/file.jpg',\n name: 'file.jpg',\n description: 'A description of the file'\n }]\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["MessageOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":150,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"sendTyping","description":"Sends a typing indicator in the channel.","inherits":"BaseGuildTextChannel#sendTyping","inherited":true,"implements":["TextBasedChannel#sendTyping"],"examples":["// Start typing in a channel\nchannel.sendTyping();"],"async":true,"returns":{"types":[[["Promise","<"],["void",">"]]],"description":"Resolves upon the typing status being sent"},"meta":{"line":355,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createMessageCollector","description":"Creates a Message Collector.","inherits":"BaseGuildTextChannel#createMessageCollector","inherited":true,"implements":["TextBasedChannel#createMessageCollector"],"examples":["// Create a message collector\nconst filter = m => m.content.includes('discord');\nconst collector = channel.createMessageCollector({ filter, time: 15_000 });\ncollector.on('collect', m => console.log(`Collected ${m.content}`));\ncollector.on('end', collected => console.log(`Collected ${collected.size} items`));"],"params":[{"name":"options","description":"The options to pass to the collector","optional":true,"default":"{}","type":[[["MessageCollectorOptions"]]]}],"returns":[[["MessageCollector"]]],"meta":{"line":370,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"awaitMessages","description":"Similar to createMessageCollector but in promise form.\nResolves with a collection of messages that pass the specified filter.","inherits":"BaseGuildTextChannel#awaitMessages","inherited":true,"implements":["TextBasedChannel#awaitMessages"],"examples":["// Await !vote messages\nconst filter = m => m.content.startsWith('!vote');\n// Errors: ['time'] treats ending because of the time limit as an error\nchannel.awaitMessages({ filter, max: 4, time: 60_000, errors: ['time'] })\n .then(collected => console.log(collected.size))\n .catch(collected => console.log(`After a minute, only ${collected.size} out of 4 voted.`));"],"params":[{"name":"options","description":"Optional options to pass to the internal collector","optional":true,"default":"{}","type":[[["AwaitMessagesOptions"]]]}],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Message",">>"]]],"meta":{"line":393,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"fetchWebhooks","description":"Fetches all webhooks for the channel.","inherits":"BaseGuildTextChannel#fetchWebhooks","inherited":true,"implements":["TextBasedChannel#fetchWebhooks"],"examples":["// Fetch webhooks\nchannel.fetchWebhooks()\n .then(hooks => console.log(`This channel has ${hooks.size} hooks`))\n .catch(console.error);"],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Webhook",">>"]]],"meta":{"line":415,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createWebhook","description":"Creates a webhook for the channel.","inherits":"BaseGuildTextChannel#createWebhook","inherited":true,"implements":["TextBasedChannel#createWebhook"],"examples":["// Create a webhook for the current channel\nchannel.createWebhook('Snek', {\n avatar: 'https://i.imgur.com/mI8XcpG.jpg',\n reason: 'Needed a cool new Webhook'\n})\n .then(console.log)\n .catch(console.error)"],"params":[{"name":"name","description":"The name of the webhook","type":[[["string"]]]},{"name":"options","description":"Options for creating the webhook","optional":true,"type":[[["ChannelWebhookCreateOptions"]]]}],"returns":{"types":[[["Promise","<"],["Webhook",">"]]],"description":"Returns the created Webhook"},"meta":{"line":440,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"setRateLimitPerUser","description":"Sets the rate limit per user (slowmode) for this channel.","inherits":"BaseGuildTextChannel#setRateLimitPerUser","inherited":true,"implements":["TextBasedChannel#setRateLimitPerUser"],"params":[{"name":"rateLimitPerUser","description":"The new rate limit in seconds","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the channel's rate limit","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":450,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"setNSFW","description":"Sets whether this channel is flagged as NSFW.","inherits":"BaseGuildTextChannel#setNSFW","inherited":true,"implements":["TextBasedChannel#setNSFW"],"params":[{"name":"nsfw","description":"Whether the channel should be considered NSFW","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"Reason for changing the channel's NSFW flag","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":460,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"permissionsFor","description":"Gets the overall set of permissions for a member or role in this channel, taking into account channel overwrites.","inherits":"GuildChannel#permissionsFor","inherited":true,"params":[{"name":"memberOrRole","description":"The member or role to obtain the overall permissions for","type":[[["GuildMemberResolvable"]],[["RoleResolvable"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":{"types":[[["Readonly","<"],["Permissions",">"]]],"nullable":true},"meta":{"line":172,"file":"GuildChannel.js","path":"src/structures"}},{"name":"memberPermissions","description":"Gets the overall set of permissions for a member in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#memberPermissions","inherited":true,"params":[{"name":"member","description":"The member to obtain the overall permissions for","type":[[["GuildMember"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","default":true,"type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":212,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rolePermissions","description":"Gets the overall set of permissions for a role in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#rolePermissions","inherited":true,"params":[{"name":"role","description":"The role to obtain the overall permissions for","type":[[["Role"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":241,"file":"GuildChannel.js","path":"src/structures"}},{"name":"lockPermissions","description":"Locks in the permission overwrites from the parent channel.","inherits":"GuildChannel#lockPermissions","inherited":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":261,"file":"GuildChannel.js","path":"src/structures"}},{"name":"edit","description":"Edits the channel.","inherits":"GuildChannel#edit","inherited":true,"examples":["// Edit a channel\nchannel.edit({ name: 'new-channel' })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"data","description":"The new data for the channel","type":[[["ChannelData"]]]},{"name":"reason","description":"Reason for editing this channel","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":289,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setName","description":"Sets a new name for the guild channel.","inherits":"GuildChannel#setName","inherited":true,"examples":["// Set a new channel name\nchannel.setName('not_general')\n .then(newChannel => console.log(`Channel's new name is ${newChannel.name}`))\n .catch(console.error);"],"params":[{"name":"name","description":"The new name for the guild channel","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild channel's name","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":304,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setParent","description":"Sets the parent of this channel.","inherits":"GuildChannel#setParent","inherited":true,"examples":["// Add a parent to a channel\nmessage.channel.setParent('355908108431917066', { lockPermissions: false })\n .then(channel => console.log(`New parent of ${message.channel.name}: ${channel.name}`))\n .catch(console.error);"],"params":[{"name":"channel","description":"The category channel to set as the parent","nullable":true,"type":[[["CategoryChannelResolvable"]]]},{"name":"options","description":"The options for setting the parent","optional":true,"default":"{}","type":[[["SetParentOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":326,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setPosition","description":"Sets a new position for the guild channel.","inherits":"GuildChannel#setPosition","inherited":true,"examples":["// Set a new channel position\nchannel.setPosition(2)\n .then(newChannel => console.log(`Channel's new position is ${newChannel.position}`))\n .catch(console.error);"],"params":[{"name":"position","description":"The new position for the guild channel","type":[[["number"]]]},{"name":"options","description":"Options for setting position","optional":true,"type":[[["SetChannelPositionOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":354,"file":"GuildChannel.js","path":"src/structures"}},{"name":"clone","description":"Clones this channel.","inherits":"GuildChannel#clone","inherited":true,"params":[{"name":"options","description":"The options for cloning this channel","optional":true,"type":[[["GuildChannelCloneOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":369,"file":"GuildChannel.js","path":"src/structures"}},{"name":"equals","description":"Checks if this channel has the same type, topic, position, name, overwrites, and id as another channel.\nIn most cases, a simple `channel.id === channel2.id` will do, and is much faster too.","inherits":"GuildChannel#equals","inherited":true,"params":[{"name":"channel","description":"Channel to compare with","type":[[["GuildChannel"]]]}],"returns":[[["boolean"]]],"meta":{"line":391,"file":"GuildChannel.js","path":"src/structures"}},{"name":"delete","description":"Deletes this channel.","inherits":"GuildChannel#delete","inherited":true,"examples":["// Delete the channel\nchannel.delete('making room for new channels')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"reason","description":"Reason for deleting this channel","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":462,"file":"GuildChannel.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the channel's mention instead of the Channel object.","inherits":"Channel#toString","inherited":true,"examples":["// Logs: Hello from <#123456789012345678>!\nconsole.log(`Hello from ${channel}!`);"],"returns":[[["string"]]],"meta":{"line":129,"file":"Channel.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this channel.","inherits":"Channel#fetch","inherited":true,"params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":152,"file":"Channel.js","path":"src/structures"}},{"name":"isText","description":"Indicates whether this channel is {@link TextBasedChannels text-based}.","inherits":"Channel#isText","inherited":true,"returns":[[["boolean"]]],"meta":{"line":160,"file":"Channel.js","path":"src/structures"}},{"name":"isVoice","description":"Indicates whether this channel is {@link BaseGuildVoiceChannel voice-based}.","inherits":"Channel#isVoice","inherited":true,"returns":[[["boolean"]]],"meta":{"line":168,"file":"Channel.js","path":"src/structures"}},{"name":"isThread","description":"Indicates whether this channel is a {@link ThreadChannel}.","inherits":"Channel#isThread","inherited":true,"returns":[[["boolean"]]],"meta":{"line":176,"file":"Channel.js","path":"src/structures"}},{"name":"isDirectory","description":"Indicates whether this channel is a {@link DirectoryChannel}","inherits":"Channel#isDirectory","inherited":true,"returns":[[["boolean"]]],"meta":{"line":184,"file":"Channel.js","path":"src/structures"}}],"meta":{"line":10,"file":"NewsChannel.js","path":"src/structures"}},{"name":"OAuth2Guild","description":"A partial guild received when using {@link GuildManager#fetch} to fetch multiple guilds.","extends":[[["BaseGuild"]]],"props":[{"name":"owner","description":"Whether the client user is the owner of the guild","type":[[["boolean"]]],"meta":{"line":18,"file":"OAuth2Guild.js","path":"src/structures"}},{"name":"permissions","description":"The permissions that the client user has in this guild","type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":24,"file":"OAuth2Guild.js","path":"src/structures"}},{"name":"id","description":"The guild's id","type":[[["Snowflake"]]],"meta":{"line":19,"file":"BaseGuild.js","path":"src/structures"}},{"name":"name","description":"The name of this guild","type":[[["string"]]],"meta":{"line":25,"file":"BaseGuild.js","path":"src/structures"}},{"name":"icon","description":"The icon hash of this guild","nullable":true,"type":[[["string"]]],"meta":{"line":31,"file":"BaseGuild.js","path":"src/structures"}},{"name":"features","description":"An array of features available to this guild","type":[[["Array","<"],["Features",">"]]],"meta":{"line":37,"file":"BaseGuild.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp this guild was created at","readonly":true,"type":[[["number"]]],"meta":{"line":45,"file":"BaseGuild.js","path":"src/structures"}},{"name":"createdAt","description":"The time this guild was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":54,"file":"BaseGuild.js","path":"src/structures"}},{"name":"nameAcronym","description":"The acronym that shows up in place of a guild icon","readonly":true,"type":[[["string"]]],"meta":{"line":63,"file":"BaseGuild.js","path":"src/structures"}},{"name":"partnered","description":"Whether this guild is partnered","readonly":true,"type":[[["boolean"]]],"meta":{"line":75,"file":"BaseGuild.js","path":"src/structures"}},{"name":"verified","description":"Whether this guild is verified","readonly":true,"type":[[["boolean"]]],"meta":{"line":84,"file":"BaseGuild.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"iconURL","description":"The URL to this guild's icon.","inherits":"BaseGuild#iconURL","inherited":true,"params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["ImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":93,"file":"BaseGuild.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this guild.","inherits":"BaseGuild#fetch","inherited":true,"async":true,"returns":[[["Promise","<"],["Guild",">"]]],"meta":{"line":102,"file":"BaseGuild.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the guild's name instead of the Guild object.","inherits":"BaseGuild#toString","inherited":true,"returns":[[["string"]]],"meta":{"line":111,"file":"BaseGuild.js","path":"src/structures"}}],"meta":{"line":10,"file":"OAuth2Guild.js","path":"src/structures"}},{"name":"PermissionOverwrites","description":"Represents a permission overwrite for a role or member in a guild channel.","extends":[[["Base"]]],"props":[{"name":"channel","description":"The GuildChannel this overwrite is for","readonly":true,"type":[[["GuildChannel"]]],"meta":{"line":17,"file":"PermissionOverwrites.js","path":"src/structures"}},{"name":"id","description":"The overwrite's id, either a {@link User} or a {@link Role} id","type":[[["Snowflake"]]],"meta":{"line":33,"file":"PermissionOverwrites.js","path":"src/structures"}},{"name":"type","description":"The type of this overwrite","type":[[["OverwriteType"]]],"meta":{"line":40,"file":"PermissionOverwrites.js","path":"src/structures"}},{"name":"deny","description":"The permissions that are denied for the user or role.","type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":48,"file":"PermissionOverwrites.js","path":"src/structures"}},{"name":"allow","description":"The permissions that are allowed for the user or role.","type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":56,"file":"PermissionOverwrites.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"edit","description":"Edits this Permission Overwrite.","examples":["// Update permission overwrites\npermissionOverwrites.edit({\n SEND_MESSAGES: false\n})\n .then(channel => console.log(channel.permissionOverwrites.get(message.author.id)))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the update","type":[[["PermissionOverwriteOptions"]]]},{"name":"reason","description":"Reason for creating/editing this overwrite","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["PermissionOverwrites",">"]]],"meta":{"line":73,"file":"PermissionOverwrites.js","path":"src/structures"}},{"name":"delete","description":"Deletes this Permission Overwrite.","params":[{"name":"reason","description":"Reason for deleting this overwrite","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["PermissionOverwrites",">"]]],"meta":{"line":83,"file":"PermissionOverwrites.js","path":"src/structures"}},{"name":"resolveOverwriteOptions","description":"Resolves bitfield permissions overwrites from an object.","scope":"static","params":[{"name":"options","description":"The options for the update","type":[[["PermissionOverwriteOptions"]]]},{"name":"initialPermissions","description":"The initial permissions","type":[[["ResolvedOverwriteOptions"]]]}],"returns":[[["ResolvedOverwriteOptions"]]],"meta":{"line":121,"file":"PermissionOverwrites.js","path":"src/structures"}},{"name":"resolve","description":"Resolves an overwrite into {@link RawOverwriteData}.","scope":"static","params":[{"name":"overwrite","description":"The overwrite-like data to resolve","type":[[["OverwriteResolvable"]]]},{"name":"guild","description":"The guild to resolve from","optional":true,"type":[[["Guild"]]]}],"returns":[[["RawOverwriteData"]]],"meta":{"line":172,"file":"PermissionOverwrites.js","path":"src/structures"}}],"meta":{"line":13,"file":"PermissionOverwrites.js","path":"src/structures"}},{"name":"Presence","description":"Represents a user's presence.","extends":[[["Base"]]],"props":[{"name":"userId","description":"The presence's user id","type":[[["Snowflake"]]],"meta":{"line":50,"file":"Presence.js","path":"src/structures"}},{"name":"guild","description":"The guild this presence is in","nullable":true,"type":[[["Guild"]]],"meta":{"line":56,"file":"Presence.js","path":"src/structures"}},{"name":"user","description":"The user of this presence","readonly":true,"nullable":true,"type":[[["User"]]],"meta":{"line":66,"file":"Presence.js","path":"src/structures"}},{"name":"member","description":"The member of this presence","readonly":true,"nullable":true,"type":[[["GuildMember"]]],"meta":{"line":75,"file":"Presence.js","path":"src/structures"}},{"name":"status","description":"The status of this presence","type":[[["PresenceStatus"]]],"meta":{"line":85,"file":"Presence.js","path":"src/structures"}},{"name":"activities","description":"The activities of this presence (Always `Activity[]` if not ClientUser)","type":[[["Array","<"],["CustomStatus",">"]],[["Array","<"],["RichPresence",">"]],[["Array","<"],["SpotifyRPC",">"]],[["Array","<"],["Activity",">"]]],"meta":{"line":95,"file":"Presence.js","path":"src/structures"}},{"name":"clientStatus","description":"The devices this presence is on","nullable":true,"type":[[["Object"]]],"props":[{"name":"web","description":"The current presence in the web application","nullable":true,"type":[[["ClientPresenceStatus"]]]},{"name":"mobile","description":"The current presence in the mobile application","nullable":true,"type":[[["ClientPresenceStatus"]]]},{"name":"desktop","description":"The current presence in the desktop application","nullable":true,"type":[[["ClientPresenceStatus"]]]}],"meta":{"line":120,"file":"Presence.js","path":"src/structures"}},{"name":"lastModified","description":"The timestamp this presence was last updated","type":[[["number"]]],"meta":{"line":130,"file":"Presence.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"equals","description":"Whether this presence is equal to another.","params":[{"name":"presence","description":"The presence to compare with","type":[[["Presence"]]]}],"returns":[[["boolean"]]],"meta":{"line":159,"file":"Presence.js","path":"src/structures"}}],"meta":{"line":42,"file":"Presence.js","path":"src/structures"}},{"name":"Activity","description":"Represents an activity that is part of a user's presence.","props":[{"name":"presence","description":"The presence of the Activity","readonly":true,"type":[[["Presence"]]],"meta":{"line":198,"file":"Presence.js","path":"src/structures"}},{"name":"id","description":"The activity's id","type":[[["string"]]],"meta":{"line":215,"file":"Presence.js","path":"src/structures"}},{"name":"name","description":"The activity's name","type":[[["string"]]],"meta":{"line":223,"file":"Presence.js","path":"src/structures"}},{"name":"type","description":"The activity status's type","type":[[["ActivityType"]]],"meta":{"line":231,"file":"Presence.js","path":"src/structures"}},{"name":"url","description":"If the activity is being streamed, a link to the stream","nullable":true,"type":[[["string"]]],"meta":{"line":239,"file":"Presence.js","path":"src/structures"}},{"name":"createdTimestamp","description":"Creation date of the activity","type":[[["number"]]],"meta":{"line":249,"file":"Presence.js","path":"src/structures"}},{"name":"sessionId","description":"The game's or Spotify session's id","nullable":true,"type":[[["string"]]],"meta":{"line":257,"file":"Presence.js","path":"src/structures"}},{"name":"platform","description":"The platform the game is being played on","nullable":true,"type":[[["ActivityPlatform"]]],"meta":{"line":267,"file":"Presence.js","path":"src/structures"}},{"name":"timestamps","description":"Timestamps for the activity","nullable":true,"type":[[["ActivityTimestamps"]]],"meta":{"line":284,"file":"Presence.js","path":"src/structures"}},{"name":"applicationId","description":"The id of the application associated with this activity","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":297,"file":"Presence.js","path":"src/structures"}},{"name":"details","description":"Details about the activity","nullable":true,"type":[[["string"]]],"meta":{"line":307,"file":"Presence.js","path":"src/structures"}},{"name":"state","description":"State of the activity","nullable":true,"type":[[["string"]]],"meta":{"line":317,"file":"Presence.js","path":"src/structures"}},{"name":"syncId","description":"The Spotify song's id","nullable":true,"type":[[["string"]]],"meta":{"line":327,"file":"Presence.js","path":"src/structures"}},{"name":"flags","description":"Flags that describe the activity","type":[[["Readonly","<"],["ActivityFlags",">"]]],"meta":{"line":337,"file":"Presence.js","path":"src/structures"}},{"name":"buttons","description":"The labels of the buttons of this rich presence","type":[[["Array","<"],["string",">"]]],"meta":{"line":347,"file":"Presence.js","path":"src/structures"}},{"name":"emoji","description":"Emoji for a custom activity","nullable":true,"type":[[["EmojiIdentifierResolvable"]]],"meta":{"line":357,"file":"Presence.js","path":"src/structures"}},{"name":"party","description":"Party of the activity","nullable":true,"type":[[["ActivityParty"]]],"meta":{"line":374,"file":"Presence.js","path":"src/structures"}},{"name":"assets","description":"Assets for rich presence","nullable":true,"type":[[["RichPresenceAssets"]]],"meta":{"line":383,"file":"Presence.js","path":"src/structures"}},{"name":"createdAt","description":"The time the activity was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":410,"file":"Presence.js","path":"src/structures"}}],"methods":[{"name":"equals","description":"Whether this activity is equal to another activity.","params":[{"name":"activity","description":"The activity to compare with","type":[[["Activity"]]]}],"returns":[[["boolean"]]],"meta":{"line":391,"file":"Presence.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the activities' name instead of the Activity object.","returns":[[["string"]]],"meta":{"line":418,"file":"Presence.js","path":"src/structures"}}],"meta":{"line":193,"file":"Presence.js","path":"src/structures"}},{"name":"RichPresenceAssets","description":"Assets for a rich presence","props":[{"name":"activity","description":"The activity of the RichPresenceAssets","readonly":true,"type":[[["Activity"]]],"meta":{"line":439,"file":"Presence.js","path":"src/structures"}},{"name":"largeText","description":"Hover text for the large image","nullable":true,"type":[[["string"]]],"meta":{"line":456,"file":"Presence.js","path":"src/structures"}},{"name":"smallText","description":"Hover text for the small image","nullable":true,"type":[[["string"]]],"meta":{"line":466,"file":"Presence.js","path":"src/structures"}},{"name":"largeImage","description":"The large image asset's id","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":476,"file":"Presence.js","path":"src/structures"}},{"name":"smallImage","description":"The small image asset's id","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":486,"file":"Presence.js","path":"src/structures"}}],"methods":[{"name":"smallImageURL","description":"Gets the URL of the small image asset","params":[{"name":"options","description":"Options for the image URL","optional":true,"type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":497,"file":"Presence.js","path":"src/structures"}},{"name":"largeImageURL","description":"Gets the URL of the large image asset","params":[{"name":"options","description":"Options for the image URL","optional":true,"type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":526,"file":"Presence.js","path":"src/structures"}},{"name":"setLargeImage","description":"Set the large image of this activity","params":[{"name":"image","description":"The large image asset's id","nullable":true,"type":[[["RichPresenceImage"]]]}],"returns":[[["RichPresenceAssets"]]],"meta":{"line":601,"file":"Presence.js","path":"src/structures"}},{"name":"setSmallImage","description":"Set the small image of this activity","params":[{"name":"image","description":"The small image asset's id","nullable":true,"type":[[["RichPresenceImage"]]]}],"returns":[[["RichPresenceAssets"]]],"meta":{"line":612,"file":"Presence.js","path":"src/structures"}},{"name":"setLargeText","description":"Hover text for the large image","params":[{"name":"text","description":"Assets text","type":[[["string"]]]}],"returns":[[["RichPresenceAssets"]]],"meta":{"line":623,"file":"Presence.js","path":"src/structures"}},{"name":"setSmallText","description":"Hover text for the small image","params":[{"name":"text","description":"Assets text","type":[[["string"]]]}],"returns":[[["RichPresenceAssets"]]],"meta":{"line":633,"file":"Presence.js","path":"src/structures"}}],"meta":{"line":437,"file":"Presence.js","path":"src/structures"}},{"name":"CustomStatus","construct":{"name":"CustomStatus","params":[{"name":"client","description":"Discord Client","type":[[["Client"]]]},{"name":"data","description":"CustomStatus to clone or raw data","optional":true,"default":"{}","type":[[["CustomStatus"]],[["CustomStatusOptions"]]]}]},"methods":[{"name":"setEmoji","description":"Set the emoji of this activity","params":[{"name":"emoji","description":"The emoji to be displayed","type":[[["EmojiIdentifierResolvable"]]]}],"returns":[[["CustomStatus"]]],"meta":{"line":664,"file":"Presence.js","path":"src/structures"}},{"name":"setState","description":"Set state of this activity","params":[{"name":"state","description":"The state to be displayed","type":[[["string"]],[["null"]]]}],"returns":[[["CustomStatus"]]],"meta":{"line":674,"file":"Presence.js","path":"src/structures"}},{"name":"toJSON","description":"Returns an object that can be used to set the status","returns":[[["CustomStatus"]]],"meta":{"line":684,"file":"Presence.js","path":"src/structures"}}],"meta":{"line":650,"file":"Presence.js","path":"src/structures"}},{"name":"RichPresence","construct":{"name":"RichPresence","params":[{"name":"client","description":"Discord client","type":[[["Client"]]]},{"name":"data","description":"RichPresence to clone or raw data","optional":true,"default":"{}","type":[[["RichPresence"]]]}]},"methods":[{"name":"setup","description":"Sets the status from a JSON object","access":"private","params":[{"name":"data","description":"data","type":[[["RichPresence"]]]}],"meta":{"line":711,"file":"Presence.js","path":"src/structures"}},{"name":"setAssetsLargeImage","description":"Set the large image of this activity","params":[{"name":"image","description":"The large image asset's id","nullable":true,"type":[[["RichPresenceImage"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":721,"file":"Presence.js","path":"src/structures"}},{"name":"setAssetsSmallImage","description":"Set the small image of this activity","params":[{"name":"image","description":"The small image asset's id","nullable":true,"type":[[["RichPresenceImage"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":731,"file":"Presence.js","path":"src/structures"}},{"name":"setAssetsLargeText","description":"Hover text for the large image","params":[{"name":"text","description":"Assets text","type":[[["string"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":741,"file":"Presence.js","path":"src/structures"}},{"name":"setAssetsSmallText","description":"Hover text for the small image","params":[{"name":"text","description":"Assets text","type":[[["string"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":751,"file":"Presence.js","path":"src/structures"}},{"name":"setName","description":"Set the name of the activity","params":[{"name":"name","description":"The activity's name","nullable":true,"type":[[["string"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":761,"file":"Presence.js","path":"src/structures"}},{"name":"setURL","description":"If the activity is being streamed, a link to the stream","params":[{"name":"url","description":"URL of the stream","nullable":true,"type":[[["string"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":771,"file":"Presence.js","path":"src/structures"}},{"name":"setType","description":"The activity status's type","params":[{"name":"type","description":"The type of activity","nullable":true,"type":[[["ActivityTypes"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":782,"file":"Presence.js","path":"src/structures"}},{"name":"setApplicationId","description":"Set the application id of this activity","params":[{"name":"id","description":"Bot's id","nullable":true,"type":[[["Snowflake"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":792,"file":"Presence.js","path":"src/structures"}},{"name":"setState","description":"Set the state of the activity","params":[{"name":"state","description":"The state of the activity","nullable":true,"type":[[["string"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":802,"file":"Presence.js","path":"src/structures"}},{"name":"setDetails","description":"Set the details of the activity","params":[{"name":"details","description":"The details of the activity","nullable":true,"type":[[["string"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":812,"file":"Presence.js","path":"src/structures"}},{"name":"setParty","description":"Set the party of this activity","params":[{"name":"party","description":"The party to be displayed","nullable":true,"type":[[["RichParty"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":829,"file":"Presence.js","path":"src/structures"}},{"name":"setStartTimestamp","description":"Sets the start timestamp of the activity","params":[{"name":"timestamp","description":"The timestamp of the start of the activity","type":[[["Date"]],[["number"]],[["null"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":850,"file":"Presence.js","path":"src/structures"}},{"name":"setEndTimestamp","description":"Sets the end timestamp of the activity","params":[{"name":"timestamp","description":"The timestamp of the end of the activity","type":[[["Date"]],[["number"]],[["null"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":862,"file":"Presence.js","path":"src/structures"}},{"name":"setButtons","description":"Set the buttons of the rich presence","params":[{"name":"button","description":"A list of buttons to set","variable":true,"nullable":true,"type":[[["RichButton"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":879,"file":"Presence.js","path":"src/structures"}},{"name":"setPlatform","description":"The platform the activity is being played on","params":[{"name":"platform","description":"Any platform","type":[[["ActivityPlatform"]],[["null"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":908,"file":"Presence.js","path":"src/structures"}},{"name":"setJoinSecret","description":"Secrets for rich presence joining and spectating (send-only)","params":[{"name":"join","description":"Secrets for rich presence joining","nullable":true,"type":[[["string"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":918,"file":"Presence.js","path":"src/structures"}},{"name":"addButton","description":"Add a button to the rich presence","params":[{"name":"name","description":"The name of the button","type":[[["string"]]]},{"name":"url","description":"The url of the button","type":[[["string"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":929,"file":"Presence.js","path":"src/structures"}},{"name":"toJSON","description":"Convert the rich presence to a JSON object","returns":[[["Object"]]],"meta":{"line":945,"file":"Presence.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the activities' name instead of the Activity object.","returns":[[["string"]]],"meta":{"line":1000,"file":"Presence.js","path":"src/structures"}},{"name":"getExternal","description":"Get Assets from a RichPresence (Util)","scope":"static","params":[{"name":"client","description":"Discord Client","type":[[["Client"]]]},{"name":"applicationId","description":"Application id","type":[[["Snowflake"]]]},{"name":"image1","description":"URL image 1 (not from Discord)","type":[[["string"]]]},{"name":"image2","description":"URL image 2 (not from Discord)","type":[[["string"]]]}],"async":true,"returns":[[["Array","<"],["ExternalAssets",">"]]],"meta":{"line":971,"file":"Presence.js","path":"src/structures"}}],"meta":{"line":700,"file":"Presence.js","path":"src/structures"}},{"name":"SpotifyRPC","extends":[[["RichPresence"]]],"construct":{"name":"SpotifyRPC","description":"Create a new RichPresence (Spotify style)","params":[{"name":"client","description":"Discord Client","type":[[["Client"]]]},{"name":"options","description":"Options for the Spotify RPC","optional":true,"type":[[["SpotifyRPC"]]]}]},"props":[{"name":"metadata","description":"Spotify metadata","type":[[["SpotifyMetadata"]]],"meta":{"line":1049,"file":"Presence.js","path":"src/structures"}}],"methods":[{"name":"setup","description":"Sets the status from a JSON object","access":"private","params":[{"name":"options","description":"data","type":[[["SpotifyRPC"]]]}],"meta":{"line":1037,"file":"Presence.js","path":"src/structures"}},{"name":"setSongId","description":"Set Spotify song id to sync with","params":[{"name":"id","description":"Song id","type":[[["string"]]]}],"returns":[[["SpotifyRPC"]]],"meta":{"line":1061,"file":"Presence.js","path":"src/structures"}},{"name":"addArtistId","description":"Add the artist id","params":[{"name":"id","description":"Artist id","type":[[["string"]]]}],"returns":[[["SpotifyRPC"]]],"meta":{"line":1071,"file":"Presence.js","path":"src/structures"}},{"name":"setArtistIds","description":"Set the artist ids","params":[{"name":"ids","description":"Artist ids","variable":true,"type":[[["string"]],[["Array","<"],["string",">"]]]}],"returns":[[["SpotifyRPC"]]],"meta":{"line":1082,"file":"Presence.js","path":"src/structures"}},{"name":"setAlbumId","description":"Set the album id","params":[{"name":"id","description":"Album id","type":[[["string"]]]}],"returns":[[["SpotifyRPC"]]],"meta":{"line":1097,"file":"Presence.js","path":"src/structures"}},{"name":"setAssetsLargeImage","description":"Set the large image of this activity","inherits":"RichPresence#setAssetsLargeImage","inherited":true,"params":[{"name":"image","description":"The large image asset's id","nullable":true,"type":[[["RichPresenceImage"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":721,"file":"Presence.js","path":"src/structures"}},{"name":"setAssetsSmallImage","description":"Set the small image of this activity","inherits":"RichPresence#setAssetsSmallImage","inherited":true,"params":[{"name":"image","description":"The small image asset's id","nullable":true,"type":[[["RichPresenceImage"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":731,"file":"Presence.js","path":"src/structures"}},{"name":"setAssetsLargeText","description":"Hover text for the large image","inherits":"RichPresence#setAssetsLargeText","inherited":true,"params":[{"name":"text","description":"Assets text","type":[[["string"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":741,"file":"Presence.js","path":"src/structures"}},{"name":"setAssetsSmallText","description":"Hover text for the small image","inherits":"RichPresence#setAssetsSmallText","inherited":true,"params":[{"name":"text","description":"Assets text","type":[[["string"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":751,"file":"Presence.js","path":"src/structures"}},{"name":"setName","description":"Set the name of the activity","inherits":"RichPresence#setName","inherited":true,"params":[{"name":"name","description":"The activity's name","nullable":true,"type":[[["string"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":761,"file":"Presence.js","path":"src/structures"}},{"name":"setURL","description":"If the activity is being streamed, a link to the stream","inherits":"RichPresence#setURL","inherited":true,"params":[{"name":"url","description":"URL of the stream","nullable":true,"type":[[["string"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":771,"file":"Presence.js","path":"src/structures"}},{"name":"setType","description":"The activity status's type","inherits":"RichPresence#setType","inherited":true,"params":[{"name":"type","description":"The type of activity","nullable":true,"type":[[["ActivityTypes"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":782,"file":"Presence.js","path":"src/structures"}},{"name":"setApplicationId","description":"Set the application id of this activity","inherits":"RichPresence#setApplicationId","inherited":true,"params":[{"name":"id","description":"Bot's id","nullable":true,"type":[[["Snowflake"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":792,"file":"Presence.js","path":"src/structures"}},{"name":"setState","description":"Set the state of the activity","inherits":"RichPresence#setState","inherited":true,"params":[{"name":"state","description":"The state of the activity","nullable":true,"type":[[["string"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":802,"file":"Presence.js","path":"src/structures"}},{"name":"setDetails","description":"Set the details of the activity","inherits":"RichPresence#setDetails","inherited":true,"params":[{"name":"details","description":"The details of the activity","nullable":true,"type":[[["string"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":812,"file":"Presence.js","path":"src/structures"}},{"name":"setParty","description":"Set the party of this activity","inherits":"RichPresence#setParty","inherited":true,"params":[{"name":"party","description":"The party to be displayed","nullable":true,"type":[[["RichParty"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":829,"file":"Presence.js","path":"src/structures"}},{"name":"setStartTimestamp","description":"Sets the start timestamp of the activity","inherits":"RichPresence#setStartTimestamp","inherited":true,"params":[{"name":"timestamp","description":"The timestamp of the start of the activity","type":[[["Date"]],[["number"]],[["null"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":850,"file":"Presence.js","path":"src/structures"}},{"name":"setEndTimestamp","description":"Sets the end timestamp of the activity","inherits":"RichPresence#setEndTimestamp","inherited":true,"params":[{"name":"timestamp","description":"The timestamp of the end of the activity","type":[[["Date"]],[["number"]],[["null"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":862,"file":"Presence.js","path":"src/structures"}},{"name":"setButtons","description":"Set the buttons of the rich presence","inherits":"RichPresence#setButtons","inherited":true,"params":[{"name":"button","description":"A list of buttons to set","variable":true,"nullable":true,"type":[[["RichButton"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":879,"file":"Presence.js","path":"src/structures"}},{"name":"setPlatform","description":"The platform the activity is being played on","inherits":"RichPresence#setPlatform","inherited":true,"params":[{"name":"platform","description":"Any platform","type":[[["ActivityPlatform"]],[["null"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":908,"file":"Presence.js","path":"src/structures"}},{"name":"setJoinSecret","description":"Secrets for rich presence joining and spectating (send-only)","inherits":"RichPresence#setJoinSecret","inherited":true,"params":[{"name":"join","description":"Secrets for rich presence joining","nullable":true,"type":[[["string"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":918,"file":"Presence.js","path":"src/structures"}},{"name":"addButton","description":"Add a button to the rich presence","inherits":"RichPresence#addButton","inherited":true,"params":[{"name":"name","description":"The name of the button","type":[[["string"]]]},{"name":"url","description":"The url of the button","type":[[["string"]]]}],"returns":[[["RichPresence"]]],"meta":{"line":929,"file":"Presence.js","path":"src/structures"}},{"name":"toJSON","description":"Convert the rich presence to a JSON object","inherits":"RichPresence#toJSON","inherited":true,"returns":[[["Object"]]],"meta":{"line":945,"file":"Presence.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the activities' name instead of the Activity object.","inherits":"RichPresence#toString","inherited":true,"returns":[[["string"]]],"meta":{"line":1000,"file":"Presence.js","path":"src/structures"}}],"meta":{"line":1012,"file":"Presence.js","path":"src/structures"}},{"name":"ReactionCollector","description":"Collects reactions on messages.\nWill automatically stop if the message ({@link Client#event:messageDelete messageDelete} or\n{@link Client#event:messageDeleteBulk messageDeleteBulk}),\nchannel ({@link Client#event:channelDelete channelDelete}),\nthread ({@link Client#event:threadDelete threadDelete}), or\nguild ({@link Client#event:guildDelete guildDelete}) is deleted.","extends":[[["Collector"]]],"construct":{"name":"ReactionCollector","params":[{"name":"message","description":"The message upon which to collect reactions","type":[[["Message"]]]},{"name":"options","description":"The options to apply to this collector","optional":true,"default":"{}","type":[[["ReactionCollectorOptions"]]]}]},"props":[{"name":"message","description":"The message upon which to collect reactions","type":[[["Message"]]],"meta":{"line":35,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"users","description":"The users that have reacted to this message","type":[[["Collection"]]],"meta":{"line":41,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"total","description":"The total number of reactions collected","type":[[["number"]]],"meta":{"line":47,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"endReason","description":"The reason this collector has ended with, or null if it hasn't ended yet","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":164,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this Collector","readonly":true,"type":[[["Client"]]],"meta":{"line":35,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"filter","description":"The filter applied to this collector","type":[[["CollectorFilter"]]],"meta":{"line":48,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"options","description":"The options of this collector","type":[[["CollectorOptions"]]],"meta":{"line":54,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"collected","description":"The items collected by this collector","type":[[["Collection"]]],"meta":{"line":60,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"ended","description":"Whether this collector has finished collecting","type":[[["boolean"]]],"meta":{"line":66,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"_timeout","description":"Timeout for cleanup","access":"private","nullable":true,"type":[[["Timeout"]]],"meta":{"line":73,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"_idletimeout","description":"Timeout for cleanup due to inactivity","access":"private","nullable":true,"type":[[["Timeout"]]],"meta":{"line":80,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"next","description":"Returns a promise that resolves with the next collected element;\nrejects with collected elements if the collector finishes without receiving a next element","readonly":true,"type":[[["Promise"]]],"meta":{"line":148,"file":"Collector.js","path":"src/structures/interfaces"}}],"methods":[{"name":"collect","description":"Handles an incoming reaction for possible collection.","access":"private","params":[{"name":"reaction","description":"The reaction to possibly collect","type":[[["MessageReaction"]]]},{"name":"user","description":"The user that added the reaction","type":[[["User"]]]}],"returns":{"types":[[["Snowflake"]],[["string"]]],"nullable":true},"meta":{"line":110,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"dispose","description":"Handles a reaction deletion for possible disposal.","params":[{"name":"reaction","description":"The reaction to possibly dispose of","type":[[["MessageReaction"]]]},{"name":"user","description":"The user that removed the reaction","type":[[["User"]]]}],"returns":{"types":[[["Snowflake"]],[["string"]]],"nullable":true},"meta":{"line":128,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"empty","description":"Empties this reaction collector.","meta":{"line":152,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"_handleMessageDeletion","description":"Handles checking if the message has been deleted, and if so, stops the collector with the reason 'messageDelete'.","access":"private","params":[{"name":"message","description":"The message that was deleted","type":[[["Message"]]]}],"returns":[[["void"]]],"meta":{"line":177,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"_handleChannelDeletion","description":"Handles checking if the channel has been deleted, and if so, stops the collector with the reason 'channelDelete'.","access":"private","params":[{"name":"channel","description":"The channel that was deleted","type":[[["GuildChannel"]]]}],"returns":[[["void"]]],"meta":{"line":189,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"_handleThreadDeletion","description":"Handles checking if the thread has been deleted, and if so, stops the collector with the reason 'threadDelete'.","access":"private","params":[{"name":"thread","description":"The thread that was deleted","type":[[["ThreadChannel"]]]}],"returns":[[["void"]]],"meta":{"line":201,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"_handleGuildDeletion","description":"Handles checking if the guild has been deleted, and if so, stops the collector with the reason 'guildDelete'.","access":"private","params":[{"name":"guild","description":"The guild that was deleted","type":[[["Guild"]]]}],"returns":[[["void"]]],"meta":{"line":213,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"handleCollect","description":"Call this to handle an event as a collectable element. Accepts any event data as parameters.","inherits":"Collector#handleCollect","inherited":true,"emits":["Collector#event:collect"],"params":[{"name":"args","description":"The arguments emitted by the listener","variable":true,"type":[["*"]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":99,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"handleDispose","description":"Call this to remove an element from the collection. Accepts any event data as parameters.","inherits":"Collector#handleDispose","inherited":true,"emits":["Collector#event:dispose"],"params":[{"name":"args","description":"The arguments emitted by the listener","variable":true,"type":[["*"]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":126,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"stop","description":"Stops this collector and emits the `end` event.","inherits":"Collector#stop","inherited":true,"emits":["Collector#event:end"],"params":[{"name":"reason","description":"The reason this collector is ending","optional":true,"default":"'user'","type":[[["string"]]]}],"meta":{"line":180,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"resetTimer","description":"Resets the collector's timeout and idle timer.","inherits":"Collector#resetTimer","inherited":true,"params":[{"name":"options","description":"Options for resetting","optional":true,"type":[[["CollectorResetTimerOptions"]]]}],"meta":{"line":213,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"checkEnd","description":"Checks whether the collector should end, and if so, ends it.","inherits":"Collector#checkEnd","inherited":true,"returns":{"types":[[["boolean"]]],"description":"Whether the collector ended or not"},"meta":{"line":228,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"key","description":"Gets the collector key for a reaction.","scope":"static","params":[{"name":"reaction","description":"The message reaction to get the key for","type":[[["MessageReaction"]]]}],"returns":[[["Snowflake"]],[["string"]]],"meta":{"line":224,"file":"ReactionCollector.js","path":"src/structures"}}],"events":[{"name":"create","description":"Emitted whenever a reaction is newly created on a message. Will emit only when a new reaction is\nadded to the message, as opposed to {@link Collector#collect} which will\nbe emitted even when a reaction has already been added to the message.","params":[{"name":"reaction","description":"The reaction that was added","type":[[["MessageReaction"]]]},{"name":"user","description":"The user that added the reaction","type":[[["User"]]]}],"meta":{"line":82,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"collect","description":"Emitted whenever a reaction is collected.","params":[{"name":"reaction","description":"The reaction that was collected","type":[[["MessageReaction"]]]},{"name":"user","description":"The user that added the reaction","type":[[["User"]]]}],"meta":{"line":111,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"dispose","description":"Emitted when the reaction had all the users removed and the `dispose` option is set to true.","params":[{"name":"reaction","description":"The reaction that was disposed of","type":[[["MessageReaction"]]]},{"name":"user","description":"The user that removed the reaction","type":[[["User"]]]}],"meta":{"line":129,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"remove","description":"Emitted when the reaction had one user removed and the `dispose` option is set to true.","params":[{"name":"reaction","description":"The reaction that was removed","type":[[["MessageReaction"]]]},{"name":"user","description":"The user that removed the reaction","type":[[["User"]]]}],"meta":{"line":137,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"end","description":"Emitted when the collector is finished collecting.","params":[{"name":"collected","description":"The elements collected by the collector","type":[[["Collection"]]]},{"name":"reason","description":"The reason the collector ended","type":[[["string"]]]}],"meta":{"line":193,"file":"Collector.js","path":"src/structures/interfaces"}}],"meta":{"line":23,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"ReactionEmoji","description":"Represents a limited emoji set used for both custom and unicode emojis. Custom emojis\nwill use this class opposed to the Emoji class when the client doesn't know enough\ninformation about them.","extends":[[["Emoji"]]],"props":[{"name":"reaction","description":"The message reaction this emoji refers to","type":[[["MessageReaction"]]],"meta":{"line":19,"file":"ReactionEmoji.js","path":"src/structures"}},{"name":"animated","description":"Whether or not the emoji is animated","nullable":true,"type":[[["boolean"]]],"meta":{"line":34,"file":"Emoji.js","path":"src/structures"}},{"name":"name","description":"The emoji's name","nullable":true,"type":[[["string"]]],"meta":{"line":40,"file":"Emoji.js","path":"src/structures"}},{"name":"id","description":"The emoji's id","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":46,"file":"Emoji.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":54,"file":"Emoji.js","path":"src/structures"}},{"name":"identifier","description":"The identifier of this emoji, used for message reactions","readonly":true,"type":[[["string"]]],"meta":{"line":84,"file":"Emoji.js","path":"src/structures"}},{"name":"url","description":"The URL to the emoji file if it's a custom emoji","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":94,"file":"Emoji.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the emoji was created at, or null if unicode","readonly":true,"nullable":true,"type":[[["number"]]],"meta":{"line":103,"file":"Emoji.js","path":"src/structures"}},{"name":"createdAt","description":"The time the emoji was created at, or null if unicode","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":112,"file":"Emoji.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"toString","description":"When concatenated with a string, this automatically returns the text required to form a graphical emoji on Discord\ninstead of the Emoji object.","inherits":"Emoji#toString","inherited":true,"examples":["// Send a custom emoji from a guild:\nconst emoji = guild.emojis.cache.first();\nmsg.channel.send(`Hello! ${emoji}`);","// Send the emoji used in a reaction to the channel the reaction is part of\nreaction.message.channel.send(`The emoji used was: ${reaction.emoji}`);"],"returns":[[["string"]]],"meta":{"line":128,"file":"Emoji.js","path":"src/structures"}}],"meta":{"line":12,"file":"ReactionEmoji.js","path":"src/structures"}},{"name":"Role","description":"Represents a role on Discord.","extends":[[["Base"]]],"props":[{"name":"guild","description":"The guild that the role belongs to","type":[[["Guild"]]],"meta":{"line":32,"file":"Role.js","path":"src/structures"}},{"name":"icon","description":"The icon hash of the role","nullable":true,"type":[[["string"]]],"meta":{"line":38,"file":"Role.js","path":"src/structures"}},{"name":"unicodeEmoji","description":"The unicode emoji for the role","nullable":true,"type":[[["string"]]],"meta":{"line":44,"file":"Role.js","path":"src/structures"}},{"name":"id","description":"The role's id (unique to the guild it is part of)","type":[[["Snowflake"]]],"meta":{"line":54,"file":"Role.js","path":"src/structures"}},{"name":"name","description":"The name of the role","type":[[["string"]]],"meta":{"line":60,"file":"Role.js","path":"src/structures"}},{"name":"color","description":"The base 10 color of the role","type":[[["number"]]],"meta":{"line":68,"file":"Role.js","path":"src/structures"}},{"name":"hoist","description":"If true, users that are part of this role will appear in a separate category in the users list","type":[[["boolean"]]],"meta":{"line":76,"file":"Role.js","path":"src/structures"}},{"name":"rawPosition","description":"The raw position of the role from the API","type":[[["number"]]],"meta":{"line":84,"file":"Role.js","path":"src/structures"}},{"name":"permissions","description":"The permissions of the role","type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":92,"file":"Role.js","path":"src/structures"}},{"name":"managed","description":"Whether or not the role is managed by an external service","type":[[["boolean"]]],"meta":{"line":100,"file":"Role.js","path":"src/structures"}},{"name":"mentionable","description":"Whether or not the role can be mentioned by anyone","type":[[["boolean"]]],"meta":{"line":108,"file":"Role.js","path":"src/structures"}},{"name":"tags","description":"The tags this role has","nullable":true,"type":[[["Object"]]],"props":[{"name":"botId","description":"The id of the bot this role belongs to","optional":true,"type":[[["Snowflake"]]]},{"name":"integrationId","description":"The id of the integration this role belongs to","optional":true,"type":[[["Snowflake"]],[["string"]]]},{"name":"premiumSubscriberRole","description":"Whether this is the guild's premium subscription role","optional":true,"type":[[["true"]]]},{"name":"subscriptionListingId","description":"The id of this role's subscription SKU and listing","optional":true,"type":[[["Snowflake"]]]},{"name":"availableForPurchase","description":"Whether this role is available for purchase","optional":true,"type":[[["true"]]]},{"name":"guildConnections","description":"Whether this role is a guild's linked role","optional":true,"type":[[["true"]]]}],"meta":{"line":125,"file":"Role.js","path":"src/structures"}},{"name":"flags","description":"The flags of this role","type":[[["Readonly","<"],["RoleFlags",">"]]],"meta":{"line":152,"file":"Role.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the role was created at","readonly":true,"type":[[["number"]]],"meta":{"line":163,"file":"Role.js","path":"src/structures"}},{"name":"createdAt","description":"The time the role was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":172,"file":"Role.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the role has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":181,"file":"Role.js","path":"src/structures"}},{"name":"hexColor","description":"The hexadecimal version of the role color, with a leading hashtag","readonly":true,"type":[[["string"]]],"meta":{"line":211,"file":"Role.js","path":"src/structures"}},{"name":"members","description":"The cached guild members that have this role","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]],"meta":{"line":220,"file":"Role.js","path":"src/structures"}},{"name":"editable","description":"Whether the role is editable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":229,"file":"Role.js","path":"src/structures"}},{"name":"position","description":"The position of the role in the role manager","readonly":true,"type":[[["number"]]],"meta":{"line":241,"file":"Role.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"comparePositionTo","description":"Compares this role's position to another role's.","examples":["// Compare the position of a role to another\nconst roleCompare = role.comparePositionTo(otherRole);\nif (roleCompare >= 1) console.log(`${role.name} is higher than ${otherRole.name}`);"],"params":[{"name":"role","description":"Role to compare to this one","type":[[["RoleResolvable"]]]}],"returns":{"types":[[["number"]]],"description":"Negative number if this role's position is lower (other role's is higher),\npositive number if this one is higher (other's is lower), 0 if equal"},"meta":{"line":261,"file":"Role.js","path":"src/structures"}},{"name":"edit","description":"Edits the role.","examples":["// Edit a role\nrole.edit({ name: 'new role' })\n .then(updated => console.log(`Edited role name to ${updated.name}`))\n .catch(console.error);"],"params":[{"name":"data","description":"The new data for the role","type":[[["RoleData"]]]},{"name":"reason","description":"Reason for editing this role","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Role",">"]]],"meta":{"line":291,"file":"Role.js","path":"src/structures"}},{"name":"permissionsIn","description":"Returns `channel.permissionsFor(role)`. Returns permissions for a role in a guild channel,\ntaking into account permission overwrites.","params":[{"name":"channel","description":"The guild channel to use as context","type":[[["GuildChannel"]],[["Snowflake"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":302,"file":"Role.js","path":"src/structures"}},{"name":"setName","description":"Sets a new name for the role.","examples":["// Set the name of the role\nrole.setName('new role')\n .then(updated => console.log(`Updated role name to ${updated.name}`))\n .catch(console.error);"],"params":[{"name":"name","description":"The new name of the role","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the role's name","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Role",">"]]],"meta":{"line":319,"file":"Role.js","path":"src/structures"}},{"name":"setColor","description":"Sets a new color for the role.","examples":["// Set the color of a role\nrole.setColor('#FF0000')\n .then(updated => console.log(`Set color of role to ${updated.color}`))\n .catch(console.error);"],"params":[{"name":"color","description":"The color of the role","type":[[["ColorResolvable"]]]},{"name":"reason","description":"Reason for changing the role's color","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Role",">"]]],"meta":{"line":334,"file":"Role.js","path":"src/structures"}},{"name":"setHoist","description":"Sets whether or not the role should be hoisted.","examples":["// Set the hoist of the role\nrole.setHoist(true)\n .then(updated => console.log(`Role hoisted: ${updated.hoist}`))\n .catch(console.error);"],"params":[{"name":"hoist","description":"Whether or not to hoist the role","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"Reason for setting whether or not the role should be hoisted","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Role",">"]]],"meta":{"line":349,"file":"Role.js","path":"src/structures"}},{"name":"setPermissions","description":"Sets the permissions of the role.","examples":["// Set the permissions of the role\nrole.setPermissions([Permissions.FLAGS.KICK_MEMBERS, Permissions.FLAGS.BAN_MEMBERS])\n .then(updated => console.log(`Updated permissions to ${updated.permissions.bitfield}`))\n .catch(console.error);","// Remove all permissions from a role\nrole.setPermissions(0n)\n .then(updated => console.log(`Updated permissions to ${updated.permissions.bitfield}`))\n .catch(console.error);"],"params":[{"name":"permissions","description":"The permissions of the role","type":[[["PermissionResolvable"]]]},{"name":"reason","description":"Reason for changing the role's permissions","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Role",">"]]],"meta":{"line":369,"file":"Role.js","path":"src/structures"}},{"name":"setMentionable","description":"Sets whether this role is mentionable.","examples":["// Make the role mentionable\nrole.setMentionable(true)\n .then(updated => console.log(`Role updated ${updated.name}`))\n .catch(console.error);"],"params":[{"name":"mentionable","description":"Whether this role should be mentionable","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"Reason for setting whether or not this role should be mentionable","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Role",">"]]],"meta":{"line":384,"file":"Role.js","path":"src/structures"}},{"name":"setIcon","description":"Sets a new icon for the role.","params":[{"name":"icon","description":"The icon for the role\nThe `EmojiResolvable` should belong to the same guild as the role.\nIf not, pass the emoji's URL directly","nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]],[["EmojiResolvable"]]]},{"name":"reason","description":"Reason for changing the role's icon","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Role",">"]]],"meta":{"line":396,"file":"Role.js","path":"src/structures"}},{"name":"setUnicodeEmoji","description":"Sets a new unicode emoji for the role.","examples":["// Set a new unicode emoji for the role\nrole.setUnicodeEmoji('🤖')\n .then(updated => console.log(`Set unicode emoji for the role to ${updated.unicodeEmoji}`))\n .catch(console.error);"],"params":[{"name":"unicodeEmoji","description":"The new unicode emoji for the role","nullable":true,"type":[[["string"]]]},{"name":"reason","description":"Reason for changing the role's unicode emoji","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Role",">"]]],"meta":{"line":411,"file":"Role.js","path":"src/structures"}},{"name":"setPosition","description":"Sets the new position of the role.","examples":["// Set the position of the role\nrole.setPosition(1)\n .then(updated => console.log(`Role position: ${updated.position}`))\n .catch(console.error);"],"params":[{"name":"position","description":"The new position for the role","type":[[["number"]]]},{"name":"options","description":"Options for setting the position","optional":true,"type":[[["SetRolePositionOptions"]]]}],"returns":[[["Promise","<"],["Role",">"]]],"meta":{"line":433,"file":"Role.js","path":"src/structures"}},{"name":"delete","description":"Deletes the role.","examples":["// Delete a role\nrole.delete('The role needed to go')\n .then(deleted => console.log(`Deleted role ${deleted.name}`))\n .catch(console.error);"],"params":[{"name":"reason","description":"Reason for deleting this role","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Role",">"]]],"meta":{"line":447,"file":"Role.js","path":"src/structures"}},{"name":"iconURL","description":"A link to the role's icon","params":[{"name":"options","description":"Options for the image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":457,"file":"Role.js","path":"src/structures"}},{"name":"equals","description":"Whether this role equals another role. It compares all properties, so for most operations\nit is advisable to just compare `role.id === role2.id` as it is much faster and is often\nwhat most users need.","params":[{"name":"role","description":"Role to compare with","type":[[["Role"]]]}],"returns":[[["boolean"]]],"meta":{"line":469,"file":"Role.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the role's mention instead of the Role object.","examples":["// Logs: Role: <@&123456789012345678>\nconsole.log(`Role: ${role}`);"],"returns":[[["string"]]],"meta":{"line":491,"file":"Role.js","path":"src/structures"}},{"name":"comparePositions","description":"Compares the positions of two roles.","scope":"static","deprecated":"Use {@link RoleManager#comparePositions} instead.","params":[{"name":"role1","description":"First role to compare","type":[[["Role"]]]},{"name":"role2","description":"Second role to compare","type":[[["Role"]]]}],"returns":{"types":[[["number"]]],"description":"Negative number if the first role's position is lower (second role's is higher),\npositive number if the first's is higher (second's is lower), 0 if equal"},"meta":{"line":511,"file":"Role.js","path":"src/structures"}}],"meta":{"line":24,"file":"Role.js","path":"src/structures"}},{"name":"SelectMenuInteraction","description":"Represents a select menu interaction.","extends":[[["MessageComponentInteraction"]]],"props":[{"name":"values","description":"The values selected, if the component which was interacted with was a select menu","type":[[["Array","<"],["string",">"]]],"meta":{"line":17,"file":"SelectMenuInteraction.js","path":"src/structures"}},{"name":"channelId","description":"The id of the channel this interaction was sent in","type":[[["Snowflake"]]],"meta":{"line":17,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"message","description":"The message to which the component was attached","type":[[["Message"]],[["APIMessage"]]],"meta":{"line":27,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"customId","description":"The custom id of the component which was interacted with","type":[[["string"]]],"meta":{"line":33,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"componentType","description":"The type of component which was interacted with","type":[[["string"]]],"meta":{"line":39,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"deferred","description":"Whether the reply to this interaction has been deferred","type":[[["boolean"]]],"meta":{"line":45,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"ephemeral","description":"Whether the reply to this interaction is ephemeral","nullable":true,"type":[[["boolean"]]],"meta":{"line":51,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"replied","description":"Whether this interaction has already been replied to","type":[[["boolean"]]],"meta":{"line":57,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"webhook","description":"An associated interaction webhook, can be used to further interact with this interaction","type":[[["InteractionWebhook"]]],"meta":{"line":63,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"component","description":"The component which was interacted with","readonly":true,"type":[[["MessageActionRowComponent"]],[["APIMessageActionRowComponent"]]],"meta":{"line":78,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"type","description":"The interaction's type","type":[[["InteractionType"]]],"meta":{"line":20,"file":"Interaction.js","path":"src/structures"}},{"name":"id","description":"The interaction's id","type":[[["Snowflake"]]],"meta":{"line":26,"file":"Interaction.js","path":"src/structures"}},{"name":"token","description":"The interaction's token","readonly":true,"type":[[["string"]]],"meta":{"line":28,"file":"Interaction.js","path":"src/structures"}},{"name":"applicationId","description":"The application's id","type":[[["Snowflake"]]],"meta":{"line":40,"file":"Interaction.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild this interaction was sent in","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":52,"file":"Interaction.js","path":"src/structures"}},{"name":"user","description":"The user which sent this interaction","type":[[["User"]]],"meta":{"line":58,"file":"Interaction.js","path":"src/structures"}},{"name":"member","description":"If this interaction was sent in a guild, the member which sent it","nullable":true,"type":[[["GuildMember"]],[["APIGuildMember"]]],"meta":{"line":64,"file":"Interaction.js","path":"src/structures"}},{"name":"version","description":"The version","type":[[["number"]]],"meta":{"line":70,"file":"Interaction.js","path":"src/structures"}},{"name":"appPermissions","description":"Set of permissions the application or bot has within the channel the interaction was sent from","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":76,"file":"Interaction.js","path":"src/structures"}},{"name":"memberPermissions","description":"The permissions of the member, if one exists, in the channel this interaction was executed in","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":82,"file":"Interaction.js","path":"src/structures"}},{"name":"locale","description":"The locale of the user who invoked this interaction","type":[[["Locale"]]],"meta":{"line":124,"file":"Interaction.js","path":"src/structures"}},{"name":"guildLocale","description":"The preferred locale from the guild this interaction was sent in","nullable":true,"type":[[["Locale"]]],"meta":{"line":130,"file":"Interaction.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the interaction was created at","readonly":true,"type":[[["number"]]],"meta":{"line":138,"file":"Interaction.js","path":"src/structures"}},{"name":"createdAt","description":"The time the interaction was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":147,"file":"Interaction.js","path":"src/structures"}},{"name":"channel","description":"The channel this interaction was sent in","readonly":true,"nullable":true,"type":[[["TextBasedChannels"]]],"meta":{"line":156,"file":"Interaction.js","path":"src/structures"}},{"name":"guild","description":"The guild this interaction was sent in","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":165,"file":"Interaction.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"deferReply","description":"Defers the reply to this interaction.","inherits":"MessageComponentInteraction#deferReply","inherited":true,"implements":["InteractionResponses#deferReply"],"examples":["// Defer the reply to this interaction\ninteraction.deferReply()\n .then(console.log)\n .catch(console.error)","// Defer to send an ephemeral reply later\ninteraction.deferReply({ ephemeral: true })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for deferring the reply to this interaction","optional":true,"type":[[["InteractionDeferReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":58,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"reply","description":"Creates a reply to this interaction.\nUse the `fetchReply` option to get the bot's reply message.","inherits":"MessageComponentInteraction#reply","inherited":true,"implements":["InteractionResponses#reply"],"examples":["// Reply to the interaction and fetch the response\ninteraction.reply({ content: 'Pong!', fetchReply: true })\n .then((message) => console.log(`Reply sent with content ${message.content}`))\n .catch(console.error);","// Create an ephemeral reply with an embed\nconst embed = new MessageEmbed().setDescription('Pong!');\n\ninteraction.reply({ embeds: [embed], ephemeral: true })\n .then(() => console.log('Reply sent.'))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":93,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"fetchReply","description":"Fetches a reply to this interaction.","see":["Webhook#fetchMessage"],"inherits":"MessageComponentInteraction#fetchReply","inherited":true,"implements":["InteractionResponses#fetchReply"],"examples":["// Fetch the initial reply to this interaction\ninteraction.fetchReply()\n .then(reply => console.log(`Replied with ${reply.content}`))\n .catch(console.error);"],"params":[{"name":"message","description":"The response to fetch","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":127,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"editReply","description":"Edits a reply to this interaction.","see":["Webhook#editMessage"],"inherits":"MessageComponentInteraction#editReply","inherited":true,"implements":["InteractionResponses#editReply"],"examples":["// Edit the initial reply to this interaction\ninteraction.editReply('New content')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The new options for the message","type":[[["string"]],[["MessagePayload"]],[["InteractionEditReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":148,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"deleteReply","description":"Deletes a reply to this interaction.","see":["Webhook#deleteMessage"],"inherits":"MessageComponentInteraction#deleteReply","inherited":true,"implements":["InteractionResponses#deleteReply"],"examples":["// Delete the initial reply to this interaction\ninteraction.deleteReply()\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"message","description":"The response to delete","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":166,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"followUp","description":"Send a follow-up message to this interaction.","inherits":"MessageComponentInteraction#followUp","inherited":true,"implements":["InteractionResponses#followUp"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":175,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"deferUpdate","description":"Defers an update to the message to which the component was attached.","inherits":"MessageComponentInteraction#deferUpdate","inherited":true,"implements":["InteractionResponses#deferUpdate"],"examples":["// Defer updating and reset the component's loading state\ninteraction.deferUpdate()\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for deferring the update to this interaction","optional":true,"type":[[["InteractionDeferUpdateOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":190,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"update","description":"Updates the original message of the component on which the interaction was received on.","inherits":"MessageComponentInteraction#update","inherited":true,"implements":["InteractionResponses#update"],"examples":["// Remove the components from the message\ninteraction.update({\n content: \"A component interaction was received\",\n components: []\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the updated message","type":[[["string"]],[["MessagePayload"]],[["InteractionUpdateOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":216,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"showModal","description":"Shows a modal component","inherits":"MessageComponentInteraction#showModal","inherited":true,"implements":["InteractionResponses#showModal"],"params":[{"name":"modal","description":"The modal to show","type":[[["Modal"]],[["ModalOptions"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":243,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"awaitModalSubmit","description":"Collects a single modal submit interaction that passes the filter.\nThe Promise will reject if the time expires.","inherits":"MessageComponentInteraction#awaitModalSubmit","inherited":true,"implements":["InteractionResponses#awaitModalSubmit"],"examples":["// Collect a modal submit interaction\nconst filter = (interaction) => interaction.customId === 'modal';\ninteraction.awaitModalSubmit({ filter, time: 15_000 })\n .then(interaction => console.log(`${interaction.customId} was submitted!`))\n .catch(console.error);"],"params":[{"name":"options","description":"Options to pass to the internal collector","type":[[["AwaitModalSubmitOptions"]]]}],"returns":[[["Promise","<"],["ModalSubmitInteraction",">"]]],"meta":{"line":275,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"inGuild","description":"Indicates whether this interaction is received from a guild.","inherits":"Interaction#inGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":173,"file":"Interaction.js","path":"src/structures"}},{"name":"inCachedGuild","description":"Indicates whether or not this interaction is both cached and received from a guild.","inherits":"Interaction#inCachedGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":181,"file":"Interaction.js","path":"src/structures"}},{"name":"inRawGuild","description":"Indicates whether or not this interaction is received from an uncached guild.","inherits":"Interaction#inRawGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":189,"file":"Interaction.js","path":"src/structures"}},{"name":"isApplicationCommand","description":"Indicates whether this interaction is a {@link BaseCommandInteraction}.","inherits":"Interaction#isApplicationCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":197,"file":"Interaction.js","path":"src/structures"}},{"name":"isCommand","description":"Indicates whether this interaction is a {@link CommandInteraction}.","inherits":"Interaction#isCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":205,"file":"Interaction.js","path":"src/structures"}},{"name":"isContextMenu","description":"Indicates whether this interaction is a {@link ContextMenuInteraction}","inherits":"Interaction#isContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":213,"file":"Interaction.js","path":"src/structures"}},{"name":"isModalSubmit","description":"Indicates whether this interaction is a {@link ModalSubmitInteraction}","inherits":"Interaction#isModalSubmit","inherited":true,"returns":[[["boolean"]]],"meta":{"line":221,"file":"Interaction.js","path":"src/structures"}},{"name":"isUserContextMenu","description":"Indicates whether this interaction is a {@link UserContextMenuInteraction}","inherits":"Interaction#isUserContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":229,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageContextMenu","description":"Indicates whether this interaction is a {@link MessageContextMenuInteraction}","inherits":"Interaction#isMessageContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":237,"file":"Interaction.js","path":"src/structures"}},{"name":"isAutocomplete","description":"Indicates whether this interaction is an {@link AutocompleteInteraction}","inherits":"Interaction#isAutocomplete","inherited":true,"returns":[[["boolean"]]],"meta":{"line":245,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageComponent","description":"Indicates whether this interaction is a {@link MessageComponentInteraction}.","inherits":"Interaction#isMessageComponent","inherited":true,"returns":[[["boolean"]]],"meta":{"line":253,"file":"Interaction.js","path":"src/structures"}},{"name":"isButton","description":"Indicates whether this interaction is a {@link ButtonInteraction}.","inherits":"Interaction#isButton","inherited":true,"returns":[[["boolean"]]],"meta":{"line":261,"file":"Interaction.js","path":"src/structures"}},{"name":"isSelectMenu","description":"Indicates whether this interaction is a {@link SelectMenuInteraction}.","inherits":"Interaction#isSelectMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":272,"file":"Interaction.js","path":"src/structures"}},{"name":"isRepliable","description":"Indicates whether this interaction can be replied to.","inherits":"Interaction#isRepliable","inherited":true,"returns":[[["boolean"]]],"meta":{"line":283,"file":"Interaction.js","path":"src/structures"}}],"meta":{"line":9,"file":"SelectMenuInteraction.js","path":"src/structures"}},{"name":"StageChannel","description":"Represents a guild stage channel on Discord.","extends":[[["BaseGuildVoiceChannel"]]],"props":[{"name":"topic","description":"The topic of the stage channel","nullable":true,"type":[[["string"]]],"meta":{"line":18,"file":"StageChannel.js","path":"src/structures"}},{"name":"stageInstance","description":"The stage instance of this stage channel, if it exists","readonly":true,"nullable":true,"type":[[["StageInstance"]]],"meta":{"line":27,"file":"StageChannel.js","path":"src/structures"}},{"name":"messages","description":"A manager of the messages sent to this channel","type":[[["MessageManager"]]],"meta":{"line":22,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"nsfw","description":"If the guild considers this channel NSFW","type":[[["boolean"]]],"meta":{"line":28,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"bitrate","description":"The bitrate of this voice-based channel","type":[[["number"]]],"meta":{"line":41,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"rtcRegion","description":"The RTC region for this voice-based channel. This region is automatically selected if `null`.","nullable":true,"type":[[["string"]]],"meta":{"line":49,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"userLimit","description":"The maximum amount of users allowed in this channel.","type":[[["number"]]],"meta":{"line":57,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"videoQualityMode","description":"The camera video quality mode of the channel.","nullable":true,"type":[[["VideoQualityMode"]]],"meta":{"line":65,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"lastMessageId","description":"The last message id sent in the channel, if one was sent","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":75,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"rateLimitPerUser","description":"The rate limit per user (slowmode) for this channel in seconds","type":[[["number"]]],"meta":{"line":87,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"status","description":"The status of the voice channel (max 500 characters)","nullable":true,"type":[[["string"]]],"meta":{"line":99,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"members","description":"The members in this voice-based channel","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]],"meta":{"line":108,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"full","description":"Checks if the voice-based channel is full","readonly":true,"type":[[["boolean"]]],"meta":{"line":123,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"joinable","description":"Whether the channel is joinable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":132,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"lastMessage","description":"The Message object of the last message in the channel, if one was sent","readonly":true,"nullable":true,"type":[[["Message"]]],"meta":{"line":50,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"guild","description":"The guild the channel is in","type":[[["Guild"]]],"meta":{"line":30,"file":"GuildChannel.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild the channel is in","type":[[["Snowflake"]]],"meta":{"line":36,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionOverwrites","description":"A manager of permission overwrites that belong to this channel","type":[[["PermissionOverwriteManager"]]],"meta":{"line":43,"file":"GuildChannel.js","path":"src/structures"}},{"name":"name","description":"The name of the guild channel","type":[[["string"]]],"meta":{"line":56,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rawPosition","description":"The raw position of the channel from Discord","type":[[["number"]]],"meta":{"line":64,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parentId","description":"The id of the category parent of this channel","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":76,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parent","description":"The category parent of this channel","readonly":true,"nullable":true,"type":[[["CategoryChannel"]]],"meta":{"line":98,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionsLocked","description":"If the permissionOverwrites match the parent channel, null if no parent","readonly":true,"nullable":true,"type":[[["boolean"]]],"meta":{"line":107,"file":"GuildChannel.js","path":"src/structures"}},{"name":"position","description":"The position of the channel","readonly":true,"type":[[["number"]]],"meta":{"line":148,"file":"GuildChannel.js","path":"src/structures"}},{"name":"deletable","description":"Whether the channel is deletable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":416,"file":"GuildChannel.js","path":"src/structures"}},{"name":"manageable","description":"Whether the channel is manageable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":425,"file":"GuildChannel.js","path":"src/structures"}},{"name":"viewable","description":"Whether the channel is viewable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":445,"file":"GuildChannel.js","path":"src/structures"}},{"name":"type","description":"The type of the channel","type":[[["ChannelType"]]],"meta":{"line":41,"file":"Channel.js","path":"src/structures"}},{"name":"id","description":"The channel's id","type":[[["Snowflake"]]],"meta":{"line":51,"file":"Channel.js","path":"src/structures"}},{"name":"flags","description":"The flags that are applied to the channel.","nullable":true,"type":[[["Readonly","<"],["ChannelFlags",">"]]],"meta":{"line":58,"file":"Channel.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the channel was created at","readonly":true,"type":[[["number"]]],"meta":{"line":69,"file":"Channel.js","path":"src/structures"}},{"name":"createdAt","description":"The time the channel was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":78,"file":"Channel.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":87,"file":"Channel.js","path":"src/structures"}},{"name":"partial","description":"Whether this Channel is a partial\nThis is always false outside of DM channels.","readonly":true,"type":[[["boolean"]]],"meta":{"line":118,"file":"Channel.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"createStageInstance","description":"Creates a stage instance associated with this stage channel.","params":[{"name":"options","description":"The options to create the stage instance","type":[[["StageInstanceCreateOptions"]]]}],"returns":[[["Promise","<"],["StageInstance",">"]]],"meta":{"line":36,"file":"StageChannel.js","path":"src/structures"}},{"name":"setTopic","description":"Sets a new topic for the guild channel.","examples":["// Set a new channel topic\nchannel.setTopic('needs more rate limiting')\n .then(newChannel => console.log(`Channel's new topic is ${newChannel.topic}`))\n .catch(console.error);"],"params":[{"name":"topic","description":"The new topic for the guild channel","nullable":true,"type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild channel's topic","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":51,"file":"StageChannel.js","path":"src/structures"}},{"name":"createInvite","description":"Creates an invite to this guild channel.","inherits":"BaseGuildVoiceChannel#createInvite","inherited":true,"examples":["// Create an invite to a channel\nchannel.createInvite()\n .then(invite => console.log(`Created an invite with a code of ${invite.code}`))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for creating the invite","optional":true,"default":"{}","type":[[["CreateInviteOptions"]]]}],"returns":[[["Promise","<"],["Invite",">"]]],"meta":{"line":156,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"fetchInvites","description":"Fetches a collection of invites to this guild channel.\nResolves with a collection mapping invites by their codes.","inherits":"BaseGuildVoiceChannel#fetchInvites","inherited":true,"params":[{"name":"cache","description":"Whether or not to cache the fetched invites","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Collection","<"],["string",", "],["Invite",">>"]]],"meta":{"line":166,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"setBitrate","description":"Sets the bitrate of the channel.","inherits":"BaseGuildVoiceChannel#setBitrate","inherited":true,"examples":["// Set the bitrate of a voice channel\nchannel.setBitrate(48_000)\n .then(channel => console.log(`Set bitrate to ${channel.bitrate}bps for ${channel.name}`))\n .catch(console.error);"],"params":[{"name":"bitrate","description":"The new bitrate","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the channel's bitrate","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["BaseGuildVoiceChannel",">"]]],"meta":{"line":181,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"setRTCRegion","description":"Sets the RTC region of the channel.","inherits":"BaseGuildVoiceChannel#setRTCRegion","inherited":true,"examples":["// Set the RTC region to sydney\nchannel.setRTCRegion('sydney');","// Remove a fixed region for this channel - let Discord decide automatically\nchannel.setRTCRegion(null, 'We want to let Discord decide.');"],"params":[{"name":"rtcRegion","description":"The new region of the channel. Set to `null` to remove a specific region for the channel","nullable":true,"type":[[["string"]]]},{"name":"reason","description":"The reason for modifying this region.","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["BaseGuildVoiceChannel",">"]]],"meta":{"line":197,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"setUserLimit","description":"Sets the user limit of the channel.","inherits":"BaseGuildVoiceChannel#setUserLimit","inherited":true,"examples":["// Set the user limit of a voice channel\nchannel.setUserLimit(42)\n .then(channel => console.log(`Set user limit to ${channel.userLimit} for ${channel.name}`))\n .catch(console.error);"],"params":[{"name":"userLimit","description":"The new user limit","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the user limit","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["BaseGuildVoiceChannel",">"]]],"meta":{"line":212,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"setVideoQualityMode","description":"Sets the camera video quality mode of the channel.","inherits":"BaseGuildVoiceChannel#setVideoQualityMode","inherited":true,"params":[{"name":"videoQualityMode","description":"The new camera video quality mode.","type":[[["VideoQualityMode"]],[["number"]]]},{"name":"reason","description":"Reason for changing the camera video quality mode.","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["BaseGuildVoiceChannel",">"]]],"meta":{"line":222,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"send","description":"Sends a message to this channel.","inherits":"BaseGuildVoiceChannel#send","inherited":true,"implements":["TextBasedChannel#send"],"examples":["// Send a basic message\nchannel.send('hello!')\n .then(message => console.log(`Sent message: ${message.content}`))\n .catch(console.error);","// Send a remote file\nchannel.send({\n files: ['https://cdn.discordapp.com/icons/222078108977594368/6e1019b3179d71046e463a75915e7244.png?size=2048']\n})\n .then(console.log)\n .catch(console.error);","// Send a local file\nchannel.send({\n files: [{\n attachment: 'entire/path/to/file.jpg',\n name: 'file.jpg',\n description: 'A description of the file'\n }]\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["MessageOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":150,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"sendTyping","description":"Sends a typing indicator in the channel.","inherits":"BaseGuildVoiceChannel#sendTyping","inherited":true,"implements":["TextBasedChannel#sendTyping"],"examples":["// Start typing in a channel\nchannel.sendTyping();"],"async":true,"returns":{"types":[[["Promise","<"],["void",">"]]],"description":"Resolves upon the typing status being sent"},"meta":{"line":355,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createMessageCollector","description":"Creates a Message Collector.","inherits":"BaseGuildVoiceChannel#createMessageCollector","inherited":true,"implements":["TextBasedChannel#createMessageCollector"],"examples":["// Create a message collector\nconst filter = m => m.content.includes('discord');\nconst collector = channel.createMessageCollector({ filter, time: 15_000 });\ncollector.on('collect', m => console.log(`Collected ${m.content}`));\ncollector.on('end', collected => console.log(`Collected ${collected.size} items`));"],"params":[{"name":"options","description":"The options to pass to the collector","optional":true,"default":"{}","type":[[["MessageCollectorOptions"]]]}],"returns":[[["MessageCollector"]]],"meta":{"line":370,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"awaitMessages","description":"Similar to createMessageCollector but in promise form.\nResolves with a collection of messages that pass the specified filter.","inherits":"BaseGuildVoiceChannel#awaitMessages","inherited":true,"implements":["TextBasedChannel#awaitMessages"],"examples":["// Await !vote messages\nconst filter = m => m.content.startsWith('!vote');\n// Errors: ['time'] treats ending because of the time limit as an error\nchannel.awaitMessages({ filter, max: 4, time: 60_000, errors: ['time'] })\n .then(collected => console.log(collected.size))\n .catch(collected => console.log(`After a minute, only ${collected.size} out of 4 voted.`));"],"params":[{"name":"options","description":"Optional options to pass to the internal collector","optional":true,"default":"{}","type":[[["AwaitMessagesOptions"]]]}],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Message",">>"]]],"meta":{"line":393,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"fetchWebhooks","description":"Fetches all webhooks for the channel.","inherits":"BaseGuildVoiceChannel#fetchWebhooks","inherited":true,"implements":["TextBasedChannel#fetchWebhooks"],"examples":["// Fetch webhooks\nchannel.fetchWebhooks()\n .then(hooks => console.log(`This channel has ${hooks.size} hooks`))\n .catch(console.error);"],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Webhook",">>"]]],"meta":{"line":415,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createWebhook","description":"Creates a webhook for the channel.","inherits":"BaseGuildVoiceChannel#createWebhook","inherited":true,"implements":["TextBasedChannel#createWebhook"],"examples":["// Create a webhook for the current channel\nchannel.createWebhook('Snek', {\n avatar: 'https://i.imgur.com/mI8XcpG.jpg',\n reason: 'Needed a cool new Webhook'\n})\n .then(console.log)\n .catch(console.error)"],"params":[{"name":"name","description":"The name of the webhook","type":[[["string"]]]},{"name":"options","description":"Options for creating the webhook","optional":true,"type":[[["ChannelWebhookCreateOptions"]]]}],"returns":{"types":[[["Promise","<"],["Webhook",">"]]],"description":"Returns the created Webhook"},"meta":{"line":440,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"setRateLimitPerUser","description":"Sets the rate limit per user (slowmode) for this channel.","inherits":"BaseGuildVoiceChannel#setRateLimitPerUser","inherited":true,"implements":["TextBasedChannel#setRateLimitPerUser"],"params":[{"name":"rateLimitPerUser","description":"The new rate limit in seconds","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the channel's rate limit","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":450,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"setNSFW","description":"Sets whether this channel is flagged as NSFW.","inherits":"BaseGuildVoiceChannel#setNSFW","inherited":true,"implements":["TextBasedChannel#setNSFW"],"params":[{"name":"nsfw","description":"Whether the channel should be considered NSFW","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"Reason for changing the channel's NSFW flag","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":460,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"permissionsFor","description":"Gets the overall set of permissions for a member or role in this channel, taking into account channel overwrites.","inherits":"GuildChannel#permissionsFor","inherited":true,"params":[{"name":"memberOrRole","description":"The member or role to obtain the overall permissions for","type":[[["GuildMemberResolvable"]],[["RoleResolvable"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":{"types":[[["Readonly","<"],["Permissions",">"]]],"nullable":true},"meta":{"line":172,"file":"GuildChannel.js","path":"src/structures"}},{"name":"memberPermissions","description":"Gets the overall set of permissions for a member in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#memberPermissions","inherited":true,"params":[{"name":"member","description":"The member to obtain the overall permissions for","type":[[["GuildMember"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","default":true,"type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":212,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rolePermissions","description":"Gets the overall set of permissions for a role in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#rolePermissions","inherited":true,"params":[{"name":"role","description":"The role to obtain the overall permissions for","type":[[["Role"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":241,"file":"GuildChannel.js","path":"src/structures"}},{"name":"lockPermissions","description":"Locks in the permission overwrites from the parent channel.","inherits":"GuildChannel#lockPermissions","inherited":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":261,"file":"GuildChannel.js","path":"src/structures"}},{"name":"edit","description":"Edits the channel.","inherits":"GuildChannel#edit","inherited":true,"examples":["// Edit a channel\nchannel.edit({ name: 'new-channel' })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"data","description":"The new data for the channel","type":[[["ChannelData"]]]},{"name":"reason","description":"Reason for editing this channel","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":289,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setName","description":"Sets a new name for the guild channel.","inherits":"GuildChannel#setName","inherited":true,"examples":["// Set a new channel name\nchannel.setName('not_general')\n .then(newChannel => console.log(`Channel's new name is ${newChannel.name}`))\n .catch(console.error);"],"params":[{"name":"name","description":"The new name for the guild channel","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild channel's name","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":304,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setParent","description":"Sets the parent of this channel.","inherits":"GuildChannel#setParent","inherited":true,"examples":["// Add a parent to a channel\nmessage.channel.setParent('355908108431917066', { lockPermissions: false })\n .then(channel => console.log(`New parent of ${message.channel.name}: ${channel.name}`))\n .catch(console.error);"],"params":[{"name":"channel","description":"The category channel to set as the parent","nullable":true,"type":[[["CategoryChannelResolvable"]]]},{"name":"options","description":"The options for setting the parent","optional":true,"default":"{}","type":[[["SetParentOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":326,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setPosition","description":"Sets a new position for the guild channel.","inherits":"GuildChannel#setPosition","inherited":true,"examples":["// Set a new channel position\nchannel.setPosition(2)\n .then(newChannel => console.log(`Channel's new position is ${newChannel.position}`))\n .catch(console.error);"],"params":[{"name":"position","description":"The new position for the guild channel","type":[[["number"]]]},{"name":"options","description":"Options for setting position","optional":true,"type":[[["SetChannelPositionOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":354,"file":"GuildChannel.js","path":"src/structures"}},{"name":"clone","description":"Clones this channel.","inherits":"GuildChannel#clone","inherited":true,"params":[{"name":"options","description":"The options for cloning this channel","optional":true,"type":[[["GuildChannelCloneOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":369,"file":"GuildChannel.js","path":"src/structures"}},{"name":"equals","description":"Checks if this channel has the same type, topic, position, name, overwrites, and id as another channel.\nIn most cases, a simple `channel.id === channel2.id` will do, and is much faster too.","inherits":"GuildChannel#equals","inherited":true,"params":[{"name":"channel","description":"Channel to compare with","type":[[["GuildChannel"]]]}],"returns":[[["boolean"]]],"meta":{"line":391,"file":"GuildChannel.js","path":"src/structures"}},{"name":"delete","description":"Deletes this channel.","inherits":"GuildChannel#delete","inherited":true,"examples":["// Delete the channel\nchannel.delete('making room for new channels')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"reason","description":"Reason for deleting this channel","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":462,"file":"GuildChannel.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the channel's mention instead of the Channel object.","inherits":"Channel#toString","inherited":true,"examples":["// Logs: Hello from <#123456789012345678>!\nconsole.log(`Hello from ${channel}!`);"],"returns":[[["string"]]],"meta":{"line":129,"file":"Channel.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this channel.","inherits":"Channel#fetch","inherited":true,"params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":152,"file":"Channel.js","path":"src/structures"}},{"name":"isText","description":"Indicates whether this channel is {@link TextBasedChannels text-based}.","inherits":"Channel#isText","inherited":true,"returns":[[["boolean"]]],"meta":{"line":160,"file":"Channel.js","path":"src/structures"}},{"name":"isVoice","description":"Indicates whether this channel is {@link BaseGuildVoiceChannel voice-based}.","inherits":"Channel#isVoice","inherited":true,"returns":[[["boolean"]]],"meta":{"line":168,"file":"Channel.js","path":"src/structures"}},{"name":"isThread","description":"Indicates whether this channel is a {@link ThreadChannel}.","inherits":"Channel#isThread","inherited":true,"returns":[[["boolean"]]],"meta":{"line":176,"file":"Channel.js","path":"src/structures"}},{"name":"isDirectory","description":"Indicates whether this channel is a {@link DirectoryChannel}","inherits":"Channel#isDirectory","inherited":true,"returns":[[["boolean"]]],"meta":{"line":184,"file":"Channel.js","path":"src/structures"}}],"meta":{"line":9,"file":"StageChannel.js","path":"src/structures"}},{"name":"StageInstance","description":"Represents a stage instance.","extends":[[["Base"]]],"props":[{"name":"id","description":"The stage instance's id","type":[[["Snowflake"]]],"meta":{"line":28,"file":"StageInstance.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild associated with the stage channel","type":[[["Snowflake"]]],"meta":{"line":39,"file":"StageInstance.js","path":"src/structures"}},{"name":"channelId","description":"The id of the channel associated with the stage channel","type":[[["Snowflake"]]],"meta":{"line":47,"file":"StageInstance.js","path":"src/structures"}},{"name":"topic","description":"The topic of the stage instance","type":[[["string"]]],"meta":{"line":55,"file":"StageInstance.js","path":"src/structures"}},{"name":"privacyLevel","description":"The privacy level of the stage instance","type":[[["PrivacyLevel"]]],"meta":{"line":63,"file":"StageInstance.js","path":"src/structures"}},{"name":"discoverableDisabled","description":"Whether or not stage discovery is disabled","nullable":true,"type":[[["boolean"]]],"meta":{"line":71,"file":"StageInstance.js","path":"src/structures"}},{"name":"guildScheduledEventId","description":"The associated guild scheduled event id of this stage instance","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":81,"file":"StageInstance.js","path":"src/structures"}},{"name":"channel","description":"The stage channel associated with this stage instance","readonly":true,"nullable":true,"type":[[["StageChannel"]]],"meta":{"line":92,"file":"StageInstance.js","path":"src/structures"}},{"name":"guildScheduledEvent","description":"The associated guild scheduled event of this stage instance","readonly":true,"nullable":true,"type":[[["GuildScheduledEvent"]]],"meta":{"line":101,"file":"StageInstance.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the stage instance has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":110,"file":"StageInstance.js","path":"src/structures"}},{"name":"guild","description":"The guild this stage instance belongs to","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":140,"file":"StageInstance.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp this stage instances was created at","readonly":true,"type":[[["number"]]],"meta":{"line":193,"file":"StageInstance.js","path":"src/structures"}},{"name":"createdAt","description":"The time this stage instance was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":202,"file":"StageInstance.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"edit","description":"Edits this stage instance.","examples":["// Edit a stage instance\nstageInstance.edit({ topic: 'new topic' })\n .then(stageInstance => console.log(stageInstance))\n .catch(console.error)"],"params":[{"name":"options","description":"The options to edit the stage instance","type":[[["StageInstanceEditOptions"]]]}],"returns":[[["Promise","<"],["StageInstance",">"]]],"meta":{"line":154,"file":"StageInstance.js","path":"src/structures"}},{"name":"delete","description":"Deletes this stage instance.","examples":["// Delete a stage instance\nstageInstance.delete()\n .then(stageInstance => console.log(stageInstance))\n .catch(console.error);"],"async":true,"returns":[[["Promise","<"],["StageInstance",">"]]],"meta":{"line":167,"file":"StageInstance.js","path":"src/structures"}},{"name":"setTopic","description":"Sets the topic of this stage instance.","examples":["// Set topic of a stage instance\nstageInstance.setTopic('new topic')\n .then(stageInstance => console.log(`Set the topic to: ${stageInstance.topic}`))\n .catch(console.error);"],"params":[{"name":"topic","description":"The topic for the stage instance","type":[[["string"]]]}],"returns":[[["Promise","<"],["StageInstance",">"]]],"meta":{"line":184,"file":"StageInstance.js","path":"src/structures"}}],"meta":{"line":20,"file":"StageInstance.js","path":"src/structures"}},{"name":"Sticker","description":"Represents a Sticker.","extends":[[["Base"]]],"props":[{"name":"id","description":"The sticker's id","type":[[["Snowflake"]]],"meta":{"line":33,"file":"Sticker.js","path":"src/structures"}},{"name":"description","description":"The description of the sticker","nullable":true,"type":[[["string"]]],"meta":{"line":40,"file":"Sticker.js","path":"src/structures"}},{"name":"type","description":"The type of the sticker","nullable":true,"type":[[["StickerType"]]],"meta":{"line":50,"file":"Sticker.js","path":"src/structures"}},{"name":"format","description":"The format of the sticker","type":[[["StickerFormatType"]]],"meta":{"line":60,"file":"Sticker.js","path":"src/structures"}},{"name":"name","description":"The name of the sticker","type":[[["string"]]],"meta":{"line":68,"file":"Sticker.js","path":"src/structures"}},{"name":"packId","description":"The id of the pack the sticker is from, for standard stickers","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":76,"file":"Sticker.js","path":"src/structures"}},{"name":"tags","description":"An array of tags for the sticker","nullable":true,"type":[[["Array","<"],["string",">"]]],"meta":{"line":86,"file":"Sticker.js","path":"src/structures"}},{"name":"available","description":"Whether or not the guild sticker is available","nullable":true,"type":[[["boolean"]]],"meta":{"line":96,"file":"Sticker.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild that owns this sticker","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":106,"file":"Sticker.js","path":"src/structures"}},{"name":"user","description":"The user that uploaded the guild sticker","nullable":true,"type":[[["User"]]],"meta":{"line":116,"file":"Sticker.js","path":"src/structures"}},{"name":"sortValue","description":"The standard sticker's sort order within its pack","nullable":true,"type":[[["number"]]],"meta":{"line":126,"file":"Sticker.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the sticker was created at","readonly":true,"type":[[["number"]]],"meta":{"line":137,"file":"Sticker.js","path":"src/structures"}},{"name":"createdAt","description":"The time the sticker was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":146,"file":"Sticker.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the sticker has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":155,"file":"Sticker.js","path":"src/structures"}},{"name":"partial","description":"Whether this sticker is partial","readonly":true,"type":[[["boolean"]]],"meta":{"line":185,"file":"Sticker.js","path":"src/structures"}},{"name":"guild","description":"The guild that owns this sticker","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":194,"file":"Sticker.js","path":"src/structures"}},{"name":"url","description":"A link to the sticker\nIf the sticker's format is LOTTIE, it returns the URL of the Lottie JSON file.","type":[[["string"]]],"meta":{"line":203,"file":"Sticker.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"fetch","description":"Fetches this sticker.","async":true,"returns":[[["Promise","<"],["Sticker",">"]]],"meta":{"line":211,"file":"Sticker.js","path":"src/structures"}},{"name":"fetchPack","description":"Fetches the pack this sticker is part of from Discord, if this is a Nitro sticker.","async":true,"returns":[[["Promise",""],["StickerPack",">"]]],"meta":{"line":221,"file":"Sticker.js","path":"src/structures"}},{"name":"fetchUser","description":"Fetches the user who uploaded this sticker, if this is a guild sticker.","async":true,"returns":[[["Promise",""],["User",">"]]],"meta":{"line":229,"file":"Sticker.js","path":"src/structures"}},{"name":"edit","description":"Edits the sticker.","examples":["// Update the name of a sticker\nsticker.edit({ name: 'new name' })\n .then(s => console.log(`Updated the name of the sticker to ${s.name}`))\n .catch(console.error);"],"params":[{"name":"data","description":"The new data for the sticker","optional":true,"type":[[["GuildStickerEditData"]]]},{"name":"reason","description":"Reason for editing this sticker","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["Sticker",">"]]],"meta":{"line":254,"file":"Sticker.js","path":"src/structures"}},{"name":"delete","description":"Deletes the sticker.","examples":["// Delete a message\nsticker.delete()\n .then(s => console.log(`Deleted sticker ${s.name}`))\n .catch(console.error);"],"params":[{"name":"reason","description":"Reason for deleting this sticker","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Sticker",">"]]],"meta":{"line":268,"file":"Sticker.js","path":"src/structures"}},{"name":"equals","description":"Whether this sticker is the same as another one.","params":[{"name":"other","description":"The sticker to compare it to","type":[[["Sticker"]],[["APISticker"]]]}],"returns":[[["boolean"]]],"meta":{"line":278,"file":"Sticker.js","path":"src/structures"}}],"meta":{"line":21,"file":"Sticker.js","path":"src/structures"}},{"name":"StickerPack","description":"Represents a pack of standard stickers.","extends":[[["Base"]]],"props":[{"name":"id","description":"The Sticker pack's id","type":[[["Snowflake"]]],"meta":{"line":19,"file":"StickerPack.js","path":"src/structures"}},{"name":"stickers","description":"The stickers in the pack","type":[[["Collection","<"],["Snowflake",", "],["Sticker",">"]]],"meta":{"line":25,"file":"StickerPack.js","path":"src/structures"}},{"name":"name","description":"The name of the sticker pack","type":[[["string"]]],"meta":{"line":31,"file":"StickerPack.js","path":"src/structures"}},{"name":"skuId","description":"The id of the pack's SKU","type":[[["Snowflake"]]],"meta":{"line":37,"file":"StickerPack.js","path":"src/structures"}},{"name":"coverStickerId","description":"The id of a sticker in the pack which is shown as the pack's icon","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":43,"file":"StickerPack.js","path":"src/structures"}},{"name":"description","description":"The description of the sticker pack","type":[[["string"]]],"meta":{"line":49,"file":"StickerPack.js","path":"src/structures"}},{"name":"bannerId","description":"The id of the sticker pack's banner image","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":55,"file":"StickerPack.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the sticker was created at","readonly":true,"type":[[["number"]]],"meta":{"line":63,"file":"StickerPack.js","path":"src/structures"}},{"name":"createdAt","description":"The time the sticker was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":72,"file":"StickerPack.js","path":"src/structures"}},{"name":"coverSticker","description":"The sticker which is shown as the pack's icon","readonly":true,"nullable":true,"type":[[["Sticker"]]],"meta":{"line":81,"file":"StickerPack.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"bannerURL","description":"The URL to this sticker pack's banner.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":90,"file":"StickerPack.js","path":"src/structures"}}],"meta":{"line":12,"file":"StickerPack.js","path":"src/structures"}},{"name":"StoreChannel","description":"Represents a guild store channel on Discord.\nStore channels have been removed from Discord. See\n[Self-serve Game Selling Deprecation](https://support-dev.discord.com/hc/en-us/articles/6309018858647)\nfor more information.","extends":[[["GuildChannel"]]],"props":[{"name":"nsfw","description":"If the guild considers this channel NSFW","type":[[["boolean"]]],"meta":{"line":20,"file":"StoreChannel.js","path":"src/structures"}},{"name":"guild","description":"The guild the channel is in","type":[[["Guild"]]],"meta":{"line":30,"file":"GuildChannel.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild the channel is in","type":[[["Snowflake"]]],"meta":{"line":36,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionOverwrites","description":"A manager of permission overwrites that belong to this channel","type":[[["PermissionOverwriteManager"]]],"meta":{"line":43,"file":"GuildChannel.js","path":"src/structures"}},{"name":"name","description":"The name of the guild channel","type":[[["string"]]],"meta":{"line":56,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rawPosition","description":"The raw position of the channel from Discord","type":[[["number"]]],"meta":{"line":64,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parentId","description":"The id of the category parent of this channel","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":76,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parent","description":"The category parent of this channel","readonly":true,"nullable":true,"type":[[["CategoryChannel"]]],"meta":{"line":98,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionsLocked","description":"If the permissionOverwrites match the parent channel, null if no parent","readonly":true,"nullable":true,"type":[[["boolean"]]],"meta":{"line":107,"file":"GuildChannel.js","path":"src/structures"}},{"name":"position","description":"The position of the channel","readonly":true,"type":[[["number"]]],"meta":{"line":148,"file":"GuildChannel.js","path":"src/structures"}},{"name":"members","description":"A collection of cached members of this channel, mapped by their ids.\nMembers that can view this channel, if the channel is text-based.\nMembers in the channel, if the channel is voice-based.","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]],"meta":{"line":274,"file":"GuildChannel.js","path":"src/structures"}},{"name":"deletable","description":"Whether the channel is deletable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":416,"file":"GuildChannel.js","path":"src/structures"}},{"name":"manageable","description":"Whether the channel is manageable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":425,"file":"GuildChannel.js","path":"src/structures"}},{"name":"viewable","description":"Whether the channel is viewable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":445,"file":"GuildChannel.js","path":"src/structures"}},{"name":"type","description":"The type of the channel","type":[[["ChannelType"]]],"meta":{"line":41,"file":"Channel.js","path":"src/structures"}},{"name":"id","description":"The channel's id","type":[[["Snowflake"]]],"meta":{"line":51,"file":"Channel.js","path":"src/structures"}},{"name":"flags","description":"The flags that are applied to the channel.","nullable":true,"type":[[["Readonly","<"],["ChannelFlags",">"]]],"meta":{"line":58,"file":"Channel.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the channel was created at","readonly":true,"type":[[["number"]]],"meta":{"line":69,"file":"Channel.js","path":"src/structures"}},{"name":"createdAt","description":"The time the channel was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":78,"file":"Channel.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":87,"file":"Channel.js","path":"src/structures"}},{"name":"partial","description":"Whether this Channel is a partial\nThis is always false outside of DM channels.","readonly":true,"type":[[["boolean"]]],"meta":{"line":118,"file":"Channel.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"createInvite","description":"Creates an invite to this guild channel.","examples":["// Create an invite to a channel\nchannel.createInvite()\n .then(invite => console.log(`Created an invite with a code of ${invite.code}`))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for creating the invite","optional":true,"default":"{}","type":[[["CreateInviteOptions"]]]}],"returns":[[["Promise","<"],["Invite",">"]]],"meta":{"line":41,"file":"StoreChannel.js","path":"src/structures"}},{"name":"fetchInvites","description":"Fetches a collection of invites to this guild channel.\nResolves with a collection mapping invites by their codes.","params":[{"name":"cache","description":"Whether or not to cache the fetched invites","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Collection","<"],["string",", "],["Invite",">>"]]],"meta":{"line":51,"file":"StoreChannel.js","path":"src/structures"}},{"name":"permissionsFor","description":"Gets the overall set of permissions for a member or role in this channel, taking into account channel overwrites.","inherits":"GuildChannel#permissionsFor","inherited":true,"params":[{"name":"memberOrRole","description":"The member or role to obtain the overall permissions for","type":[[["GuildMemberResolvable"]],[["RoleResolvable"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":{"types":[[["Readonly","<"],["Permissions",">"]]],"nullable":true},"meta":{"line":172,"file":"GuildChannel.js","path":"src/structures"}},{"name":"memberPermissions","description":"Gets the overall set of permissions for a member in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#memberPermissions","inherited":true,"params":[{"name":"member","description":"The member to obtain the overall permissions for","type":[[["GuildMember"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","default":true,"type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":212,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rolePermissions","description":"Gets the overall set of permissions for a role in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#rolePermissions","inherited":true,"params":[{"name":"role","description":"The role to obtain the overall permissions for","type":[[["Role"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":241,"file":"GuildChannel.js","path":"src/structures"}},{"name":"lockPermissions","description":"Locks in the permission overwrites from the parent channel.","inherits":"GuildChannel#lockPermissions","inherited":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":261,"file":"GuildChannel.js","path":"src/structures"}},{"name":"edit","description":"Edits the channel.","inherits":"GuildChannel#edit","inherited":true,"examples":["// Edit a channel\nchannel.edit({ name: 'new-channel' })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"data","description":"The new data for the channel","type":[[["ChannelData"]]]},{"name":"reason","description":"Reason for editing this channel","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":289,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setName","description":"Sets a new name for the guild channel.","inherits":"GuildChannel#setName","inherited":true,"examples":["// Set a new channel name\nchannel.setName('not_general')\n .then(newChannel => console.log(`Channel's new name is ${newChannel.name}`))\n .catch(console.error);"],"params":[{"name":"name","description":"The new name for the guild channel","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild channel's name","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":304,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setParent","description":"Sets the parent of this channel.","inherits":"GuildChannel#setParent","inherited":true,"examples":["// Add a parent to a channel\nmessage.channel.setParent('355908108431917066', { lockPermissions: false })\n .then(channel => console.log(`New parent of ${message.channel.name}: ${channel.name}`))\n .catch(console.error);"],"params":[{"name":"channel","description":"The category channel to set as the parent","nullable":true,"type":[[["CategoryChannelResolvable"]]]},{"name":"options","description":"The options for setting the parent","optional":true,"default":"{}","type":[[["SetParentOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":326,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setPosition","description":"Sets a new position for the guild channel.","inherits":"GuildChannel#setPosition","inherited":true,"examples":["// Set a new channel position\nchannel.setPosition(2)\n .then(newChannel => console.log(`Channel's new position is ${newChannel.position}`))\n .catch(console.error);"],"params":[{"name":"position","description":"The new position for the guild channel","type":[[["number"]]]},{"name":"options","description":"Options for setting position","optional":true,"type":[[["SetChannelPositionOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":354,"file":"GuildChannel.js","path":"src/structures"}},{"name":"clone","description":"Clones this channel.","inherits":"GuildChannel#clone","inherited":true,"params":[{"name":"options","description":"The options for cloning this channel","optional":true,"type":[[["GuildChannelCloneOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":369,"file":"GuildChannel.js","path":"src/structures"}},{"name":"equals","description":"Checks if this channel has the same type, topic, position, name, overwrites, and id as another channel.\nIn most cases, a simple `channel.id === channel2.id` will do, and is much faster too.","inherits":"GuildChannel#equals","inherited":true,"params":[{"name":"channel","description":"Channel to compare with","type":[[["GuildChannel"]]]}],"returns":[[["boolean"]]],"meta":{"line":391,"file":"GuildChannel.js","path":"src/structures"}},{"name":"delete","description":"Deletes this channel.","inherits":"GuildChannel#delete","inherited":true,"examples":["// Delete the channel\nchannel.delete('making room for new channels')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"reason","description":"Reason for deleting this channel","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":462,"file":"GuildChannel.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the channel's mention instead of the Channel object.","inherits":"Channel#toString","inherited":true,"examples":["// Logs: Hello from <#123456789012345678>!\nconsole.log(`Hello from ${channel}!`);"],"returns":[[["string"]]],"meta":{"line":129,"file":"Channel.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this channel.","inherits":"Channel#fetch","inherited":true,"params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":152,"file":"Channel.js","path":"src/structures"}},{"name":"isText","description":"Indicates whether this channel is {@link TextBasedChannels text-based}.","inherits":"Channel#isText","inherited":true,"returns":[[["boolean"]]],"meta":{"line":160,"file":"Channel.js","path":"src/structures"}},{"name":"isVoice","description":"Indicates whether this channel is {@link BaseGuildVoiceChannel voice-based}.","inherits":"Channel#isVoice","inherited":true,"returns":[[["boolean"]]],"meta":{"line":168,"file":"Channel.js","path":"src/structures"}},{"name":"isThread","description":"Indicates whether this channel is a {@link ThreadChannel}.","inherits":"Channel#isThread","inherited":true,"returns":[[["boolean"]]],"meta":{"line":176,"file":"Channel.js","path":"src/structures"}},{"name":"isDirectory","description":"Indicates whether this channel is a {@link DirectoryChannel}","inherits":"Channel#isDirectory","inherited":true,"returns":[[["boolean"]]],"meta":{"line":184,"file":"Channel.js","path":"src/structures"}}],"meta":{"line":12,"file":"StoreChannel.js","path":"src/structures"}},{"name":"Team","description":"Represents a Client OAuth2 Application Team.","extends":[[["Base"]]],"props":[{"name":"id","description":"The Team's id","type":[[["Snowflake"]]],"meta":{"line":23,"file":"Team.js","path":"src/structures"}},{"name":"name","description":"The name of the Team","type":[[["string"]]],"meta":{"line":30,"file":"Team.js","path":"src/structures"}},{"name":"icon","description":"The Team's icon hash","nullable":true,"type":[[["string"]]],"meta":{"line":38,"file":"Team.js","path":"src/structures"}},{"name":"ownerId","description":"The Team's owner id","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":48,"file":"Team.js","path":"src/structures"}},{"name":"members","description":"The Team's members","type":[[["Collection","<"],["Snowflake",", "],["TeamMember",">"]]],"meta":{"line":56,"file":"Team.js","path":"src/structures"}},{"name":"owner","description":"The owner of this team","readonly":true,"nullable":true,"type":[[["TeamMember"]]],"meta":{"line":69,"file":"Team.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the team was created at","readonly":true,"type":[[["number"]]],"meta":{"line":78,"file":"Team.js","path":"src/structures"}},{"name":"createdAt","description":"The time the team was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":87,"file":"Team.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"iconURL","description":"A link to the team's icon.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":96,"file":"Team.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the Team's name instead of the\nTeam object.","examples":["// Logs: Team name: My Team\nconsole.log(`Team name: ${team}`);"],"returns":[[["string"]]],"meta":{"line":109,"file":"Team.js","path":"src/structures"}}],"meta":{"line":12,"file":"Team.js","path":"src/structures"}},{"name":"TeamMember","description":"Represents a Client OAuth2 Application Team Member.","extends":[[["Base"]]],"props":[{"name":"team","description":"The Team this member is part of","type":[[["Team"]]],"meta":{"line":18,"file":"TeamMember.js","path":"src/structures"}},{"name":"permissions","description":"The permissions this Team Member has with regard to the team","type":[[["Array","<"],["string",">"]]],"meta":{"line":29,"file":"TeamMember.js","path":"src/structures"}},{"name":"membershipState","description":"The permissions this Team Member has with regard to the team","type":[[["MembershipState"]]],"meta":{"line":37,"file":"TeamMember.js","path":"src/structures"}},{"name":"user","description":"The user for this Team Member","type":[[["User"]]],"meta":{"line":45,"file":"TeamMember.js","path":"src/structures"}},{"name":"id","description":"The Team Member's id","readonly":true,"type":[[["Snowflake"]]],"meta":{"line":54,"file":"TeamMember.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"toString","description":"When concatenated with a string, this automatically returns the team member's mention instead of the\nTeamMember object.","examples":["// Logs: Team Member's mention: <@123456789012345678>\nconsole.log(`Team Member's mention: ${teamMember}`);"],"returns":[[["string"]]],"meta":{"line":66,"file":"TeamMember.js","path":"src/structures"}}],"meta":{"line":10,"file":"TeamMember.js","path":"src/structures"}},{"name":"TextChannel","description":"Represents a guild text channel on Discord.","extends":[[["BaseGuildTextChannel"]]],"props":[{"name":"rateLimitPerUser","description":"The rate limit per user (slowmode) for this channel in seconds","type":[[["number"]]],"meta":{"line":18,"file":"TextChannel.js","path":"src/structures"}},{"name":"messages","description":"A manager of the messages sent to this channel","type":[[["MessageManager"]]],"meta":{"line":21,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"threads","description":"A manager of the threads belonging to this channel","type":[[["GuildTextThreadManager"]]],"meta":{"line":27,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"nsfw","description":"If the guild considers this channel NSFW","type":[[["boolean"]]],"meta":{"line":33,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"topic","description":"The topic of the text channel","nullable":true,"type":[[["string"]]],"meta":{"line":46,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"lastMessageId","description":"The last message id sent in the channel, if one was sent","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":58,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"lastPinTimestamp","description":"The timestamp when the last pinned message was pinned, if there was one","nullable":true,"type":[[["number"]]],"meta":{"line":66,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"defaultAutoArchiveDuration","description":"The default auto archive duration for newly created threads in this channel","nullable":true,"type":[[["number"]]],"meta":{"line":74,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"defaultThreadRateLimitPerUser","description":"The initial rate limit per user (slowmode) to set on newly created threads in a channel.","nullable":true,"type":[[["number"]]],"meta":{"line":82,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"lastMessage","description":"The Message object of the last message in the channel, if one was sent","readonly":true,"nullable":true,"type":[[["Message"]]],"meta":{"line":50,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"lastPinAt","description":"The date when the last pinned message was pinned, if there was one","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":59,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"guild","description":"The guild the channel is in","type":[[["Guild"]]],"meta":{"line":30,"file":"GuildChannel.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild the channel is in","type":[[["Snowflake"]]],"meta":{"line":36,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionOverwrites","description":"A manager of permission overwrites that belong to this channel","type":[[["PermissionOverwriteManager"]]],"meta":{"line":43,"file":"GuildChannel.js","path":"src/structures"}},{"name":"name","description":"The name of the guild channel","type":[[["string"]]],"meta":{"line":56,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rawPosition","description":"The raw position of the channel from Discord","type":[[["number"]]],"meta":{"line":64,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parentId","description":"The id of the category parent of this channel","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":76,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parent","description":"The category parent of this channel","readonly":true,"nullable":true,"type":[[["CategoryChannel"]]],"meta":{"line":98,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionsLocked","description":"If the permissionOverwrites match the parent channel, null if no parent","readonly":true,"nullable":true,"type":[[["boolean"]]],"meta":{"line":107,"file":"GuildChannel.js","path":"src/structures"}},{"name":"position","description":"The position of the channel","readonly":true,"type":[[["number"]]],"meta":{"line":148,"file":"GuildChannel.js","path":"src/structures"}},{"name":"members","description":"A collection of cached members of this channel, mapped by their ids.\nMembers that can view this channel, if the channel is text-based.\nMembers in the channel, if the channel is voice-based.","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]],"meta":{"line":274,"file":"GuildChannel.js","path":"src/structures"}},{"name":"deletable","description":"Whether the channel is deletable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":416,"file":"GuildChannel.js","path":"src/structures"}},{"name":"manageable","description":"Whether the channel is manageable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":425,"file":"GuildChannel.js","path":"src/structures"}},{"name":"viewable","description":"Whether the channel is viewable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":445,"file":"GuildChannel.js","path":"src/structures"}},{"name":"type","description":"The type of the channel","type":[[["ChannelType"]]],"meta":{"line":41,"file":"Channel.js","path":"src/structures"}},{"name":"id","description":"The channel's id","type":[[["Snowflake"]]],"meta":{"line":51,"file":"Channel.js","path":"src/structures"}},{"name":"flags","description":"The flags that are applied to the channel.","nullable":true,"type":[[["Readonly","<"],["ChannelFlags",">"]]],"meta":{"line":58,"file":"Channel.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the channel was created at","readonly":true,"type":[[["number"]]],"meta":{"line":69,"file":"Channel.js","path":"src/structures"}},{"name":"createdAt","description":"The time the channel was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":78,"file":"Channel.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":87,"file":"Channel.js","path":"src/structures"}},{"name":"partial","description":"Whether this Channel is a partial\nThis is always false outside of DM channels.","readonly":true,"type":[[["boolean"]]],"meta":{"line":118,"file":"Channel.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"setRateLimitPerUser","description":"Sets the rate limit per user (slowmode) for this channel.","params":[{"name":"rateLimitPerUser","description":"The new rate limit in seconds","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the channel's rate limit","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["TextChannel",">"]]],"meta":{"line":28,"file":"TextChannel.js","path":"src/structures"}},{"name":"setDefaultAutoArchiveDuration","description":"Sets the default auto archive duration for all newly created threads in this channel.","inherits":"BaseGuildTextChannel#setDefaultAutoArchiveDuration","inherited":true,"params":[{"name":"defaultAutoArchiveDuration","description":"The new default auto archive duration","type":[[["ThreadAutoArchiveDuration"]]]},{"name":"reason","description":"Reason for changing the channel's default auto archive duration","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["TextChannel",">"]]],"meta":{"line":98,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"setType","description":"Sets the type of this channel (only conversion between text and news is supported)","inherits":"BaseGuildTextChannel#setType","inherited":true,"params":[{"name":"type","description":"The new channel type","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the channel's type","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":108,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"setTopic","description":"Sets a new topic for the guild channel.","inherits":"BaseGuildTextChannel#setTopic","inherited":true,"examples":["// Set a new channel topic\nchannel.setTopic('needs more rate limiting')\n .then(newChannel => console.log(`Channel's new topic is ${newChannel.topic}`))\n .catch(console.error);"],"params":[{"name":"topic","description":"The new topic for the guild channel","nullable":true,"type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild channel's topic","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":123,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"createInvite","description":"Creates an invite to this guild channel.","inherits":"BaseGuildTextChannel#createInvite","inherited":true,"examples":["// Create an invite to a channel\nchannel.createInvite()\n .then(invite => console.log(`Created an invite with a code of ${invite.code}`))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for creating the invite","optional":true,"default":"{}","type":[[["CreateInviteOptions"]]]}],"returns":[[["Promise","<"],["Invite",">"]]],"meta":{"line":161,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"fetchInvites","description":"Fetches a collection of invites to this guild channel.\nResolves with a collection mapping invites by their codes.","inherits":"BaseGuildTextChannel#fetchInvites","inherited":true,"params":[{"name":"cache","description":"Whether or not to cache the fetched invites","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Collection","<"],["string",", "],["Invite",">>"]]],"meta":{"line":171,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"send","description":"Sends a message to this channel.","inherits":"BaseGuildTextChannel#send","inherited":true,"implements":["TextBasedChannel#send"],"examples":["// Send a basic message\nchannel.send('hello!')\n .then(message => console.log(`Sent message: ${message.content}`))\n .catch(console.error);","// Send a remote file\nchannel.send({\n files: ['https://cdn.discordapp.com/icons/222078108977594368/6e1019b3179d71046e463a75915e7244.png?size=2048']\n})\n .then(console.log)\n .catch(console.error);","// Send a local file\nchannel.send({\n files: [{\n attachment: 'entire/path/to/file.jpg',\n name: 'file.jpg',\n description: 'A description of the file'\n }]\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["MessageOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":150,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"sendTyping","description":"Sends a typing indicator in the channel.","inherits":"BaseGuildTextChannel#sendTyping","inherited":true,"implements":["TextBasedChannel#sendTyping"],"examples":["// Start typing in a channel\nchannel.sendTyping();"],"async":true,"returns":{"types":[[["Promise","<"],["void",">"]]],"description":"Resolves upon the typing status being sent"},"meta":{"line":355,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createMessageCollector","description":"Creates a Message Collector.","inherits":"BaseGuildTextChannel#createMessageCollector","inherited":true,"implements":["TextBasedChannel#createMessageCollector"],"examples":["// Create a message collector\nconst filter = m => m.content.includes('discord');\nconst collector = channel.createMessageCollector({ filter, time: 15_000 });\ncollector.on('collect', m => console.log(`Collected ${m.content}`));\ncollector.on('end', collected => console.log(`Collected ${collected.size} items`));"],"params":[{"name":"options","description":"The options to pass to the collector","optional":true,"default":"{}","type":[[["MessageCollectorOptions"]]]}],"returns":[[["MessageCollector"]]],"meta":{"line":370,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"awaitMessages","description":"Similar to createMessageCollector but in promise form.\nResolves with a collection of messages that pass the specified filter.","inherits":"BaseGuildTextChannel#awaitMessages","inherited":true,"implements":["TextBasedChannel#awaitMessages"],"examples":["// Await !vote messages\nconst filter = m => m.content.startsWith('!vote');\n// Errors: ['time'] treats ending because of the time limit as an error\nchannel.awaitMessages({ filter, max: 4, time: 60_000, errors: ['time'] })\n .then(collected => console.log(collected.size))\n .catch(collected => console.log(`After a minute, only ${collected.size} out of 4 voted.`));"],"params":[{"name":"options","description":"Optional options to pass to the internal collector","optional":true,"default":"{}","type":[[["AwaitMessagesOptions"]]]}],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Message",">>"]]],"meta":{"line":393,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"fetchWebhooks","description":"Fetches all webhooks for the channel.","inherits":"BaseGuildTextChannel#fetchWebhooks","inherited":true,"implements":["TextBasedChannel#fetchWebhooks"],"examples":["// Fetch webhooks\nchannel.fetchWebhooks()\n .then(hooks => console.log(`This channel has ${hooks.size} hooks`))\n .catch(console.error);"],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Webhook",">>"]]],"meta":{"line":415,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createWebhook","description":"Creates a webhook for the channel.","inherits":"BaseGuildTextChannel#createWebhook","inherited":true,"implements":["TextBasedChannel#createWebhook"],"examples":["// Create a webhook for the current channel\nchannel.createWebhook('Snek', {\n avatar: 'https://i.imgur.com/mI8XcpG.jpg',\n reason: 'Needed a cool new Webhook'\n})\n .then(console.log)\n .catch(console.error)"],"params":[{"name":"name","description":"The name of the webhook","type":[[["string"]]]},{"name":"options","description":"Options for creating the webhook","optional":true,"type":[[["ChannelWebhookCreateOptions"]]]}],"returns":{"types":[[["Promise","<"],["Webhook",">"]]],"description":"Returns the created Webhook"},"meta":{"line":440,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"setNSFW","description":"Sets whether this channel is flagged as NSFW.","inherits":"BaseGuildTextChannel#setNSFW","inherited":true,"implements":["TextBasedChannel#setNSFW"],"params":[{"name":"nsfw","description":"Whether the channel should be considered NSFW","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"Reason for changing the channel's NSFW flag","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":460,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"permissionsFor","description":"Gets the overall set of permissions for a member or role in this channel, taking into account channel overwrites.","inherits":"GuildChannel#permissionsFor","inherited":true,"params":[{"name":"memberOrRole","description":"The member or role to obtain the overall permissions for","type":[[["GuildMemberResolvable"]],[["RoleResolvable"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":{"types":[[["Readonly","<"],["Permissions",">"]]],"nullable":true},"meta":{"line":172,"file":"GuildChannel.js","path":"src/structures"}},{"name":"memberPermissions","description":"Gets the overall set of permissions for a member in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#memberPermissions","inherited":true,"params":[{"name":"member","description":"The member to obtain the overall permissions for","type":[[["GuildMember"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","default":true,"type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":212,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rolePermissions","description":"Gets the overall set of permissions for a role in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#rolePermissions","inherited":true,"params":[{"name":"role","description":"The role to obtain the overall permissions for","type":[[["Role"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":241,"file":"GuildChannel.js","path":"src/structures"}},{"name":"lockPermissions","description":"Locks in the permission overwrites from the parent channel.","inherits":"GuildChannel#lockPermissions","inherited":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":261,"file":"GuildChannel.js","path":"src/structures"}},{"name":"edit","description":"Edits the channel.","inherits":"GuildChannel#edit","inherited":true,"examples":["// Edit a channel\nchannel.edit({ name: 'new-channel' })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"data","description":"The new data for the channel","type":[[["ChannelData"]]]},{"name":"reason","description":"Reason for editing this channel","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":289,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setName","description":"Sets a new name for the guild channel.","inherits":"GuildChannel#setName","inherited":true,"examples":["// Set a new channel name\nchannel.setName('not_general')\n .then(newChannel => console.log(`Channel's new name is ${newChannel.name}`))\n .catch(console.error);"],"params":[{"name":"name","description":"The new name for the guild channel","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild channel's name","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":304,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setParent","description":"Sets the parent of this channel.","inherits":"GuildChannel#setParent","inherited":true,"examples":["// Add a parent to a channel\nmessage.channel.setParent('355908108431917066', { lockPermissions: false })\n .then(channel => console.log(`New parent of ${message.channel.name}: ${channel.name}`))\n .catch(console.error);"],"params":[{"name":"channel","description":"The category channel to set as the parent","nullable":true,"type":[[["CategoryChannelResolvable"]]]},{"name":"options","description":"The options for setting the parent","optional":true,"default":"{}","type":[[["SetParentOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":326,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setPosition","description":"Sets a new position for the guild channel.","inherits":"GuildChannel#setPosition","inherited":true,"examples":["// Set a new channel position\nchannel.setPosition(2)\n .then(newChannel => console.log(`Channel's new position is ${newChannel.position}`))\n .catch(console.error);"],"params":[{"name":"position","description":"The new position for the guild channel","type":[[["number"]]]},{"name":"options","description":"Options for setting position","optional":true,"type":[[["SetChannelPositionOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":354,"file":"GuildChannel.js","path":"src/structures"}},{"name":"clone","description":"Clones this channel.","inherits":"GuildChannel#clone","inherited":true,"params":[{"name":"options","description":"The options for cloning this channel","optional":true,"type":[[["GuildChannelCloneOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":369,"file":"GuildChannel.js","path":"src/structures"}},{"name":"equals","description":"Checks if this channel has the same type, topic, position, name, overwrites, and id as another channel.\nIn most cases, a simple `channel.id === channel2.id` will do, and is much faster too.","inherits":"GuildChannel#equals","inherited":true,"params":[{"name":"channel","description":"Channel to compare with","type":[[["GuildChannel"]]]}],"returns":[[["boolean"]]],"meta":{"line":391,"file":"GuildChannel.js","path":"src/structures"}},{"name":"delete","description":"Deletes this channel.","inherits":"GuildChannel#delete","inherited":true,"examples":["// Delete the channel\nchannel.delete('making room for new channels')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"reason","description":"Reason for deleting this channel","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":462,"file":"GuildChannel.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the channel's mention instead of the Channel object.","inherits":"Channel#toString","inherited":true,"examples":["// Logs: Hello from <#123456789012345678>!\nconsole.log(`Hello from ${channel}!`);"],"returns":[[["string"]]],"meta":{"line":129,"file":"Channel.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this channel.","inherits":"Channel#fetch","inherited":true,"params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":152,"file":"Channel.js","path":"src/structures"}},{"name":"isText","description":"Indicates whether this channel is {@link TextBasedChannels text-based}.","inherits":"Channel#isText","inherited":true,"returns":[[["boolean"]]],"meta":{"line":160,"file":"Channel.js","path":"src/structures"}},{"name":"isVoice","description":"Indicates whether this channel is {@link BaseGuildVoiceChannel voice-based}.","inherits":"Channel#isVoice","inherited":true,"returns":[[["boolean"]]],"meta":{"line":168,"file":"Channel.js","path":"src/structures"}},{"name":"isThread","description":"Indicates whether this channel is a {@link ThreadChannel}.","inherits":"Channel#isThread","inherited":true,"returns":[[["boolean"]]],"meta":{"line":176,"file":"Channel.js","path":"src/structures"}},{"name":"isDirectory","description":"Indicates whether this channel is a {@link DirectoryChannel}","inherits":"Channel#isDirectory","inherited":true,"returns":[[["boolean"]]],"meta":{"line":184,"file":"Channel.js","path":"src/structures"}}],"meta":{"line":9,"file":"TextChannel.js","path":"src/structures"}},{"name":"TextInputComponent","description":"Represents a text input component in a modal","extends":[[["BaseMessageComponent"]]],"construct":{"name":"TextInputComponent","params":[{"name":"data","description":"TextInputComponent to clone or raw data","optional":true,"default":"{}","type":[[["TextInputComponent"]],[["TextInputComponentOptions"]]]}]},"props":[{"name":"customId","description":"A unique string to be sent in the interaction when submitted","nullable":true,"type":[[["string"]]],"meta":{"line":40,"file":"TextInputComponent.js","path":"src/structures"}},{"name":"label","description":"The text to be displayed above this text input component","nullable":true,"type":[[["string"]]],"meta":{"line":46,"file":"TextInputComponent.js","path":"src/structures"}},{"name":"maxLength","description":"Maximum length of text that can be entered","nullable":true,"type":[[["number"]]],"meta":{"line":52,"file":"TextInputComponent.js","path":"src/structures"}},{"name":"minLength","description":"Minimum length of text required to be entered","nullable":true,"type":[[["string"]]],"meta":{"line":58,"file":"TextInputComponent.js","path":"src/structures"}},{"name":"placeholder","description":"Custom placeholder text to display when no text is entered","nullable":true,"type":[[["string"]]],"meta":{"line":64,"file":"TextInputComponent.js","path":"src/structures"}},{"name":"required","description":"Whether or not this text input component is required","nullable":true,"type":[[["boolean"]]],"meta":{"line":70,"file":"TextInputComponent.js","path":"src/structures"}},{"name":"style","description":"The style of this text input component","nullable":true,"type":[[["TextInputStyle"]]],"meta":{"line":76,"file":"TextInputComponent.js","path":"src/structures"}},{"name":"value","description":"Value of this text input component","nullable":true,"type":[[["string"]]],"meta":{"line":82,"file":"TextInputComponent.js","path":"src/structures"}},{"name":"type","description":"The type of this component","nullable":true,"type":[[["MessageComponentType"]]],"meta":{"line":52,"file":"BaseMessageComponent.js","path":"src/structures"}}],"methods":[{"name":"setValue","description":"Sets the value of this text input component","params":[{"name":"value","description":"Value of this text input component","type":[[["string"]]]}],"returns":[[["TextInputComponent"]]],"meta":{"line":90,"file":"TextInputComponent.js","path":"src/structures"}},{"name":"toJSON","description":"Transforms the text input component into a plain object","returns":{"types":[[["APITextInput"]]],"description":"The raw data of this text input component"},"meta":{"line":99,"file":"TextInputComponent.js","path":"src/structures"}},{"name":"resolveStyle","description":"Resolves the style of a text input component","scope":"static","access":"private","params":[{"name":"style","description":"The style to resolve","type":[[["TextInputStyleResolvable"]]]}],"returns":[[["TextInputStyle"]]],"meta":{"line":126,"file":"TextInputComponent.js","path":"src/structures"}}],"meta":{"line":13,"file":"TextInputComponent.js","path":"src/structures"}},{"name":"ThreadChannel","description":"Represents a thread channel on Discord.","extends":[[["Channel"]]],"implements":[[["TextBasedChannel"]]],"props":[{"name":"guild","description":"The guild the thread is in","type":[[["Guild"]]],"meta":{"line":25,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild the channel is in","type":[[["Snowflake"]]],"meta":{"line":31,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"messages","description":"A manager of the messages sent to this thread","type":[[["MessageManager"]]],"meta":{"line":37,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"members","description":"A manager of the members that are part of this thread","type":[[["ThreadMemberManager"]]],"meta":{"line":43,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"name","description":"The name of the thread","type":[[["string"]]],"meta":{"line":55,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"parentId","description":"The id of the parent channel of this thread","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":67,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"locked","description":"Whether the thread is locked","nullable":true,"type":[[["boolean"]]],"meta":{"line":77,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"invitable","description":"Whether members without `MANAGE_THREADS` can invite other members without `MANAGE_THREADS`\nAlways `null` in public threads","nullable":true,"type":[[["boolean"]]],"meta":{"line":84,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"archived","description":"Whether the thread is archived","nullable":true,"type":[[["boolean"]]],"meta":{"line":90,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"autoArchiveDuration","description":"The amount of time (in minutes) after which the thread will automatically archive in case of no recent activity","nullable":true,"type":[[["number"]]],"meta":{"line":96,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"archiveTimestamp","description":"The timestamp when the thread's archive status was last changed\nIf the thread was never archived or unarchived, this is the timestamp at which the thread was\ncreated","nullable":true,"type":[[["number"]]],"meta":{"line":104,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"ownerId","description":"The id of the member who created this thread","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":125,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"lastMessageId","description":"The last message id sent in this thread, if one was sent","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":135,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"lastPinTimestamp","description":"The timestamp when the last pinned message was pinned, if there was one","nullable":true,"type":[[["number"]]],"meta":{"line":145,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"rateLimitPerUser","description":"The rate limit per user (slowmode) for this thread in seconds","nullable":true,"type":[[["number"]]],"meta":{"line":155,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"messageCount","description":"Threads created before July 1, 2022 may have an inaccurate count.\nIf you need an approximate value higher than that, use `ThreadChannel#messages.cache.size`","nullable":true,"type":[[["number"]]],"meta":{"line":166,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"memberCount","description":"The approximate count of users in this thread\nThis stops counting at 50. If you need an approximate value higher than that, use\n`ThreadChannel#members.cache.size`","nullable":true,"type":[[["number"]]],"meta":{"line":178,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"totalMessageSent","description":"The number of messages ever sent in a thread, similar to {@link ThreadChannel#messageCount} except it\nwill not decrement whenever a message is deleted","nullable":true,"type":[[["number"]]],"meta":{"line":189,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"appliedTags","description":"The tags applied to this thread","type":[[["Array","<"],["Snowflake",">"]]],"meta":{"line":199,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp when this thread was created. This isn't available for threads\ncreated before 2022-01-09","readonly":true,"nullable":true,"type":[[["number"]]],"meta":{"line":214,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"guildMembers","description":"A collection of associated guild member objects of this thread's members","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]],"meta":{"line":223,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"archivedAt","description":"The time at which this thread's archive status was last changed\nIf the thread was never archived or unarchived, this is the time at which the thread was created","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":233,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"createdAt","description":"The time the thread was created at","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":243,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"parent","description":"The parent channel of this thread","readonly":true,"nullable":true,"type":[[["NewsChannel"]],[["TextChannel"]],[["ForumChannel"]]],"meta":{"line":252,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"joined","description":"Whether the client user is a member of the thread.","readonly":true,"type":[[["boolean"]]],"meta":{"line":482,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"editable","description":"Whether the thread is editable by the client user (name, archived, autoArchiveDuration)","readonly":true,"type":[[["boolean"]]],"meta":{"line":491,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"joinable","description":"Whether the thread is joinable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":502,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"manageable","description":"Whether the thread is manageable by the client user, for deleting or editing rateLimitPerUser or locked.","readonly":true,"type":[[["boolean"]]],"meta":{"line":518,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"viewable","description":"Whether the thread is viewable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":535,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"sendable","description":"Whether the client user can send messages in this thread","readonly":true,"type":[[["boolean"]]],"meta":{"line":547,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"unarchivable","description":"Whether the thread is unarchivable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":566,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"lastMessage","description":"The Message object of the last message in the channel, if one was sent","readonly":true,"nullable":true,"type":[[["Message"]]],"meta":{"line":50,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"lastPinAt","description":"The date when the last pinned message was pinned, if there was one","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":59,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"type","description":"The type of the channel","type":[[["ChannelType"]]],"meta":{"line":41,"file":"Channel.js","path":"src/structures"}},{"name":"id","description":"The channel's id","type":[[["Snowflake"]]],"meta":{"line":51,"file":"Channel.js","path":"src/structures"}},{"name":"flags","description":"The flags that are applied to the channel.","nullable":true,"type":[[["Readonly","<"],["ChannelFlags",">"]]],"meta":{"line":58,"file":"Channel.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":87,"file":"Channel.js","path":"src/structures"}},{"name":"partial","description":"Whether this Channel is a partial\nThis is always false outside of DM channels.","readonly":true,"type":[[["boolean"]]],"meta":{"line":118,"file":"Channel.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"join","description":"Makes the client user join the thread.","async":true,"returns":[[["Promise","<"],["ThreadChannel",">"]]],"meta":{"line":260,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"leave","description":"Makes the client user leave the thread.","async":true,"returns":[[["Promise","<"],["ThreadChannel",">"]]],"meta":{"line":269,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"permissionsFor","description":"Gets the overall set of permissions for a member or role in this thread's parent channel, taking overwrites into\naccount.","params":[{"name":"memberOrRole","description":"The member or role to obtain the overall permissions for","type":[[["GuildMemberResolvable"]],[["RoleResolvable"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":{"types":[[["Readonly","<"],["Permissions",">"]]],"nullable":true},"meta":{"line":281,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"fetchOwner","description":"Fetches the owner of this thread. If the thread member object isn't needed,\nuse {@link ThreadChannel#ownerId} instead.","params":[{"name":"options","description":"The options for fetching the member","optional":true,"type":[[["BaseFetchOptions"]]]}],"async":true,"returns":[[["Promise",""],["ThreadMember",">"]]],"meta":{"line":291,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"fetchStarterMessage","description":"Fetches the message that started this thread, if any.\nThe `Promise` will reject if the original message in a forum post is deleted\nor when the original message in the parent channel is deleted.\nIf you just need the id of that message, use {@link ThreadChannel#id} instead.","params":[{"name":"options","description":"Additional options for this fetch","optional":true,"type":[[["BaseFetchOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["null",")>"]]],"meta":{"line":311,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"edit","description":"Edits this thread.","examples":["// Edit a thread\nthread.edit({ name: 'new-thread' })\n .then(editedThread => console.log(editedThread))\n .catch(console.error);"],"params":[{"name":"data","description":"The new data for this thread","type":[[["ThreadEditData"]]]},{"name":"reason","description":"Reason for editing this thread","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["ThreadChannel",">"]]],"meta":{"line":342,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"setArchived","description":"Sets whether the thread is archived.","examples":["// Archive the thread\nthread.setArchived(true)\n .then(newThread => console.log(`Thread is now ${newThread.archived ? 'archived' : 'active'}`))\n .catch(console.error);"],"params":[{"name":"archived","description":"Whether the thread is archived","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"Reason for archiving or unarchiving","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ThreadChannel",">"]]],"meta":{"line":374,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"setAutoArchiveDuration","description":"Sets the duration after which the thread will automatically archive in case of no recent activity.","examples":["// Set the thread's auto archive time to 1 hour\nthread.setAutoArchiveDuration(60)\n .then(newThread => {\n console.log(`Thread will now archive after ${newThread.autoArchiveDuration} minutes of inactivity`);\n });\n .catch(console.error);"],"params":[{"name":"autoArchiveDuration","description":"The amount of time (in minutes) after which the thread\nshould automatically archive in case of no recent activity","type":[[["ThreadAutoArchiveDuration"]]]},{"name":"reason","description":"Reason for changing the auto archive duration","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ThreadChannel",">"]]],"meta":{"line":392,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"setInvitable","description":"Sets whether members without the `MANAGE_THREADS` permission can invite other members without the\n`MANAGE_THREADS` permission to this thread.","params":[{"name":"invitable","description":"Whether non-moderators can invite non-moderators to this thread","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"Reason for changing invite","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ThreadChannel",">"]]],"meta":{"line":403,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"setLocked","description":"Sets whether the thread can be **unarchived** by anyone with `SEND_MESSAGES` permission.\nWhen a thread is locked only members with `MANAGE_THREADS` can unarchive it.","examples":["// Set the thread to locked\nthread.setLocked(true)\n .then(newThread => console.log(`Thread is now ${newThread.locked ? 'locked' : 'unlocked'}`))\n .catch(console.error);"],"params":[{"name":"locked","description":"Whether the thread is locked","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"Reason for locking or unlocking the thread","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ThreadChannel",">"]]],"meta":{"line":420,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"setName","description":"Sets a new name for this thread.","examples":["// Change the thread's name\nthread.setName('not_general')\n .then(newThread => console.log(`Thread's new name is ${newThread.name}`))\n .catch(console.error);"],"params":[{"name":"name","description":"The new name for the thread","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the thread's name","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ThreadChannel",">"]]],"meta":{"line":435,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"setRateLimitPerUser","description":"Sets the rate limit per user (slowmode) for this thread.","implements":["TextBasedChannel#setRateLimitPerUser"],"params":[{"name":"rateLimitPerUser","description":"The new rate limit in seconds","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the thread's rate limit","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ThreadChannel",">"]]],"meta":{"line":445,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"pin","description":"Pins this thread from the forum channel.","params":[{"name":"reason","description":"Reason for pinning","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ThreadChannel",">"]]],"meta":{"line":454,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"unpin","description":"Unpins this thread from the forum channel.","params":[{"name":"reason","description":"Reason for unpinning","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ThreadChannel",">"]]],"meta":{"line":463,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"setAppliedTags","description":"Set the applied tags for this channel (only applicable to forum threads)","params":[{"name":"appliedTags","description":"The tags to set for this channel","type":[[["Array","<"],["Snowflake",">"]]]},{"name":"reason","description":"Reason for changing the thread's applied tags","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["ThreadChannel",">"]]],"meta":{"line":473,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"isPrivate","description":"Whether this thread is a private thread","returns":[[["boolean"]]],"meta":{"line":574,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"delete","description":"Deletes this thread.","examples":["// Delete the thread\nthread.delete('cleaning out old threads')\n .then(deletedThread => console.log(deletedThread))\n .catch(console.error);"],"params":[{"name":"reason","description":"Reason for deleting this thread","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["ThreadChannel",">"]]],"meta":{"line":588,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"send","description":"Sends a message to this channel.","implements":["TextBasedChannel#send"],"examples":["// Send a basic message\nchannel.send('hello!')\n .then(message => console.log(`Sent message: ${message.content}`))\n .catch(console.error);","// Send a remote file\nchannel.send({\n files: ['https://cdn.discordapp.com/icons/222078108977594368/6e1019b3179d71046e463a75915e7244.png?size=2048']\n})\n .then(console.log)\n .catch(console.error);","// Send a local file\nchannel.send({\n files: [{\n attachment: 'entire/path/to/file.jpg',\n name: 'file.jpg',\n description: 'A description of the file'\n }]\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["MessageOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":150,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"sendTyping","description":"Sends a typing indicator in the channel.","implements":["TextBasedChannel#sendTyping"],"examples":["// Start typing in a channel\nchannel.sendTyping();"],"async":true,"returns":{"types":[[["Promise","<"],["void",">"]]],"description":"Resolves upon the typing status being sent"},"meta":{"line":355,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createMessageCollector","description":"Creates a Message Collector.","implements":["TextBasedChannel#createMessageCollector"],"examples":["// Create a message collector\nconst filter = m => m.content.includes('discord');\nconst collector = channel.createMessageCollector({ filter, time: 15_000 });\ncollector.on('collect', m => console.log(`Collected ${m.content}`));\ncollector.on('end', collected => console.log(`Collected ${collected.size} items`));"],"params":[{"name":"options","description":"The options to pass to the collector","optional":true,"default":"{}","type":[[["MessageCollectorOptions"]]]}],"returns":[[["MessageCollector"]]],"meta":{"line":370,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"awaitMessages","description":"Similar to createMessageCollector but in promise form.\nResolves with a collection of messages that pass the specified filter.","implements":["TextBasedChannel#awaitMessages"],"examples":["// Await !vote messages\nconst filter = m => m.content.startsWith('!vote');\n// Errors: ['time'] treats ending because of the time limit as an error\nchannel.awaitMessages({ filter, max: 4, time: 60_000, errors: ['time'] })\n .then(collected => console.log(collected.size))\n .catch(collected => console.log(`After a minute, only ${collected.size} out of 4 voted.`));"],"params":[{"name":"options","description":"Optional options to pass to the internal collector","optional":true,"default":"{}","type":[[["AwaitMessagesOptions"]]]}],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Message",">>"]]],"meta":{"line":393,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the channel's mention instead of the Channel object.","inherits":"Channel#toString","inherited":true,"examples":["// Logs: Hello from <#123456789012345678>!\nconsole.log(`Hello from ${channel}!`);"],"returns":[[["string"]]],"meta":{"line":129,"file":"Channel.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this channel.","inherits":"Channel#fetch","inherited":true,"params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":152,"file":"Channel.js","path":"src/structures"}},{"name":"isText","description":"Indicates whether this channel is {@link TextBasedChannels text-based}.","inherits":"Channel#isText","inherited":true,"returns":[[["boolean"]]],"meta":{"line":160,"file":"Channel.js","path":"src/structures"}},{"name":"isVoice","description":"Indicates whether this channel is {@link BaseGuildVoiceChannel voice-based}.","inherits":"Channel#isVoice","inherited":true,"returns":[[["boolean"]]],"meta":{"line":168,"file":"Channel.js","path":"src/structures"}},{"name":"isThread","description":"Indicates whether this channel is a {@link ThreadChannel}.","inherits":"Channel#isThread","inherited":true,"returns":[[["boolean"]]],"meta":{"line":176,"file":"Channel.js","path":"src/structures"}},{"name":"isDirectory","description":"Indicates whether this channel is a {@link DirectoryChannel}","inherits":"Channel#isDirectory","inherited":true,"returns":[[["boolean"]]],"meta":{"line":184,"file":"Channel.js","path":"src/structures"}}],"meta":{"line":17,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"ThreadMember","description":"Represents a Member for a Thread.","extends":[[["Base"]]],"props":[{"name":"thread","description":"The thread that this member is a part of","type":[[["ThreadChannel"]]],"meta":{"line":18,"file":"ThreadMember.js","path":"src/structures"}},{"name":"joinedTimestamp","description":"The timestamp the member last joined the thread at","nullable":true,"type":[[["number"]]],"meta":{"line":24,"file":"ThreadMember.js","path":"src/structures"}},{"name":"id","description":"The id of the thread member","type":[[["Snowflake"]]],"meta":{"line":30,"file":"ThreadMember.js","path":"src/structures"}},{"name":"flags","description":"The flags for this thread member","type":[[["ThreadMemberFlags"]]],"meta":{"line":43,"file":"ThreadMember.js","path":"src/structures"}},{"name":"member","description":"The guild member associated with this thread member.","access":"private","nullable":true,"type":[[["GuildMember"]]],"meta":{"line":52,"file":"ThreadMember.js","path":"src/structures"}},{"name":"guildMember","description":"The guild member associated with this thread member","readonly":true,"nullable":true,"type":[[["GuildMember"]]],"meta":{"line":63,"file":"ThreadMember.js","path":"src/structures"}},{"name":"joinedAt","description":"The last time this member joined the thread","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":72,"file":"ThreadMember.js","path":"src/structures"}},{"name":"user","description":"The user associated with this thread member","readonly":true,"nullable":true,"type":[[["User"]]],"meta":{"line":81,"file":"ThreadMember.js","path":"src/structures"}},{"name":"manageable","description":"Whether the client user can manage this thread member","readonly":true,"type":[[["boolean"]]],"meta":{"line":90,"file":"ThreadMember.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"remove","description":"Removes this member from the thread.","params":[{"name":"reason","description":"Reason for removing the member","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["ThreadMember"]]],"meta":{"line":99,"file":"ThreadMember.js","path":"src/structures"}}],"meta":{"line":10,"file":"ThreadMember.js","path":"src/structures"}},{"name":"Typing","description":"Represents a typing state for a user in a channel.","extends":[[["Base"]]],"props":[{"name":"channel","description":"The channel the status is from","type":[[["TextBasedChannels"]]],"meta":{"line":17,"file":"Typing.js","path":"src/structures"}},{"name":"user","description":"The user who is typing","type":[[["User"]]],"meta":{"line":23,"file":"Typing.js","path":"src/structures"}},{"name":"startedTimestamp","description":"The UNIX timestamp in milliseconds the user started typing at","type":[[["number"]]],"meta":{"line":34,"file":"Typing.js","path":"src/structures"}},{"name":"startedAt","description":"The time the user started typing at","readonly":true,"type":[[["Date"]]],"meta":{"line":51,"file":"Typing.js","path":"src/structures"}},{"name":"guild","description":"The guild the status is from","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":60,"file":"Typing.js","path":"src/structures"}},{"name":"member","description":"The member who is typing","readonly":true,"nullable":true,"type":[[["GuildMember"]]],"meta":{"line":69,"file":"Typing.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"inGuild","description":"Indicates whether the status is received from a guild.","returns":[[["boolean"]]],"meta":{"line":42,"file":"Typing.js","path":"src/structures"}}],"meta":{"line":9,"file":"Typing.js","path":"src/structures"}},{"name":"User","description":"Represents a user on Discord.","extends":[[["Base"]]],"implements":[[["TextBasedChannel"]]],"props":[{"name":"id","description":"The user's id","type":[[["Snowflake"]]],"meta":{"line":25,"file":"User.js","path":"src/structures"}},{"name":"username","description":"The username of the user","nullable":true,"type":[[["string"]]],"meta":{"line":42,"file":"User.js","path":"src/structures"}},{"name":"globalName","description":"The global name of this user","nullable":true,"type":[[["string"]]],"meta":{"line":52,"file":"User.js","path":"src/structures"}},{"name":"bot","description":"Whether or not the user is a bot","nullable":true,"type":[[["boolean"]]],"meta":{"line":62,"file":"User.js","path":"src/structures"}},{"name":"discriminator","description":"The discriminator of this user\n`'0'`, or a 4-digit stringified number if they're using the legacy username system","nullable":true,"type":[[["string"]]],"meta":{"line":73,"file":"User.js","path":"src/structures"}},{"name":"avatar","description":"The user avatar's hash","nullable":true,"type":[[["string"]]],"meta":{"line":83,"file":"User.js","path":"src/structures"}},{"name":"banner","description":"The user banner's hash\nThe user must be force fetched for this property to be present or be updated","nullable":true,"type":[[["string"]]],"meta":{"line":94,"file":"User.js","path":"src/structures"}},{"name":"bannerColor","description":"The user banner's hex\nThe user must be force fetched for this property to be present or be updated","nullable":true,"type":[[["string"]]],"meta":{"line":105,"file":"User.js","path":"src/structures"}},{"name":"accentColor","description":"The base 10 accent color of the user's banner\nThe user must be force fetched for this property to be present or be updated","nullable":true,"type":[[["number"]]],"meta":{"line":116,"file":"User.js","path":"src/structures"}},{"name":"system","description":"Whether the user is an Official Discord System user (part of the urgent message system)","nullable":true,"type":[[["boolean"]]],"meta":{"line":126,"file":"User.js","path":"src/structures"}},{"name":"flags","description":"The flags for this user","nullable":true,"type":[[["UserFlags"]]],"meta":{"line":136,"file":"User.js","path":"src/structures"}},{"name":"avatarDecoration","description":"The user avatar decoration's hash","nullable":true,"type":[[["string"]]],"meta":{"line":144,"file":"User.js","path":"src/structures"}},{"name":"avatarDecorationSKUId","description":"The ID of the avatar decoration's SKU","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":149,"file":"User.js","path":"src/structures"}},{"name":"clan","description":"The primary clan the user is in","nullable":true,"type":[[["UserClan"]]],"meta":{"line":169,"file":"User.js","path":"src/structures"}},{"name":"partial","description":"Whether this User is a partial","readonly":true,"type":[[["boolean"]]],"meta":{"line":185,"file":"User.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the user was created at","readonly":true,"type":[[["number"]]],"meta":{"line":194,"file":"User.js","path":"src/structures"}},{"name":"createdAt","description":"The time the user was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":203,"file":"User.js","path":"src/structures"}},{"name":"defaultAvatarURL","description":"A link to the user's default avatar","readonly":true,"type":[[["string"]]],"meta":{"line":241,"file":"User.js","path":"src/structures"}},{"name":"hexAccentColor","description":"The hexadecimal version of the user accent color, with a leading hash\nThe user must be force fetched for this property to be present","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":262,"file":"User.js","path":"src/structures"}},{"name":"tag","description":"The tag of this user\nThis user's username, or their legacy tag (e.g. `hydrabolt#0001`)\nif they're using the legacy username system","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":287,"file":"User.js","path":"src/structures"}},{"name":"displayName","description":"The global name of this user, or their username if they don't have one","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":300,"file":"User.js","path":"src/structures"}},{"name":"dmChannel","description":"The DM between the client's user and this user","readonly":true,"nullable":true,"type":[[["DMChannel"]]],"meta":{"line":309,"file":"User.js","path":"src/structures"}},{"name":"note","description":"The function returns the note associated with a specific client ID from a cache.","nullable":true,"type":[[["string"]]],"meta":{"line":454,"file":"User.js","path":"src/structures"}},{"name":"voice","description":"The voice state of this member","readonly":true,"type":[[["VoiceState"]]],"meta":{"line":463,"file":"User.js","path":"src/structures"}},{"name":"relationship","description":"Check relationship status (Client -> User)","readonly":true,"type":[[["RelationshipType"]]],"meta":{"line":507,"file":"User.js","path":"src/structures"}},{"name":"friendNickname","description":"Get friend nickname","readonly":true,"nullable":true,"type":[[["string"]]],"meta":{"line":517,"file":"User.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"avatarURL","description":"A link to the user's avatar.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["ImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":212,"file":"User.js","path":"src/structures"}},{"name":"avatarDecorationURL","description":"A link to the user's avatar decoration.","params":[{"name":"options","description":"Options for the image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":222,"file":"User.js","path":"src/structures"}},{"name":"clanBadgeURL","description":"A link to the user's clan badge.","returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":231,"file":"User.js","path":"src/structures"}},{"name":"displayAvatarURL","description":"A link to the user's avatar if they have one.\nOtherwise a link to their default avatar will be returned.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["ImageURLOptions"]]]}],"returns":[[["string"]]],"meta":{"line":252,"file":"User.js","path":"src/structures"}},{"name":"bannerURL","description":"A link to the user's banner.\nThis method will throw an error if called before the user is force fetched.\nSee {@link User#banner} for more info","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["ImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":274,"file":"User.js","path":"src/structures"}},{"name":"createDM","description":"Creates a DM channel between the client and the user.","params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["DMChannel",">"]]],"meta":{"line":318,"file":"User.js","path":"src/structures"}},{"name":"deleteDM","description":"Deletes a DM channel (if one exists) between the client and the user. Resolves with the channel if successful.","returns":[[["Promise","<"],["DMChannel",">"]]],"meta":{"line":326,"file":"User.js","path":"src/structures"}},{"name":"equals","description":"Checks if the user is equal to another.\nIt compares id, username, discriminator, avatar, banner, accent color, and bot flags.\nIt is recommended to compare equality by using `user.id === user2.id` unless you want to compare all properties.","params":[{"name":"user","description":"User to compare with","type":[[["User"]]]}],"returns":[[["boolean"]]],"meta":{"line":337,"file":"User.js","path":"src/structures"}},{"name":"_equals","description":"Compares the user with an API user object","access":"private","params":[{"name":"user","description":"The API user object to compare","type":[[["APIUser"]]]}],"returns":[[["boolean"]]],"meta":{"line":357,"file":"User.js","path":"src/structures"}},{"name":"fetchFlags","description":"Fetches this user's flags.","params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["UserFlags",">"]]],"meta":{"line":376,"file":"User.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this user.","params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["User",">"]]],"meta":{"line":385,"file":"User.js","path":"src/structures"}},{"name":"getProfile","description":"Returns a user profile object for a given user ID.\nThis endpoint requires one of the following:\n- The user is a bot\n- The user shares a mutual guild with the current user\n- The user is a friend of the current user\n- The user is a friend suggestion of the current user\n- The user has an outgoing friend request to the current user","see":["{@link https://discord-userdoccers.vercel.app/resources/user#response-body}"],"params":[{"name":"guildId","description":"The guild ID to get the user's member profile in","optional":true,"type":[[["Snowflake"]]]}],"returns":[[["Promise","<"],["Object",">"]]],"meta":{"line":401,"file":"User.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the user's mention instead of the User object.","examples":["// Logs: Hello from <@123456789012345678>!\nconsole.log(`Hello from ${user}!`);"],"returns":[[["string"]]],"meta":{"line":419,"file":"User.js","path":"src/structures"}},{"name":"setNote","description":"The function updates the note of a user and returns the updated user.","params":[{"name":"note","description":"The `note` parameter is the new value that you want to set for the note of the\nuser. It is an optional parameter and its default value is `null`.","optional":true,"default":null,"type":[[["string"]],[["null"]],[["undefined"]]]}],"async":true,"returns":{"types":[[["Promise","<"],["User",">"]]],"description":"The `setNote` method is returning the `User` object."},"meta":{"line":445,"file":"User.js","path":"src/structures"}},{"name":"ring","description":"Ring the user's phone / PC (call)","deprecated":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":476,"file":"User.js","path":"src/structures"}},{"name":"sendFriendRequest","description":"Send Friend Request to the user","returns":[[["Promise","<"],["boolean",">"]]],"meta":{"line":489,"file":"User.js","path":"src/structures"}},{"name":"deleteRelationship","description":"Unblock / Unfriend / Cancels a friend request","returns":[[["Promise","<"],["boolean",">"]]],"meta":{"line":498,"file":"User.js","path":"src/structures"}},{"name":"send","description":"Sends a message to this user.","implements":["TextBasedChannel#send"],"examples":["// Send a direct message\nuser.send('Hello!')\n .then(message => console.log(`Sent message: ${message.content} to ${user.tag}`))\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["MessageOptions"]]]}],"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":522,"file":"User.js","path":"src/structures"}}],"meta":{"line":17,"file":"User.js","path":"src/structures"}},{"name":"UserContextMenuInteraction","description":"Represents a user context menu interaction.","extends":[[["ContextMenuInteraction"]]],"props":[{"name":"targetUser","description":"The target user from this interaction","readonly":true,"type":[[["User"]]],"meta":{"line":15,"file":"UserContextMenuInteraction.js","path":"src/structures"}},{"name":"targetMember","description":"The target member from this interaction","readonly":true,"nullable":true,"type":[[["GuildMember"]],[["APIGuildMember"]]],"meta":{"line":24,"file":"UserContextMenuInteraction.js","path":"src/structures"}},{"name":"options","description":"The target of the interaction, parsed into options","type":[[["CommandInteractionOptionResolver"]]],"meta":{"line":18,"file":"ContextMenuInteraction.js","path":"src/structures"}},{"name":"targetId","description":"The id of the target of this interaction","type":[[["Snowflake"]]],"meta":{"line":28,"file":"ContextMenuInteraction.js","path":"src/structures"}},{"name":"targetType","description":"The type of the target of the interaction; either USER or MESSAGE","type":[[["ApplicationCommandType"]]],"meta":{"line":34,"file":"ContextMenuInteraction.js","path":"src/structures"}},{"name":"channelId","description":"The id of the channel this interaction was sent in","type":[[["Snowflake"]]],"meta":{"line":20,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"commandId","description":"The invoked application command's id","type":[[["Snowflake"]]],"meta":{"line":30,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"commandName","description":"The invoked application command's name","type":[[["string"]]],"meta":{"line":36,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"deferred","description":"Whether the reply to this interaction has been deferred","type":[[["boolean"]]],"meta":{"line":42,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"replied","description":"Whether this interaction has already been replied to","type":[[["boolean"]]],"meta":{"line":48,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"ephemeral","description":"Whether the reply to this interaction is ephemeral","nullable":true,"type":[[["boolean"]]],"meta":{"line":54,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"webhook","description":"An associated interaction webhook, can be used to further interact with this interaction","type":[[["InteractionWebhook"]]],"meta":{"line":60,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"command","description":"The invoked application command, if it was fetched before","nullable":true,"type":[[["ApplicationCommand"]]],"meta":{"line":67,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"type","description":"The interaction's type","type":[[["InteractionType"]]],"meta":{"line":20,"file":"Interaction.js","path":"src/structures"}},{"name":"id","description":"The interaction's id","type":[[["Snowflake"]]],"meta":{"line":26,"file":"Interaction.js","path":"src/structures"}},{"name":"token","description":"The interaction's token","readonly":true,"type":[[["string"]]],"meta":{"line":28,"file":"Interaction.js","path":"src/structures"}},{"name":"applicationId","description":"The application's id","type":[[["Snowflake"]]],"meta":{"line":40,"file":"Interaction.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild this interaction was sent in","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":52,"file":"Interaction.js","path":"src/structures"}},{"name":"user","description":"The user which sent this interaction","type":[[["User"]]],"meta":{"line":58,"file":"Interaction.js","path":"src/structures"}},{"name":"member","description":"If this interaction was sent in a guild, the member which sent it","nullable":true,"type":[[["GuildMember"]],[["APIGuildMember"]]],"meta":{"line":64,"file":"Interaction.js","path":"src/structures"}},{"name":"version","description":"The version","type":[[["number"]]],"meta":{"line":70,"file":"Interaction.js","path":"src/structures"}},{"name":"appPermissions","description":"Set of permissions the application or bot has within the channel the interaction was sent from","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":76,"file":"Interaction.js","path":"src/structures"}},{"name":"memberPermissions","description":"The permissions of the member, if one exists, in the channel this interaction was executed in","nullable":true,"type":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":82,"file":"Interaction.js","path":"src/structures"}},{"name":"locale","description":"The locale of the user who invoked this interaction","type":[[["Locale"]]],"meta":{"line":124,"file":"Interaction.js","path":"src/structures"}},{"name":"guildLocale","description":"The preferred locale from the guild this interaction was sent in","nullable":true,"type":[[["Locale"]]],"meta":{"line":130,"file":"Interaction.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the interaction was created at","readonly":true,"type":[[["number"]]],"meta":{"line":138,"file":"Interaction.js","path":"src/structures"}},{"name":"createdAt","description":"The time the interaction was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":147,"file":"Interaction.js","path":"src/structures"}},{"name":"channel","description":"The channel this interaction was sent in","readonly":true,"nullable":true,"type":[[["TextBasedChannels"]]],"meta":{"line":156,"file":"Interaction.js","path":"src/structures"}},{"name":"guild","description":"The guild this interaction was sent in","readonly":true,"nullable":true,"type":[[["Guild"]]],"meta":{"line":165,"file":"Interaction.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"resolveContextMenuOptions","description":"Resolves and transforms options received from the API for a context menu interaction.","access":"private","inherits":"ContextMenuInteraction#resolveContextMenuOptions","inherited":true,"params":[{"name":"data","description":"The interaction data","type":[[["APIApplicationCommandInteractionData"]]]}],"returns":[[["Array","<"],["CommandInteractionOption",">"]]],"meta":{"line":43,"file":"ContextMenuInteraction.js","path":"src/structures"}},{"name":"transformResolved","description":"Transforms the resolved received from the API.","access":"private","inherits":"BaseCommandInteraction#transformResolved","inherited":true,"params":[{"name":"resolved","description":"The received resolved objects","type":[[["APIInteractionDataResolved"]]]}],"returns":[[["CommandInteractionResolvedData"]]],"meta":{"line":89,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"transformOption","description":"Transforms an option received from the API.","access":"private","inherits":"BaseCommandInteraction#transformOption","inherited":true,"params":[{"name":"option","description":"The received option","type":[[["APIApplicationCommandOption"]]]},{"name":"resolved","description":"The resolved interaction data","type":[[["APIInteractionDataResolved"]]]}],"returns":[[["CommandInteractionOption"]]],"meta":{"line":162,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"deferReply","description":"Defers the reply to this interaction.","inherits":"BaseCommandInteraction#deferReply","inherited":true,"implements":["InteractionResponses#deferReply"],"examples":["// Defer the reply to this interaction\ninteraction.deferReply()\n .then(console.log)\n .catch(console.error)","// Defer to send an ephemeral reply later\ninteraction.deferReply({ ephemeral: true })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for deferring the reply to this interaction","optional":true,"type":[[["InteractionDeferReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":58,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"reply","description":"Creates a reply to this interaction.\nUse the `fetchReply` option to get the bot's reply message.","inherits":"BaseCommandInteraction#reply","inherited":true,"implements":["InteractionResponses#reply"],"examples":["// Reply to the interaction and fetch the response\ninteraction.reply({ content: 'Pong!', fetchReply: true })\n .then((message) => console.log(`Reply sent with content ${message.content}`))\n .catch(console.error);","// Create an ephemeral reply with an embed\nconst embed = new MessageEmbed().setDescription('Pong!');\n\ninteraction.reply({ embeds: [embed], ephemeral: true })\n .then(() => console.log('Reply sent.'))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":93,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"fetchReply","description":"Fetches a reply to this interaction.","see":["Webhook#fetchMessage"],"inherits":"BaseCommandInteraction#fetchReply","inherited":true,"implements":["InteractionResponses#fetchReply"],"examples":["// Fetch the initial reply to this interaction\ninteraction.fetchReply()\n .then(reply => console.log(`Replied with ${reply.content}`))\n .catch(console.error);"],"params":[{"name":"message","description":"The response to fetch","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":127,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"editReply","description":"Edits a reply to this interaction.","see":["Webhook#editMessage"],"inherits":"BaseCommandInteraction#editReply","inherited":true,"implements":["InteractionResponses#editReply"],"examples":["// Edit the initial reply to this interaction\ninteraction.editReply('New content')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The new options for the message","type":[[["string"]],[["MessagePayload"]],[["InteractionEditReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":148,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"deleteReply","description":"Deletes a reply to this interaction.","see":["Webhook#deleteMessage"],"inherits":"BaseCommandInteraction#deleteReply","inherited":true,"implements":["InteractionResponses#deleteReply"],"examples":["// Delete the initial reply to this interaction\ninteraction.deleteReply()\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"message","description":"The response to delete","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":166,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"followUp","description":"Send a follow-up message to this interaction.","inherits":"BaseCommandInteraction#followUp","inherited":true,"implements":["InteractionResponses#followUp"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":175,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"showModal","description":"Shows a modal component","inherits":"BaseCommandInteraction#showModal","inherited":true,"implements":["InteractionResponses#showModal"],"params":[{"name":"modal","description":"The modal to show","type":[[["Modal"]],[["ModalOptions"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":243,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"awaitModalSubmit","description":"Collects a single modal submit interaction that passes the filter.\nThe Promise will reject if the time expires.","inherits":"BaseCommandInteraction#awaitModalSubmit","inherited":true,"implements":["InteractionResponses#awaitModalSubmit"],"examples":["// Collect a modal submit interaction\nconst filter = (interaction) => interaction.customId === 'modal';\ninteraction.awaitModalSubmit({ filter, time: 15_000 })\n .then(interaction => console.log(`${interaction.customId} was submitted!`))\n .catch(console.error);"],"params":[{"name":"options","description":"Options to pass to the internal collector","type":[[["AwaitModalSubmitOptions"]]]}],"returns":[[["Promise","<"],["ModalSubmitInteraction",">"]]],"meta":{"line":275,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"inGuild","description":"Indicates whether this interaction is received from a guild.","inherits":"Interaction#inGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":173,"file":"Interaction.js","path":"src/structures"}},{"name":"inCachedGuild","description":"Indicates whether or not this interaction is both cached and received from a guild.","inherits":"Interaction#inCachedGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":181,"file":"Interaction.js","path":"src/structures"}},{"name":"inRawGuild","description":"Indicates whether or not this interaction is received from an uncached guild.","inherits":"Interaction#inRawGuild","inherited":true,"returns":[[["boolean"]]],"meta":{"line":189,"file":"Interaction.js","path":"src/structures"}},{"name":"isApplicationCommand","description":"Indicates whether this interaction is a {@link BaseCommandInteraction}.","inherits":"Interaction#isApplicationCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":197,"file":"Interaction.js","path":"src/structures"}},{"name":"isCommand","description":"Indicates whether this interaction is a {@link CommandInteraction}.","inherits":"Interaction#isCommand","inherited":true,"returns":[[["boolean"]]],"meta":{"line":205,"file":"Interaction.js","path":"src/structures"}},{"name":"isContextMenu","description":"Indicates whether this interaction is a {@link ContextMenuInteraction}","inherits":"Interaction#isContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":213,"file":"Interaction.js","path":"src/structures"}},{"name":"isModalSubmit","description":"Indicates whether this interaction is a {@link ModalSubmitInteraction}","inherits":"Interaction#isModalSubmit","inherited":true,"returns":[[["boolean"]]],"meta":{"line":221,"file":"Interaction.js","path":"src/structures"}},{"name":"isUserContextMenu","description":"Indicates whether this interaction is a {@link UserContextMenuInteraction}","inherits":"Interaction#isUserContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":229,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageContextMenu","description":"Indicates whether this interaction is a {@link MessageContextMenuInteraction}","inherits":"Interaction#isMessageContextMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":237,"file":"Interaction.js","path":"src/structures"}},{"name":"isAutocomplete","description":"Indicates whether this interaction is an {@link AutocompleteInteraction}","inherits":"Interaction#isAutocomplete","inherited":true,"returns":[[["boolean"]]],"meta":{"line":245,"file":"Interaction.js","path":"src/structures"}},{"name":"isMessageComponent","description":"Indicates whether this interaction is a {@link MessageComponentInteraction}.","inherits":"Interaction#isMessageComponent","inherited":true,"returns":[[["boolean"]]],"meta":{"line":253,"file":"Interaction.js","path":"src/structures"}},{"name":"isButton","description":"Indicates whether this interaction is a {@link ButtonInteraction}.","inherits":"Interaction#isButton","inherited":true,"returns":[[["boolean"]]],"meta":{"line":261,"file":"Interaction.js","path":"src/structures"}},{"name":"isSelectMenu","description":"Indicates whether this interaction is a {@link SelectMenuInteraction}.","inherits":"Interaction#isSelectMenu","inherited":true,"returns":[[["boolean"]]],"meta":{"line":272,"file":"Interaction.js","path":"src/structures"}},{"name":"isRepliable","description":"Indicates whether this interaction can be replied to.","inherits":"Interaction#isRepliable","inherited":true,"returns":[[["boolean"]]],"meta":{"line":283,"file":"Interaction.js","path":"src/structures"}}],"meta":{"line":9,"file":"UserContextMenuInteraction.js","path":"src/structures"}},{"name":"VoiceChannel","description":"Represents a guild voice channel on Discord.","extends":[[["BaseGuildVoiceChannel"]]],"props":[{"name":"editable","description":"Whether the channel is editable by the client user","readonly":true,"deprecated":"Use {@link VoiceChannel#manageable} instead","type":[[["boolean"]]],"meta":{"line":20,"file":"VoiceChannel.js","path":"src/structures"}},{"name":"joinable","description":"Whether the channel is joinable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":38,"file":"VoiceChannel.js","path":"src/structures"}},{"name":"speakable","description":"Checks if the client has permission to send audio to the voice channel","readonly":true,"type":[[["boolean"]]],"meta":{"line":49,"file":"VoiceChannel.js","path":"src/structures"}},{"name":"messages","description":"A manager of the messages sent to this channel","type":[[["MessageManager"]]],"meta":{"line":22,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"nsfw","description":"If the guild considers this channel NSFW","type":[[["boolean"]]],"meta":{"line":28,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"bitrate","description":"The bitrate of this voice-based channel","type":[[["number"]]],"meta":{"line":41,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"rtcRegion","description":"The RTC region for this voice-based channel. This region is automatically selected if `null`.","nullable":true,"type":[[["string"]]],"meta":{"line":49,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"userLimit","description":"The maximum amount of users allowed in this channel.","type":[[["number"]]],"meta":{"line":57,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"videoQualityMode","description":"The camera video quality mode of the channel.","nullable":true,"type":[[["VideoQualityMode"]]],"meta":{"line":65,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"lastMessageId","description":"The last message id sent in the channel, if one was sent","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":75,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"rateLimitPerUser","description":"The rate limit per user (slowmode) for this channel in seconds","type":[[["number"]]],"meta":{"line":87,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"status","description":"The status of the voice channel (max 500 characters)","nullable":true,"type":[[["string"]]],"meta":{"line":99,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"members","description":"The members in this voice-based channel","readonly":true,"type":[[["Collection","<"],["Snowflake",", "],["GuildMember",">"]]],"meta":{"line":108,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"full","description":"Checks if the voice-based channel is full","readonly":true,"type":[[["boolean"]]],"meta":{"line":123,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"lastMessage","description":"The Message object of the last message in the channel, if one was sent","readonly":true,"nullable":true,"type":[[["Message"]]],"meta":{"line":50,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"guild","description":"The guild the channel is in","type":[[["Guild"]]],"meta":{"line":30,"file":"GuildChannel.js","path":"src/structures"}},{"name":"guildId","description":"The id of the guild the channel is in","type":[[["Snowflake"]]],"meta":{"line":36,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionOverwrites","description":"A manager of permission overwrites that belong to this channel","type":[[["PermissionOverwriteManager"]]],"meta":{"line":43,"file":"GuildChannel.js","path":"src/structures"}},{"name":"name","description":"The name of the guild channel","type":[[["string"]]],"meta":{"line":56,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rawPosition","description":"The raw position of the channel from Discord","type":[[["number"]]],"meta":{"line":64,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parentId","description":"The id of the category parent of this channel","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":76,"file":"GuildChannel.js","path":"src/structures"}},{"name":"parent","description":"The category parent of this channel","readonly":true,"nullable":true,"type":[[["CategoryChannel"]]],"meta":{"line":98,"file":"GuildChannel.js","path":"src/structures"}},{"name":"permissionsLocked","description":"If the permissionOverwrites match the parent channel, null if no parent","readonly":true,"nullable":true,"type":[[["boolean"]]],"meta":{"line":107,"file":"GuildChannel.js","path":"src/structures"}},{"name":"position","description":"The position of the channel","readonly":true,"type":[[["number"]]],"meta":{"line":148,"file":"GuildChannel.js","path":"src/structures"}},{"name":"deletable","description":"Whether the channel is deletable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":416,"file":"GuildChannel.js","path":"src/structures"}},{"name":"manageable","description":"Whether the channel is manageable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":425,"file":"GuildChannel.js","path":"src/structures"}},{"name":"viewable","description":"Whether the channel is viewable by the client user","readonly":true,"type":[[["boolean"]]],"meta":{"line":445,"file":"GuildChannel.js","path":"src/structures"}},{"name":"type","description":"The type of the channel","type":[[["ChannelType"]]],"meta":{"line":41,"file":"Channel.js","path":"src/structures"}},{"name":"id","description":"The channel's id","type":[[["Snowflake"]]],"meta":{"line":51,"file":"Channel.js","path":"src/structures"}},{"name":"flags","description":"The flags that are applied to the channel.","nullable":true,"type":[[["Readonly","<"],["ChannelFlags",">"]]],"meta":{"line":58,"file":"Channel.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the channel was created at","readonly":true,"type":[[["number"]]],"meta":{"line":69,"file":"Channel.js","path":"src/structures"}},{"name":"createdAt","description":"The time the channel was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":78,"file":"Channel.js","path":"src/structures"}},{"name":"deleted","description":"Whether or not the structure has been deleted","deprecated":"This will be removed in the next major version, see https://github.com/discordjs/discord.js/issues/7091","type":[[["boolean"]]],"meta":{"line":87,"file":"Channel.js","path":"src/structures"}},{"name":"partial","description":"Whether this Channel is a partial\nThis is always false outside of DM channels.","readonly":true,"type":[[["boolean"]]],"meta":{"line":118,"file":"Channel.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"createInvite","description":"Creates an invite to this guild channel.","inherits":"BaseGuildVoiceChannel#createInvite","inherited":true,"examples":["// Create an invite to a channel\nchannel.createInvite()\n .then(invite => console.log(`Created an invite with a code of ${invite.code}`))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for creating the invite","optional":true,"default":"{}","type":[[["CreateInviteOptions"]]]}],"returns":[[["Promise","<"],["Invite",">"]]],"meta":{"line":156,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"fetchInvites","description":"Fetches a collection of invites to this guild channel.\nResolves with a collection mapping invites by their codes.","inherits":"BaseGuildVoiceChannel#fetchInvites","inherited":true,"params":[{"name":"cache","description":"Whether or not to cache the fetched invites","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Collection","<"],["string",", "],["Invite",">>"]]],"meta":{"line":166,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"setBitrate","description":"Sets the bitrate of the channel.","inherits":"BaseGuildVoiceChannel#setBitrate","inherited":true,"examples":["// Set the bitrate of a voice channel\nchannel.setBitrate(48_000)\n .then(channel => console.log(`Set bitrate to ${channel.bitrate}bps for ${channel.name}`))\n .catch(console.error);"],"params":[{"name":"bitrate","description":"The new bitrate","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the channel's bitrate","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["BaseGuildVoiceChannel",">"]]],"meta":{"line":181,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"setRTCRegion","description":"Sets the RTC region of the channel.","inherits":"BaseGuildVoiceChannel#setRTCRegion","inherited":true,"examples":["// Set the RTC region to sydney\nchannel.setRTCRegion('sydney');","// Remove a fixed region for this channel - let Discord decide automatically\nchannel.setRTCRegion(null, 'We want to let Discord decide.');"],"params":[{"name":"rtcRegion","description":"The new region of the channel. Set to `null` to remove a specific region for the channel","nullable":true,"type":[[["string"]]]},{"name":"reason","description":"The reason for modifying this region.","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["BaseGuildVoiceChannel",">"]]],"meta":{"line":197,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"setUserLimit","description":"Sets the user limit of the channel.","inherits":"BaseGuildVoiceChannel#setUserLimit","inherited":true,"examples":["// Set the user limit of a voice channel\nchannel.setUserLimit(42)\n .then(channel => console.log(`Set user limit to ${channel.userLimit} for ${channel.name}`))\n .catch(console.error);"],"params":[{"name":"userLimit","description":"The new user limit","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the user limit","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["BaseGuildVoiceChannel",">"]]],"meta":{"line":212,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"setVideoQualityMode","description":"Sets the camera video quality mode of the channel.","inherits":"BaseGuildVoiceChannel#setVideoQualityMode","inherited":true,"params":[{"name":"videoQualityMode","description":"The new camera video quality mode.","type":[[["VideoQualityMode"]],[["number"]]]},{"name":"reason","description":"Reason for changing the camera video quality mode.","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["BaseGuildVoiceChannel",">"]]],"meta":{"line":222,"file":"BaseGuildVoiceChannel.js","path":"src/structures"}},{"name":"send","description":"Sends a message to this channel.","inherits":"BaseGuildVoiceChannel#send","inherited":true,"implements":["TextBasedChannel#send"],"examples":["// Send a basic message\nchannel.send('hello!')\n .then(message => console.log(`Sent message: ${message.content}`))\n .catch(console.error);","// Send a remote file\nchannel.send({\n files: ['https://cdn.discordapp.com/icons/222078108977594368/6e1019b3179d71046e463a75915e7244.png?size=2048']\n})\n .then(console.log)\n .catch(console.error);","// Send a local file\nchannel.send({\n files: [{\n attachment: 'entire/path/to/file.jpg',\n name: 'file.jpg',\n description: 'A description of the file'\n }]\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["MessageOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":150,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"sendTyping","description":"Sends a typing indicator in the channel.","inherits":"BaseGuildVoiceChannel#sendTyping","inherited":true,"implements":["TextBasedChannel#sendTyping"],"examples":["// Start typing in a channel\nchannel.sendTyping();"],"async":true,"returns":{"types":[[["Promise","<"],["void",">"]]],"description":"Resolves upon the typing status being sent"},"meta":{"line":355,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createMessageCollector","description":"Creates a Message Collector.","inherits":"BaseGuildVoiceChannel#createMessageCollector","inherited":true,"implements":["TextBasedChannel#createMessageCollector"],"examples":["// Create a message collector\nconst filter = m => m.content.includes('discord');\nconst collector = channel.createMessageCollector({ filter, time: 15_000 });\ncollector.on('collect', m => console.log(`Collected ${m.content}`));\ncollector.on('end', collected => console.log(`Collected ${collected.size} items`));"],"params":[{"name":"options","description":"The options to pass to the collector","optional":true,"default":"{}","type":[[["MessageCollectorOptions"]]]}],"returns":[[["MessageCollector"]]],"meta":{"line":370,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"awaitMessages","description":"Similar to createMessageCollector but in promise form.\nResolves with a collection of messages that pass the specified filter.","inherits":"BaseGuildVoiceChannel#awaitMessages","inherited":true,"implements":["TextBasedChannel#awaitMessages"],"examples":["// Await !vote messages\nconst filter = m => m.content.startsWith('!vote');\n// Errors: ['time'] treats ending because of the time limit as an error\nchannel.awaitMessages({ filter, max: 4, time: 60_000, errors: ['time'] })\n .then(collected => console.log(collected.size))\n .catch(collected => console.log(`After a minute, only ${collected.size} out of 4 voted.`));"],"params":[{"name":"options","description":"Optional options to pass to the internal collector","optional":true,"default":"{}","type":[[["AwaitMessagesOptions"]]]}],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Message",">>"]]],"meta":{"line":393,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"fetchWebhooks","description":"Fetches all webhooks for the channel.","inherits":"BaseGuildVoiceChannel#fetchWebhooks","inherited":true,"implements":["TextBasedChannel#fetchWebhooks"],"examples":["// Fetch webhooks\nchannel.fetchWebhooks()\n .then(hooks => console.log(`This channel has ${hooks.size} hooks`))\n .catch(console.error);"],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Webhook",">>"]]],"meta":{"line":415,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createWebhook","description":"Creates a webhook for the channel.","inherits":"BaseGuildVoiceChannel#createWebhook","inherited":true,"implements":["TextBasedChannel#createWebhook"],"examples":["// Create a webhook for the current channel\nchannel.createWebhook('Snek', {\n avatar: 'https://i.imgur.com/mI8XcpG.jpg',\n reason: 'Needed a cool new Webhook'\n})\n .then(console.log)\n .catch(console.error)"],"params":[{"name":"name","description":"The name of the webhook","type":[[["string"]]]},{"name":"options","description":"Options for creating the webhook","optional":true,"type":[[["ChannelWebhookCreateOptions"]]]}],"returns":{"types":[[["Promise","<"],["Webhook",">"]]],"description":"Returns the created Webhook"},"meta":{"line":440,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"setRateLimitPerUser","description":"Sets the rate limit per user (slowmode) for this channel.","inherits":"BaseGuildVoiceChannel#setRateLimitPerUser","inherited":true,"implements":["TextBasedChannel#setRateLimitPerUser"],"params":[{"name":"rateLimitPerUser","description":"The new rate limit in seconds","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the channel's rate limit","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":450,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"setNSFW","description":"Sets whether this channel is flagged as NSFW.","inherits":"BaseGuildVoiceChannel#setNSFW","inherited":true,"implements":["TextBasedChannel#setNSFW"],"params":[{"name":"nsfw","description":"Whether the channel should be considered NSFW","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"Reason for changing the channel's NSFW flag","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":460,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"permissionsFor","description":"Gets the overall set of permissions for a member or role in this channel, taking into account channel overwrites.","inherits":"GuildChannel#permissionsFor","inherited":true,"params":[{"name":"memberOrRole","description":"The member or role to obtain the overall permissions for","type":[[["GuildMemberResolvable"]],[["RoleResolvable"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":{"types":[[["Readonly","<"],["Permissions",">"]]],"nullable":true},"meta":{"line":172,"file":"GuildChannel.js","path":"src/structures"}},{"name":"memberPermissions","description":"Gets the overall set of permissions for a member in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#memberPermissions","inherited":true,"params":[{"name":"member","description":"The member to obtain the overall permissions for","type":[[["GuildMember"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","default":true,"type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":212,"file":"GuildChannel.js","path":"src/structures"}},{"name":"rolePermissions","description":"Gets the overall set of permissions for a role in this channel, taking into account channel overwrites.","access":"private","inherits":"GuildChannel#rolePermissions","inherited":true,"params":[{"name":"role","description":"The role to obtain the overall permissions for","type":[[["Role"]]]},{"name":"checkAdmin","description":"Whether having `ADMINISTRATOR` will return all permissions","type":[[["boolean"]]]}],"returns":[[["Readonly","<"],["Permissions",">"]]],"meta":{"line":241,"file":"GuildChannel.js","path":"src/structures"}},{"name":"lockPermissions","description":"Locks in the permission overwrites from the parent channel.","inherits":"GuildChannel#lockPermissions","inherited":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":261,"file":"GuildChannel.js","path":"src/structures"}},{"name":"edit","description":"Edits the channel.","inherits":"GuildChannel#edit","inherited":true,"examples":["// Edit a channel\nchannel.edit({ name: 'new-channel' })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"data","description":"The new data for the channel","type":[[["ChannelData"]]]},{"name":"reason","description":"Reason for editing this channel","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":289,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setName","description":"Sets a new name for the guild channel.","inherits":"GuildChannel#setName","inherited":true,"examples":["// Set a new channel name\nchannel.setName('not_general')\n .then(newChannel => console.log(`Channel's new name is ${newChannel.name}`))\n .catch(console.error);"],"params":[{"name":"name","description":"The new name for the guild channel","type":[[["string"]]]},{"name":"reason","description":"Reason for changing the guild channel's name","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":304,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setParent","description":"Sets the parent of this channel.","inherits":"GuildChannel#setParent","inherited":true,"examples":["// Add a parent to a channel\nmessage.channel.setParent('355908108431917066', { lockPermissions: false })\n .then(channel => console.log(`New parent of ${message.channel.name}: ${channel.name}`))\n .catch(console.error);"],"params":[{"name":"channel","description":"The category channel to set as the parent","nullable":true,"type":[[["CategoryChannelResolvable"]]]},{"name":"options","description":"The options for setting the parent","optional":true,"default":"{}","type":[[["SetParentOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":326,"file":"GuildChannel.js","path":"src/structures"}},{"name":"setPosition","description":"Sets a new position for the guild channel.","inherits":"GuildChannel#setPosition","inherited":true,"examples":["// Set a new channel position\nchannel.setPosition(2)\n .then(newChannel => console.log(`Channel's new position is ${newChannel.position}`))\n .catch(console.error);"],"params":[{"name":"position","description":"The new position for the guild channel","type":[[["number"]]]},{"name":"options","description":"Options for setting position","optional":true,"type":[[["SetChannelPositionOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":354,"file":"GuildChannel.js","path":"src/structures"}},{"name":"clone","description":"Clones this channel.","inherits":"GuildChannel#clone","inherited":true,"params":[{"name":"options","description":"The options for cloning this channel","optional":true,"type":[[["GuildChannelCloneOptions"]]]}],"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":369,"file":"GuildChannel.js","path":"src/structures"}},{"name":"equals","description":"Checks if this channel has the same type, topic, position, name, overwrites, and id as another channel.\nIn most cases, a simple `channel.id === channel2.id` will do, and is much faster too.","inherits":"GuildChannel#equals","inherited":true,"params":[{"name":"channel","description":"Channel to compare with","type":[[["GuildChannel"]]]}],"returns":[[["boolean"]]],"meta":{"line":391,"file":"GuildChannel.js","path":"src/structures"}},{"name":"delete","description":"Deletes this channel.","inherits":"GuildChannel#delete","inherited":true,"examples":["// Delete the channel\nchannel.delete('making room for new channels')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"reason","description":"Reason for deleting this channel","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["GuildChannel",">"]]],"meta":{"line":462,"file":"GuildChannel.js","path":"src/structures"}},{"name":"toString","description":"When concatenated with a string, this automatically returns the channel's mention instead of the Channel object.","inherits":"Channel#toString","inherited":true,"examples":["// Logs: Hello from <#123456789012345678>!\nconsole.log(`Hello from ${channel}!`);"],"returns":[[["string"]]],"meta":{"line":129,"file":"Channel.js","path":"src/structures"}},{"name":"fetch","description":"Fetches this channel.","inherits":"Channel#fetch","inherited":true,"params":[{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Promise","<"],["Channel",">"]]],"meta":{"line":152,"file":"Channel.js","path":"src/structures"}},{"name":"isText","description":"Indicates whether this channel is {@link TextBasedChannels text-based}.","inherits":"Channel#isText","inherited":true,"returns":[[["boolean"]]],"meta":{"line":160,"file":"Channel.js","path":"src/structures"}},{"name":"isVoice","description":"Indicates whether this channel is {@link BaseGuildVoiceChannel voice-based}.","inherits":"Channel#isVoice","inherited":true,"returns":[[["boolean"]]],"meta":{"line":168,"file":"Channel.js","path":"src/structures"}},{"name":"isThread","description":"Indicates whether this channel is a {@link ThreadChannel}.","inherits":"Channel#isThread","inherited":true,"returns":[[["boolean"]]],"meta":{"line":176,"file":"Channel.js","path":"src/structures"}},{"name":"isDirectory","description":"Indicates whether this channel is a {@link DirectoryChannel}","inherits":"Channel#isDirectory","inherited":true,"returns":[[["boolean"]]],"meta":{"line":184,"file":"Channel.js","path":"src/structures"}}],"meta":{"line":13,"file":"VoiceChannel.js","path":"src/structures"}},{"name":"VoiceRegion","description":"Represents a Discord voice region for guilds.","props":[{"name":"id","description":"The region's id","type":[[["string"]]],"meta":{"line":14,"file":"VoiceRegion.js","path":"src/structures"}},{"name":"name","description":"Name of the region","type":[[["string"]]],"meta":{"line":20,"file":"VoiceRegion.js","path":"src/structures"}},{"name":"vip","description":"Whether the region is VIP-only","deprecated":"This property is no longer being sent by the API.","type":[[["boolean"]]],"meta":{"line":27,"file":"VoiceRegion.js","path":"src/structures"}},{"name":"deprecated","description":"Whether the region is deprecated","type":[[["boolean"]]],"meta":{"line":33,"file":"VoiceRegion.js","path":"src/structures"}},{"name":"optimal","description":"Whether the region is optimal","type":[[["boolean"]]],"meta":{"line":39,"file":"VoiceRegion.js","path":"src/structures"}},{"name":"custom","description":"Whether the region is custom","type":[[["boolean"]]],"meta":{"line":45,"file":"VoiceRegion.js","path":"src/structures"}}],"meta":{"line":8,"file":"VoiceRegion.js","path":"src/structures"}},{"name":"VoiceState","description":"Represents the voice state for a Guild Member.","extends":[[["Base"]]],"props":[{"name":"guild","description":"The guild of this voice state","type":[[["Guild"]]],"meta":{"line":17,"file":"VoiceState.js","path":"src/structures"}},{"name":"id","description":"The id of the member of this voice state","type":[[["Snowflake"]]],"meta":{"line":22,"file":"VoiceState.js","path":"src/structures"}},{"name":"serverDeaf","description":"Whether this member is deafened server-wide","nullable":true,"type":[[["boolean"]]],"meta":{"line":32,"file":"VoiceState.js","path":"src/structures"}},{"name":"serverMute","description":"Whether this member is muted server-wide","nullable":true,"type":[[["boolean"]]],"meta":{"line":42,"file":"VoiceState.js","path":"src/structures"}},{"name":"selfDeaf","description":"Whether this member is self-deafened","nullable":true,"type":[[["boolean"]]],"meta":{"line":52,"file":"VoiceState.js","path":"src/structures"}},{"name":"selfMute","description":"Whether this member is self-muted","nullable":true,"type":[[["boolean"]]],"meta":{"line":62,"file":"VoiceState.js","path":"src/structures"}},{"name":"selfVideo","description":"Whether this member's camera is enabled","nullable":true,"type":[[["boolean"]]],"meta":{"line":72,"file":"VoiceState.js","path":"src/structures"}},{"name":"sessionId","description":"The session id for this member's connection","nullable":true,"type":[[["string"]]],"meta":{"line":82,"file":"VoiceState.js","path":"src/structures"}},{"name":"streaming","description":"Whether this member is streaming using \"Screen Share\"","type":[[["boolean"]]],"meta":{"line":94,"file":"VoiceState.js","path":"src/structures"}},{"name":"channelId","description":"The {@link VoiceChannel} or {@link StageChannel} id the member is in","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":104,"file":"VoiceState.js","path":"src/structures"}},{"name":"suppress","description":"Whether this member is suppressed from speaking. This property is specific to stage channels only.","type":[[["boolean"]]],"meta":{"line":114,"file":"VoiceState.js","path":"src/structures"}},{"name":"requestToSpeakTimestamp","description":"The time at which the member requested to speak. This property is specific to stage channels only.","nullable":true,"type":[[["number"]]],"meta":{"line":122,"file":"VoiceState.js","path":"src/structures"}},{"name":"member","description":"The member that this voice state belongs to","readonly":true,"nullable":true,"type":[[["GuildMember"]]],"meta":{"line":135,"file":"VoiceState.js","path":"src/structures"}},{"name":"user","description":"The user that this voice state belongs to","readonly":true,"nullable":true,"type":[[["User"]]],"meta":{"line":145,"file":"VoiceState.js","path":"src/structures"}},{"name":"channel","description":"The channel that the member is connected to","readonly":true,"nullable":true,"type":[[["VoiceChannel"]],[["StageChannel"]],[["DMChannel"]],[["GroupDMChannel"]]],"meta":{"line":154,"file":"VoiceState.js","path":"src/structures"}},{"name":"deaf","description":"Whether this member is either self-deafened or server-deafened","readonly":true,"nullable":true,"type":[[["boolean"]]],"meta":{"line":163,"file":"VoiceState.js","path":"src/structures"}},{"name":"mute","description":"Whether this member is either self-muted or server-muted","readonly":true,"nullable":true,"type":[[["boolean"]]],"meta":{"line":172,"file":"VoiceState.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"setMute","description":"Mutes/unmutes the member of this voice state.","params":[{"name":"mute","description":"Whether or not the member should be muted","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"Reason for muting or unmuting","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":182,"file":"VoiceState.js","path":"src/structures"}},{"name":"setDeaf","description":"Deafens/undeafens the member of this voice state.","params":[{"name":"deaf","description":"Whether or not the member should be deafened","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"Reason for deafening or undeafening","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":193,"file":"VoiceState.js","path":"src/structures"}},{"name":"disconnect","description":"Disconnects the member from the channel.","params":[{"name":"reason","description":"Reason for disconnecting the member from the channel","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":203,"file":"VoiceState.js","path":"src/structures"}},{"name":"setChannel","description":"Moves the member to a different channel, or disconnects them from the one they're in.","params":[{"name":"channel","description":"Channel to move the member to, or `null` if you want to\ndisconnect them from voice.","type":[[["GuildVoiceChannelResolvable"]],[["null"]]]},{"name":"reason","description":"Reason for moving member to another channel or disconnecting","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["GuildMember",">"]]],"meta":{"line":214,"file":"VoiceState.js","path":"src/structures"}},{"name":"setRequestToSpeak","description":"Toggles the request to speak in the channel.\nOnly applicable for stage channels and for the client's own voice state.","examples":["// Making the client request to speak in a stage channel (raise its hand)\nguild.members.me.voice.setRequestToSpeak(true);","// Making the client cancel a request to speak\nguild.members.me.voice.setRequestToSpeak(false);"],"params":[{"name":"request","description":"Whether or not the client is requesting to become a speaker.","optional":true,"default":true,"type":[[["boolean"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":231,"file":"VoiceState.js","path":"src/structures"}},{"name":"setSuppressed","description":"Suppress/unsuppress the user. Only applicable for stage channels.","examples":["// Making the client a speaker\nguild.members.me.voice.setSuppressed(false);","// Making the client an audience member\nguild.members.me.voice.setSuppressed(true);","// Inviting another user to speak\nvoiceState.setSuppressed(false);","// Moving another user to the audience, or cancelling their invite to speak\nvoiceState.setSuppressed(true);"],"params":[{"name":"suppressed","description":"Whether or not the user should be suppressed.","optional":true,"default":true,"type":[[["boolean"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":261,"file":"VoiceState.js","path":"src/structures"}},{"name":"setStatus","description":"Sets the status of the voice channel","examples":["// Setting the status to something\nguild.members.me.voice.setStatus(\"something\")","// Removing the status\nguild.members.me.voice.setStatus()"],"params":[{"name":"status","description":"The message to set the channel status to","optional":true,"default":"\"\"","type":[[["string"]]]}],"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":288,"file":"VoiceState.js","path":"src/structures"}},{"name":"getPreview","description":"Get URL Image of the user's streaming video (NOT STREAMING !!!)","async":true,"returns":{"types":[[["Promise","<"],["string",">"]]],"description":"URL Image of the user's streaming video"},"meta":{"line":301,"file":"VoiceState.js","path":"src/structures"}},{"name":"postPreview","description":"Post Preview Image to the client user's streaming video","params":[{"name":"base64Image","description":"Base64 URI (data:image/jpeg;base64,data)","type":[[["string"]]]}],"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":317,"file":"VoiceState.js","path":"src/structures"}}],"meta":{"line":10,"file":"VoiceState.js","path":"src/structures"}},{"name":"WebEmbed","description":"Send Embedlink to Discord\nOnly works with Discord Web and Discord Client (no custom theme installed)\n- No Timestamp, Footer, Fields, Author iconURL\n- Video with Embed working\n- Can only choose between image and thumbnail\n- Description limit 350 characters","construct":{"name":"WebEmbed","params":[{"name":"data","description":"Raw data","optional":true,"default":"{}","type":[[["WebEmbed"]]]}]},"props":[{"name":"imageType","description":"Type image of this embed","type":[[["thumbnail"]],[["image"]]],"meta":{"line":60,"file":"WebEmbed.js","path":"src/structures"}},{"name":"title","description":"The title of this embed","nullable":true,"type":[[["string"]]],"meta":{"line":65,"file":"WebEmbed.js","path":"src/structures"}},{"name":"description","description":"The description of this embed","nullable":true,"type":[[["string"]]],"meta":{"line":71,"file":"WebEmbed.js","path":"src/structures"}},{"name":"url","description":"The URL of this embed","nullable":true,"type":[[["string"]]],"meta":{"line":77,"file":"WebEmbed.js","path":"src/structures"}},{"name":"color","description":"The color of this embed","nullable":true,"type":[[["number"]]],"meta":{"line":83,"file":"WebEmbed.js","path":"src/structures"}},{"name":"image","description":"The image of this embed, if there is one","nullable":true,"type":[[["WebEmbedImage"]]],"meta":{"line":98,"file":"WebEmbed.js","path":"src/structures"}},{"name":"thumbnail","description":"The thumbnail of this embed (if there is one)","nullable":true,"type":[[["WebEmbedThumbnail"]]],"meta":{"line":111,"file":"WebEmbed.js","path":"src/structures"}},{"name":"video","description":"The video of this embed (if there is one)","readonly":true,"nullable":true,"type":[[["WebEmbedVideo"]]],"meta":{"line":134,"file":"WebEmbed.js","path":"src/structures"}},{"name":"author","description":"The author of this embed (if there is one)","nullable":true,"type":[[["WebEmbedAuthor"]]],"meta":{"line":154,"file":"WebEmbed.js","path":"src/structures"}},{"name":"provider","description":"The provider of this embed (if there is one)","nullable":true,"type":[[["WebEmbedProvider"]]],"meta":{"line":172,"file":"WebEmbed.js","path":"src/structures"}},{"name":"redirect","description":"Redirect URL","type":[[["string"]]],"meta":{"line":183,"file":"WebEmbed.js","path":"src/structures"}}],"methods":[{"name":"_setup","access":"private","params":[{"name":"data","description":"The data for the embed","type":[[["Object"]]]}],"meta":{"line":55,"file":"WebEmbed.js","path":"src/structures"}},{"name":"setAuthor","description":"Sets the author of this embed.","params":[{"name":"options","description":"The options to provide for the author.\nProvide `null` to remove the author data.","type":[[["string"]],[["EmbedAuthorData"]],[["null"]]]}],"returns":[[["WebEmbed"]]],"meta":{"line":197,"file":"WebEmbed.js","path":"src/structures"}},{"name":"setProvider","description":"Sets the provider of this embed.","params":[{"name":"options","description":"The options to provide for the provider.\nProvide `null` to remove the provider data.","type":[[["string"]],[["EmbedProviderData"]],[["null"]]]}],"returns":[[["WebEmbed"]]],"meta":{"line":222,"file":"WebEmbed.js","path":"src/structures"}},{"name":"setColor","description":"Sets the color of this embed.","params":[{"name":"color","description":"The color of the embed","type":[[["ColorResolvable"]]]}],"returns":[[["WebEmbed"]]],"meta":{"line":240,"file":"WebEmbed.js","path":"src/structures"}},{"name":"setDescription","description":"Sets the description of this embed.","params":[{"name":"description","description":"The description (Limit 350 characters)","type":[[["string"]]]}],"returns":[[["WebEmbed"]]],"meta":{"line":250,"file":"WebEmbed.js","path":"src/structures"}},{"name":"setImage","description":"Sets the image of this embed.","params":[{"name":"url","description":"The URL of the image","type":[[["string"]]]}],"returns":[[["WebEmbed"]]],"meta":{"line":260,"file":"WebEmbed.js","path":"src/structures"}},{"name":"setThumbnail","description":"Sets the thumbnail of this embed.","params":[{"name":"url","description":"The URL of the image","type":[[["string"]]]}],"returns":[[["WebEmbed"]]],"meta":{"line":275,"file":"WebEmbed.js","path":"src/structures"}},{"name":"setVideo","description":"Sets the video of this embed.","params":[{"name":"url","description":"The URL of the video","type":[[["string"]]]}],"returns":[[["WebEmbed"]]],"meta":{"line":290,"file":"WebEmbed.js","path":"src/structures"}},{"name":"setTitle","description":"Sets the title of this embed.","params":[{"name":"title","description":"The title","type":[[["string"]]]}],"returns":[[["WebEmbed"]]],"meta":{"line":300,"file":"WebEmbed.js","path":"src/structures"}},{"name":"setURL","description":"Sets the URL of this embed.","params":[{"name":"url","description":"The URL","type":[[["string"]]]}],"returns":[[["WebEmbed"]]],"meta":{"line":310,"file":"WebEmbed.js","path":"src/structures"}},{"name":"setRedirect","description":"Sets the redirect URL of this embed.","params":[{"name":"url","description":"The URL","type":[[["string"]]]}],"returns":[[["WebEmbed"]]],"meta":{"line":320,"file":"WebEmbed.js","path":"src/structures"}}],"meta":{"line":17,"file":"WebEmbed.js","path":"src/structures"}},{"name":"Webhook","description":"Represents a webhook.","props":[{"name":"client","description":"The client that instantiated the webhook","readonly":true,"type":[[["Client"]]],"meta":{"line":17,"file":"Webhook.js","path":"src/structures"}},{"name":"name","description":"The name of the webhook","type":[[["string"]]],"meta":{"line":33,"file":"Webhook.js","path":"src/structures"}},{"name":"token","description":"The token for the webhook, unavailable for follower webhooks and webhooks owned by another application.","nullable":true,"type":[[["string"]]],"meta":{"line":36,"file":"Webhook.js","path":"src/structures"}},{"name":"avatar","description":"The avatar for the webhook","nullable":true,"type":[[["string"]]],"meta":{"line":48,"file":"Webhook.js","path":"src/structures"}},{"name":"id","description":"The webhook's id","type":[[["Snowflake"]]],"meta":{"line":55,"file":"Webhook.js","path":"src/structures"}},{"name":"type","description":"The type of the webhook","type":[[["WebhookType"]]],"meta":{"line":62,"file":"Webhook.js","path":"src/structures"}},{"name":"guildId","description":"The guild the webhook belongs to","type":[[["Snowflake"]]],"meta":{"line":70,"file":"Webhook.js","path":"src/structures"}},{"name":"channelId","description":"The id of the channel the webhook belongs to","type":[[["Snowflake"]]],"meta":{"line":78,"file":"Webhook.js","path":"src/structures"}},{"name":"owner","description":"The owner of the webhook","nullable":true,"type":[[["User"]],[["APIUser"]]],"meta":{"line":86,"file":"Webhook.js","path":"src/structures"}},{"name":"sourceGuild","description":"The source guild of the webhook","nullable":true,"type":[[["Guild"]],[["APIGuild"]]],"meta":{"line":96,"file":"Webhook.js","path":"src/structures"}},{"name":"sourceChannel","description":"The source channel of the webhook","nullable":true,"type":[[["NewsChannel"]],[["APIChannel"]]],"meta":{"line":106,"file":"Webhook.js","path":"src/structures"}},{"name":"channel","description":"The channel the webhook belongs to","readonly":true,"nullable":true,"type":[[["TextChannel"]],[["VoiceChannel"]],[["NewsChannel"]],[["ForumChannel"]]],"meta":{"line":391,"file":"Webhook.js","path":"src/structures"}},{"name":"createdTimestamp","description":"The timestamp the webhook was created at","readonly":true,"type":[[["number"]]],"meta":{"line":400,"file":"Webhook.js","path":"src/structures"}},{"name":"createdAt","description":"The time the webhook was created at","readonly":true,"type":[[["Date"]]],"meta":{"line":409,"file":"Webhook.js","path":"src/structures"}},{"name":"url","description":"The URL of this webhook","readonly":true,"type":[[["string"]]],"meta":{"line":418,"file":"Webhook.js","path":"src/structures"}}],"methods":[{"name":"send","description":"Sends a message with this webhook.","examples":["// Send a basic message\nwebhook.send('hello!')\n .then(message => console.log(`Sent message: ${message.content}`))\n .catch(console.error);","// Send a basic message in a thread\nwebhook.send({ content: 'hello!', threadId: '836856309672348295' })\n .then(message => console.log(`Sent message: ${message.content}`))\n .catch(console.error);","// Send a remote file\nwebhook.send({\n files: ['https://cdn.discordapp.com/icons/222078108977594368/6e1019b3179d71046e463a75915e7244.png?size=2048']\n})\n .then(console.log)\n .catch(console.error);","// Send a local file\nwebhook.send({\n files: [{\n attachment: 'entire/path/to/file.jpg',\n name: 'file.jpg'\n }]\n})\n .then(console.log)\n .catch(console.error);","// Send an embed with a local image inside\nwebhook.send({\n content: 'This is an embed',\n embeds: [{\n thumbnail: {\n url: 'attachment://file.jpg'\n }\n }],\n files: [{\n attachment: 'entire/path/to/file.jpg',\n name: 'file.jpg'\n }]\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["WebhookMessageOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":185,"file":"Webhook.js","path":"src/structures"}},{"name":"sendSlackMessage","description":"Sends a raw slack message with this webhook.","see":["{@link https://api.slack.com/messaging/webhooks}"],"examples":["// Send a slack message\nwebhook.sendSlackMessage({\n 'username': 'Wumpus',\n 'attachments': [{\n 'pretext': 'this looks pretty cool',\n 'color': '#F0F',\n 'footer_icon': 'http://snek.s3.amazonaws.com/topSnek.png',\n 'footer': 'Powered by sneks',\n 'ts': Date.now() / 1_000\n }]\n}).catch(console.error);"],"params":[{"name":"body","description":"The raw body to send","type":[[["Object"]]]}],"async":true,"returns":[[["Promise","<"],["boolean",">"]]],"meta":{"line":225,"file":"Webhook.js","path":"src/structures"}},{"name":"edit","description":"Edits this webhook.","params":[{"name":"options","description":"Options for editing the webhook","type":[[["WebhookEditData"]]]},{"name":"reason","description":"Reason for editing the webhook","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["Webhook",">"]]],"meta":{"line":252,"file":"Webhook.js","path":"src/structures"}},{"name":"fetchMessage","description":"Gets a message that was sent by this webhook.","params":[{"name":"message","description":"The id of the message to fetch","type":[[["Snowflake"]],[["original","'"]]]},{"name":"cacheOrOptions","description":"The options to provide to fetch the message.\nA **deprecated** boolean may be passed instead to specify whether to cache the message.","optional":true,"default":"{}","type":[[["WebhookFetchMessageOptions"]],[["boolean"]]]}],"async":true,"returns":{"types":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"description":"Returns the raw message data if the webhook was instantiated as a\n{@link WebhookClient} or if the channel is uncached, otherwise a {@link Message} will be returned"},"meta":{"line":286,"file":"Webhook.js","path":"src/structures"}},{"name":"editMessage","description":"Edits a message that was sent by this webhook.","params":[{"name":"message","description":"The message to edit","type":[[["MessageResolvable"]],[["original","'"]]]},{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["WebhookEditMessageOptions"]]]}],"async":true,"returns":{"types":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"description":"Returns the raw message data if the webhook was instantiated as a\n{@link WebhookClient} or if the channel is uncached, otherwise a {@link Message} will be returned"},"meta":{"line":322,"file":"Webhook.js","path":"src/structures"}},{"name":"delete","description":"Deletes the webhook.","params":[{"name":"reason","description":"Reason for deleting this webhook","optional":true,"type":[[["string"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":361,"file":"Webhook.js","path":"src/structures"}},{"name":"deleteMessage","description":"Delete a message that was sent by this webhook.","params":[{"name":"message","description":"The message to delete","type":[[["MessageResolvable"]],[["original","'"]]]},{"name":"threadId","description":"The id of the thread this message belongs to","optional":true,"type":[[["Snowflake"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":371,"file":"Webhook.js","path":"src/structures"}},{"name":"avatarURL","description":"A link to the webhook's avatar.","params":[{"name":"options","description":"Options for the Image URL","optional":true,"default":"{}","type":[[["StaticImageURLOptions"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":427,"file":"Webhook.js","path":"src/structures"}},{"name":"isChannelFollower","description":"Whether or not this webhook is a channel follower webhook.","returns":[[["boolean"]]],"meta":{"line":436,"file":"Webhook.js","path":"src/structures"}},{"name":"isIncoming","description":"Whether or not this webhook is an incoming webhook.","returns":[[["boolean"]]],"meta":{"line":444,"file":"Webhook.js","path":"src/structures"}}],"meta":{"line":15,"file":"Webhook.js","path":"src/structures"}},{"name":"WelcomeChannel","description":"Represents a channel link in a guild's welcome screen.","extends":[[["Base"]]],"props":[{"name":"guild","description":"The guild for this welcome channel","type":[[["Guild"]],[["InviteGuild"]]],"meta":{"line":18,"file":"WelcomeChannel.js","path":"src/structures"}},{"name":"description","description":"The description of this welcome channel","type":[[["string"]]],"meta":{"line":24,"file":"WelcomeChannel.js","path":"src/structures"}},{"name":"_emoji","description":"The raw emoji data","access":"private","type":[[["Object"]]],"meta":{"line":31,"file":"WelcomeChannel.js","path":"src/structures"}},{"name":"channelId","description":"The id of this welcome channel","type":[[["Snowflake"]]],"meta":{"line":40,"file":"WelcomeChannel.js","path":"src/structures"}},{"name":"channel","description":"The channel of this welcome channel","nullable":true,"type":[[["TextChannel"]],[["NewsChannel"]],[["StoreChannel"]],[["ForumChannel"]]],"meta":{"line":47,"file":"WelcomeChannel.js","path":"src/structures"}},{"name":"emoji","description":"The emoji of this welcome channel","type":[[["GuildEmoji"]],[["Emoji"]]],"meta":{"line":55,"file":"WelcomeChannel.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"meta":{"line":10,"file":"WelcomeChannel.js","path":"src/structures"}},{"name":"WelcomeScreen","description":"Represents a welcome screen.","extends":[[["Base"]]],"props":[{"name":"guild","description":"The guild for this welcome screen","type":[[["Guild"]]],"meta":{"line":19,"file":"WelcomeScreen.js","path":"src/structures"}},{"name":"description","description":"The description of this welcome screen","nullable":true,"type":[[["string"]]],"meta":{"line":25,"file":"WelcomeScreen.js","path":"src/structures"}},{"name":"welcomeChannels","description":"Collection of welcome channels belonging to this welcome screen","type":[[["Collection","<"],["Snowflake",", "],["WelcomeChannel",">"]]],"meta":{"line":31,"file":"WelcomeScreen.js","path":"src/structures"}},{"name":"enabled","description":"Whether the welcome screen is enabled on the guild or not","type":[[["boolean"]]],"meta":{"line":43,"file":"WelcomeScreen.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"meta":{"line":11,"file":"WelcomeScreen.js","path":"src/structures"}},{"name":"Widget","description":"Represents a Widget.","extends":[[["Base"]]],"props":[{"name":"id","description":"The id of the guild.","type":[[["Snowflake"]]],"meta":{"line":30,"file":"Widget.js","path":"src/structures"}},{"name":"name","description":"The name of the guild.","type":[[["string"]]],"meta":{"line":37,"file":"Widget.js","path":"src/structures"}},{"name":"instantInvite","description":"The invite of the guild.","nullable":true,"type":[[["string"]]],"meta":{"line":45,"file":"Widget.js","path":"src/structures"}},{"name":"channels","description":"The list of channels in the guild.","type":[[["Collection","<"],["Snowflake",", "],["WidgetChannel",">"]]],"meta":{"line":52,"file":"Widget.js","path":"src/structures"}},{"name":"members","description":"The list of members in the guild.\nThese strings are just arbitrary numbers, they aren't Snowflakes.","type":[[["Collection","<"],["string",", "],["WidgetMember",">"]]],"meta":{"line":62,"file":"Widget.js","path":"src/structures"}},{"name":"presenceCount","description":"The number of members online.","type":[[["number"]]],"meta":{"line":72,"file":"Widget.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"methods":[{"name":"fetch","description":"Update the Widget.","async":true,"returns":[[["Promise","<"],["Widget",">"]]],"meta":{"line":80,"file":"Widget.js","path":"src/structures"}}],"meta":{"line":11,"file":"Widget.js","path":"src/structures"}},{"name":"WidgetMember","description":"Represents a WidgetMember.","extends":[[["Base"]]],"props":[{"name":"id","description":"The id of the user. It's an arbitrary number.","type":[[["string"]]],"meta":{"line":23,"file":"WidgetMember.js","path":"src/structures"}},{"name":"username","description":"The username of the member.","type":[[["string"]]],"meta":{"line":29,"file":"WidgetMember.js","path":"src/structures"}},{"name":"discriminator","description":"The discriminator of the member.","type":[[["string"]]],"meta":{"line":35,"file":"WidgetMember.js","path":"src/structures"}},{"name":"avatar","description":"The avatar of the member.","nullable":true,"type":[[["string"]]],"meta":{"line":41,"file":"WidgetMember.js","path":"src/structures"}},{"name":"status","description":"The status of the member.","type":[[["PresenceStatus"]]],"meta":{"line":47,"file":"WidgetMember.js","path":"src/structures"}},{"name":"deaf","description":"If the member is server deafened","nullable":true,"type":[[["boolean"]]],"meta":{"line":53,"file":"WidgetMember.js","path":"src/structures"}},{"name":"mute","description":"If the member is server muted","nullable":true,"type":[[["boolean"]]],"meta":{"line":59,"file":"WidgetMember.js","path":"src/structures"}},{"name":"selfDeaf","description":"If the member is self deafened","nullable":true,"type":[[["boolean"]]],"meta":{"line":65,"file":"WidgetMember.js","path":"src/structures"}},{"name":"selfMute","description":"If the member is self muted","nullable":true,"type":[[["boolean"]]],"meta":{"line":71,"file":"WidgetMember.js","path":"src/structures"}},{"name":"suppress","description":"If the member is suppressed","nullable":true,"type":[[["boolean"]]],"meta":{"line":77,"file":"WidgetMember.js","path":"src/structures"}},{"name":"channelId","description":"The id of the voice channel the member is in, if any","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":83,"file":"WidgetMember.js","path":"src/structures"}},{"name":"avatarURL","description":"The avatar URL of the member.","type":[[["string"]]],"meta":{"line":89,"file":"WidgetMember.js","path":"src/structures"}},{"name":"activity","description":"The activity of the member.","nullable":true,"type":[[["WidgetActivity"]]],"meta":{"line":95,"file":"WidgetMember.js","path":"src/structures"}},{"name":"client","description":"The client that instantiated this","readonly":true,"type":[[["Client"]]],"meta":{"line":11,"file":"Base.js","path":"src/structures"}}],"meta":{"line":9,"file":"WidgetMember.js","path":"src/structures"}},{"name":"ActivityFlags","description":"Data structure that makes it easy to interact with an {@link Activity#flags} bitfield.","extends":[[["BitField"]]],"construct":{"name":"ActivityFlags","params":[{"name":"bits","description":"Bit(s) to read from","optional":true,"default":0,"type":[[["BitFieldResolvable"]]]}]},"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["number"]],[["bigint"]]],"meta":{"line":17,"file":"BitField.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric activity flags. All available properties:\n* `INSTANCE`\n* `JOIN`\n* `SPECTATE`\n* `JOIN_REQUEST`\n* `SYNC`\n* `PLAY`\n* `PARTY_PRIVACY_FRIENDS`\n* `PARTY_PRIVACY_VOICE_CHANNEL`\n* `EMBEDDED`","see":["{@link https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-flags}"],"scope":"static","type":[[["Object"]]],"meta":{"line":32,"file":"ActivityFlags.js","path":"src/util"}}],"methods":[{"name":"any","description":"Checks whether the bitfield has a bit, or any of multiple bits.","inherits":"BitField#any","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":25,"file":"BitField.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","inherits":"BitField#equals","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a bit, or multiple bits.","inherits":"BitField#has","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"BitField.js","path":"src/util"}},{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","inherits":"BitField#missing","inherited":true,"params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":54,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","inherits":"BitField#freeze","inherited":true,"returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","inherits":"BitField#add","inherited":true,"params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","inherits":"BitField#remove","inherited":true,"params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","inherits":"BitField#serialize","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the bits available.","inherits":"BitField#toArray","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":113,"file":"BitField.js","path":"src/util"}}],"meta":{"line":9,"file":"ActivityFlags.js","path":"src/util"}},{"name":"ApplicationFlags","description":"Data structure that makes it easy to interact with a {@link Application#flags} bitfield.","extends":[[["BitField"]]],"construct":{"name":"ApplicationFlags","params":[{"name":"bits","description":"Bit(s) to read from","optional":true,"default":0,"type":[[["BitFieldResolvable"]]]}]},"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["number"]]],"meta":{"line":18,"file":"ApplicationFlags.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric application flags. All available properties:\n* `EMBEDDED_RELEASED`\n* `MANAGED_EMOJI`\n* `GROUP_DM_CREATE`\n* `RPC_PRIVATE_BETA`\n* `APPLICATION_AUTO_MODERATION_RULE_CREATE_BADGE`\n* `ALLOW_ASSETS`\n* `ALLOW_ACTIVITY_ACTION_SPECTATE`\n* `ALLOW_ACTIVITY_ACTION_JOIN_REQUEST`\n* `RPC_HAS_CONNECTED`\n* `GATEWAY_PRESENCE`\n* `GATEWAY_PRESENCE_LIMITED`\n* `GATEWAY_GUILD_MEMBERS`\n* `GATEWAY_GUILD_MEMBERS_LIMITED`\n* `VERIFICATION_PENDING_GUILD_LIMIT`\n* `EMBEDDED`\n* `GATEWAY_MESSAGE_CONTENT`\n* `GATEWAY_MESSAGE_CONTENT_LIMITED`\n* `EMBEDDED_FIRST_PARTY`\n* `APPLICATION_COMMAND_BADGE`\n* `ACTIVE`\n* `IFRAME_MODAL`","see":["{@link https://discord.com/developers/docs/resources/application#application-object-application-flags}","{@link https://flags.lewistehminerz.dev/}"],"scope":"static","type":[[["Object"]]],"meta":{"line":51,"file":"ApplicationFlags.js","path":"src/util"}}],"methods":[{"name":"any","description":"Checks whether the bitfield has a bit, or any of multiple bits.","inherits":"BitField#any","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":25,"file":"BitField.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","inherits":"BitField#equals","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a bit, or multiple bits.","inherits":"BitField#has","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"BitField.js","path":"src/util"}},{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","inherits":"BitField#missing","inherited":true,"params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":54,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","inherits":"BitField#freeze","inherited":true,"returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","inherits":"BitField#add","inherited":true,"params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","inherits":"BitField#remove","inherited":true,"params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","inherits":"BitField#serialize","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the bits available.","inherits":"BitField#toArray","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":113,"file":"BitField.js","path":"src/util"}}],"meta":{"line":9,"file":"ApplicationFlags.js","path":"src/util"}},{"name":"AttachmentFlags","description":"Data structure that makes it easy to interact with an {@link GuildMember#flags} bitfield.","extends":[[["BitField"]]],"construct":{"name":"AttachmentFlags","params":[{"name":"bits","description":"Bit(s) to read from","optional":true,"default":0,"type":[[["BitFieldResolvable"]]]}]},"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["number"]],[["bigint"]]],"meta":{"line":17,"file":"BitField.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric guild member flags. All available properties:\n* `IS_REMIX`","see":["{@link https://discord.com/developers/docs/resources/channel#attachment-object-attachment-structure-attachment-flags}"],"scope":"static","type":[[["Object"]]],"meta":{"line":25,"file":"AttachmentFlags.js","path":"src/util"}}],"methods":[{"name":"any","description":"Checks whether the bitfield has a bit, or any of multiple bits.","inherits":"BitField#any","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":25,"file":"BitField.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","inherits":"BitField#equals","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a bit, or multiple bits.","inherits":"BitField#has","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"BitField.js","path":"src/util"}},{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","inherits":"BitField#missing","inherited":true,"params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":54,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","inherits":"BitField#freeze","inherited":true,"returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","inherits":"BitField#add","inherited":true,"params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","inherits":"BitField#remove","inherited":true,"params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","inherits":"BitField#serialize","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the bits available.","inherits":"BitField#toArray","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":113,"file":"BitField.js","path":"src/util"}}],"meta":{"line":9,"file":"AttachmentFlags.js","path":"src/util"}},{"name":"BitField","description":"Data structure that makes it easy to interact with a bitfield.","construct":{"name":"BitField","params":[{"name":"bits","description":"Bit(s) to read from","optional":true,"default":"this.constructor.defaultBit","type":[[["BitFieldResolvable"]]]}]},"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["number"]],[["bigint"]]],"meta":{"line":17,"file":"BitField.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric bitfield flags.\nDefined in extension classes","scope":"static","abstract":true,"type":[[["Object"]]],"meta":{"line":162,"file":"BitField.js","path":"src/util"}},{"name":"defaultBit","scope":"static","access":"private","type":[[["number"]],[["bigint"]]],"meta":{"line":168,"file":"BitField.js","path":"src/util"}}],"methods":[{"name":"any","description":"Checks whether the bitfield has a bit, or any of multiple bits.","params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":25,"file":"BitField.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a bit, or multiple bits.","params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"BitField.js","path":"src/util"}},{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":54,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the bits available.","params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":113,"file":"BitField.js","path":"src/util"}},{"name":"resolve","description":"Resolves bitfields to their numeric form.","scope":"static","params":[{"name":"bit","description":"bit(s) to resolve","optional":true,"type":[[["BitFieldResolvable"]]]}],"returns":[[["number"]],[["bigint"]]],"meta":{"line":143,"file":"BitField.js","path":"src/util"}}],"meta":{"line":8,"file":"BitField.js","path":"src/util"}},{"name":"ChannelFlags","description":"Data structure that makes it easy to interact with a {@link Channel#flags} bitfield.","extends":[[["BitField"]]],"construct":{"name":"ChannelFlags","params":[{"name":"bits","description":"Bit(s) to read from","optional":true,"default":0,"type":[[["BitFieldResolvable"]]]}]},"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["number"]]],"meta":{"line":30,"file":"ChannelFlags.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric guild channel flags. All available properties:\n* `PINNED`\n* `REQUIRE_TAG`","see":["{@link https://discord.com/developers/docs/resources/channel#channel-object-channel-flags}"],"scope":"static","type":[[["Object"]]],"meta":{"line":18,"file":"ChannelFlags.js","path":"src/util"}}],"methods":[{"name":"any","description":"Checks whether the bitfield has a bit, or any of multiple bits.","inherits":"BitField#any","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":25,"file":"BitField.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","inherits":"BitField#equals","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a bit, or multiple bits.","inherits":"BitField#has","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"BitField.js","path":"src/util"}},{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","inherits":"BitField#missing","inherited":true,"params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":54,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","inherits":"BitField#freeze","inherited":true,"returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","inherits":"BitField#add","inherited":true,"params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","inherits":"BitField#remove","inherited":true,"params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","inherits":"BitField#serialize","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the bits available.","inherits":"BitField#toArray","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":113,"file":"BitField.js","path":"src/util"}}],"meta":{"line":9,"file":"ChannelFlags.js","path":"src/util"}},{"name":"DataResolver","description":"The DataResolver identifies different objects and tries to resolve a specific piece of information from them.","access":"private","methods":[{"name":"resolveCode","description":"Resolves the string to a code based on the passed regex.","scope":"static","params":[{"name":"data","description":"The string to resolve","type":[[["string"]]]},{"name":"regex","description":"The RegExp used to extract the code","type":[[["RegExp"]]]}],"returns":[[["string"]]],"meta":{"line":36,"file":"DataResolver.js","path":"src/util"}},{"name":"resolveInviteCode","description":"Resolves InviteResolvable to an invite code.","scope":"static","params":[{"name":"data","description":"The invite resolvable to resolve","type":[[["InviteResolvable"]]]}],"returns":[[["string"]]],"meta":{"line":45,"file":"DataResolver.js","path":"src/util"}},{"name":"resolveGuildTemplateCode","description":"Resolves GuildTemplateResolvable to a template code.","scope":"static","params":[{"name":"data","description":"The template resolvable to resolve","type":[[["GuildTemplateResolvable"]]]}],"returns":[[["string"]]],"meta":{"line":54,"file":"DataResolver.js","path":"src/util"}},{"name":"resolveImage","description":"Resolves a Base64Resolvable, a string, or a BufferResolvable to a Base 64 image.","scope":"static","params":[{"name":"image","description":"The image to be resolved","type":[[["BufferResolvable"]],[["Base64Resolvable"]]]}],"async":true,"returns":[[["Promise",""],["string",">"]]],"meta":{"line":64,"file":"DataResolver.js","path":"src/util"}},{"name":"resolveBase64","description":"Resolves a Base64Resolvable to a Base 64 image.","scope":"static","params":[{"name":"data","description":"The base 64 resolvable you want to resolve","type":[[["Base64Resolvable"]]]}],"returns":{"types":[[["string"]]],"nullable":true},"meta":{"line":85,"file":"DataResolver.js","path":"src/util"}},{"name":"resolveFile","description":"Resolves a BufferResolvable to a Buffer or a Stream.","scope":"static","params":[{"name":"resource","description":"The buffer or stream resolvable to resolve","type":[[["BufferResolvable"]],[["Stream"]]]}],"async":true,"returns":[[["Promise","<("],["Buffer","|"],["Stream",")>"]]],"meta":{"line":109,"file":"DataResolver.js","path":"src/util"}},{"name":"resolveFileAsBuffer","description":"Resolves a BufferResolvable to a Buffer.","scope":"static","params":[{"name":"resource","description":"The buffer or stream resolvable to resolve","type":[[["BufferResolvable"]],[["Stream"]]]}],"async":true,"returns":[[["Promise","<"],["Buffer",">"]]],"meta":{"line":135,"file":"DataResolver.js","path":"src/util"}}],"meta":{"line":15,"file":"DataResolver.js","path":"src/util"}},{"name":"Formatters","description":"Contains various Discord-specific functions for formatting messages.","props":[{"name":"TimestampStyles","description":"The message formatting timestamp\n[styles](https://discord.com/developers/docs/reference#message-formatting-timestamp-styles) supported by Discord.","scope":"static","type":[[["Object","<"],["string",", "],["TimestampStylesString",">"]]],"meta":{"line":208,"file":"Formatters.js","path":"src/util"}}],"methods":[{"name":"blockQuote","description":"Formats the content into a block quote. This needs to be at the start of the line for Discord to format it.","scope":"static","params":[{"name":"content","description":"The content to wrap.","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":28,"file":"Formatters.js","path":"src/util"}},{"name":"bold","description":"Formats the content into bold text.","scope":"static","params":[{"name":"content","description":"The content to wrap.","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":37,"file":"Formatters.js","path":"src/util"}},{"name":"channelMention","description":"Formats a channel id into a channel mention.","scope":"static","params":[{"name":"channelId","description":"The channel id to format.","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":46,"file":"Formatters.js","path":"src/util"}},{"name":"chatInputApplicationCommandMention","description":"Formats an application command name, subcommand group name, subcommand name, and ID\ninto an application command mention","scope":"static","params":[{"name":"commandName","description":"The name of the application command","type":[[["string"]]]},{"name":"subcommandGroupOrSubOrId","description":"The subcommand group name, subcommand name, or application command id","type":[[["string"]],[["Snowflake"]]]},{"name":"subcommandNameOrId","description":"The subcommand name or application command id","optional":true,"nullable":true,"type":[[["string"]],[["Snowflake"]]]},{"name":"commandId","description":"The id of the application command","optional":true,"nullable":true,"type":[[["Snowflake"]]]}],"returns":[[["string"]]],"meta":{"line":55,"file":"Formatters.js","path":"src/util"}},{"name":"codeBlock","description":"Wraps the content inside a code block with an optional language.","scope":"static","params":[{"name":"contentOrLanguage","description":"The language to use, content if a second parameter isn't provided.","type":[[["string"]]]},{"name":"content","description":"The content to wrap.","optional":true,"type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":85,"file":"Formatters.js","path":"src/util"}},{"name":"formatEmoji","description":"Formats an emoji id into a fully qualified emoji identifier","scope":"static","params":[{"name":"emojiId","description":"The emoji id to format.","type":[[["string"]]]},{"name":"animated","description":"Whether the emoji is animated or not. Defaults to `false`","optional":true,"type":[[["boolean"]]]}],"returns":[[["string"]]],"meta":{"line":95,"file":"Formatters.js","path":"src/util"}},{"name":"hideLinkEmbed","description":"Wraps the URL into `<>`, which stops it from embedding.","scope":"static","params":[{"name":"content","description":"The content to wrap.","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":105,"file":"Formatters.js","path":"src/util"}},{"name":"hyperlink","description":"Formats the content and the URL into a masked URL with an optional title.","scope":"static","params":[{"name":"content","description":"The content to display.","type":[[["string"]]]},{"name":"url","description":"The URL the content links to.","type":[[["string"]]]},{"name":"title","description":"The title shown when hovering on the masked link.","optional":true,"type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":114,"file":"Formatters.js","path":"src/util"}},{"name":"inlineCode","description":"Wraps the content inside \\`backticks\\`, which formats it as inline code.","scope":"static","params":[{"name":"content","description":"The content to wrap.","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":125,"file":"Formatters.js","path":"src/util"}},{"name":"italic","description":"Formats the content into italic text.","scope":"static","params":[{"name":"content","description":"The content to wrap.","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":134,"file":"Formatters.js","path":"src/util"}},{"name":"quote","description":"Formats the content into a quote. This needs to be at the start of the line for Discord to format it.","scope":"static","params":[{"name":"content","description":"The content to wrap.","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":143,"file":"Formatters.js","path":"src/util"}},{"name":"roleMention","description":"Formats a role id into a role mention.","scope":"static","params":[{"name":"roleId","description":"The role id to format.","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":152,"file":"Formatters.js","path":"src/util"}},{"name":"spoiler","description":"Formats the content into spoiler text.","scope":"static","params":[{"name":"content","description":"The content to spoiler.","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":161,"file":"Formatters.js","path":"src/util"}},{"name":"strikethrough","description":"Formats the content into strike-through text.","scope":"static","params":[{"name":"content","description":"The content to wrap.","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":170,"file":"Formatters.js","path":"src/util"}},{"name":"time","description":"Formats a date into a short date-time string.","scope":"static","params":[{"name":"date","description":"The date to format.","optional":true,"type":[[["number"]],[["Date"]]]},{"name":"style","description":"The style to use.","optional":true,"type":[[["TimestampStylesString"]]]}],"returns":[[["string"]]],"meta":{"line":179,"file":"Formatters.js","path":"src/util"}},{"name":"underscore","description":"Formats the content into underscored text.","scope":"static","params":[{"name":"content","description":"The content to wrap.","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":210,"file":"Formatters.js","path":"src/util"}},{"name":"userMention","description":"Formats a user id into a user mention.","scope":"static","params":[{"name":"userId","description":"The user id to format.","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":219,"file":"Formatters.js","path":"src/util"}}],"meta":{"line":26,"file":"Formatters.js","path":"src/util"}},{"name":"GuildMemberFlags","description":"Data structure that makes it easy to interact with an {@link GuildMember#flags} bitfield.","extends":[[["BitField"]]],"construct":{"name":"GuildMemberFlags","params":[{"name":"bits","description":"Bit(s) to read from","optional":true,"default":0,"type":[[["BitFieldResolvable"]]]}]},"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["number"]],[["bigint"]]],"meta":{"line":17,"file":"BitField.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric guild member flags. All available properties:\n* `DID_REJOIN`\n* `COMPLETED_ONBOARDING`\n* `BYPASSES_VERIFICATION`\n* `STARTED_ONBOARDING`","see":["{@link https://discord.com/developers/docs/resources/guild#guild-member-object-guild-member-flags}"],"scope":"static","type":[[["Object"]]],"meta":{"line":27,"file":"GuildMemberFlags.js","path":"src/util"}}],"methods":[{"name":"any","description":"Checks whether the bitfield has a bit, or any of multiple bits.","inherits":"BitField#any","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":25,"file":"BitField.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","inherits":"BitField#equals","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a bit, or multiple bits.","inherits":"BitField#has","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"BitField.js","path":"src/util"}},{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","inherits":"BitField#missing","inherited":true,"params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":54,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","inherits":"BitField#freeze","inherited":true,"returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","inherits":"BitField#add","inherited":true,"params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","inherits":"BitField#remove","inherited":true,"params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","inherits":"BitField#serialize","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the bits available.","inherits":"BitField#toArray","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":113,"file":"BitField.js","path":"src/util"}}],"meta":{"line":9,"file":"GuildMemberFlags.js","path":"src/util"}},{"name":"Intents","description":"Data structure that makes it easy to calculate intents.","extends":[[["BitField"]]],"construct":{"name":"Intents","params":[{"name":"bits","description":"Bit(s) to read from","optional":true,"default":0,"type":[[["IntentsResolvable"]]]}]},"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["number"]],[["bigint"]]],"meta":{"line":17,"file":"BitField.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric WebSocket intents. All available properties:\n* `GUILDS`\n* `GUILD_MEMBERS`\n* `GUILD_BANS`\n* `GUILD_EMOJIS_AND_STICKERS`\n* `GUILD_INTEGRATIONS`\n* `GUILD_WEBHOOKS`\n* `GUILD_INVITES`\n* `GUILD_VOICE_STATES`\n* `GUILD_PRESENCES`\n* `GUILD_MESSAGES`\n* `GUILD_MESSAGE_REACTIONS`\n* `GUILD_MESSAGE_TYPING`\n* `DIRECT_MESSAGES`\n* `DIRECT_MESSAGE_REACTIONS`\n* `DIRECT_MESSAGE_TYPING`\n* `MESSAGE_CONTENT`\n* `GUILD_SCHEDULED_EVENTS`\n* `AUTO_MODERATION_CONFIGURATION`\n* `AUTO_MODERATION_EXECUTION`","see":["{@link https://discord.com/developers/docs/topics/gateway#list-of-intents}"],"scope":"static","type":[[["Object"]]],"meta":{"line":50,"file":"Intents.js","path":"src/util"}}],"methods":[{"name":"any","description":"Checks whether the bitfield has a bit, or any of multiple bits.","inherits":"BitField#any","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":25,"file":"BitField.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","inherits":"BitField#equals","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a bit, or multiple bits.","inherits":"BitField#has","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"BitField.js","path":"src/util"}},{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","inherits":"BitField#missing","inherited":true,"params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":54,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","inherits":"BitField#freeze","inherited":true,"returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","inherits":"BitField#add","inherited":true,"params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","inherits":"BitField#remove","inherited":true,"params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","inherits":"BitField#serialize","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the bits available.","inherits":"BitField#toArray","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":113,"file":"BitField.js","path":"src/util"}}],"meta":{"line":8,"file":"Intents.js","path":"src/util"}},{"name":"InviteFlags","description":"Data structure that makes it easy to interact with an {@link InviteFlags#flags} bitfield.","extends":[[["BitField"]]],"construct":{"name":"InviteFlags","params":[{"name":"bits","description":"Bit(s) to read from","optional":true,"default":0,"type":[[["BitFieldResolvable"]]]}]},"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["number"]],[["bigint"]]],"meta":{"line":17,"file":"BitField.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric the Discord invite flags. All available properties:\n* `GUEST`\n* `VIEWED`","scope":"static","type":[[["Object"]]],"meta":{"line":24,"file":"InviteFlags.js","path":"src/util"}}],"methods":[{"name":"any","description":"Checks whether the bitfield has a bit, or any of multiple bits.","inherits":"BitField#any","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":25,"file":"BitField.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","inherits":"BitField#equals","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a bit, or multiple bits.","inherits":"BitField#has","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"BitField.js","path":"src/util"}},{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","inherits":"BitField#missing","inherited":true,"params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":54,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","inherits":"BitField#freeze","inherited":true,"returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","inherits":"BitField#add","inherited":true,"params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","inherits":"BitField#remove","inherited":true,"params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","inherits":"BitField#serialize","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the bits available.","inherits":"BitField#toArray","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":113,"file":"BitField.js","path":"src/util"}}],"meta":{"line":9,"file":"InviteFlags.js","path":"src/util"}},{"name":"LimitedCollection","description":"A Collection which holds a max amount of entries and sweeps periodically.","extends":[[["Collection"]]],"construct":{"name":"LimitedCollection","params":[{"name":"options","description":"Options for constructing the Collection.","optional":true,"default":"{}","type":[[["LimitedCollectionOptions"]]]},{"name":"iterable","description":"Optional entries passed to the Map constructor.","optional":true,"default":null,"type":[[["Iterable"]]]}]},"props":[{"name":"maxSize","description":"The max size of the Collection.","type":[[["number"]]],"meta":{"line":63,"file":"LimitedCollection.js","path":"src/util"}},{"name":"keepOverLimit","description":"A function called to check if an entry should be kept when the Collection is at max size.","nullable":true,"type":[[["function"]]],"meta":{"line":69,"file":"LimitedCollection.js","path":"src/util"}},{"name":"sweepFilter","description":"A function called every sweep interval that returns a function passed to `sweep`.","nullable":true,"deprecated":"in favor of {@link Client#sweepers}","type":[[["SweepFilter"]]],"meta":{"line":76,"file":"LimitedCollection.js","path":"src/util"}},{"name":"interval","description":"The id of the interval being used to sweep.","nullable":true,"deprecated":"in favor of {@link Client#sweepers}","type":[[["Timeout"]]],"meta":{"line":83,"file":"LimitedCollection.js","path":"src/util"}}],"methods":[{"name":"filterByLifetime","description":"Create a sweepFilter function that uses a lifetime to determine sweepability.","scope":"static","deprecated":"Use {@link Sweepers.filterByLifetime} instead","params":[{"name":"options","description":"The options used to generate the filter function","optional":true,"default":"{}","type":[[["LifetimeFilterOptions"]]]}],"returns":[[["SweepFilter"]]],"meta":{"line":114,"file":"LimitedCollection.js","path":"src/util"}}],"meta":{"line":37,"file":"LimitedCollection.js","path":"src/util"}},{"name":"MessageFlags","description":"Data structure that makes it easy to interact with a {@link Message#flags} bitfield.","extends":[[["BitField"]]],"construct":{"name":"MessageFlags","params":[{"name":"bits","description":"Bit(s) to read from","optional":true,"default":0,"type":[[["BitFieldResolvable"]]]}]},"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["number"]]],"meta":{"line":18,"file":"MessageFlags.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric message flags. All available properties:\n* `CROSSPOSTED`\n* `IS_CROSSPOST`\n* `SUPPRESS_EMBEDS`\n* `SOURCE_MESSAGE_DELETED`\n* `URGENT`\n* `HAS_THREAD`\n* `EPHEMERAL`\n* `LOADING`\n* `FAILED_TO_MENTION_SOME_ROLES_IN_THREAD`\n* `SUPPRESS_NOTIFICATIONS`\n* `IS_VOICE_MESSAGE`","see":["{@link https://discord.com/developers/docs/resources/channel#message-object-message-flags}"],"scope":"static","type":[[["Object"]]],"meta":{"line":40,"file":"MessageFlags.js","path":"src/util"}}],"methods":[{"name":"any","description":"Checks whether the bitfield has a bit, or any of multiple bits.","inherits":"BitField#any","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":25,"file":"BitField.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","inherits":"BitField#equals","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a bit, or multiple bits.","inherits":"BitField#has","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"BitField.js","path":"src/util"}},{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","inherits":"BitField#missing","inherited":true,"params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":54,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","inherits":"BitField#freeze","inherited":true,"returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","inherits":"BitField#add","inherited":true,"params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","inherits":"BitField#remove","inherited":true,"params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","inherits":"BitField#serialize","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the bits available.","inherits":"BitField#toArray","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":113,"file":"BitField.js","path":"src/util"}}],"meta":{"line":9,"file":"MessageFlags.js","path":"src/util"}},{"name":"Options","description":"Contains various utilities for client options.","props":[{"name":"defaultMakeCacheSettings","description":"The default settings passed to {@link ClientOptions.makeCache}.\nThe caches that this changes are:\n* `MessageManager` - Limit to 200 messages\n* `ChannelManager` - Sweep archived threads\n* `GuildChannelManager` - Sweep archived threads\n* `ThreadManager` - Sweep archived threads\nIf you want to keep default behavior and add on top of it you can use this object and add on to it, e.g.\n`makeCache: Options.cacheWithLimits({ ...Options.defaultMakeCacheSettings, ReactionManager: 0 })`","scope":"static","type":[[["Object","<"],["string",", ("],["LimitedCollectionOptions","|"],["number",")>"]]],"meta":{"line":302,"file":"Options.js","path":"src/util"}},{"name":"defaultSweeperSettings","description":"The default settings passed to {@link ClientOptions.sweepers}.\nThe sweepers that this changes are:\n* `threads` - Sweep archived threads every hour, removing those archived more than 4 hours ago\nIf you want to keep default behavior and add on top of it you can use this object and add on to it, e.g.\n`sweepers: { ...Options.defaultSweeperSettings, messages: { interval: 300, lifetime: 600 } }`","scope":"static","type":[[["SweeperOptions"]]],"meta":{"line":329,"file":"Options.js","path":"src/util"}}],"methods":[{"name":"createDefault","description":"The default client options.","scope":"static","returns":[[["ClientOptions"]]],"meta":{"line":152,"file":"Options.js","path":"src/util"}},{"name":"cacheWithLimits","description":"Create a cache factory using predefined settings to sweep or limit.","scope":"static","examples":["// Store up to 200 messages per channel and discard archived threads if they were archived more than 4 hours ago.\n// Note archived threads will remain in the guild and client caches with these settings\nOptions.cacheWithLimits({\n MessageManager: 200,\n ThreadManager: {\n sweepInterval: 3600,\n sweepFilter: LimitedCollection.filterByLifetime({\n getComparisonTimestamp: e => e.archiveTimestamp,\n excludeFromSweep: e => !e.archived,\n }),\n },\n });","// Sweep messages every 5 minutes, removing messages that have not been edited or created in the last 30 minutes\nOptions.cacheWithLimits({\n // Keep default thread sweeping behavior\n ...Options.defaultMakeCacheSettings,\n // Override MessageManager\n MessageManager: {\n sweepInterval: 300,\n sweepFilter: LimitedCollection.filterByLifetime({\n lifetime: 1800,\n getComparisonTimestamp: e => e.editedTimestamp ?? e.createdTimestamp,\n })\n }\n});"],"params":[{"name":"settings","description":"Settings passed to the relevant constructor.\nIf no setting is provided for a manager, it uses Collection.\nIf a number is provided for a manager, it uses that number as the max size for a LimitedCollection.\nIf LimitedCollectionOptions are provided for a manager, it uses those settings to form a LimitedCollection.","optional":true,"default":"{}","type":[[["Object","<"],["string",", ("],["LimitedCollectionOptions","|"],["number",")>"]]]}],"returns":[[["CacheFactory"]]],"meta":{"line":251,"file":"Options.js","path":"src/util"}},{"name":"cacheEverything","description":"Create a cache factory that always caches everything.","scope":"static","returns":[[["CacheFactory"]]],"meta":{"line":286,"file":"Options.js","path":"src/util"}}],"meta":{"line":147,"file":"Options.js","path":"src/util"}},{"name":"Permissions","description":"Data structure that makes it easy to interact with a permission bitfield. All {@link GuildMember}s have a set of\npermissions in their guild, and each channel in the guild may also have {@link PermissionOverwrites} for the member\nthat override their default permissions.","extends":[[["BitField"]]],"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["bigint"]]],"meta":{"line":12,"file":"Permissions.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric permission flags. All available properties:\n* `CREATE_INSTANT_INVITE` (create invitations to the guild)\n* `KICK_MEMBERS`\n* `BAN_MEMBERS`\n* `ADMINISTRATOR` (implicitly has *all* permissions, and bypasses all channel overwrites)\n* `MANAGE_CHANNELS` (edit and reorder channels)\n* `MANAGE_GUILD` (edit the guild information, region, etc.)\n* `ADD_REACTIONS` (add new reactions to messages)\n* `VIEW_AUDIT_LOG`\n* `PRIORITY_SPEAKER`\n* `STREAM`\n* `VIEW_CHANNEL`\n* `SEND_MESSAGES`\n* `SEND_TTS_MESSAGES`\n* `MANAGE_MESSAGES` (delete messages and reactions)\n* `EMBED_LINKS` (links posted will have a preview embedded)\n* `ATTACH_FILES`\n* `READ_MESSAGE_HISTORY` (view messages that were posted prior to opening Discord)\n* `MENTION_EVERYONE`\n* `USE_EXTERNAL_EMOJIS` (use emojis from different guilds)\n* `VIEW_GUILD_INSIGHTS`\n* `CONNECT` (connect to a voice channel)\n* `SPEAK` (speak in a voice channel)\n* `MUTE_MEMBERS` (mute members across all voice channels)\n* `DEAFEN_MEMBERS` (deafen members across all voice channels)\n* `MOVE_MEMBERS` (move members between voice channels)\n* `USE_VAD` (use voice activity detection)\n* `CHANGE_NICKNAME`\n* `MANAGE_NICKNAMES` (change other members' nicknames)\n* `MANAGE_ROLES`\n* `MANAGE_WEBHOOKS`\n* `MANAGE_EMOJIS_AND_STICKERS`\n* `USE_APPLICATION_COMMANDS`\n* `REQUEST_TO_SPEAK`\n* `MANAGE_EVENTS`\n* `MANAGE_THREADS`\n* `USE_PUBLIC_THREADS` (deprecated)\n* `CREATE_PUBLIC_THREADS`\n* `USE_PRIVATE_THREADS` (deprecated)\n* `CREATE_PRIVATE_THREADS`\n* `USE_EXTERNAL_STICKERS` (use stickers from different guilds)\n* `SEND_MESSAGES_IN_THREADS`\n* `START_EMBEDDED_ACTIVITIES`\n* `MODERATE_MEMBERS`\n* `VIEW_CREATOR_MONETIZATION_ANALYTICS`\n* `USE_SOUNDBOARD`\n* `CREATE_GUILD_EXPRESSIONS`\n* `CREATE_EVENTS`\n* `USE_EXTERNAL_SOUNDS`\n* `SEND_VOICE_MESSAGES`\n* `USE_CLYDE_AI`\n* `SET_VOICE_CHANNEL_STATUS`\n* `SEND_POLLS`\n* `USE_EXTERNAL_APPS`","see":["{@link https://discord.com/developers/docs/topics/permissions#permissions-bitwise-permission-flags}"],"scope":"static","type":[[["Object","<"],["string",", "],["bigint",">"]]],"meta":{"line":124,"file":"Permissions.js","path":"src/util"}},{"name":"ALL","description":"Bitfield representing every permission combined","scope":"static","type":[[["bigint"]]],"meta":{"line":185,"file":"Permissions.js","path":"src/util"}},{"name":"DEFAULT","description":"Bitfield representing the default permissions for users","scope":"static","type":[[["bigint"]]],"meta":{"line":191,"file":"Permissions.js","path":"src/util"}},{"name":"STAGE_MODERATOR","description":"Bitfield representing the permissions required for moderators of stage channels","scope":"static","type":[[["bigint"]]],"meta":{"line":197,"file":"Permissions.js","path":"src/util"}}],"methods":[{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"checkAdmin","description":"Whether to allow the administrator permission to override","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":33,"file":"Permissions.js","path":"src/util"}},{"name":"any","description":"Checks whether the bitfield has a permission, or any of multiple permissions.","params":[{"name":"permission","description":"Permission(s) to check for","type":[[["PermissionResolvable"]]]},{"name":"checkAdmin","description":"Whether to allow the administrator permission to override","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"Permissions.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a permission, or multiple permissions.","params":[{"name":"permission","description":"Permission(s) to check for","type":[[["PermissionResolvable"]]]},{"name":"checkAdmin","description":"Whether to allow the administrator permission to override","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["boolean"]]],"meta":{"line":53,"file":"Permissions.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the permissions available.","returns":[[["Array","<"],["string",">"]]],"meta":{"line":61,"file":"Permissions.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","inherits":"BitField#equals","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","inherits":"BitField#freeze","inherited":true,"returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","inherits":"BitField#add","inherited":true,"params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","inherits":"BitField#remove","inherited":true,"params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","inherits":"BitField#serialize","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}}],"meta":{"line":11,"file":"Permissions.js","path":"src/util"}},{"name":"PremiumUsageFlags","description":"Data structure that makes it easy to interact with an {@link PremiumUsageFlags#flags} bitfield.","extends":[[["BitField"]]],"construct":{"name":"PremiumUsageFlags","params":[{"name":"bits","description":"Bit(s) to read from","optional":true,"default":0,"type":[[["BitFieldResolvable"]]]}]},"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["number"]],[["bigint"]]],"meta":{"line":17,"file":"BitField.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric the Discord premium usage flags. All available properties:\n* `PREMIUM_DISCRIMINATOR`\n* `ANIMATED_AVATAR`\n* `PROFILE_BANNER`","scope":"static","type":[[["Object"]]],"meta":{"line":25,"file":"PremiumUsageFlags.js","path":"src/util"}}],"methods":[{"name":"any","description":"Checks whether the bitfield has a bit, or any of multiple bits.","inherits":"BitField#any","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":25,"file":"BitField.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","inherits":"BitField#equals","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a bit, or multiple bits.","inherits":"BitField#has","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"BitField.js","path":"src/util"}},{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","inherits":"BitField#missing","inherited":true,"params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":54,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","inherits":"BitField#freeze","inherited":true,"returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","inherits":"BitField#add","inherited":true,"params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","inherits":"BitField#remove","inherited":true,"params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","inherits":"BitField#serialize","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the bits available.","inherits":"BitField#toArray","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":113,"file":"BitField.js","path":"src/util"}}],"meta":{"line":9,"file":"PremiumUsageFlags.js","path":"src/util"}},{"name":"PurchasedFlags","description":"Data structure that makes it easy to interact with an {@link PurchasedFlags#flags} bitfield.","extends":[[["BitField"]]],"construct":{"name":"PurchasedFlags","params":[{"name":"bits","description":"Bit(s) to read from","optional":true,"default":0,"type":[[["BitFieldResolvable"]]]}]},"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["number"]],[["bigint"]]],"meta":{"line":17,"file":"BitField.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric the Discord purchased flags. All available properties:\n* `NITRO_CLASSIC`\n* `NITRO`\n* `GUILD_BOOST`\n* `NITRO_BASIC`","scope":"static","type":[[["Object"]]],"meta":{"line":26,"file":"PurchasedFlags.js","path":"src/util"}}],"methods":[{"name":"any","description":"Checks whether the bitfield has a bit, or any of multiple bits.","inherits":"BitField#any","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":25,"file":"BitField.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","inherits":"BitField#equals","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a bit, or multiple bits.","inherits":"BitField#has","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"BitField.js","path":"src/util"}},{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","inherits":"BitField#missing","inherited":true,"params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":54,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","inherits":"BitField#freeze","inherited":true,"returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","inherits":"BitField#add","inherited":true,"params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","inherits":"BitField#remove","inherited":true,"params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","inherits":"BitField#serialize","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the bits available.","inherits":"BitField#toArray","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":113,"file":"BitField.js","path":"src/util"}}],"meta":{"line":9,"file":"PurchasedFlags.js","path":"src/util"}},{"name":"DiscordAuthWebsocket","description":"Discord Auth QR","extends":[[["EventEmitter"]]],"abstract":true,"construct":{"name":"DiscordAuthWebsocket","description":"Creates a new DiscordAuthWebsocket instance."},"props":[{"name":"AuthURL","type":[[["string"]]],"meta":{"line":71,"file":"RemoteAuth.js","path":"src/util"}},{"name":"exprire","type":[[["Date"]]],"meta":{"line":78,"file":"RemoteAuth.js","path":"src/util"}},{"name":"user","type":[[["UserRaw"]]],"meta":{"line":85,"file":"RemoteAuth.js","path":"src/util"}}],"methods":[{"name":"connect","description":"Connect WS","params":[{"name":"client","description":"DiscordJS Client","optional":true,"type":[[["Client"]]]}],"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":289,"file":"RemoteAuth.js","path":"src/util"}},{"name":"destroy","description":"Destroy client","returns":[[["void"]]],"meta":{"line":302,"file":"RemoteAuth.js","path":"src/util"}},{"name":"generateQR","description":"Generate QR code for user to scan (Terminal)","returns":[[["void"]]],"meta":{"line":317,"file":"RemoteAuth.js","path":"src/util"}}],"events":[{"name":"error","description":"WS Error","params":[{"name":"error","description":"Error","type":[[["Error"]]]}],"meta":{"line":101,"file":"RemoteAuth.js","path":"src/util"}},{"name":"debug","description":"Debug Event","params":[{"name":"msg","description":"Debug msg","type":[[["string"]]]}],"meta":{"line":109,"file":"RemoteAuth.js","path":"src/util"}},{"name":"ready","description":"Ready Event","params":[{"name":"client","description":"WS","type":[[["DiscordAuthWebsocket"]]]}],"meta":{"line":137,"file":"RemoteAuth.js","path":"src/util"}},{"name":"cancel","description":"Cancel","params":[{"name":"client","description":"WS","type":[[["DiscordAuthWebsocket"]]]}],"meta":{"line":158,"file":"RemoteAuth.js","path":"src/util"}},{"name":"pending","description":"Emitted whenever a user is scan QR Code.","params":[{"name":"user","description":"Discord User Raw","type":[[["UserRaw"]]]}],"meta":{"line":268,"file":"RemoteAuth.js","path":"src/util"}},{"name":"closed","description":"Emitted whenever a connection is closed.","meta":{"line":306,"file":"RemoteAuth.js","path":"src/util"}},{"name":"finish","description":"Emitted whenever a real token is found.","params":[{"name":"token","description":"Discord Token","type":[[["string"]]]}],"meta":{"line":356,"file":"RemoteAuth.js","path":"src/util"}}],"meta":{"line":50,"file":"RemoteAuth.js","path":"src/util"}},{"name":"RoleFlags","description":"Data structure that makes it easy to interact with an {@link GuildMember#flags} bitfield.","extends":[[["BitField"]]],"construct":{"name":"RoleFlags","params":[{"name":"bits","description":"Bit(s) to read from","optional":true,"default":0,"type":[[["BitFieldResolvable"]]]}]},"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["number"]],[["bigint"]]],"meta":{"line":17,"file":"BitField.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric guild member flags. All available properties:\n* `IN_PROMPT`","see":["{@link https://discord.com/developers/docs/topics/permissions#role-object-role-flags}"],"scope":"static","type":[[["Object"]]],"meta":{"line":24,"file":"RoleFlags.js","path":"src/util"}}],"methods":[{"name":"any","description":"Checks whether the bitfield has a bit, or any of multiple bits.","inherits":"BitField#any","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":25,"file":"BitField.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","inherits":"BitField#equals","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a bit, or multiple bits.","inherits":"BitField#has","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"BitField.js","path":"src/util"}},{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","inherits":"BitField#missing","inherited":true,"params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":54,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","inherits":"BitField#freeze","inherited":true,"returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","inherits":"BitField#add","inherited":true,"params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","inherits":"BitField#remove","inherited":true,"params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","inherits":"BitField#serialize","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the bits available.","inherits":"BitField#toArray","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":113,"file":"BitField.js","path":"src/util"}}],"meta":{"line":9,"file":"RoleFlags.js","path":"src/util"}},{"name":"SnowflakeUtil","description":"A container for useful snowflake-related methods.","props":[{"name":"EPOCH","description":"Discord's epoch value (2015-01-01T00:00:00.000Z).","scope":"static","readonly":true,"type":[[["number"]]],"meta":{"line":87,"file":"SnowflakeUtil.js","path":"src/util"}}],"methods":[{"name":"generate","description":"Generates a Discord snowflake.\nThis hardcodes the worker's id as 1 and the process's id as 0.","scope":"static","params":[{"name":"timestamp","description":"Timestamp or date of the snowflake to generate","optional":true,"default":"Date.now()","type":[[["number"]],[["Date"]]]}],"returns":{"types":[[["Snowflake"]]],"description":"The generated snowflake"},"meta":{"line":30,"file":"SnowflakeUtil.js","path":"src/util"}},{"name":"deconstruct","description":"Deconstructs a Discord snowflake.","scope":"static","params":[{"name":"snowflake","description":"Snowflake to deconstruct","type":[[["Snowflake"]]]}],"returns":[[["DeconstructedSnowflake"]]],"meta":{"line":59,"file":"SnowflakeUtil.js","path":"src/util"}},{"name":"timestampFrom","description":"Retrieves the timestamp field's value from a Discord snowflake.","scope":"static","params":[{"name":"snowflake","description":"Snowflake to get the timestamp value from","type":[[["Snowflake"]]]}],"returns":[[["number"]]],"meta":{"line":78,"file":"SnowflakeUtil.js","path":"src/util"}}],"meta":{"line":10,"file":"SnowflakeUtil.js","path":"src/util"}},{"name":"Speaking","description":"Data structure that makes it easy to interact with a {@link VoiceConnection#speaking}\nand {@link guildMemberSpeaking} event bitfields.","extends":[[["BitField"]]],"construct":{"name":"Speaking","params":[{"name":"bits","description":"Bit(s) to read from","optional":true,"default":0,"type":[[["BitFieldResolvable"]]]}]},"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["number"]],[["bigint"]]],"meta":{"line":17,"file":"BitField.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric speaking flags. All available properties:\n* `SPEAKING`\n* `SOUNDSHARE`\n* `PRIORITY_SPEAKING`","see":["{@link https://discord.com/developers/docs/topics/voice-connections#speaking}"],"scope":"static","type":[[["Object"]]],"meta":{"line":27,"file":"Speaking.js","path":"src/util"}}],"methods":[{"name":"any","description":"Checks whether the bitfield has a bit, or any of multiple bits.","inherits":"BitField#any","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":25,"file":"BitField.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","inherits":"BitField#equals","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a bit, or multiple bits.","inherits":"BitField#has","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"BitField.js","path":"src/util"}},{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","inherits":"BitField#missing","inherited":true,"params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":54,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","inherits":"BitField#freeze","inherited":true,"returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","inherits":"BitField#add","inherited":true,"params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","inherits":"BitField#remove","inherited":true,"params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","inherits":"BitField#serialize","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the bits available.","inherits":"BitField#toArray","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":113,"file":"BitField.js","path":"src/util"}}],"meta":{"line":10,"file":"Speaking.js","path":"src/util"}},{"name":"Sweepers","description":"A container for all cache sweeping intervals and their associated sweep methods.","props":[{"name":"options","description":"The options the sweepers were instantiated with","type":[[["SweeperOptions"]]],"meta":{"line":30,"file":"Sweepers.js","path":"src/util"}},{"name":"intervals","description":"A record of interval timeout that is used to sweep the indicated items, or null if not being swept","type":[[["Object","<"],["SweeperKey",", ?"],["Timeout",">"]]],"meta":{"line":36,"file":"Sweepers.js","path":"src/util"}}],"methods":[{"name":"sweepApplicationCommands","description":"Sweeps all guild and global application commands and removes the ones which are indicated by the filter.","params":[{"name":"filter","description":"The function used to determine which commands will be removed from the caches.","type":[[["function"]]]}],"returns":{"types":[[["number"]]],"description":"Amount of commands that were removed from the caches"},"meta":{"line":68,"file":"Sweepers.js","path":"src/util"}},{"name":"sweepAutoModerationRules","description":"Sweeps all auto moderation rules and removes the ones which are indicated by the filter.","params":[{"name":"filter","description":"The function used to determine\nwhich auto moderation rules will be removed from the caches","type":[[["function"]]]}],"returns":{"types":[[["number"]]],"description":"Amount of auto moderation rules that were removed from the caches"},"meta":{"line":86,"file":"Sweepers.js","path":"src/util"}},{"name":"sweepBans","description":"Sweeps all guild bans and removes the ones which are indicated by the filter.","params":[{"name":"filter","description":"The function used to determine which bans will be removed from the caches.","type":[[["function"]]]}],"returns":{"types":[[["number"]]],"description":"Amount of bans that were removed from the caches"},"meta":{"line":95,"file":"Sweepers.js","path":"src/util"}},{"name":"sweepEmojis","description":"Sweeps all guild emojis and removes the ones which are indicated by the filter.","params":[{"name":"filter","description":"The function used to determine which emojis will be removed from the caches.","type":[[["function"]]]}],"returns":{"types":[[["number"]]],"description":"Amount of emojis that were removed from the caches"},"meta":{"line":104,"file":"Sweepers.js","path":"src/util"}},{"name":"sweepInvites","description":"Sweeps all guild invites and removes the ones which are indicated by the filter.","params":[{"name":"filter","description":"The function used to determine which invites will be removed from the caches.","type":[[["function"]]]}],"returns":{"types":[[["number"]]],"description":"Amount of invites that were removed from the caches"},"meta":{"line":113,"file":"Sweepers.js","path":"src/util"}},{"name":"sweepGuildMembers","description":"Sweeps all guild members and removes the ones which are indicated by the filter.\nIt is highly recommended to keep the client guild member cached","params":[{"name":"filter","description":"The function used to determine which guild members will be removed from the caches.","type":[[["function"]]]}],"returns":{"types":[[["number"]]],"description":"Amount of guild members that were removed from the caches"},"meta":{"line":123,"file":"Sweepers.js","path":"src/util"}},{"name":"sweepMessages","description":"Sweeps all text-based channels' messages and removes the ones which are indicated by the filter.","examples":["// Remove all messages older than 1800 seconds from the messages cache\nconst amount = sweepers.sweepMessages(\n Sweepers.filterByLifetime({\n lifetime: 1800,\n getComparisonTimestamp: m => m.editedTimestamp ?? m.createdTimestamp,\n })(),\n);\nconsole.log(`Successfully removed ${amount} messages from the cache.`);"],"params":[{"name":"filter","description":"The function used to determine which messages will be removed from the caches.","type":[[["function"]]]}],"returns":{"types":[[["number"]]],"description":"Amount of messages that were removed from the caches"},"meta":{"line":141,"file":"Sweepers.js","path":"src/util"}},{"name":"sweepPresences","description":"Sweeps all presences and removes the ones which are indicated by the filter.","params":[{"name":"filter","description":"The function used to determine which presences will be removed from the caches.","type":[[["function"]]]}],"returns":{"types":[[["number"]]],"description":"Amount of presences that were removed from the caches"},"meta":{"line":163,"file":"Sweepers.js","path":"src/util"}},{"name":"sweepReactions","description":"Sweeps all message reactions and removes the ones which are indicated by the filter.","params":[{"name":"filter","description":"The function used to determine which reactions will be removed from the caches.","type":[[["function"]]]}],"returns":{"types":[[["number"]]],"description":"Amount of reactions that were removed from the caches"},"meta":{"line":172,"file":"Sweepers.js","path":"src/util"}},{"name":"sweepStageInstances","description":"Sweeps all guild stage instances and removes the ones which are indicated by the filter.","params":[{"name":"filter","description":"The function used to determine which stage instances will be removed from the caches.","type":[[["function"]]]}],"returns":{"types":[[["number"]]],"description":"Amount of stage instances that were removed from the caches"},"meta":{"line":201,"file":"Sweepers.js","path":"src/util"}},{"name":"sweepStickers","description":"Sweeps all guild stickers and removes the ones which are indicated by the filter.","params":[{"name":"filter","description":"The function used to determine which stickers will be removed from the caches.","type":[[["function"]]]}],"returns":{"types":[[["number"]]],"description":"Amount of stickers that were removed from the caches"},"meta":{"line":210,"file":"Sweepers.js","path":"src/util"}},{"name":"sweepThreadMembers","description":"Sweeps all thread members and removes the ones which are indicated by the filter.\nIt is highly recommended to keep the client thread member cached","params":[{"name":"filter","description":"The function used to determine which thread members will be removed from the caches.","type":[[["function"]]]}],"returns":{"types":[[["number"]]],"description":"Amount of thread members that were removed from the caches"},"meta":{"line":220,"file":"Sweepers.js","path":"src/util"}},{"name":"sweepThreads","description":"Sweeps all threads and removes the ones which are indicated by the filter.","examples":["// Remove all threads archived greater than 1 day ago from all the channel caches\nconst amount = sweepers.sweepThreads(\n Sweepers.filterByLifetime({\n getComparisonTimestamp: t => t.archivedTimestamp,\n excludeFromSweep: t => !t.archived,\n })(),\n);\nconsole.log(`Successfully removed ${amount} threads from the cache.`);"],"params":[{"name":"filter","description":"The function used to determine which threads will be removed from the caches.","type":[[["function"]]]}],"returns":{"types":[[["number"]]],"description":"filter Amount of threads that were removed from the caches"},"meta":{"line":250,"file":"Sweepers.js","path":"src/util"}},{"name":"sweepUsers","description":"Sweeps all users and removes the ones which are indicated by the filter.","params":[{"name":"filter","description":"The function used to determine which users will be removed from the caches.","type":[[["function"]]]}],"returns":{"types":[[["number"]]],"description":"Amount of users that were removed from the caches"},"meta":{"line":272,"file":"Sweepers.js","path":"src/util"}},{"name":"sweepVoiceStates","description":"Sweeps all guild voice states and removes the ones which are indicated by the filter.","params":[{"name":"filter","description":"The function used to determine which voice states will be removed from the caches.","type":[[["function"]]]}],"returns":{"types":[[["number"]]],"description":"Amount of voice states that were removed from the caches"},"meta":{"line":289,"file":"Sweepers.js","path":"src/util"}},{"name":"destroy","description":"Cancels all sweeping intervals","returns":[[["void"]]],"meta":{"line":297,"file":"Sweepers.js","path":"src/util"}},{"name":"_sweepGuildDirectProp","description":"Sweep a direct sub property of all guilds","access":"private","params":[{"name":"key","description":"The name of the property","type":[[["string"]]]},{"name":"filter","description":"Filter function passed to sweep","type":[[["function"]]]},{"name":"eventOptions","description":"Options for the Client event emitted here","optional":true,"default":"{}","type":[[["SweepEventOptions"]]]}],"returns":{"types":[[["Object"]]],"description":"Object containing the number of guilds swept and the number of items swept"},"meta":{"line":401,"file":"Sweepers.js","path":"src/util"}},{"name":"_validateProperties","description":"Validates a set of properties","access":"private","params":[{"name":"key","description":"Key of the options object to check","type":[[["string"]]]}],"meta":{"line":428,"file":"Sweepers.js","path":"src/util"}},{"name":"_initInterval","description":"Initialize an interval for sweeping","access":"private","params":[{"name":"intervalKey","description":"The name of the property that stores the interval for this sweeper","type":[[["string"]]]},{"name":"sweepKey","description":"The name of the function that sweeps the desired caches","type":[[["string"]]]},{"name":"opts","description":"Validated options for a sweep","type":[[["Object"]]]}],"meta":{"line":455,"file":"Sweepers.js","path":"src/util"}},{"name":"filterByLifetime","description":"Create a sweepFilter function that uses a lifetime to determine sweepability.","scope":"static","params":[{"name":"options","description":"The options used to generate the filter function","optional":true,"default":"{}","type":[[["LifetimeFilterOptions"]]]}],"returns":[[["GlobalSweepFilter"]]],"meta":{"line":319,"file":"Sweepers.js","path":"src/util"}},{"name":"archivedThreadSweepFilter","description":"Creates a sweep filter that sweeps archived threads","scope":"static","params":[{"name":"lifetime","description":"How long a thread has to be archived to be valid for sweeping","optional":true,"default":14400,"type":[[["number"]]]}],"returns":[[["GlobalSweepFilter"]]],"meta":{"line":353,"file":"Sweepers.js","path":"src/util"}},{"name":"expiredInviteSweepFilter","description":"Creates a sweep filter that sweeps expired invites","scope":"static","params":[{"name":"lifetime","description":"How long ago an invite has to have expired to be valid for sweeping","optional":true,"default":14400,"type":[[["number"]]]}],"returns":[[["GlobalSweepFilter"]]],"meta":{"line":366,"file":"Sweepers.js","path":"src/util"}},{"name":"outdatedMessageSweepFilter","description":"Creates a sweep filter that sweeps outdated messages (edits taken into account)","scope":"static","params":[{"name":"lifetime","description":"How long ago a message has to have been sent or edited to be valid for sweeping","optional":true,"default":3600,"type":[[["number"]]]}],"returns":[[["GlobalSweepFilter"]]],"meta":{"line":378,"file":"Sweepers.js","path":"src/util"}}],"meta":{"line":17,"file":"Sweepers.js","path":"src/util"}},{"name":"SystemChannelFlags","description":"Data structure that makes it easy to interact with a {@link Guild#systemChannelFlags} bitfield.\nNote that all event message types are enabled by default,\nand by setting their corresponding flags you are disabling them","extends":[[["BitField"]]],"construct":{"name":"SystemChannelFlags","params":[{"name":"bits","description":"Bit(s) to read from","optional":true,"default":0,"type":[[["SystemChannelFlagsResolvable"]]]}]},"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["number"]]],"meta":{"line":20,"file":"SystemChannelFlags.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric system channel flags. All available properties:\n* `SUPPRESS_JOIN_NOTIFICATIONS` (Suppress member join notifications)\n* `SUPPRESS_PREMIUM_SUBSCRIPTIONS` (Suppress server boost notifications)\n* `SUPPRESS_GUILD_REMINDER_NOTIFICATIONS` (Suppress server setup tips)\n* `SUPPRESS_JOIN_NOTIFICATION_REPLIES` (Hide member join sticker reply buttons)\n* `SUPPRESS_ROLE_SUBSCRIPTION_PURCHASE_NOTIFICATIONS` (Suppress role subscription purchase and renewal notifications)\n* `SUPPRESS_ROLE_SUBSCRIPTION_PURCHASE_NOTIFICATION_REPLIES` (HHide role subscription sticker reply buttons)","see":["{@link https://discord.com/developers/docs/resources/guild#guild-object-system-channel-flags}"],"scope":"static","type":[[["Object"]]],"meta":{"line":46,"file":"SystemChannelFlags.js","path":"src/util"}}],"methods":[{"name":"any","description":"Checks whether the bitfield has a bit, or any of multiple bits.","inherits":"BitField#any","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":25,"file":"BitField.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","inherits":"BitField#equals","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a bit, or multiple bits.","inherits":"BitField#has","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"BitField.js","path":"src/util"}},{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","inherits":"BitField#missing","inherited":true,"params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":54,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","inherits":"BitField#freeze","inherited":true,"returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","inherits":"BitField#add","inherited":true,"params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","inherits":"BitField#remove","inherited":true,"params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","inherits":"BitField#serialize","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the bits available.","inherits":"BitField#toArray","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":113,"file":"BitField.js","path":"src/util"}}],"meta":{"line":11,"file":"SystemChannelFlags.js","path":"src/util"}},{"name":"ThreadMemberFlags","description":"Data structure that makes it easy to interact with a {@link ThreadMember#flags} bitfield.","extends":[[["BitField"]]],"construct":{"name":"ThreadMemberFlags","params":[{"name":"bits","description":"Bit(s) to read from","optional":true,"default":0,"type":[[["BitFieldResolvable"]]]}]},"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["number"]]],"meta":{"line":18,"file":"ThreadMemberFlags.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric thread member flags. There are currently no bitflags relevant to bots for this.","scope":"static","type":[[["Object","<"],["string",", "],["number",">"]]],"meta":{"line":28,"file":"ThreadMemberFlags.js","path":"src/util"}}],"methods":[{"name":"any","description":"Checks whether the bitfield has a bit, or any of multiple bits.","inherits":"BitField#any","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":25,"file":"BitField.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","inherits":"BitField#equals","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a bit, or multiple bits.","inherits":"BitField#has","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"BitField.js","path":"src/util"}},{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","inherits":"BitField#missing","inherited":true,"params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":54,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","inherits":"BitField#freeze","inherited":true,"returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","inherits":"BitField#add","inherited":true,"params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","inherits":"BitField#remove","inherited":true,"params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","inherits":"BitField#serialize","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the bits available.","inherits":"BitField#toArray","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":113,"file":"BitField.js","path":"src/util"}}],"meta":{"line":9,"file":"ThreadMemberFlags.js","path":"src/util"}},{"name":"UserFlags","description":"Data structure that makes it easy to interact with a {@link User#flags} bitfield.","extends":[[["BitField"]]],"construct":{"name":"UserFlags","params":[{"name":"bits","description":"Bit(s) to read from","optional":true,"default":0,"type":[[["BitFieldResolvable"]]]}]},"props":[{"name":"bitfield","description":"Bitfield of the packed bits","type":[[["number"]]],"meta":{"line":17,"file":"UserFlags.js","path":"src/util"}},{"name":"FLAGS","description":"Numeric user flags. All available properties:\n* `DISCORD_EMPLOYEE`\n* `PARTNERED_SERVER_OWNER`\n* `HYPESQUAD_EVENTS`\n* `BUGHUNTER_LEVEL_1`\n* `MFA_SMS`\n* `PREMIUM_PROMO_DISMISSED`\n* `HOUSE_BRAVERY`\n* `HOUSE_BRILLIANCE`\n* `HOUSE_BALANCE`\n* `EARLY_SUPPORTER`\n* `TEAM_USER`\n* `INTERNAL_APPLICATION`\n* `SYSTEM`\n* `HAS_UNREAD_URGENT_MESSAGES`\n* `BUGHUNTER_LEVEL_2`\n* `UNDERAGE_DELETED`\n* `VERIFIED_BOT`\n* `EARLY_VERIFIED_BOT_DEVELOPER`\n* `DISCORD_CERTIFIED_MODERATOR`\n* `BOT_HTTP_INTERACTIONS`\n* `SPAMMER`\n* `DISABLE_PREMIUM`\n* `ACTIVE_DEVELOPER`\n* `HIGH_GLOBAL_RATE_LIMIT`\n* `DELETED`\n* `DISABLED_SUSPICIOUS_ACTIVITY`\n* `SELF_DELETED`\n* `PREMIUM_DISCRIMINATOR`\n* `USED_DESKTOP_CLIENT`\n* `USED_WEB_CLIENT`\n* `USED_MOBILE_CLIENT`\n* `DISABLED`\n* `VERIFIED_EMAIL`\n* `QUARANTINED`\n* `COLLABORATOR`\n* `RESTRICTED_COLLABORATOR`","see":["{@link https://discord.com/developers/docs/resources/user#user-object-user-flags}","{@link https://github.com/LewisTehMinerz/discord-flags}"],"scope":"static","type":[[["Object"]]],"meta":{"line":65,"file":"UserFlags.js","path":"src/util"}}],"methods":[{"name":"any","description":"Checks whether the bitfield has a bit, or any of multiple bits.","inherits":"BitField#any","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":25,"file":"BitField.js","path":"src/util"}},{"name":"equals","description":"Checks if this bitfield equals another","inherits":"BitField#equals","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":34,"file":"BitField.js","path":"src/util"}},{"name":"has","description":"Checks whether the bitfield has a bit, or multiple bits.","inherits":"BitField#has","inherited":true,"params":[{"name":"bit","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]}],"returns":[[["boolean"]]],"meta":{"line":43,"file":"BitField.js","path":"src/util"}},{"name":"missing","description":"Gets all given bits that are missing from the bitfield.","inherits":"BitField#missing","inherited":true,"params":[{"name":"bits","description":"Bit(s) to check for","type":[[["BitFieldResolvable"]]]},{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":54,"file":"BitField.js","path":"src/util"}},{"name":"freeze","description":"Freezes these bits, making them immutable.","inherits":"BitField#freeze","inherited":true,"returns":[[["Readonly","<"],["BitField",">"]]],"meta":{"line":62,"file":"BitField.js","path":"src/util"}},{"name":"add","description":"Adds bits to these ones.","inherits":"BitField#add","inherited":true,"params":[{"name":"bits","description":"Bits to add","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":71,"file":"BitField.js","path":"src/util"}},{"name":"remove","description":"Removes bits from these.","inherits":"BitField#remove","inherited":true,"params":[{"name":"bits","description":"Bits to remove","optional":true,"variable":true,"type":[[["BitFieldResolvable"]]]}],"returns":{"types":[[["BitField"]]],"description":"These bits or new BitField if the instance is frozen."},"meta":{"line":86,"file":"BitField.js","path":"src/util"}},{"name":"serialize","description":"Gets an object mapping field names to a {@link boolean} indicating whether the\nbit is available.","inherits":"BitField#serialize","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Object"]]],"meta":{"line":102,"file":"BitField.js","path":"src/util"}},{"name":"toArray","description":"Gets an {@link Array} of bitfield names based on the bits available.","inherits":"BitField#toArray","inherited":true,"params":[{"name":"hasParams","description":"Additional parameters for the has method, if any","variable":true,"type":[["*"]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":113,"file":"BitField.js","path":"src/util"}}],"meta":{"line":8,"file":"UserFlags.js","path":"src/util"}},{"name":"Util","description":"Contains various general-purpose utility methods.","methods":[{"name":"flatten","description":"Flatten an object. Any properties that are collections will get converted to an array of keys.","scope":"static","params":[{"name":"obj","description":"The object to flatten.","type":[[["Object"]]]},{"name":"props","description":"Specific properties to include/exclude.","optional":true,"variable":true,"type":[[["Object","<"],["string",", ("],["boolean","|"],["string",")>"]]]}],"returns":[[["Object"]]],"meta":{"line":32,"file":"Util.js","path":"src/util"}},{"name":"splitMessage","description":"Splits a string into multiple chunks at a designated character that do not exceed a specific length.","scope":"static","deprecated":"This will be removed in the next major version.","params":[{"name":"text","description":"Content to split","type":[[["string"]]]},{"name":"options","description":"Options controlling the behavior of the split","optional":true,"type":[[["SplitOptions"]]]}],"returns":[[["Array","<"],["string",">"]]],"meta":{"line":88,"file":"Util.js","path":"src/util"}},{"name":"escapeMarkdown","description":"Escapes any Discord-flavour markdown in a string.","scope":"static","params":[{"name":"text","description":"Content to escape","type":[[["string"]]]},{"name":"options","description":"Options for escaping the markdown","optional":true,"default":"{}","type":[[["EscapeMarkdownOptions"]]]}],"returns":[[["string"]]],"meta":{"line":151,"file":"Util.js","path":"src/util"}},{"name":"escapeCodeBlock","description":"Escapes code block markdown in a string.","scope":"static","params":[{"name":"text","description":"Content to escape","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":233,"file":"Util.js","path":"src/util"}},{"name":"escapeInlineCode","description":"Escapes inline code markdown in a string.","scope":"static","params":[{"name":"text","description":"Content to escape","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":242,"file":"Util.js","path":"src/util"}},{"name":"escapeItalic","description":"Escapes italic markdown in a string.","scope":"static","params":[{"name":"text","description":"Content to escape","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":251,"file":"Util.js","path":"src/util"}},{"name":"escapeBold","description":"Escapes bold markdown in a string.","scope":"static","params":[{"name":"text","description":"Content to escape","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":269,"file":"Util.js","path":"src/util"}},{"name":"escapeUnderline","description":"Escapes underline markdown in a string.","scope":"static","params":[{"name":"text","description":"Content to escape","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":282,"file":"Util.js","path":"src/util"}},{"name":"escapeStrikethrough","description":"Escapes strikethrough markdown in a string.","scope":"static","params":[{"name":"text","description":"Content to escape","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":295,"file":"Util.js","path":"src/util"}},{"name":"escapeSpoiler","description":"Escapes spoiler markdown in a string.","scope":"static","params":[{"name":"text","description":"Content to escape","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":304,"file":"Util.js","path":"src/util"}},{"name":"escapeEscape","description":"Escapes escape characters in a string.","scope":"static","params":[{"name":"text","description":"Content to escape","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":313,"file":"Util.js","path":"src/util"}},{"name":"escapeHeading","description":"Escapes heading characters in a string.","scope":"static","params":[{"name":"text","description":"Content to escape","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":322,"file":"Util.js","path":"src/util"}},{"name":"escapeBulletedList","description":"Escapes bulleted list characters in a string.","scope":"static","params":[{"name":"text","description":"Content to escape","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":331,"file":"Util.js","path":"src/util"}},{"name":"escapeNumberedList","description":"Escapes numbered list characters in a string.","scope":"static","params":[{"name":"text","description":"Content to escape","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":340,"file":"Util.js","path":"src/util"}},{"name":"escapeMaskedLink","description":"Escapes masked link characters in a string.","scope":"static","params":[{"name":"text","description":"Content to escape","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":349,"file":"Util.js","path":"src/util"}},{"name":"parseEmoji","description":"Parses emoji info out of a string. The string must be one of:\n* A UTF-8 emoji (no id)\n* A URL-encoded UTF-8 emoji (no id)\n* A Discord custom emoji (`<:name:id>` or ``)","scope":"static","access":"private","params":[{"name":"text","description":"Emoji string to parse","type":[[["string"]]]}],"returns":{"types":[[["APIEmoji"]]],"description":"Object with `animated`, `name`, and `id` properties"},"meta":{"line":372,"file":"Util.js","path":"src/util"}},{"name":"resolvePartialEmoji","description":"Resolves a partial emoji object from an {@link EmojiIdentifierResolvable}, without checking a Client.","scope":"static","access":"private","params":[{"name":"emoji","description":"Emoji identifier to resolve","type":[[["EmojiIdentifierResolvable"]]]}],"returns":{"types":[[["RawEmoji"]]],"nullable":true},"meta":{"line":385,"file":"Util.js","path":"src/util"}},{"name":"cloneObject","description":"Shallow-copies an object with its class/prototype intact.","scope":"static","access":"private","params":[{"name":"obj","description":"Object to clone","type":[[["Object"]]]}],"returns":[[["Object"]]],"meta":{"line":399,"file":"Util.js","path":"src/util"}},{"name":"mergeDefault","description":"Sets default properties on an object that aren't already specified.","scope":"static","access":"private","params":[{"name":"def","description":"Default properties","type":[[["Object"]]]},{"name":"given","description":"Object to assign defaults to","type":[[["Object"]]]}],"returns":[[["Object"]]],"meta":{"line":410,"file":"Util.js","path":"src/util"}},{"name":"makeError","description":"Makes an Error from a plain info object.","scope":"static","access":"private","params":[{"name":"obj","description":"Error info","type":[[["MakeErrorOptions"]]]}],"returns":[[["Error"]]],"meta":{"line":437,"file":"Util.js","path":"src/util"}},{"name":"makePlainError","description":"Makes a plain error info object from an Error.","scope":"static","access":"private","params":[{"name":"err","description":"Error to get info from","type":[[["Error"]]]}],"returns":[[["MakeErrorOptions"]]],"meta":{"line":450,"file":"Util.js","path":"src/util"}},{"name":"moveElementInArray","description":"Moves an element in an array *in place*.","scope":"static","access":"private","params":[{"name":"array","description":"Array to modify","type":[[["Array","<"],["*",">"]]]},{"name":"element","description":"Element to move","type":[["*"]]},{"name":"newIndex","description":"Index or offset to move the element to","type":[[["number"]]]},{"name":"offset","description":"Move the element by an offset amount rather than to a set index","optional":true,"default":false,"type":[[["boolean"]]]}],"returns":[[["number"]]],"meta":{"line":467,"file":"Util.js","path":"src/util"}},{"name":"verifyString","description":"Verifies the provided data is a string, otherwise throws provided error.","scope":"static","params":[{"name":"data","description":"The string resolvable to resolve","type":[[["string"]]]},{"name":"error","description":"The Error constructor to instantiate. Defaults to Error","optional":true,"type":[[["function"]]]},{"name":"errorMessage","description":"The error message to throw with. Defaults to \"Expected string, got instead.\"","optional":true,"type":[[["string"]]]},{"name":"allowEmpty","description":"Whether an empty string should be allowed","optional":true,"default":true,"type":[[["boolean"]]]}],"returns":[[["string"]]],"meta":{"line":485,"file":"Util.js","path":"src/util"}},{"name":"resolveColor","description":"Resolves a ColorResolvable into a color number.","scope":"static","params":[{"name":"color","description":"Color to resolve","type":[[["ColorResolvable"]]]}],"returns":{"types":[[["number"]]],"description":"A color"},"meta":{"line":509,"file":"Util.js","path":"src/util"}},{"name":"discordSort","description":"Sorts by Discord's position and id.","scope":"static","params":[{"name":"collection","description":"Collection of objects to sort","type":[[["Collection"]]]}],"returns":[[["Collection"]]],"meta":{"line":529,"file":"Util.js","path":"src/util"}},{"name":"setPosition","description":"Sets the position of a Channel or Role.","scope":"static","access":"private","params":[{"name":"item","description":"Object to set the position of","type":[[["Channel"]],[["Role"]]]},{"name":"position","description":"New position for the object","type":[[["number"]]]},{"name":"relative","description":"Whether `position` is relative to its current position","type":[[["boolean"]]]},{"name":"sorted","description":"A collection of the objects sorted properly","type":[[["Collection","<"],["string",", ("],["Channel","|"],["Role",")>"]]]},{"name":"route","description":"Route to call PATCH on","type":[[["APIRouter"]]]},{"name":"reason","description":"Reason for the change","optional":true,"type":[[["string"]]]}],"async":true,"returns":{"types":[[["Promise","<("],["Array","<"],["Channel",">|"],["Array","<"],["Role",">)>"]]],"description":"Updated item list, with `id` and `position` properties"},"meta":{"line":549,"file":"Util.js","path":"src/util"}},{"name":"basename","description":"Alternative to Node's `path.basename`, removing query string after the extension if it exists.","scope":"static","access":"private","params":[{"name":"path","description":"Path to get the basename of","type":[[["string"]]]},{"name":"ext","description":"File extension to remove","optional":true,"type":[[["string"]]]}],"returns":{"types":[[["string"]]],"description":"Basename of the path"},"meta":{"line":564,"file":"Util.js","path":"src/util"}},{"name":"removeMentions","description":"Breaks user, role and everyone/here mentions by adding a zero width space after every @ character","scope":"static","deprecated":"Use {@link BaseMessageOptions#allowedMentions} instead.","params":[{"name":"str","description":"The string to sanitize","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":575,"file":"Util.js","path":"src/util"}},{"name":"cleanContent","description":"The content to have all mentions replaced by the equivalent text.\nWhen {@link Util.removeMentions} is removed, this method will no longer sanitize mentions.\nUse {@link BaseMessageOptions#allowedMentions} instead to prevent mentions when sending a message.","scope":"static","params":[{"name":"str","description":"The string to be converted","type":[[["string"]]]},{"name":"channel","description":"The channel the string was sent in","type":[[["TextBasedChannels"]]]}],"returns":[[["string"]]],"meta":{"line":600,"file":"Util.js","path":"src/util"}},{"name":"cleanCodeBlockContent","description":"The content to put in a code block with all code block fences replaced by the equivalent backticks.","scope":"static","params":[{"name":"text","description":"The string to be converted","type":[[["string"]]]}],"returns":[[["string"]]],"meta":{"line":634,"file":"Util.js","path":"src/util"}},{"name":"archivedThreadSweepFilter","description":"Creates a sweep filter that sweeps archived threads","scope":"static","deprecated":"When not using with `makeCache` use `Sweepers.archivedThreadSweepFilter` instead","params":[{"name":"lifetime","description":"How long a thread has to be archived to be valid for sweeping","optional":true,"default":14400,"type":[[["number"]]]}],"returns":[[["SweepFilter"]]],"meta":{"line":644,"file":"Util.js","path":"src/util"}},{"name":"resolveAutoArchiveMaxLimit","description":"Resolves the maximum time a guild's thread channels should automatically archive in case of no recent activity.","scope":"static","deprecated":"This will be removed in the next major version.","params":[{"name":"guild","description":"The guild to resolve this limit from.","type":[[["Guild"]]]}],"returns":[[["number"]]],"meta":{"line":656,"file":"Util.js","path":"src/util"}},{"name":"transformAPIGuildForumTag","description":"Transforms an API guild forum tag to camel-cased guild forum tag.","scope":"static","params":[{"name":"tag","description":"The tag to transform","type":[[["APIGuildForumTag"]]]}],"returns":[[["GuildForumTag"]]],"meta":{"line":674,"file":"Util.js","path":"src/util"}},{"name":"transformGuildForumTag","description":"Transforms a camel-cased guild forum tag to an API guild forum tag.","scope":"static","params":[{"name":"tag","description":"The tag to transform","type":[[["GuildForumTag"]]]}],"returns":[[["APIGuildForumTag"]]],"meta":{"line":695,"file":"Util.js","path":"src/util"}},{"name":"transformAPIGuildDefaultReaction","description":"Transforms an API guild forum default reaction object to a\ncamel-cased guild forum default reaction object.","scope":"static","params":[{"name":"defaultReaction","description":"The default reaction to transform","type":[[["APIGuildForumDefaultReactionEmoji"]]]}],"returns":[[["DefaultReactionEmoji"]]],"meta":{"line":712,"file":"Util.js","path":"src/util"}},{"name":"transformGuildDefaultReaction","description":"Transforms a camel-cased guild forum default reaction object to an\nAPI guild forum default reaction object.","scope":"static","params":[{"name":"defaultReaction","description":"The default reaction to transform","type":[[["DefaultReactionEmoji"]]]}],"returns":[[["APIGuildForumDefaultReactionEmoji"]]],"meta":{"line":726,"file":"Util.js","path":"src/util"}},{"name":"getSortableGroupTypes","description":"Gets an array of the channel types that can be moved in the channel group. For example, a GuildText channel would\nreturn an array containing the types that can be ordered within the text channels (always at the top), and a voice\nchannel would return an array containing the types that can be ordered within the voice channels (always at the\nbottom).","scope":"static","params":[{"name":"type","description":"The type of the channel","type":[[["ChannelType"]]]}],"returns":[[["Array","<"],["ChannelType",">"]]],"meta":{"line":742,"file":"Util.js","path":"src/util"}},{"name":"calculateUserDefaultAvatarIndex","description":"Calculates the default avatar index for a given user id.","scope":"static","params":[{"name":"userId","description":"The user id to calculate the default avatar index for","type":[[["Snowflake"]]]}],"returns":[[["number"]]],"meta":{"line":763,"file":"Util.js","path":"src/util"}},{"name":"lazy","description":"Lazily evaluates a callback function (yea it's v14 :yay:)","scope":"static","examples":["const User = lazy(() => require('./User'));\nconst user = new (User())(client, data);"],"params":[{"name":"cb","description":"The callback to lazily evaluate","type":[[["function"]]]}],"returns":[[["function"]]],"meta":{"line":809,"file":"Util.js","path":"src/util"}},{"name":"verifyProxyAgent","description":"Hacking check object instanceof Proxy-agent","scope":"static","params":[{"name":"object","description":"any","type":[[["Object"]]]}],"returns":[[["boolean"]]],"meta":{"line":819,"file":"Util.js","path":"src/util"}}],"meta":{"line":25,"file":"Util.js","path":"src/util"}}],"interfaces":[{"name":"InteractionResponses","description":"Interface for classes that support shared interaction response types.","methods":[{"name":"deferReply","description":"Defers the reply to this interaction.","examples":["// Defer the reply to this interaction\ninteraction.deferReply()\n .then(console.log)\n .catch(console.error)","// Defer to send an ephemeral reply later\ninteraction.deferReply({ ephemeral: true })\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for deferring the reply to this interaction","optional":true,"type":[[["InteractionDeferReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":58,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"reply","description":"Creates a reply to this interaction.\nUse the `fetchReply` option to get the bot's reply message.","examples":["// Reply to the interaction and fetch the response\ninteraction.reply({ content: 'Pong!', fetchReply: true })\n .then((message) => console.log(`Reply sent with content ${message.content}`))\n .catch(console.error);","// Create an ephemeral reply with an embed\nconst embed = new MessageEmbed().setDescription('Pong!');\n\ninteraction.reply({ embeds: [embed], ephemeral: true })\n .then(() => console.log('Reply sent.'))\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":93,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"fetchReply","description":"Fetches a reply to this interaction.","see":["Webhook#fetchMessage"],"examples":["// Fetch the initial reply to this interaction\ninteraction.fetchReply()\n .then(reply => console.log(`Replied with ${reply.content}`))\n .catch(console.error);"],"params":[{"name":"message","description":"The response to fetch","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":127,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"editReply","description":"Edits a reply to this interaction.","see":["Webhook#editMessage"],"examples":["// Edit the initial reply to this interaction\ninteraction.editReply('New content')\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The new options for the message","type":[[["string"]],[["MessagePayload"]],[["InteractionEditReplyOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":148,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"deleteReply","description":"Deletes a reply to this interaction.","see":["Webhook#deleteMessage"],"examples":["// Delete the initial reply to this interaction\ninteraction.deleteReply()\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"message","description":"The response to delete","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":166,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"followUp","description":"Send a follow-up message to this interaction.","params":[{"name":"options","description":"The options for the reply","type":[[["string"]],[["MessagePayload"]],[["InteractionReplyOptions"]]]}],"returns":[[["Promise","<("],["Message","|"],["APIMessage",")>"]]],"meta":{"line":175,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"deferUpdate","description":"Defers an update to the message to which the component was attached.","examples":["// Defer updating and reset the component's loading state\ninteraction.deferUpdate()\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"Options for deferring the update to this interaction","optional":true,"type":[[["InteractionDeferUpdateOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":190,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"update","description":"Updates the original message of the component on which the interaction was received on.","examples":["// Remove the components from the message\ninteraction.update({\n content: \"A component interaction was received\",\n components: []\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options for the updated message","type":[[["string"]],[["MessagePayload"]],[["InteractionUpdateOptions"]]]}],"async":true,"returns":[[["Promise","<("],["Message","|"],["APIMessage","|"],["void",")>"]]],"meta":{"line":216,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"showModal","description":"Shows a modal component","params":[{"name":"modal","description":"The modal to show","type":[[["Modal"]],[["ModalOptions"]]]}],"async":true,"returns":[[["Promise","<"],["void",">"]]],"meta":{"line":243,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"awaitModalSubmit","description":"Collects a single modal submit interaction that passes the filter.\nThe Promise will reject if the time expires.","examples":["// Collect a modal submit interaction\nconst filter = (interaction) => interaction.customId === 'modal';\ninteraction.awaitModalSubmit({ filter, time: 15_000 })\n .then(interaction => console.log(`${interaction.customId} was submitted!`))\n .catch(console.error);"],"params":[{"name":"options","description":"Options to pass to the internal collector","type":[[["AwaitModalSubmitOptions"]]]}],"returns":[[["Promise","<"],["ModalSubmitInteraction",">"]]],"meta":{"line":275,"file":"InteractionResponses.js","path":"src/structures/interfaces"}}],"meta":{"line":14,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"TextBasedChannel","description":"Interface for classes that have text-channel-like features.","props":[{"name":"messages","description":"A manager of the messages sent to this channel","type":[[["MessageManager"]]],"meta":{"line":30,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"lastMessageId","description":"The channel's last message id, if one was sent","nullable":true,"type":[[["Snowflake"]]],"meta":{"line":36,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"lastPinTimestamp","description":"The timestamp when the last pinned message was pinned, if there was one","nullable":true,"type":[[["number"]]],"meta":{"line":42,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"lastMessage","description":"The Message object of the last message in the channel, if one was sent","readonly":true,"nullable":true,"type":[[["Message"]]],"meta":{"line":50,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"lastPinAt","description":"The date when the last pinned message was pinned, if there was one","readonly":true,"nullable":true,"type":[[["Date"]]],"meta":{"line":59,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}}],"methods":[{"name":"send","description":"Sends a message to this channel.","examples":["// Send a basic message\nchannel.send('hello!')\n .then(message => console.log(`Sent message: ${message.content}`))\n .catch(console.error);","// Send a remote file\nchannel.send({\n files: ['https://cdn.discordapp.com/icons/222078108977594368/6e1019b3179d71046e463a75915e7244.png?size=2048']\n})\n .then(console.log)\n .catch(console.error);","// Send a local file\nchannel.send({\n files: [{\n attachment: 'entire/path/to/file.jpg',\n name: 'file.jpg',\n description: 'A description of the file'\n }]\n})\n .then(console.log)\n .catch(console.error);"],"params":[{"name":"options","description":"The options to provide","type":[[["string"]],[["MessagePayload"]],[["MessageOptions"]]]}],"async":true,"returns":[[["Promise","<"],["Message",">"]]],"meta":{"line":150,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"sendTyping","description":"Sends a typing indicator in the channel.","examples":["// Start typing in a channel\nchannel.sendTyping();"],"async":true,"returns":{"types":[[["Promise","<"],["void",">"]]],"description":"Resolves upon the typing status being sent"},"meta":{"line":355,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createMessageCollector","description":"Creates a Message Collector.","examples":["// Create a message collector\nconst filter = m => m.content.includes('discord');\nconst collector = channel.createMessageCollector({ filter, time: 15_000 });\ncollector.on('collect', m => console.log(`Collected ${m.content}`));\ncollector.on('end', collected => console.log(`Collected ${collected.size} items`));"],"params":[{"name":"options","description":"The options to pass to the collector","optional":true,"default":"{}","type":[[["MessageCollectorOptions"]]]}],"returns":[[["MessageCollector"]]],"meta":{"line":370,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"awaitMessages","description":"Similar to createMessageCollector but in promise form.\nResolves with a collection of messages that pass the specified filter.","examples":["// Await !vote messages\nconst filter = m => m.content.startsWith('!vote');\n// Errors: ['time'] treats ending because of the time limit as an error\nchannel.awaitMessages({ filter, max: 4, time: 60_000, errors: ['time'] })\n .then(collected => console.log(collected.size))\n .catch(collected => console.log(`After a minute, only ${collected.size} out of 4 voted.`));"],"params":[{"name":"options","description":"Optional options to pass to the internal collector","optional":true,"default":"{}","type":[[["AwaitMessagesOptions"]]]}],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Message",">>"]]],"meta":{"line":393,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"fetchWebhooks","description":"Fetches all webhooks for the channel.","examples":["// Fetch webhooks\nchannel.fetchWebhooks()\n .then(hooks => console.log(`This channel has ${hooks.size} hooks`))\n .catch(console.error);"],"returns":[[["Promise","<"],["Collection","<"],["Snowflake",", "],["Webhook",">>"]]],"meta":{"line":415,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"createWebhook","description":"Creates a webhook for the channel.","examples":["// Create a webhook for the current channel\nchannel.createWebhook('Snek', {\n avatar: 'https://i.imgur.com/mI8XcpG.jpg',\n reason: 'Needed a cool new Webhook'\n})\n .then(console.log)\n .catch(console.error)"],"params":[{"name":"name","description":"The name of the webhook","type":[[["string"]]]},{"name":"options","description":"Options for creating the webhook","optional":true,"type":[[["ChannelWebhookCreateOptions"]]]}],"returns":{"types":[[["Promise","<"],["Webhook",">"]]],"description":"Returns the created Webhook"},"meta":{"line":440,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"setRateLimitPerUser","description":"Sets the rate limit per user (slowmode) for this channel.","params":[{"name":"rateLimitPerUser","description":"The new rate limit in seconds","type":[[["number"]]]},{"name":"reason","description":"Reason for changing the channel's rate limit","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":450,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"setNSFW","description":"Sets whether this channel is flagged as NSFW.","params":[{"name":"nsfw","description":"Whether the channel should be considered NSFW","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"Reason for changing the channel's NSFW flag","optional":true,"type":[[["string"]]]}],"returns":[[["Promise","<"],["this",">"]]],"meta":{"line":460,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}}],"meta":{"line":24,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}}],"typedefs":[{"name":"ApplicationCommandPermissionsUpdateData","description":"The data received in the {@link Client#event:applicationCommandPermissionsUpdate} event","type":[[["Object"]]],"props":[{"name":"id","description":"The id of the command or global entity that was updated","type":[[["Snowflake"]]]},{"name":"guildId","description":"The id of the guild in which permissions were updated","type":[[["Snowflake"]]]},{"name":"applicationId","description":"The id of the application that owns the command or entity being updated","type":[[["Snowflake"]]]},{"name":"permissions","description":"The updated permissions","type":[[["Array","<"],["ApplicationCommandPermissions",">"]]]}],"meta":{"line":6,"file":"ApplicationCommandPermissionsUpdate.js","path":"src/client/actions"}},{"name":"ClientFetchInviteOptions","description":"Options used when fetching an invite from Discord.","type":[[["Object"]]],"props":[{"name":"guildScheduledEventId","description":"The id of the guild scheduled event to include with\nthe invite","optional":true,"type":[[["Snowflake"]]]}],"meta":{"line":354,"file":"Client.js","path":"src/client"}},{"name":"InviteGenerationOptions","description":"Options for {@link Client#generateInvite}.","type":[[["Object"]]],"props":[{"name":"scopes","description":"Scopes that should be requested","type":[[["Array","<"],["InviteScope",">"]]]},{"name":"permissions","description":"Permissions to request","optional":true,"type":[[["PermissionResolvable"]]]},{"name":"guild","description":"Guild to preselect","optional":true,"type":[[["GuildResolvable"]]]},{"name":"disableGuildSelect","description":"Whether to disable the guild selection","optional":true,"type":[[["boolean"]]]}],"meta":{"line":519,"file":"Client.js","path":"src/client"}},{"name":"AcceptInviteOptions","description":"Options for {@link Client#acceptInvite}.","type":[[["Object"]]],"props":[{"name":"bypassOnboarding","description":"Whether to bypass onboarding","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"bypassVerify","description":"Whether to bypass rule screening","optional":true,"default":true,"type":[[["boolean"]]]}],"meta":{"line":552,"file":"Client.js","path":"src/client"}},{"name":"OAuth2AuthorizeOptions","type":[[["Object"]]],"props":[{"name":"guild_id","description":"Guild ID","optional":true,"type":[[["string"]]]},{"name":"permissions","description":"Permissions","optional":true,"type":[[["PermissionResolvable"]]]},{"name":"authorize","description":"Whether to authorize or not","optional":true,"type":[[["boolean"]]]},{"name":"code","description":"2FA Code","optional":true,"type":[[["string"]]]},{"name":"webhook_channel_id","description":"Webhook Channel ID","optional":true,"type":[[["string"]]]}],"meta":{"line":668,"file":"Client.js","path":"src/client"}},{"name":"JoinChannelConfig","type":[[["Object"]]],"props":[{"name":"selfMute","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"selfDeaf","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"selfVideo","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"videoCodec","optional":true,"default":"'H264'","type":[[["VideoCodec"]]]}],"meta":{"line":88,"file":"ClientVoiceManager.js","path":"src/client/voice"}},{"name":"ReceiveStreamOptions","description":"Options passed to `VoiceReceiver#createStream`.","type":[[["Object"]]],"props":[{"name":"mode","description":"The mode for audio output. This defaults to opus, meaning discord.js won't decode\nthe packets for you. You can set this to 'pcm' so that the stream's output will be 16-bit little-endian stereo\naudio","optional":true,"default":"'opus'","type":[[["string"]]]},{"name":"end","description":"When the stream should be destroyed. If `silence`, this will be when the user\nstops talking. Otherwise, if `manual`, this should be handled by you.","optional":true,"default":"'silence'","type":[[["string"]]]}],"meta":{"line":28,"file":"Receiver.js","path":"src/client/voice/receiver"}},{"name":"StreamOptions","description":"Options that can be passed to stream-playing methods:","type":[[["Object"]]],"props":[{"name":"type","description":"The type of stream.","optional":true,"default":"'unknown'","type":[[["StreamType"]]]},{"name":"seek","description":"The time to seek to, will be ignored when playing `ogg/opus` or `webm/opus` streams","optional":true,"default":0,"type":[[["number"]]]},{"name":"volume","description":"The volume to play at. Set this to false to disable volume transforms for\nthis stream to improve performance.","optional":true,"default":1,"type":[[["number"]],[["boolean"]]]},{"name":"plp","description":"Expected packet loss percentage","optional":true,"type":[[["number"]]]},{"name":"fec","description":"Enabled forward error correction","optional":true,"type":[[["boolean"]]]},{"name":"bitrate","description":"The bitrate (quality) of the audio in kbps.\nIf set to 'auto', the voice channel's bitrate will be used","optional":true,"default":96,"type":[[["number"]],[["string"]]]},{"name":"highWaterMark","description":"The maximum number of opus packets to make and store before they are\nactually needed. See https://nodejs.org/en/docs/guides/backpressuring-in-streams/. Setting this value to\n1 means that changes in volume will be more instant.","optional":true,"default":12,"type":[[["number"]]]}],"meta":{"line":7,"file":"PlayInterface.js","path":"src/client/voice/util"}},{"name":"StreamType","description":"An option passed as part of `StreamOptions` specifying the type of the stream.\n* `unknown`: The default type, streams/input will be passed through to ffmpeg before encoding.\nWill play most streams.\n* `converted`: Play a stream of 16bit signed stereo PCM data, skipping ffmpeg.\n* `opus`: Play a stream of opus packets, skipping ffmpeg. You lose the ability to alter volume.\n* `ogg/opus`: Play an ogg file with the opus encoding, skipping ffmpeg. You lose the ability to alter volume.\n* `webm/opus`: Play a webm file with opus audio, skipping ffmpeg. You lose the ability to alter volume.","type":[[["string"]]],"meta":{"line":23,"file":"PlayInterface.js","path":"src/client/voice/util"}},{"name":"VideoOptions","description":"Options that can be passed to stream-playing methods:","type":[[["Object"]]],"props":[{"name":"seek","description":"The time to seek to, will be ignored when playing `ogg/opus` or `webm/opus` streams","optional":true,"default":0,"type":[[["number"]]]},{"name":"fps","description":"Video fps","optional":true,"default":30,"type":[[["number"]]]},{"name":"copy","description":"Copy codec ?","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"highWaterMark","description":"The maximum number of opus packets to make and store before they are\nactually needed. See https://nodejs.org/en/docs/guides/backpressuring-in-streams/. Setting this value to\n1 means that changes in volume will be more instant.","optional":true,"default":12,"type":[[["number"]]]},{"name":"preset","description":"ffmpeg preset","optional":true,"default":"'veryfast'","type":[[["ultrafast","'"]],[["superfast","'"]],[["veryfast","'"]],[["faster","'"]],[["fast","'"]],[["medium","'"]],[["slow","'"]],[["slower","'"]],[["veryslow","'"]]]},{"name":"hwAccel","description":"Enables hardware accelerated video decoding. Enabling this option might result in an exception\nbeing thrown by Ffmpeg process if your system does not support hardware acceleration","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"inputFFmpegArgs","description":"input ffmpeg\nEx: ['-config1', 'value1', '-config2', 'value2']","optional":true,"type":[[["Array","<"],["string",">"]]]},{"name":"outputFFmpegArgs","description":"output ffmpeg\nEx: ['-config1', 'value1', '-config2', 'value2']","optional":true,"type":[[["Array","<"],["string",">"]]]}],"meta":{"line":77,"file":"PlayInterface.js","path":"src/client/voice/util"}},{"name":"VideoCodec","description":"Video codec (encoded)\n* `VP8`\n* `VP9` (Not supported)\n* `H264`\n* `H265` (Not supported)","type":[[["string"]]],"meta":{"line":134,"file":"VoiceConnection.js","path":"src/client/voice"}},{"name":"WebhookClientData","description":"The data for the webhook client containing either an id and token or just a URL","type":[[["Object"]]],"props":[{"name":"id","description":"The id of the webhook","optional":true,"type":[[["Snowflake"]]]},{"name":"token","description":"The token of the webhook","optional":true,"type":[[["string"]]]},{"name":"url","description":"The full URL for the webhook client","optional":true,"type":[[["string"]]]}],"meta":{"line":13,"file":"WebhookClient.js","path":"src/client"}},{"name":"GuildMembersChunk","description":"Represents the properties of a guild members chunk","type":[[["Object"]]],"props":[{"name":"index","description":"Index of the received chunk","type":[[["number"]]]},{"name":"count","description":"Number of chunks the client should receive","type":[[["number"]]]},{"name":"nonce","description":"Nonce for this chunk","nullable":true,"type":[[["string"]]]},{"name":"notFound","description":"An array of whatever could not be found\nwhen using {@link Opcodes.REQUEST_GUILD_MEMBERS}","type":[[["Array","<"],["*",">"]]]}],"meta":{"line":16,"file":"GUILD_MEMBERS_CHUNK.js","path":"src/client/websocket/handlers"}},{"name":"MessagePollUserVote","description":"Poll Vote Structure","see":["{@link https://docs.discord.sex/resources/message#poll-results-structure}"],"type":[[["Object"]]],"props":[{"name":"user_id","description":"ID of the user","type":[[["Snowflake"]]]},{"name":"channel_id","description":"ID of the channel","type":[[["Snowflake"]]]},{"name":"message_id","description":"ID of the message","type":[[["Snowflake"]]]},{"name":"guild_id","description":"ID of the guild","nullable":true,"type":[[["Snowflake"]]]},{"name":"answer_id","description":"ID of the answer","type":[[["number"]]]}],"meta":{"line":6,"file":"MESSAGE_POLL_VOTE_ADD.js","path":"src/client/websocket/handlers"}},{"name":"RelationshipUpdateObject","type":[[["Object"]]],"props":[{"name":"type","description":"The type of relationship","type":[[["RelationshipType"]]]},{"name":"since","description":"When the user requested a relationship","type":[[["Date"]]]},{"name":"nickname","description":"The nickname of the user in this relationship (1-32 characters)","type":[[["string"]],[["null"]]]}],"meta":{"line":6,"file":"RELATIONSHIP_UPDATE.js","path":"src/client/websocket/handlers"}},{"name":"ApplicationCommandResolvable","description":"Data that resolves to give an ApplicationCommand object. This can be:\n* An ApplicationCommand object\n* A Snowflake","type":[[["ApplicationCommand"]],[["Snowflake"]]],"meta":{"line":51,"file":"ApplicationCommandManager.js","path":"src/managers"}},{"name":"ApplicationCommandDataResolvable","description":"Data that resolves to the data of an ApplicationCommand","type":[[["ApplicationCommandData"]],[["APIApplicationCommand"]],[["SlashCommandBuilder"]],[["ContextMenuCommandBuilder"]]],"meta":{"line":59,"file":"ApplicationCommandManager.js","path":"src/managers"}},{"name":"BaseFetchOptions","description":"Options used to fetch data from Discord","type":[[["Object"]]],"props":[{"name":"cache","description":"Whether to cache the fetched data if it wasn't already","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":false,"type":[[["boolean"]]]}],"meta":{"line":65,"file":"ApplicationCommandManager.js","path":"src/managers"}},{"name":"FetchApplicationCommandOptions","description":"Options used to fetch Application Commands from Discord","type":[[["BaseFetchOptions"]]],"props":[{"name":"guildId","description":"The guild's id to fetch commands for, for when the guild is not cached","optional":true,"type":[[["Snowflake"]]]},{"name":"locale","description":"The locale to use when fetching this command","optional":true,"type":[[["LocaleString"]]]},{"name":"withLocalizations","description":"Whether to fetch all localization data","optional":true,"type":[[["boolean"]]]}],"meta":{"line":72,"file":"ApplicationCommandManager.js","path":"src/managers"}},{"name":"ApplicationCommandPermissionData","description":"Data for setting the permissions of an application command.","type":[[["Object"]]],"props":[{"name":"id","description":"The role or user's id","type":[[["Snowflake"]]]},{"name":"type","description":"Whether this permission is for a role or a user","type":[[["ApplicationCommandPermissionType"]],[["number"]]]},{"name":"permission","description":"Whether the role or user has the permission to use this command","type":[[["boolean"]]]}],"meta":{"line":53,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"ApplicationCommandPermissions","description":"The object returned when fetching permissions for an application command.","type":[[["Object"]]],"props":[{"name":"id","description":"The role or user's id","type":[[["Snowflake"]]]},{"name":"type","description":"Whether this permission is for a role or a user","type":[[["ApplicationCommandPermissionType"]]]},{"name":"permission","description":"Whether the role or user has the permission to use this command","type":[[["boolean"]]]}],"meta":{"line":61,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"BaseApplicationCommandPermissionsOptions","description":"Options for managing permissions for one or more Application Commands\nWhen passing these options to a manager where `guildId` is `null`,\n`guild` is a required parameter","type":[[["Object"]]],"props":[{"name":"guild","description":"The guild to modify / check permissions for\nIgnored when the manager has a non-null `guildId` property","optional":true,"type":[[["GuildResolvable"]]]},{"name":"command","description":"The command to modify / check permissions for\nIgnored when the manager has a non-null `commandId` property","optional":true,"type":[[["ApplicationCommandResolvable"]]]}],"meta":{"line":69,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"GuildApplicationCommandPermissionData","description":"Data used for overwriting the permissions for all application commands in a guild.","type":[[["Object"]]],"props":[{"name":"id","description":"The command's id","type":[[["Snowflake"]]]},{"name":"permissions","description":"The permissions for this command","type":[[["Array","<"],["ApplicationCommandPermissionData",">"]]]}],"meta":{"line":113,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"SetApplicationCommandPermissionsOptions","description":"Options used to set permissions for one or more Application Commands in a guild\nOne of `command` AND `permissions`, OR `fullPermissions` is required.\n`fullPermissions` is not a valid option when passing to a manager where `commandId` is non-null","type":[[["BaseApplicationCommandPermissionsOptions"]]],"props":[{"name":"permissions","description":"The new permissions for the command","optional":true,"type":[[["Array","<"],["ApplicationCommandPermissionData",">"]]]},{"name":"fullPermissions","description":"The new permissions for all commands\nin a guild When this parameter is set, `permissions` and `command` are ignored","optional":true,"type":[[["Array","<"],["GuildApplicationCommandPermissionData",">"]]]}],"meta":{"line":120,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"AddApplicationCommandPermissionsOptions","description":"Options used to add permissions to a command\nThe `command` parameter is not optional when the managers `commandId` is `null`","type":[[["BaseApplicationCommandPermissionsOptions"]]],"props":[{"name":"permissions","description":"The permissions to add to the command","type":[[["Array","<"],["ApplicationCommandPermissionData",">"]]]}],"meta":{"line":199,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"RemoveApplicationCommandPermissionsOptions","description":"Options used to remove permissions from a command\nThe `command` parameter is not optional when the managers `commandId` is `null`","type":[[["BaseApplicationCommandPermissionsOptions"]]],"props":[{"name":"users","description":"The user(s) to remove from the command permissions\nOne of `users` or `roles` is required","optional":true,"type":[[["UserResolvable"]],[["Array","<"],["UserResolvable",">"]]]},{"name":"roles","description":"The role(s) to remove from the command permissions\nOne of `users` or `roles` is required","optional":true,"type":[[["RoleResolvable"]],[["Array","<"],["RoleResolvable",">"]]]}],"meta":{"line":246,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"HasApplicationCommandPermissionsOptions","description":"Options used to check the existence of permissions on a command\nThe `command` parameter is not optional when the managers `commandId` is `null`","type":[[["BaseApplicationCommandPermissionsOptions"]]],"props":[{"name":"permissionId","description":"The user or role to check if a permission exists for\non this command.","type":[[["UserResolvable"]],[["RoleResolvable"]]]}],"meta":{"line":330,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"AutoModerationTriggerMetadataOptions","description":"Options used to set the trigger metadata of an auto moderation rule.","type":[[["Object"]]],"props":[{"name":"keywordFilter","description":"The substrings that will be searched for in the content","optional":true,"type":[[["Array","<"],["string",">"]]]},{"name":"regexPatterns","description":"The regular expression patterns which will be matched against the content\nOnly Rust-flavored regular expressions are supported.","optional":true,"type":[[["Array","<"],["string",">"]]]},{"name":"presets","description":"The internally pre-defined wordsets which will be searched for in the content","optional":true,"type":[[["Array","<"],["AutoModerationRuleKeywordPresetType",">"]]]},{"name":"allowList","description":"The substrings that will be exempt from triggering\n{@link AutoModerationRuleTriggerType.KEYWORD} and {@link AutoModerationRuleTriggerType.KEYWORD_PRESET}","optional":true,"type":[[["Array","<"],["string",">"]]]},{"name":"mentionTotalLimit","description":"The total number of role & user mentions allowed per message","optional":true,"nullable":true,"type":[[["number"]]]},{"name":"mentionRaidProtectionEnabled","description":"Whether to automatically detect mention raids","optional":true,"type":[[["boolean"]]]}],"meta":{"line":50,"file":"AutoModerationRuleManager.js","path":"src/managers"}},{"name":"AutoModerationActionOptions","description":"Options used to set the actions of an auto moderation rule.","type":[[["Object"]]],"props":[{"name":"type","description":"The type of this auto moderation rule action","type":[[["AutoModerationActionType"]]]},{"name":"metadata","description":"Additional metadata needed during execution\nThis property is required if using a `type` of\n{@link AutoModerationActionType.SEND_ALERT_MESSAGE} or {@link AutoModerationActionType.TIMEOUT}.","optional":true,"type":[[["AutoModerationActionMetadataOptions"]]]}],"meta":{"line":64,"file":"AutoModerationRuleManager.js","path":"src/managers"}},{"name":"AutoModerationActionMetadataOptions","description":"Options used to set the metadata of an auto moderation rule action.","type":[[["Object"]]],"props":[{"name":"channel","description":"The channel to which content will be logged","optional":true,"type":[[["GuildTextChannelResolvable"]],[["ThreadChannel"]]]},{"name":"durationSeconds","description":"The timeout duration in seconds","optional":true,"type":[[["number"]]]},{"name":"customMessage","description":"The custom message that is shown whenever a message is blocked","optional":true,"type":[[["string"]]]}],"meta":{"line":73,"file":"AutoModerationRuleManager.js","path":"src/managers"}},{"name":"AutoModerationRuleCreateOptions","description":"Options used to create an auto moderation rule.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the auto moderation rule","type":[[["string"]]]},{"name":"eventType","description":"The event type of the auto moderation rule","type":[[["AutoModerationRuleEventType"]]]},{"name":"triggerType","description":"The trigger type of the auto moderation rule","type":[[["AutoModerationRuleTriggerType"]]]},{"name":"triggerMetadata","description":"The trigger metadata of the auto moderation rule\nThis property is required if the following `triggerType`s are used:\n* {@link AutoModerationRuleTriggerType.KEYWORD KEYWORD}\n* {@link AutoModerationRuleTriggerType.KEYWORD_PRESET KEYWORD_PRESET}\n* {@link AutoModerationRuleTriggerType.MENTION_SPAM MENTION_SPAM}\n","optional":true,"type":[[["AutoModerationTriggerMetadataOptions"]]]},{"name":"actions","description":"The actions that will execute when the auto moderation rule is triggered","type":[[["Array","<"],["AutoModerationActionOptions",">"]]]},{"name":"enabled","description":"Whether the auto moderation rule should be enabled","optional":true,"type":[[["boolean"]]]},{"name":"exemptRoles","description":"The roles that should not be affected by the auto moderation rule","optional":true,"type":[[["Collection","<"],["Snowflake",", "],["Role",">"]],[["Array","<"],["RoleResolvable",">"]]]},{"name":"exemptChannels","description":"The channels that should not be affected by the auto moderation rule","optional":true,"type":[[["Collection","<"],["Snowflake",", ("],["GuildChannel","|"],["ThreadChannel",")>"]],[["Array","<"],["GuildChannelResolvable",">"]]]},{"name":"reason","description":"The reason for creating the auto moderation rule","optional":true,"type":[[["string"]]]}],"meta":{"line":81,"file":"AutoModerationRuleManager.js","path":"src/managers"}},{"name":"AutoModerationRuleEditOptions","description":"Options used to edit an auto moderation rule.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the auto moderation rule","optional":true,"type":[[["string"]]]},{"name":"eventType","description":"The event type of the auto moderation rule","optional":true,"type":[[["AutoModerationRuleEventType"]]]},{"name":"triggerMetadata","description":"The trigger metadata of the auto moderation rule","optional":true,"type":[[["AutoModerationTriggerMetadataOptions"]]]},{"name":"actions","description":"The actions that will execute when the auto moderation rule is triggered","optional":true,"type":[[["Array","<"],["AutoModerationActionOptions",">"]]]},{"name":"enabled","description":"Whether the auto moderation rule should be enabled","optional":true,"type":[[["boolean"]]]},{"name":"exemptRoles","description":"The roles that should not be affected by the auto moderation rule","optional":true,"type":[[["Collection","<"],["Snowflake",", "],["Role",">"]],[["Array","<"],["RoleResolvable",">"]]]},{"name":"exemptChannels","description":"The channels that should not be affected by the auto moderation rule","optional":true,"type":[[["Collection","<"],["Snowflake",", ("],["GuildChannel","|"],["ThreadChannel",")>"]],[["Array","<"],["GuildChannelResolvable",">"]]]},{"name":"reason","description":"The reason for creating the auto moderation rule","optional":true,"type":[[["string"]]]}],"meta":{"line":152,"file":"AutoModerationRuleManager.js","path":"src/managers"}},{"name":"AutoModerationRuleResolvable","description":"Data that can be resolved to give an AutoModerationRule object. This can be:\n* An AutoModerationRule\n* A Snowflake","type":[[["AutoModerationRule"]],[["Snowflake"]]],"meta":{"line":215,"file":"AutoModerationRuleManager.js","path":"src/managers"}},{"name":"FetchAutoModerationRuleOptions","description":"Options used to fetch a single auto moderation rule from a guild.","type":[[["BaseFetchOptions"]]],"props":[{"name":"autoModerationRule","description":"The auto moderation rule to fetch","type":[[["AutoModerationRuleResolvable"]]]}],"meta":{"line":222,"file":"AutoModerationRuleManager.js","path":"src/managers"}},{"name":"FetchAutoModerationRulesOptions","description":"Options used to fetch all auto moderation rules from a guild.","type":[[["Object"]]],"props":[{"name":"cache","description":"Whether to cache the fetched auto moderation rules","optional":true,"type":[[["boolean"]]]}],"meta":{"line":228,"file":"AutoModerationRuleManager.js","path":"src/managers"}},{"name":"EmojiResolvable","description":"Data that can be resolved into a GuildEmoji object. This can be:\n* A Snowflake\n* A GuildEmoji object\n* A ReactionEmoji object","type":[[["Snowflake"]],[["GuildEmoji"]],[["ReactionEmoji"]]],"meta":{"line":23,"file":"BaseGuildEmojiManager.js","path":"src/managers"}},{"name":"EmojiIdentifierResolvable","description":"Data that can be resolved to give an emoji identifier. This can be:\n* An EmojiResolvable\n* The ``, `<:name:id>`, `a:name:id` or `name:id` emoji identifier string of an emoji\n* The Unicode representation of an emoji","type":[[["string"]],[["EmojiResolvable"]]],"meta":{"line":51,"file":"BaseGuildEmojiManager.js","path":"src/managers"}},{"name":"ChannelResolvable","description":"Data that can be resolved to give a Channel object. This can be:\n* A Channel object\n* A Snowflake","type":[[["Channel"]],[["Snowflake"]]],"meta":{"line":66,"file":"ChannelManager.js","path":"src/managers"}},{"name":"FetchChannelOptions","description":"Options for fetching a channel from Discord","type":[[["BaseFetchOptions"]]],"props":[{"name":"allowUnknownGuild","description":"Allows the channel to be returned even if the guild is not in cache,\nit will not be cached. Many of the properties and methods on the returned channel will throw errors","optional":true,"default":false,"type":[[["boolean"]]]}],"meta":{"line":91,"file":"ChannelManager.js","path":"src/managers"}},{"name":"CustomStatusOption","description":"CustomStatus Object","type":[[["Object"]]],"props":[{"name":"text","description":"Text to set","type":[[["string"]],[["null"]]]},{"name":"status","description":"The status to set: 'online', 'idle', 'dnd', 'invisible' or null.","type":[[["string"]],[["null"]]]},{"name":"emoji","description":"UnicodeEmoji, DiscordEmoji, or null.","type":[[["EmojiResolvable"]],[["null"]]]},{"name":"expires","description":"The number of seconds until the status expires, or null.","type":[[["number"]],[["null"]]]}],"meta":{"line":264,"file":"ClientUserSettingManager.js","path":"src/managers"}},{"name":"GuildBanResolvable","description":"Data that resolves to give a GuildBan object. This can be:\n* A GuildBan object\n* A User resolvable","type":[[["GuildBan"]],[["UserResolvable"]]],"meta":{"line":37,"file":"GuildBanManager.js","path":"src/managers"}},{"name":"FetchBanOptions","description":"Options used to fetch a single ban from a guild.","type":[[["BaseFetchOptions"]]],"props":[{"name":"user","description":"The ban to fetch","type":[[["UserResolvable"]]]}],"meta":{"line":53,"file":"GuildBanManager.js","path":"src/managers"}},{"name":"FetchBansOptions","description":"Options used to fetch multiple bans from a guild.","type":[[["Object"]]],"props":[{"name":"limit","description":"The maximum number of bans to return","optional":true,"type":[[["number"]]]},{"name":"before","description":"Consider only bans before this id","optional":true,"type":[[["Snowflake"]]]},{"name":"after","description":"Consider only bans after this id","optional":true,"type":[[["Snowflake"]]]},{"name":"cache","description":"Whether to cache the fetched bans","optional":true,"type":[[["boolean"]]]}],"meta":{"line":59,"file":"GuildBanManager.js","path":"src/managers"}},{"name":"BanOptions","description":"Options used to ban a user from a guild.","type":[[["Object"]]],"props":[{"name":"days","description":"Number of days of messages to delete, must be between 0 and 7, inclusive\nThis property is deprecated. Use `deleteMessageSeconds` instead.","optional":true,"default":0,"type":[[["number"]]]},{"name":"deleteMessageSeconds","description":"Number of seconds of messages to delete,\nmust be between 0 and 604800 (7 days), inclusive","optional":true,"type":[[["number"]]]},{"name":"reason","description":"The reason for the ban","optional":true,"type":[[["string"]]]}],"meta":{"line":128,"file":"GuildBanManager.js","path":"src/managers"}},{"name":"GuildChannelResolvable","description":"Data that can be resolved to give a Guild Channel object. This can be:\n* A GuildChannel object\n* A ThreadChannel object\n* A Snowflake","type":[[["GuildChannel"]],[["ThreadChannel"]],[["Snowflake"]]],"meta":{"line":78,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"GuildChannelCreateOptions","description":"Options used to create a new channel in a guild.","type":[[["CategoryCreateChannelOptions"]]],"props":[{"name":"parent","description":"Parent of the new channel","optional":true,"type":[[["CategoryChannelResolvable"]]]}],"meta":{"line":106,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"ChannelData","description":"The data for a guild channel.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the channel","optional":true,"type":[[["string"]]]},{"name":"type","description":"The type of the channel (only conversion between text and news is supported)","optional":true,"type":[[["ChannelType"]]]},{"name":"position","description":"The position of the channel","optional":true,"type":[[["number"]]]},{"name":"topic","description":"The topic of the text channel","optional":true,"type":[[["string"]]]},{"name":"nsfw","description":"Whether the channel is NSFW","optional":true,"type":[[["boolean"]]]},{"name":"bitrate","description":"The bitrate of the voice channel","optional":true,"type":[[["number"]]]},{"name":"userLimit","description":"The user limit of the voice channel","optional":true,"type":[[["number"]]]},{"name":"parent","description":"The parent of the channel","optional":true,"nullable":true,"type":[[["CategoryChannelResolvable"]]]},{"name":"lockPermissions","description":"Lock the permissions of the channel to what the parent's permissions are","optional":true,"type":[[["boolean"]]]},{"name":"permissionOverwrites","description":"Permission overwrites for the channel","optional":true,"type":[[["Array","<"],["OverwriteResolvable",">"]],[["Collection","<"],["Snowflake",", "],["OverwriteResolvable",">"]]]},{"name":"rateLimitPerUser","description":"The rate limit per user (slowmode) for the channel in seconds","optional":true,"type":[[["number"]]]},{"name":"defaultAutoArchiveDuration","description":"The default auto archive duration for all new threads in this channel","optional":true,"type":[[["ThreadAutoArchiveDuration"]]]},{"name":"rtcRegion","description":"The RTC region of the channel","optional":true,"nullable":true,"type":[[["string"]]]},{"name":"videoQualityMode","description":"The camera video quality mode of the channel","optional":true,"type":[[["VideoQualityMode"]],[["number"]]]},{"name":"flags","description":"The flags to set on the channel","optional":true,"type":[[["ChannelFlagsResolvable"]]]},{"name":"availableTags","description":"The tags to set as available in a forum channel","optional":true,"type":[[["Array","<"],["GuildForumTagData",">"]]]},{"name":"defaultReactionEmoji","description":"The emoji to set as the default reaction emoji","optional":true,"nullable":true,"type":[[["DefaultReactionEmoji"]]]},{"name":"defaultThreadRateLimitPerUser","description":"The rate limit per user (slowmode) to set on forum posts","optional":true,"type":[[["number"]]]},{"name":"defaultSortOrder","description":"The default sort order mode to set on the channel","optional":true,"nullable":true,"type":[[["SortOrderType"]]]}],"meta":{"line":250,"file":"GuildChannelManager.js","path":"src/managers"}},{"name":"CategoryChannelResolvable","description":"Data that can be resolved to give a Category Channel object. This can be:\n* A CategoryChannel object\n* A Snowflake","type":[[["CategoryChannel"]],[["Snowflake"]]],"meta":{"line":1286,"file":"Guild.js","path":"src/structures"}},{"name":"ChannelPosition","description":"The data needed for updating a channel's position.","type":[[["Object"]]],"props":[{"name":"channel","description":"Channel to update","type":[[["GuildChannel"]],[["Snowflake"]]]},{"name":"position","description":"New position for the channel","optional":true,"type":[[["number"]]]},{"name":"parent","description":"Parent channel for this channel","optional":true,"type":[[["CategoryChannelResolvable"]]]},{"name":"lockPermissions","description":"If the overwrites should be locked to the parents overwrites","optional":true,"type":[[["boolean"]]]}],"meta":{"line":1293,"file":"Guild.js","path":"src/structures"}},{"name":"GuildEmojiCreateOptions","description":"Options used for creating an emoji in a guild.","type":[[["Object"]]],"props":[{"name":"roles","description":"The roles to limit the emoji to","optional":true,"type":[[["Collection","<"],["Snowflake",", "],["Role",">"]],[["Array","<"],["RoleResolvable",">"]]]},{"name":"reason","description":"The reason for creating the emoji","optional":true,"type":[[["string"]]]}],"meta":{"line":28,"file":"GuildEmojiManager.js","path":"src/managers"}},{"name":"GuildForumThreadMessageCreateOptions","type":[[["BaseMessageOptions"]]],"props":[{"name":"stickers","description":"The stickers to send with the message","optional":true,"type":[[["StickerResolvable"]]]},{"name":"flags","description":"The flags to send with the message.\nOnly `SUPPRESS_EMBEDS` and `SUPPRESS_NOTIFICATIONS` can be set.","optional":true,"type":[[["BitFieldResolvable"]]]}],"meta":{"line":19,"file":"GuildForumThreadManager.js","path":"src/managers"}},{"name":"GuildForumThreadCreateOptions","description":"Options for creating a thread.","type":[[["StartThreadOptions"]]],"props":[{"name":"message","description":"The message associated with the thread post","type":[[["GuildForumThreadMessageCreateOptions"]],[["MessagePayload"]]]},{"name":"appliedTags","description":"The tags to apply to the thread","optional":true,"type":[[["Array","<"],["Snowflake",">"]]]}],"meta":{"line":26,"file":"GuildForumThreadManager.js","path":"src/managers"}},{"name":"InviteResolvable","description":"Data that can be resolved to give an invite code. This can be:\n* An invite code\n* An invite URL","type":[[["string"]]],"meta":{"line":16,"file":"DataResolver.js","path":"src/util"}},{"name":"GuildInvitableChannelResolvable","description":"Data that can be resolved to a channel that an invite can be created on. This can be:\n* TextChannel\n* VoiceChannel\n* NewsChannel\n* StoreChannel\n* StageChannel\n* Snowflake","type":[[["TextChannel"]],[["VoiceChannel"]],[["NewsChannel"]],[["StoreChannel"]],[["StageChannel"]],[["Snowflake"]]],"meta":{"line":41,"file":"GuildInviteManager.js","path":"src/managers"}},{"name":"FetchInviteOptions","description":"Options used to fetch a single invite from a guild.","type":[[["Object"]]],"props":[{"name":"code","description":"The invite to fetch","type":[[["InviteResolvable"]]]},{"name":"cache","description":"Whether or not to cache the fetched invite","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":false,"type":[[["boolean"]]]}],"meta":{"line":71,"file":"GuildInviteManager.js","path":"src/managers"}},{"name":"FetchInvitesOptions","description":"Options used to fetch all invites from a guild.","type":[[["Object"]]],"props":[{"name":"channelId","description":"The channel to fetch all invites from","optional":true,"type":[[["GuildInvitableChannelResolvable"]]]},{"name":"cache","description":"Whether or not to cache the fetched invites","optional":true,"default":true,"type":[[["boolean"]]]}],"meta":{"line":79,"file":"GuildInviteManager.js","path":"src/managers"}},{"name":"GuildResolvable","description":"Data that resolves to give a Guild object. This can be:\n* A Guild object\n* A GuildChannel object\n* A GuildEmoji object\n* A Role object\n* A Snowflake\n* An Invite object","type":[[["Guild"]],[["GuildChannel"]],[["GuildMember"]],[["GuildEmoji"]],[["Role"]],[["Snowflake"]],[["Invite"]]],"meta":{"line":52,"file":"GuildManager.js","path":"src/managers"}},{"name":"PartialRoleData","description":"Partial data for a Role.","type":[[["Object"]]],"props":[{"name":"id","description":"The role's id, used to set channel overrides,\nthis is a placeholder and will be replaced by the API after consumption","optional":true,"type":[[["Snowflake"]],[["number"]]]},{"name":"name","description":"The name of the role","optional":true,"type":[[["string"]]]},{"name":"color","description":"The color of the role, either a hex string or a base 10 number","optional":true,"type":[[["ColorResolvable"]]]},{"name":"hoist","description":"Whether or not the role should be hoisted","optional":true,"type":[[["boolean"]]]},{"name":"position","description":"The position of the role","optional":true,"type":[[["number"]]]},{"name":"permissions","description":"The permissions of the role","optional":true,"type":[[["PermissionResolvable"]]]},{"name":"mentionable","description":"Whether or not the role should be mentionable","optional":true,"type":[[["boolean"]]]}],"meta":{"line":63,"file":"GuildManager.js","path":"src/managers"}},{"name":"PartialOverwriteData","description":"Partial overwrite data.","type":[[["Object"]]],"props":[{"name":"id","description":"The id of the {@link Role} or {@link User} this overwrite belongs to","type":[[["Snowflake"]],[["number"]]]},{"name":"type","description":"The type of this overwrite","optional":true,"type":[[["OverwriteType"]]]},{"name":"allow","description":"The permissions to allow","optional":true,"type":[[["PermissionResolvable"]]]},{"name":"deny","description":"The permissions to deny","optional":true,"type":[[["PermissionResolvable"]]]}],"meta":{"line":76,"file":"GuildManager.js","path":"src/managers"}},{"name":"PartialChannelData","description":"Partial data for a Channel.","type":[[["Object"]]],"props":[{"name":"id","description":"The channel's id, used to set its parent,\nthis is a placeholder and will be replaced by the API after consumption","optional":true,"type":[[["Snowflake"]],[["number"]]]},{"name":"parentId","description":"The parent id for this channel","optional":true,"type":[[["Snowflake"]],[["number"]]]},{"name":"type","description":"The type of the channel","optional":true,"type":[[["ChannelType"]],[["number"]]]},{"name":"name","description":"The name of the channel","type":[[["string"]]]},{"name":"topic","description":"The topic of the text channel","optional":true,"type":[[["string"]]]},{"name":"nsfw","description":"Whether the channel is NSFW","optional":true,"type":[[["boolean"]]]},{"name":"bitrate","description":"The bitrate of the voice channel","optional":true,"type":[[["number"]]]},{"name":"userLimit","description":"The user limit of the channel","optional":true,"type":[[["number"]]]},{"name":"rtcRegion","description":"The RTC region of the channel","optional":true,"nullable":true,"type":[[["string"]]]},{"name":"videoQualityMode","description":"The camera video quality mode of the channel","optional":true,"type":[[["VideoQualityMode"]],[["number"]]]},{"name":"permissionOverwrites","description":"Overwrites of the channel","optional":true,"type":[[["Array","<"],["PartialOverwriteData",">"]]]},{"name":"rateLimitPerUser","description":"The rate limit per user (slowmode) of the channel in seconds","optional":true,"type":[[["number"]]]}],"meta":{"line":85,"file":"GuildManager.js","path":"src/managers"}},{"name":"GuildCreateOptions","description":"Options used to create a guild.","type":[[["Object"]]],"props":[{"name":"afkChannelId","description":"The AFK channel's id","optional":true,"type":[[["Snowflake"]],[["number"]]]},{"name":"afkTimeout","description":"The AFK timeout in seconds","optional":true,"type":[[["number"]]]},{"name":"channels","description":"The channels for this guild","optional":true,"default":"[]","type":[[["Array","<"],["PartialChannelData",">"]]]},{"name":"defaultMessageNotifications","description":"The default message notifications\nfor the guild","optional":true,"type":[[["DefaultMessageNotificationLevel"]],[["number"]]]},{"name":"explicitContentFilter","description":"The explicit content filter level for the guild","optional":true,"type":[[["ExplicitContentFilterLevel"]]]},{"name":"icon","description":"The icon for the guild","optional":true,"default":null,"nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]},{"name":"roles","description":"The roles for this guild,\nthe first element of this array is used to change properties of the guild's everyone role.","optional":true,"default":"[]","type":[[["Array","<"],["PartialRoleData",">"]]]},{"name":"systemChannelId","description":"The system channel's id","optional":true,"type":[[["Snowflake"]],[["number"]]]},{"name":"systemChannelFlags","description":"The flags of the system channel","optional":true,"type":[[["SystemChannelFlagsResolvable"]]]},{"name":"verificationLevel","description":"The verification level for the guild","optional":true,"type":[[["VerificationLevel"]]]}],"meta":{"line":146,"file":"GuildManager.js","path":"src/managers"}},{"name":"FetchGuildOptions","description":"Options used to fetch a single guild.","type":[[["BaseFetchOptions"]]],"props":[{"name":"guild","description":"The guild to fetch","type":[[["GuildResolvable"]]]},{"name":"withCounts","description":"Whether the approximate member and presence counts should be returned","optional":true,"default":true,"type":[[["boolean"]]]}],"meta":{"line":266,"file":"GuildManager.js","path":"src/managers"}},{"name":"FetchGuildsOptions","description":"Options used to fetch multiple guilds.","type":[[["Object"]]],"props":[{"name":"before","description":"Get guilds before this guild id","optional":true,"type":[[["Snowflake"]]]},{"name":"after","description":"Get guilds after this guild id","optional":true,"type":[[["Snowflake"]]]},{"name":"limit","description":"Maximum number of guilds to request (1-200)","optional":true,"default":200,"type":[[["number"]]]}],"meta":{"line":273,"file":"GuildManager.js","path":"src/managers"}},{"name":"GuildMemberResolvable","description":"Data that resolves to give a GuildMember object. This can be:\n* A GuildMember object\n* A User resolvable","type":[[["GuildMember"]],[["UserResolvable"]]],"meta":{"line":43,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"AddGuildMemberOptions","description":"Options used to add a user to a guild using OAuth2.","type":[[["Object"]]],"props":[{"name":"accessToken","description":"An OAuth2 access token for the user with the `guilds.join` scope granted to the\nbot's application","type":[[["string"]]]},{"name":"nick","description":"The nickname to give to the member (requires `MANAGE_NICKNAMES`)","optional":true,"type":[[["string"]]]},{"name":"roles","description":"The roles to add to the member\n(requires `MANAGE_ROLES`)","optional":true,"type":[[["Collection","<"],["Snowflake",", "],["Role",">"]],[["Array","<"],["RoleResolvable",">"]]]},{"name":"mute","description":"Whether the member should be muted (requires `MUTE_MEMBERS`)","optional":true,"type":[[["boolean"]]]},{"name":"deaf","description":"Whether the member should be deafened (requires `DEAFEN_MEMBERS`)","optional":true,"type":[[["boolean"]]]},{"name":"force","description":"Whether to skip the cache check and call the API directly","optional":true,"type":[[["boolean"]]]},{"name":"fetchWhenExisting","description":"Whether to fetch the user if not cached and already a member","optional":true,"default":true,"type":[[["boolean"]]]}],"meta":{"line":75,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"FetchMemberOptions","description":"Options used to fetch a single member from a guild.","type":[[["BaseFetchOptions"]]],"props":[{"name":"user","description":"The user to fetch","type":[[["UserResolvable"]]]}],"meta":{"line":139,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"FetchMembersOptions","description":"Options used to fetch multiple members from a guild.","type":[[["Object"]]],"props":[{"name":"user","description":"The user(s) to fetch","type":[[["UserResolvable"]],[["Array","<"],["UserResolvable",">"]]]},{"name":"query","description":"Limit fetch to members with similar usernames","nullable":true,"type":[[["string"]]]},{"name":"limit","description":"Maximum number of members to request","optional":true,"default":0,"type":[[["number"]]]},{"name":"withPresences","description":"Whether or not to include the presences","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"time","description":"Timeout for receipt of members","optional":true,"default":"120e3","type":[[["number"]]]},{"name":"nonce","description":"Nonce for this request (32 characters max - default to base 16 now timestamp)","nullable":true,"type":[[["string"]]]},{"name":"force","description":"Whether to skip the cache check and request the API","optional":true,"default":false,"type":[[["boolean"]]]}],"meta":{"line":145,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"GuildSearchMembersOptions","description":"Options used for searching guild members.","type":[[["Object"]]],"props":[{"name":"query","description":"Filter members whose username or nickname start with this query","type":[[["string"]]]},{"name":"limit","description":"Maximum number of members to search","optional":true,"default":1,"type":[[["number"]]]},{"name":"cache","description":"Whether or not to cache the fetched member(s)","optional":true,"default":true,"type":[[["boolean"]]]}],"meta":{"line":229,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"GuildListMembersOptions","description":"Options used for listing guild members.","type":[[["Object"]]],"props":[{"name":"after","description":"Limit fetching members to those with an id greater than the supplied id","optional":true,"type":[[["Snowflake"]]]},{"name":"limit","description":"Maximum number of members to list","optional":true,"default":1,"type":[[["number"]]]},{"name":"cache","description":"Whether or not to cache the fetched member(s)","optional":true,"default":true,"type":[[["boolean"]]]}],"meta":{"line":247,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"GuildMemberEditData","description":"The data for editing a guild member.","type":[[["Object"]]],"props":[{"name":"nick","description":"The nickname to set for the member","optional":true,"nullable":true,"type":[[["string"]]]},{"name":"roles","description":"The roles or role ids to apply","optional":true,"type":[[["Collection","<"],["Snowflake",", "],["Role",">"]],[["Array","<"],["RoleResolvable",">"]]]},{"name":"mute","description":"Whether or not the member should be muted","optional":true,"type":[[["boolean"]]]},{"name":"deaf","description":"Whether or not the member should be deafened","optional":true,"type":[[["boolean"]]]},{"name":"channel","description":"Channel to move the member to\n(if they are connected to voice), or `null` if you want to disconnect them from voice","optional":true,"type":[[["GuildVoiceChannelResolvable"]],[["null"]]]},{"name":"communicationDisabledUntil","description":"The date or timestamp\nfor the member's communication to be disabled until. Provide `null` to enable communication again.","optional":true,"type":[[["DateResolvable"]],[["null"]]]},{"name":"flags","description":"The flags to set for the member","optional":true,"type":[[["GuildMemberFlagsResolvable"]]]},{"name":"avatar","description":"The new guild avatar","optional":true,"nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]},{"name":"banner","description":"The new guild banner","optional":true,"nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]},{"name":"bio","description":"The new guild about me","optional":true,"nullable":true,"type":[[["string"]]]}],"meta":{"line":265,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"GuildPruneMembersOptions","description":"Options used for pruning guild members.\nIt's recommended to set {@link GuildPruneMembersOptions#count options.count}\nto `false` for large guilds.","type":[[["Object"]]],"props":[{"name":"days","description":"Number of days of inactivity required to kick","optional":true,"default":7,"type":[[["number"]]]},{"name":"dry","description":"Get the number of users that will be kicked, without actually kicking them","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"count","description":"Whether or not to return the number of users that have been kicked.","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"roles","description":"Array of roles to bypass the \"...and no roles\" constraint when pruning","optional":true,"type":[[["Array","<"],["RoleResolvable",">"]]]},{"name":"reason","description":"Reason for this prune","optional":true,"type":[[["string"]]]}],"meta":{"line":340,"file":"GuildMemberManager.js","path":"src/managers"}},{"name":"GuildScheduledEventResolvable","description":"Data that resolves to give a GuildScheduledEvent object. This can be:\n* A Snowflake\n* A GuildScheduledEvent object","type":[[["Snowflake"]],[["GuildScheduledEvent"]]],"meta":{"line":31,"file":"GuildScheduledEventManager.js","path":"src/managers"}},{"name":"GuildScheduledEventCreateOptions","description":"Options used to create a guild scheduled event.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the guild scheduled event","type":[[["string"]]]},{"name":"scheduledStartTime","description":"The time to schedule the event at","type":[[["DateResolvable"]]]},{"name":"scheduledEndTime","description":"The time to end the event at\nThis is required if `entityType` is 'EXTERNAL'","optional":true,"type":[[["DateResolvable"]]]},{"name":"privacyLevel","description":"The privacy level of the guild scheduled event","type":[[["PrivacyLevel"]],[["number"]]]},{"name":"entityType","description":"The scheduled entity type of the event","type":[[["GuildScheduledEventEntityType"]],[["number"]]]},{"name":"description","description":"The description of the guild scheduled event","optional":true,"type":[[["string"]]]},{"name":"channel","description":"The channel of the guild scheduled event\nThis is required if `entityType` is 'STAGE_INSTANCE' or `VOICE`","optional":true,"type":[[["GuildVoiceChannelResolvable"]]]},{"name":"entityMetadata","description":"The entity metadata of the\nguild scheduled event\nThis is required if `entityType` is 'EXTERNAL'","optional":true,"type":[[["GuildScheduledEventEntityMetadataOptions"]]]},{"name":"image","description":"The cover image of the guild scheduled event","optional":true,"nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]},{"name":"reason","description":"The reason for creating the guild scheduled event","optional":true,"type":[[["string"]]]}],"meta":{"line":38,"file":"GuildScheduledEventManager.js","path":"src/managers"}},{"name":"GuildScheduledEventEntityMetadataOptions","description":"Options used to set entity metadata of a guild scheduled event.","type":[[["Object"]]],"props":[{"name":"location","description":"The location of the guild scheduled event\nThis is required if `entityType` is 'EXTERNAL'","optional":true,"type":[[["string"]]]}],"meta":{"line":57,"file":"GuildScheduledEventManager.js","path":"src/managers"}},{"name":"FetchGuildScheduledEventOptions","description":"Options used to fetch a single guild scheduled event from a guild.","type":[[["BaseFetchOptions"]]],"props":[{"name":"guildScheduledEvent","description":"The guild scheduled event to fetch","type":[[["GuildScheduledEventResolvable"]]]},{"name":"withUserCount","description":"Whether to fetch the number of users subscribed to the scheduled event","optional":true,"default":true,"type":[[["boolean"]]]}],"meta":{"line":115,"file":"GuildScheduledEventManager.js","path":"src/managers"}},{"name":"FetchGuildScheduledEventsOptions","description":"Options used to fetch multiple guild scheduled events from a guild.","type":[[["Object"]]],"props":[{"name":"cache","description":"Whether or not to cache the fetched guild scheduled events","optional":true,"type":[[["boolean"]]]},{"name":"withUserCount","description":"Whether to fetch the number of users subscribed to each scheduled event\nshould be returned","optional":true,"default":true,"type":[[["boolean"]]]}],"meta":{"line":122,"file":"GuildScheduledEventManager.js","path":"src/managers"}},{"name":"GuildScheduledEventEditOptions","description":"Options used to edit a guild scheduled event.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the guild scheduled event","optional":true,"type":[[["string"]]]},{"name":"scheduledStartTime","description":"The time to schedule the event at","optional":true,"type":[[["DateResolvable"]]]},{"name":"scheduledEndTime","description":"The time to end the event at","optional":true,"type":[[["DateResolvable"]]]},{"name":"privacyLevel","description":"The privacy level of the guild scheduled event","optional":true,"type":[[["PrivacyLevel"]],[["number"]]]},{"name":"entityType","description":"The scheduled entity type of the event","optional":true,"type":[[["GuildScheduledEventEntityType"]],[["number"]]]},{"name":"description","description":"The description of the guild scheduled event","optional":true,"type":[[["string"]]]},{"name":"channel","description":"The channel of the guild scheduled event","optional":true,"nullable":true,"type":[[["GuildVoiceChannelResolvable"]]]},{"name":"status","description":"The status of the guild scheduled event","optional":true,"type":[[["GuildScheduledEventStatus"]],[["number"]]]},{"name":"entityMetadata","description":"The entity metadata of the\nguild scheduled event\nThis can be modified only if `entityType` of the `GuildScheduledEvent` to be edited is 'EXTERNAL'","optional":true,"type":[[["GuildScheduledEventEntityMetadataOptions"]]]},{"name":"image","description":"The cover image of the guild scheduled event","optional":true,"nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]},{"name":"reason","description":"The reason for editing the guild scheduled event","optional":true,"type":[[["string"]]]}],"meta":{"line":165,"file":"GuildScheduledEventManager.js","path":"src/managers"}},{"name":"FetchGuildScheduledEventSubscribersOptions","description":"Options used to fetch subscribers of a guild scheduled event","type":[[["Object"]]],"props":[{"name":"limit","description":"The maximum numbers of users to fetch","optional":true,"type":[[["number"]]]},{"name":"withMember","description":"Whether to fetch guild member data of the users","optional":true,"type":[[["boolean"]]]},{"name":"before","description":"Consider only users before this user id","optional":true,"type":[[["Snowflake"]]]},{"name":"after","description":"Consider only users after this user id\nIf both `before` and `after` are provided, only `before` is respected","optional":true,"type":[[["Snowflake"]]]}],"meta":{"line":250,"file":"GuildScheduledEventManager.js","path":"src/managers"}},{"name":"GuildScheduledEventUser","description":"Represents a subscriber of a {@link GuildScheduledEvent}","type":[[["Object"]]],"props":[{"name":"guildScheduledEventId","description":"The id of the guild scheduled event which the user subscribed to","type":[[["Snowflake"]]]},{"name":"user","description":"The user that subscribed to the guild scheduled event","type":[[["User"]]]},{"name":"member","description":"The guild member associated with the user, if any","nullable":true,"type":[[["GuildMember"]]]}],"meta":{"line":260,"file":"GuildScheduledEventManager.js","path":"src/managers"}},{"name":"GuildStickerCreateOptions","description":"Options for creating a guild sticker.","type":[[["Object"]]],"props":[{"name":"description","description":"The description for the sticker","optional":true,"nullable":true,"type":[[["string"]]]},{"name":"reason","description":"Reason for creating the sticker","optional":true,"type":[[["string"]]]}],"meta":{"line":34,"file":"GuildStickerManager.js","path":"src/managers"}},{"name":"StickerResolvable","description":"Data that resolves to give a Sticker object. This can be:\n* A Sticker object\n* A Snowflake","type":[[["Sticker"]],[["Snowflake"]]],"meta":{"line":72,"file":"GuildStickerManager.js","path":"src/managers"}},{"name":"GuildTextThreadCreateOptions","description":"Options for creating a thread. Only one of `startMessage` or `type` can be defined.","type":[[["StartThreadOptions"]]],"props":[{"name":"startMessage","description":"The message to start a thread from. If this is defined then type\nof thread gets automatically defined and cannot be changed. The provided `type` field will be ignored","optional":true,"type":[[["MessageResolvable"]]]},{"name":"type","description":"The type of thread to create. Defaults to `GUILD_PUBLIC_THREAD` if\ncreated in a {@link TextChannel} When creating threads in a {@link NewsChannel} this is ignored and is always\n`GUILD_NEWS_THREAD`","optional":true,"type":[[["ThreadChannelTypes"]],[["number"]]]},{"name":"invitable","description":"Whether non-moderators can add other non-moderators to the thread\nCan only be set when type will be `GUILD_PRIVATE_THREAD`","optional":true,"type":[[["boolean"]]]},{"name":"rateLimitPerUser","description":"The rate limit per user (slowmode) for the new channel in seconds","optional":true,"type":[[["number"]]]}],"meta":{"line":19,"file":"GuildTextThreadManager.js","path":"src/managers"}},{"name":"ChannelLogsQueryOptions","description":"The parameters to pass in when requesting previous messages from a channel. `around`, `before` and\n`after` are mutually exclusive. All the parameters are optional.","type":[[["Object"]]],"props":[{"name":"limit","description":"Number of messages to acquire","optional":true,"default":50,"type":[[["number"]]]},{"name":"before","description":"The message's id to get the messages that were posted before it","optional":true,"type":[[["Snowflake"]]]},{"name":"after","description":"The message's id to get the messages that were posted after it","optional":true,"type":[[["Snowflake"]]]},{"name":"around","description":"The message's id to get the messages that were posted around it","optional":true,"type":[[["Snowflake"]]]}],"meta":{"line":35,"file":"MessageManager.js","path":"src/managers"}},{"name":"MessageResolvable","description":"Data that can be resolved to a Message object. This can be:\n* A Message\n* A Snowflake","type":[[["Message"]],[["Snowflake"]]],"meta":{"line":91,"file":"MessageManager.js","path":"src/managers"}},{"name":"MessageSearchOptions","type":[[["object"]]],"props":[{"name":"authors","description":"An array of author to filter by","optional":true,"type":[[["Array","<"],["UserResolvable",">"]]]},{"name":"mentions","description":"An array of user (mentioned) to filter by","optional":true,"type":[[["Array","<"],["UserResolvable",">"]]]},{"name":"content","description":"A messageContent to filter by","optional":true,"type":[[["string"]]]},{"name":"maxId","description":"The maximum Message ID to filter by","optional":true,"type":[[["Snowflake"]]]},{"name":"minId","description":"The minimum Message ID to filter by","optional":true,"type":[[["Snowflake"]]]},{"name":"channels","description":"An array of channel to filter by","optional":true,"type":[[["Array","<"],["TextChannelResolvable",">"]]]},{"name":"pinned","description":"Whether to filter by pinned messages","optional":true,"type":[[["boolean"]]]},{"name":"has","description":"Message has: `link`, `embed`, `file`, `video`, `image`, or `sound`","optional":true,"type":[[["Array","<"],["string",">"]]]},{"name":"nsfw","description":"Whether to filter by NSFW channels","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"offset","description":"The number of messages to skip (for pagination, 25 results per page)","optional":true,"default":0,"type":[[["number"]]]},{"name":"limit","description":"The number of messages to fetch\nThe maximum limit allowed is 25.","optional":true,"default":25,"type":[[["number"]]]},{"name":"sortBy","description":"The order to sort by (`timestamp` or `relevance`)","optional":true,"type":[[["string"]]]},{"name":"sortOrder","description":"The order to return results in (`asc` or `desc`)\nThe default sort is timestamp
in descending order desc
(newest first).","optional":true,"type":[[["string"]]]}],"meta":{"line":265,"file":"MessageManager.js","path":"src/managers"}},{"name":"MessageSearchResult","type":[[["object"]]],"props":[{"name":"messages","description":"A collection of found messages","type":[[["Collection","<"],["Snowflake",", "],["Message",">"]]]},{"name":"total","description":"The total number of messages that match the search criteria","type":[[["number"]]]}],"meta":{"line":284,"file":"MessageManager.js","path":"src/managers"}},{"name":"GuildChannelOverwriteOptions","description":"Extra information about the overwrite","type":[[["Object"]]],"props":[{"name":"reason","description":"Reason for creating/editing this overwrite","optional":true,"type":[[["string"]]]},{"name":"type","description":"The type of overwrite, either `0` for a role or `1` for a member. Use this to bypass\nautomatic resolution of type that results in an error for uncached structure","optional":true,"type":[[["number"]]]}],"meta":{"line":74,"file":"PermissionOverwriteManager.js","path":"src/managers"}},{"name":"PresenceResolvable","description":"Data that can be resolved to a Presence object. This can be:\n* A Presence\n* A UserResolvable\n* A Snowflake","type":[[["Presence"]],[["UserResolvable"]],[["Snowflake"]]],"meta":{"line":25,"file":"PresenceManager.js","path":"src/managers"}},{"name":"MessageReactionResolvable","description":"Data that can be resolved to a MessageReaction object. This can be:\n* A MessageReaction\n* A Snowflake\n* The Unicode representation of an emoji","type":[[["MessageReaction"]],[["Snowflake"]]],"meta":{"line":31,"file":"ReactionManager.js","path":"src/managers"}},{"name":"FetchReactionUsersOptions","description":"Options used to fetch users who gave a reaction.","type":[[["Object"]]],"props":[{"name":"limit","description":"The maximum amount of users to fetch, defaults to `100`","optional":true,"default":100,"type":[[["number"]]]},{"name":"after","description":"Limit fetching users to those with an id greater than the supplied id","optional":true,"type":[[["Snowflake"]]]}],"meta":{"line":29,"file":"ReactionUserManager.js","path":"src/managers"}},{"name":"RelationshipJSONData","type":[[["Object"]]],"props":[{"name":"id","description":"The ID of the target user","type":[[["Snowflake"]]]},{"name":"type","description":"The type of relationship","type":[[["RelationshipType"]]]},{"name":"nickname","description":"The nickname of the user in this relationship (1-32 characters)","type":[[["string"]],[["null"]]]},{"name":"since","description":"When the user requested a relationship (ISO8601 timestamp)","type":[[["string"]]]}],"meta":{"line":81,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"FriendRequestOptions","type":[[["Object"]]],"props":[{"name":"user","description":"Target","optional":true,"type":[[["UserResolvable"]]]},{"name":"username","description":"Discord username","optional":true,"type":[[["string"]]]},{"name":"discriminator","description":"Discord discriminator","optional":true,"type":[[["number"]],[["null"]]]}],"meta":{"line":172,"file":"RelationshipManager.js","path":"src/managers"}},{"name":"RoleResolvable","description":"Data that can be resolved to a Role object. This can be:\n* A Role\n* A Snowflake","type":[[["Role"]],[["Snowflake"]]],"meta":{"line":76,"file":"RoleManager.js","path":"src/managers"}},{"name":"CreateRoleOptions","description":"Options used to create a new role.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the new role","optional":true,"type":[[["string"]]]},{"name":"color","description":"The data to create the role with","optional":true,"type":[[["ColorResolvable"]]]},{"name":"hoist","description":"Whether or not the new role should be hoisted","optional":true,"type":[[["boolean"]]]},{"name":"permissions","description":"The permissions for the new role","optional":true,"type":[[["PermissionResolvable"]]]},{"name":"position","description":"The position of the new role","optional":true,"type":[[["number"]]]},{"name":"mentionable","description":"Whether or not the new role should be mentionable","optional":true,"type":[[["boolean"]]]},{"name":"icon","description":"The icon for the role\nThe `EmojiResolvable` should belong to the same guild as the role.\nIf not, pass the emoji's URL directly","optional":true,"nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]],[["EmojiResolvable"]]]},{"name":"unicodeEmoji","description":"The unicode emoji for the role","optional":true,"nullable":true,"type":[[["string"]]]},{"name":"reason","description":"The reason for creating this role","optional":true,"type":[[["string"]]]}],"meta":{"line":101,"file":"RoleManager.js","path":"src/managers"}},{"name":"GuildRolePosition","description":"The data needed for updating a guild role's position","type":[[["Object"]]],"props":[{"name":"role","description":"The role's id","type":[[["RoleResolvable"]]]},{"name":"position","description":"The position to update","type":[[["number"]]]}],"meta":{"line":1326,"file":"Guild.js","path":"src/structures"}},{"name":"StageInstanceCreateOptions","description":"Options used to create a stage instance.","type":[[["Object"]]],"props":[{"name":"topic","description":"The topic of the stage instance","type":[[["string"]]]},{"name":"privacyLevel","description":"The privacy level of the stage instance","optional":true,"type":[[["PrivacyLevel"]],[["number"]]]},{"name":"sendStartNotification","description":"Whether to notify `@everyone` that the stage instance has started","optional":true,"type":[[["boolean"]]]},{"name":"guildScheduledEvent","description":"The guild scheduled event associated with the stage instance","optional":true,"type":[[["GuildScheduledEventResolvable"]]]}],"meta":{"line":29,"file":"StageInstanceManager.js","path":"src/managers"}},{"name":"StageChannelResolvable","description":"Data that can be resolved to a Stage Channel object. This can be:\n* A StageChannel\n* A Snowflake","type":[[["StageChannel"]],[["Snowflake"]]],"meta":{"line":39,"file":"StageInstanceManager.js","path":"src/managers"}},{"name":"StageInstanceEditOptions","description":"Options used to edit an existing stage instance.","type":[[["Object"]]],"props":[{"name":"topic","description":"The new topic of the stage instance","optional":true,"type":[[["string"]]]},{"name":"privacyLevel","description":"The new privacy level of the stage instance","optional":true,"type":[[["PrivacyLevel"]],[["number"]]]}],"meta":{"line":106,"file":"StageInstanceManager.js","path":"src/managers"}},{"name":"ThreadChannelResolvable","description":"Data that can be resolved to a Thread Channel object. This can be:\n* A ThreadChannel object\n* A Snowflake","type":[[["ThreadChannel"]],[["Snowflake"]]],"meta":{"line":35,"file":"ThreadManager.js","path":"src/managers"}},{"name":"FetchThreadsOptions","description":"Options for fetching multiple threads.","type":[[["Object"]]],"props":[{"name":"archived","description":"The options used to fetch archived threads","optional":true,"type":[[["FetchArchivedThreadOptions"]]]}],"meta":{"line":60,"file":"ThreadManager.js","path":"src/managers"}},{"name":"DateResolvable","description":"Data that can be resolved to a Date object. This can be:\n* A Date object\n* A number representing a timestamp\n* An [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) string","type":[[["Date"]],[["number"]],[["string"]]],"meta":{"line":89,"file":"ThreadManager.js","path":"src/managers"}},{"name":"FetchArchivedThreadOptions","description":"The options used to fetch archived threads.","type":[[["Object"]]],"props":[{"name":"type","description":"The type of threads to fetch, either `public` or `private`","optional":true,"default":"'public'","type":[[["string"]]]},{"name":"fetchAll","description":"Whether to fetch **all** archived threads when type is `private`.\nRequires `MANAGE_THREADS` if true","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"before","description":"Only return threads that were archived before this Date\nor Snowflake. Must be a {@link ThreadChannelResolvable} when type is `private` and fetchAll is `false`","optional":true,"type":[[["DateResolvable"]],[["ThreadChannelResolvable"]]]},{"name":"limit","description":"Maximum number of threads to return","optional":true,"type":[[["number"]]]}],"meta":{"line":97,"file":"ThreadManager.js","path":"src/managers"}},{"name":"FetchedThreads","description":"The data returned from a thread fetch that returns multiple threads.","type":[[["Object"]]],"props":[{"name":"threads","description":"The threads that were fetched, with any members returned","type":[[["Collection","<"],["Snowflake",", "],["ThreadChannel",">"]]]},{"name":"hasMore","description":"Whether there are potentially additional threads that require a subsequent call","nullable":true,"type":[[["boolean"]]]}],"meta":{"line":108,"file":"ThreadManager.js","path":"src/managers"}},{"name":"FetchChannelThreadsOptions","description":"Discord.js self-bot specific options field for fetching active threads.","type":[[["Object"]]],"props":[{"name":"archived","description":"Whether to fetch archived threads (default is false)","optional":true,"type":[[["boolean"]]]},{"name":"sortBy","description":"The order in which the threads should be fetched in (default is last_message_time)","optional":true,"type":[[["string"]]]},{"name":"sortOrder","description":"How the threads should be ordered (default is desc)","optional":true,"type":[[["string"]]]},{"name":"limit","description":"The maximum number of threads to return (default is 25)","optional":true,"type":[[["number"]]]},{"name":"offset","description":"The number of threads to offset fetching (useful when making multiple fetches) (default is 0)","optional":true,"type":[[["number"]]]}],"meta":{"line":125,"file":"ThreadManager.js","path":"src/managers"}},{"name":"ThreadMemberResolvable","description":"Data that resolves to give a ThreadMember object. This can be:\n* A ThreadMember object\n* A User resolvable","type":[[["ThreadMember"]],[["UserResolvable"]]],"meta":{"line":60,"file":"ThreadMemberManager.js","path":"src/managers"}},{"name":"FetchThreadMemberOptions","description":"Options used to fetch a thread member.","type":[[["BaseFetchOptions"]]],"props":[{"name":"withMember","description":"Whether to also return the guild member associated with this thread member","optional":true,"type":[[["boolean"]]]}],"meta":{"line":135,"file":"ThreadMemberManager.js","path":"src/managers"}},{"name":"FetchThreadMembersWithGuildMemberDataOptions","description":"Options used to fetch multiple thread members with guild member data.\nWith `withMember` set to `true`, pagination is enabled.","type":[[["Object"]]],"props":[{"name":"withMember","description":"Whether to also return the guild member data","type":[[["true"]]]},{"name":"after","description":"Consider only thread members after this id","optional":true,"type":[[["Snowflake"]]]},{"name":"limit","description":"The maximum number of thread members to return","optional":true,"type":[[["number"]]]},{"name":"cache","description":"Whether to cache the fetched thread members and guild members","optional":true,"type":[[["boolean"]]]}],"meta":{"line":141,"file":"ThreadMemberManager.js","path":"src/managers"}},{"name":"FetchThreadMembersWithoutGuildMemberDataOptions","description":"Options used to fetch multiple thread members without guild member data.","type":[[["Object"]]],"props":[{"name":"withMember","description":"Whether to also return the guild member data","optional":true,"type":[[["false"]]]},{"name":"cache","description":"Whether to cache the fetched thread members","optional":true,"type":[[["boolean"]]]}],"meta":{"line":151,"file":"ThreadMemberManager.js","path":"src/managers"}},{"name":"FetchThreadMembersOptions","description":"Options used to fetch multiple thread members.","type":[[["FetchThreadMembersWithGuildMemberDataOptions"]],[["FetchThreadMembersWithoutGuildMemberDataOptions"]]],"meta":{"line":158,"file":"ThreadMemberManager.js","path":"src/managers"}},{"name":"UserResolvable","description":"Data that resolves to give a User object. This can be:\n* A User object\n* A Snowflake\n* A Message object (resolves to the message author)\n* A GuildMember object\n* A ThreadMember object","type":[[["User"]],[["Snowflake"]],[["Message"]],[["GuildMember"]],[["ThreadMember"]]],"meta":{"line":25,"file":"UserManager.js","path":"src/managers"}},{"name":"Captcha","type":[[["Object"]]],"props":[{"name":"captcha_key","description":"['message']","type":[[["Array","<"],["string",">"]]]},{"name":"captcha_sitekey","description":"Captcha sitekey (hcaptcha)","type":[[["string"]]]},{"name":"captcha_service","description":"hcaptcha","type":[[["string"]]]},{"name":"captcha_rqdata","optional":true,"type":[[["string"]]]},{"name":"captcha_rqtoken","optional":true,"type":[[["string"]]]}],"meta":{"line":54,"file":"DiscordAPIError.js","path":"src/rest"}},{"name":"HTTPErrorData","description":"The HTTP data that was sent to Discord","type":[[["Object"]]],"props":[{"name":"json","description":"The JSON data that was sent","type":[["*"]]},{"name":"files","description":"The files that were sent with this request, if any","type":[[["Array","<"],["HTTPAttachmentData",">"]]]}],"meta":{"line":35,"file":"HTTPError.js","path":"src/rest"}},{"name":"HTTPAttachmentData","description":"The attachment data that is sent to Discord","type":[[["Object"]]],"props":[{"name":"attachment","description":"The source of this attachment data","type":[[["string"]],[["Buffer"]],[["Stream"]]]},{"name":"name","description":"The file name","type":[[["string"]]]},{"name":"file","description":"The file buffer","type":[[["Buffer"]],[["Stream"]]]}],"meta":{"line":42,"file":"HTTPError.js","path":"src/rest"}},{"name":"APIRequest","description":"Represents a request that will or has been made to the Discord API","type":[[["Object"]]],"props":[{"name":"method","description":"The HTTP method used in this request","type":[[["HTTPMethod"]]]},{"name":"path","description":"The full path used to make the request","type":[[["string"]]]},{"name":"route","description":"The API route identifying the rate limit for this request","type":[[["string"]]]},{"name":"options","description":"Additional options for this request","type":[[["Object"]]]},{"name":"retries","description":"The number of times this request has been attempted","type":[[["number"]]]}],"meta":{"line":178,"file":"RequestHandler.js","path":"src/rest"}},{"name":"InvalidRequestWarningData","type":[[["Object"]]],"props":[{"name":"count","description":"Number of invalid requests that have been made in the window","type":[[["number"]]]},{"name":"remainingTime","description":"Time in milliseconds remaining before the count resets","type":[[["number"]]]}],"meta":{"line":292,"file":"RequestHandler.js","path":"src/rest"}},{"name":"ShardRespawnOptions","description":"Options used to respawn a shard.","type":[[["Object"]]],"props":[{"name":"delay","description":"How long to wait between killing the process/worker and\nrestarting it (in milliseconds)","optional":true,"default":500,"type":[[["number"]]]},{"name":"timeout","description":"The amount in milliseconds to wait until the {@link Client}\nhas become ready before resolving (`-1` or `Infinity` for no wait)","optional":true,"default":30000,"type":[[["number"]]]}],"meta":{"line":191,"file":"Shard.js","path":"src/sharding"}},{"name":"ShardingManagerMode","description":"The mode to spawn shards with for a {@link ShardingManager}. Can be either one of:\n* 'process' to use child processes\n* 'worker' to use [Worker threads](https://nodejs.org/api/worker_threads.html)","type":[[["string"]]],"meta":{"line":23,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"ShardingManagerOptions","description":"The options to spawn shards with for a {@link ShardingManager}.","type":[[["Object"]]],"props":[{"name":"totalShards","description":"Number of total shards of all shard managers or \"auto\"","optional":true,"default":"'auto'","type":[[["string"]],[["number"]]]},{"name":"shardList","description":"List of shards to spawn or \"auto\"","optional":true,"default":"'auto'","type":[[["string"]],[["Array","<"],["number",">"]]]},{"name":"mode","description":"Which mode to use for shards","optional":true,"default":"'process'","type":[[["ShardingManagerMode"]]]},{"name":"respawn","description":"Whether shards should automatically respawn upon exiting","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"shardArgs","description":"Arguments to pass to the shard script when spawning\n(only available when mode is set to 'process')","optional":true,"default":"[]","type":[[["Array","<"],["string",">"]]]},{"name":"execArgv","description":"Arguments to pass to the shard script executable when spawning\n(only available when mode is set to 'process')","optional":true,"default":"[]","type":[[["Array","<"],["string",">"]]]},{"name":"token","description":"Token to use for automatic shard count and passing to shards","optional":true,"type":[[["string"]]]}],"meta":{"line":30,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"MultipleShardSpawnOptions","description":"Options used to spawn multiple shards.","type":[[["Object"]]],"props":[{"name":"amount","description":"Number of shards to spawn","optional":true,"default":"this.totalShards","type":[[["number"]],[["string"]]]},{"name":"delay","description":"How long to wait in between spawning each shard (in milliseconds)","optional":true,"default":5500,"type":[[["number"]]]},{"name":"timeout","description":"The amount in milliseconds to wait until the {@link Client} has become ready","optional":true,"default":30000,"type":[[["number"]]]}],"meta":{"line":170,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"BroadcastEvalOptions","description":"Options for {@link ShardingManager#broadcastEval} and {@link ShardClientUtil#broadcastEval}.","type":[[["Object"]]],"props":[{"name":"shard","description":"Shard to run script on, all if undefined","optional":true,"type":[[["number"]]]},{"name":"context","description":"The JSON-serializable values to call the script with","optional":true,"type":[["*"]]}],"meta":{"line":237,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"MultipleShardRespawnOptions","description":"Options used to respawn all shards.","type":[[["Object"]]],"props":[{"name":"shardDelay","description":"How long to wait between shards (in milliseconds)","optional":true,"default":5000,"type":[[["number"]]]},{"name":"respawnDelay","description":"How long to wait between killing a shard's process and restarting it\n(in milliseconds)","optional":true,"default":500,"type":[[["number"]]]},{"name":"timeout","description":"The amount in milliseconds to wait for a shard to become ready before\ncontinuing to another (`-1` or `Infinity` for no wait)","optional":true,"default":30000,"type":[[["number"]]]}],"meta":{"line":292,"file":"ShardingManager.js","path":"src/sharding"}},{"name":"ApplicationCommandData","description":"Data for creating or editing an application command.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the command","type":[[["string"]]]},{"name":"nameLocalizations","description":"The localizations for the command name","optional":true,"type":[[["Object","<"],["Locale",", "],["string",">"]]]},{"name":"description","description":"The description of the command","type":[[["string"]]]},{"name":"descriptionLocalizations","description":"The localizations for the command description","optional":true,"type":[[["Object","<"],["Locale",", "],["string",">"]]]},{"name":"type","description":"The type of the command","optional":true,"type":[[["ApplicationCommandType"]]]},{"name":"options","description":"Options for the command","optional":true,"type":[[["Array","<"],["ApplicationCommandOptionData",">"]]]},{"name":"defaultPermission","description":"Whether the command is enabled by default when the app is added to a guild","optional":true,"type":[[["boolean"]]]},{"name":"defaultMemberPermissions","description":"The bitfield used to determine the default permissions\na member needs in order to run the command","optional":true,"nullable":true,"type":[[["PermissionResolvable"]]]},{"name":"dmPermission","description":"Whether the command is enabled in DMs","optional":true,"type":[[["boolean"]]]}],"meta":{"line":194,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"ApplicationCommandOptionData","description":"An option for an application command or subcommand.\nIn addition to the listed properties, when used as a parameter,\nAPI style `snake_case` properties can be used for compatibility with generators like `@discordjs/builders`.\nNote that providing a value for the `camelCase` counterpart for any `snake_case` property\nwill discard the provided `snake_case` property.","type":[[["Object"]]],"props":[{"name":"type","description":"The type of the option","type":[[["ApplicationCommandOptionType"]],[["number"]]]},{"name":"name","description":"The name of the option","type":[[["string"]]]},{"name":"nameLocalizations","description":"The name localizations for the option","optional":true,"type":[[["Object","<"],["Locale",", "],["string",">"]]]},{"name":"description","description":"The description of the option","type":[[["string"]]]},{"name":"descriptionLocalizations","description":"The description localizations for the option","optional":true,"type":[[["Object","<"],["Locale",", "],["string",">"]]]},{"name":"autocomplete","description":"Whether the option is an autocomplete option","optional":true,"type":[[["boolean"]]]},{"name":"required","description":"Whether the option is required","optional":true,"type":[[["boolean"]]]},{"name":"choices","description":"The choices of the option for the user to pick from","optional":true,"type":[[["Array","<"],["ApplicationCommandOptionChoiceData",">"]]]},{"name":"options","description":"Additional options if this option is a subcommand (group)","optional":true,"type":[[["Array","<"],["ApplicationCommandOptionData",">"]]]},{"name":"channelTypes","description":"When the option type is channel,\nthe allowed types of channels that can be selected","optional":true,"type":[[["Array","<"],["ChannelType",">"]],[["Array","<"],["number",">"]]]},{"name":"minValue","description":"The minimum value for an `INTEGER` or `NUMBER` option","optional":true,"type":[[["number"]]]},{"name":"maxValue","description":"The maximum value for an `INTEGER` or `NUMBER` option","optional":true,"type":[[["number"]]]},{"name":"minLength","description":"The minimum length for a `STRING` option\n(maximum of `6000`)","optional":true,"type":[[["number"]]]},{"name":"maxLength","description":"The maximum length for a `STRING` option\n(maximum of `6000`)","optional":true,"type":[[["number"]]]}],"meta":{"line":209,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"ApplicationCommandOptionChoiceData","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the choice","type":[[["string"]]]},{"name":"nameLocalizations","description":"The localized names for this choice","optional":true,"type":[[["Object","<"],["Locale",", "],["string",">"]]]},{"name":"value","description":"The value of the choice","type":[[["string"]],[["number"]]]}],"meta":{"line":235,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"ApplicationCommandOption","description":"An option for an application command or subcommand.","type":[[["Object"]]],"props":[{"name":"type","description":"The type of the option","type":[[["ApplicationCommandOptionType"]]]},{"name":"name","description":"The name of the option","type":[[["string"]]]},{"name":"nameLocalizations","description":"The localizations for the option name","optional":true,"type":[[["Object","<"],["string",", "],["string",">"]]]},{"name":"nameLocalized","description":"The localized name for this option","optional":true,"type":[[["string"]]]},{"name":"description","description":"The description of the option","type":[[["string"]]]},{"name":"descriptionLocalizations","description":"The localizations for the option description","optional":true,"type":[[["Object","<"],["string",", "],["string",">"]]]},{"name":"descriptionLocalized","description":"The localized description for this option","optional":true,"type":[[["string"]]]},{"name":"required","description":"Whether the option is required","optional":true,"type":[[["boolean"]]]},{"name":"autocomplete","description":"Whether the option is an autocomplete option","optional":true,"type":[[["boolean"]]]},{"name":"choices","description":"The choices of the option for the user to pick from","optional":true,"type":[[["Array","<"],["ApplicationCommandOptionChoice",">"]]]},{"name":"options","description":"Additional options if this option is a subcommand (group)","optional":true,"type":[[["Array","<"],["ApplicationCommandOption",">"]]]},{"name":"channelTypes","description":"When the option type is channel,\nthe allowed types of channels that can be selected","optional":true,"type":[[["Array","<"],["ChannelType",">"]]]},{"name":"minValue","description":"The minimum value for an `INTEGER` or `NUMBER` option","optional":true,"type":[[["number"]]]},{"name":"maxValue","description":"The maximum value for an `INTEGER` or `NUMBER` option","optional":true,"type":[[["number"]]]},{"name":"minLength","description":"The minimum length for a `STRING` option\n(maximum of `6000`)","optional":true,"type":[[["number"]]]},{"name":"maxLength","description":"The maximum length for a `STRING` option\n(maximum of `6000`)","optional":true,"type":[[["number"]]]}],"meta":{"line":500,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"ApplicationCommandOptionChoice","description":"A choice for an application command option.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the choice","type":[[["string"]]]},{"name":"nameLocalized","description":"The localized name of the choice in the provided locale, if any","nullable":true,"type":[[["string"]]]},{"name":"nameLocalizations","description":"The localized names for this choice","optional":true,"nullable":true,"type":[[["Object","<"],["string",", "],["string",">"]]]},{"name":"value","description":"The value of the choice","type":[[["string"]],[["number"]]]}],"meta":{"line":524,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"AutoModerationTriggerMetadata","description":"Additional data used to determine whether an auto moderation rule should be triggered.","type":[[["Object"]]],"props":[{"name":"keywordFilter","description":"The substrings that will be searched for in the content","type":[[["Array","<"],["string",">"]]]},{"name":"regexPatterns","description":"The regular expression patterns which will be matched against the content\nOnly Rust-flavored regular expressions are supported.","type":[[["Array","<"],["string",">"]]]},{"name":"presets","description":"The internally pre-defined wordsets which will be searched for in the content","type":[[["Array","<"],["AutoModerationRuleKeywordPresetType",">"]]]},{"name":"allowList","description":"The substrings that will be exempt from triggering\n{@link AutoModerationRuleTriggerType.KEYWORD} and {@link AutoModerationRuleTriggerType.KEYWORD_PRESET}","type":[[["Array","<"],["string",">"]]]},{"name":"mentionTotalLimit","description":"The total number of role & user mentions allowed per message","nullable":true,"type":[[["number"]]]},{"name":"mentionRaidProtectionEnabled","description":"Whether mention raid protection is enabled","type":[[["boolean"]]]}],"meta":{"line":65,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"AutoModerationAction","description":"An object containing information about an auto moderation rule action.","type":[[["Object"]]],"props":[{"name":"type","description":"The type of this auto moderation rule action","type":[[["AutoModerationActionType"]]]},{"name":"metadata","description":"Additional metadata needed during execution","type":[[["AutoModerationActionMetadata"]]]}],"meta":{"line":94,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"AutoModerationActionMetadata","description":"Additional data used when an auto moderation rule is executed.","type":[[["Object"]]],"props":[{"name":"channelId","description":"The id of the channel to which content will be logged","nullable":true,"type":[[["Snowflake"]]]},{"name":"durationSeconds","description":"The timeout duration in seconds","nullable":true,"type":[[["number"]]]},{"name":"customMessage","description":"The custom message that is shown whenever a message is blocked","nullable":true,"type":[[["string"]]]}],"meta":{"line":101,"file":"AutoModerationRule.js","path":"src/structures"}},{"name":"CommandInteractionResolvedData","description":"Represents the resolved data of a received command interaction.","type":[[["Object"]]],"props":[{"name":"users","description":"The resolved users","optional":true,"type":[[["Collection","<"],["Snowflake",", "],["User",">"]]]},{"name":"members","description":"The resolved guild members","optional":true,"type":[[["Collection","<"],["Snowflake",", ("],["GuildMember","|"],["APIGuildMember",")>"]]]},{"name":"roles","description":"The resolved roles","optional":true,"type":[[["Collection","<"],["Snowflake",", ("],["Role","|"],["APIRole",")>"]]]},{"name":"channels","description":"The resolved channels","optional":true,"type":[[["Collection","<"],["Snowflake",", ("],["Channel","|"],["APIChannel",")>"]]]},{"name":"messages","description":"The resolved messages","optional":true,"type":[[["Collection","<"],["Snowflake",", ("],["Message","|"],["APIMessage",")>"]]]},{"name":"attachments","description":"The resolved attachments","optional":true,"type":[[["Collection","<"],["Snowflake",", "],["MessageAttachment",">"]]]}],"meta":{"line":72,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"CommandInteractionOption","description":"Represents an option of a received command interaction.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the option","type":[[["string"]]]},{"name":"type","description":"The type of the option","type":[[["ApplicationCommandOptionType"]]]},{"name":"autocomplete","description":"Whether the option is an autocomplete option","optional":true,"type":[[["boolean"]]]},{"name":"value","description":"The value of the option","optional":true,"type":[[["string"]],[["number"]],[["boolean"]]]},{"name":"options","description":"Additional options if this option is a\nsubcommand (group)","optional":true,"type":[[["Array","<"],["CommandInteractionOption",">"]]]},{"name":"user","description":"The resolved user","optional":true,"type":[[["User"]]]},{"name":"member","description":"The resolved member","optional":true,"type":[[["GuildMember"]],[["APIGuildMember"]]]},{"name":"channel","description":"The resolved channel","optional":true,"type":[[["GuildChannel"]],[["ThreadChannel"]],[["APIChannel"]]]},{"name":"role","description":"The resolved role","optional":true,"type":[[["Role"]],[["APIRole"]]]},{"name":"attachment","description":"The resolved attachment","optional":true,"type":[[["MessageAttachment"]]]}],"meta":{"line":139,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"ApplicationResolvable","description":"Data that can be resolved to an Application. This can be:\n* An Application\n* An Activity with associated Application\n* A Snowflake","type":[[["Application"]],[["Snowflake"]]],"meta":{"line":127,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"CreateInviteOptions","description":"Options used to create an invite to a guild channel.","type":[[["Object"]]],"props":[{"name":"temporary","description":"Whether members that joined via the invite should be automatically\nkicked after 24 hours if they have not yet received a role","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"maxAge","description":"How long the invite should last (in seconds, 0 for forever)","optional":true,"default":86400,"type":[[["number"]]]},{"name":"maxUses","description":"Maximum number of uses","optional":true,"default":0,"type":[[["number"]]]},{"name":"unique","description":"Create a unique invite, or use an existing one with similar settings","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"targetUser","description":"The user whose stream to display for this invite,\nrequired if `targetType` is 1, the user must be streaming in the channel","optional":true,"type":[[["UserResolvable"]]]},{"name":"targetApplication","description":"The embedded application to open for this invite,\nrequired if `targetType` is 2, the application must have the `EMBEDDED` flag","optional":true,"type":[[["ApplicationResolvable"]]]},{"name":"targetType","description":"The type of the target for this voice channel invite","optional":true,"type":[[["TargetType"]]]},{"name":"reason","description":"The reason for creating the invite","optional":true,"type":[[["string"]]]}],"meta":{"line":135,"file":"BaseGuildTextChannel.js","path":"src/structures"}},{"name":"BaseMessageComponentOptions","description":"Options for a BaseMessageComponent","type":[[["Object"]]],"props":[{"name":"type","description":"The type of this component","type":[[["MessageComponentTypeResolvable"]]]}],"meta":{"line":11,"file":"BaseMessageComponent.js","path":"src/structures"}},{"name":"MessageComponentOptions","description":"Data that can be resolved into options for a component. This can be:\n* MessageActionRowOptions\n* MessageButtonOptions\n* MessageSelectMenuOptions\n* TextInputComponentOptions","type":[[["MessageActionRowOptions"]],[["MessageButtonOptions"]],[["MessageSelectMenuOptions"]]],"meta":{"line":17,"file":"BaseMessageComponent.js","path":"src/structures"}},{"name":"MessageComponent","description":"Components that can be sent in a payload. These can be:\n* MessageActionRow\n* MessageButton\n* MessageSelectMenu\n* TextInputComponent","see":["{@link https://discord.com/developers/docs/interactions/message-components#component-object-component-types}"],"type":[[["MessageActionRow"]],[["MessageButton"]],[["MessageSelectMenu"]]],"meta":{"line":26,"file":"BaseMessageComponent.js","path":"src/structures"}},{"name":"MessageComponentTypeResolvable","description":"Data that can be resolved to a MessageComponentType. This can be:\n* MessageComponentType\n* string\n* number","type":[[["string"]],[["number"]],[["MessageComponentType"]]],"meta":{"line":36,"file":"BaseMessageComponent.js","path":"src/structures"}},{"name":"CategoryCreateChannelOptions","description":"Options for creating a channel using {@link CategoryChannel#createChannel}.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the new channel","optional":true,"type":[[["string"]]]},{"name":"type","description":"The type of the new channel.","optional":true,"default":"'GUILD_TEXT'","type":[[["ChannelType"]],[["number"]]]},{"name":"position","description":"Position of the new channel","optional":true,"type":[[["number"]]]},{"name":"topic","description":"The topic for the new channel","optional":true,"type":[[["string"]]]},{"name":"nsfw","description":"Whether the new channel is NSFW","optional":true,"type":[[["boolean"]]]},{"name":"bitrate","description":"Bitrate of the new channel in bits (only voice)","optional":true,"type":[[["number"]]]},{"name":"userLimit","description":"Maximum amount of users allowed in the new channel (only voice)","optional":true,"type":[[["number"]]]},{"name":"permissionOverwrites","description":"Permission overwrites of the new channel","optional":true,"type":[[["Array","<"],["OverwriteResolvable",">"]],[["Collection","<"],["Snowflake",", "],["OverwriteResolvable",">"]]]},{"name":"rateLimitPerUser","description":"The rate limit per user (slowmode) for the new channel in seconds","optional":true,"type":[[["number"]]]},{"name":"defaultAutoArchiveDuration","description":"The default auto archive duration for all new threads in this channel","optional":true,"type":[[["ThreadAutoArchiveDuration"]]]},{"name":"rtcRegion","description":"The specific region of the new channel","optional":true,"nullable":true,"type":[[["string"]]]},{"name":"videoQualityMode","description":"The camera video quality mode of the new channel","optional":true,"type":[[["VideoQualityMode"]],[["number"]]]},{"name":"flags","description":"The flags to set on the new channel","optional":true,"type":[[["ChannelFlagsResolvable"]]]},{"name":"availableTags","description":"The tags to set as available in a forum channel","optional":true,"type":[[["Array","<"],["GuildForumTagData",">"]]]},{"name":"defaultReactionEmoji","description":"The emoji to set as the default reaction emoji","optional":true,"nullable":true,"type":[[["DefaultReactionEmoji"]]]},{"name":"defaultThreadRateLimitPerUser","description":"The rate limit per user (slowmode) to set on forum posts","optional":true,"type":[[["number"]]]},{"name":"defaultSortOrder","description":"The default sort order mode to set on the new channel","optional":true,"nullable":true,"type":[[["SortOrderType"]]]},{"name":"defaultThreadRateLimitPerUser","description":"The initial rate limit per user (slowmode)\nto set on newly created threads in a channel.","optional":true,"type":[[["number"]]]},{"name":"reason","description":"Reason for creating the new channel","optional":true,"type":[[["string"]]]}],"meta":{"line":43,"file":"CategoryChannel.js","path":"src/structures"}},{"name":"ClientUserEditData","description":"Data used to edit the logged in client","type":[[["Object"]]],"props":[{"name":"username","description":"The new username","optional":true,"type":[[["string"]]]},{"name":"avatar","description":"The new avatar","optional":true,"nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]},{"name":"banner","description":"The new banner","optional":true,"nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]},{"name":"bio","description":"The new bio","optional":true,"nullable":true,"type":[[["string"]]]}],"meta":{"line":128,"file":"ClientUser.js","path":"src/structures"}},{"name":"ActivitiesOptions","description":"Options for setting activities","type":[[["Object"]]],"props":[{"name":"name","description":"Name of the activity","type":[[["string"]]]},{"name":"state","description":"State of the activity","optional":true,"type":[[["string"]]]},{"name":"type","description":"Type of the activity","optional":true,"type":[[["ActivityType"]],[["number"]]]},{"name":"url","description":"Twitch / YouTube stream URL","optional":true,"type":[[["string"]]]}],"meta":{"line":181,"file":"ClientUser.js","path":"src/structures"}},{"name":"PresenceData","description":"Data resembling a raw Discord presence.","type":[[["Object"]]],"props":[{"name":"status","description":"Status of the user","optional":true,"type":[[["PresenceStatusData"]]]},{"name":"afk","description":"Whether the user is AFK","optional":true,"type":[[["boolean"]]]},{"name":"activities","description":"Activity the user is playing","optional":true,"type":[[["Array","<"],["ActivitiesOptions",">"]],[["Array","<"],["CustomStatus",">"]],[["Array","<"],["RichPresence",">"]],[["Array","<"],["SpotifyRPC",">"]]]},{"name":"shardId","description":"Shard id(s) to have the activity set on","optional":true,"type":[[["number"]],[["Array","<"],["number",">"]]]}],"meta":{"line":190,"file":"ClientUser.js","path":"src/structures"}},{"name":"PresenceStatusData","description":"A user's status. Must be one of:\n* `online`\n* `idle`\n* `invisible`\n* `dnd` (do not disturb)","type":[[["string"]]],"meta":{"line":212,"file":"ClientUser.js","path":"src/structures"}},{"name":"ActivityOptions","description":"Options for setting an activity.","type":[[["Object"]]],"props":[{"name":"name","description":"Name of the activity","type":[[["string"]]]},{"name":"url","description":"Twitch / YouTube stream URL","optional":true,"type":[[["string"]]]},{"name":"type","description":"Type of the activity","optional":true,"type":[[["ActivityType"]],[["number"]]]},{"name":"shardId","description":"Shard Id(s) to have the activity set on","optional":true,"type":[[["number"]],[["Array","<"],["number",">"]]]}],"meta":{"line":234,"file":"ClientUser.js","path":"src/structures"}},{"name":"AutocompleteFocusedOption","description":"The full autocomplete option object.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the option","type":[[["string"]]]},{"name":"type","description":"The type of the application command option","type":[[["ApplicationCommandOptionType"]]]},{"name":"value","description":"The value of the option","type":[[["string"]]]},{"name":"focused","description":"Whether this option is currently in focus for autocomplete","type":[[["boolean"]]]}],"meta":{"line":243,"file":"CommandInteractionOptionResolver.js","path":"src/structures"}},{"name":"RawEmoji","description":"Represents raw emoji data from the API","type":[[["APIEmoji"]]],"props":[{"name":"id","description":"The emoji's id","nullable":true,"type":[[["Snowflake"]]]},{"name":"name","description":"The emoji's name","nullable":true,"type":[[["string"]]]},{"name":"animated","description":"Whether the emoji is animated","nullable":true,"type":[[["boolean"]]]}],"meta":{"line":15,"file":"Emoji.js","path":"src/structures"}},{"name":"GuildForumTagEmoji","type":[[["Object"]]],"props":[{"name":"id","description":"The id of a guild's custom emoji","nullable":true,"type":[[["Snowflake"]]]},{"name":"name","description":"The unicode character of the emoji","nullable":true,"type":[[["string"]]]}],"meta":{"line":9,"file":"ForumChannel.js","path":"src/structures"}},{"name":"GuildForumTag","type":[[["Object"]]],"props":[{"name":"id","description":"The id of the tag","type":[[["Snowflake"]]]},{"name":"name","description":"The name of the tag","type":[[["string"]]]},{"name":"moderated","description":"Whether this tag can only be added to or removed from threads\nby a member with the `ManageThreads` permission","type":[[["boolean"]]]},{"name":"emoji","description":"The emoji of this tag","nullable":true,"type":[[["GuildForumTagEmoji"]]]}],"meta":{"line":15,"file":"ForumChannel.js","path":"src/structures"}},{"name":"GuildForumTagData","type":[[["Object"]]],"props":[{"name":"id","description":"The id of the tag","optional":true,"type":[[["Snowflake"]]]},{"name":"name","description":"The name of the tag","type":[[["string"]]]},{"name":"moderated","description":"Whether this tag can only be added to or removed from threads\nby a member with the `ManageThreads` permission","optional":true,"type":[[["boolean"]]]},{"name":"emoji","description":"The emoji of this tag","optional":true,"nullable":true,"type":[[["GuildForumTagEmoji"]]]}],"meta":{"line":24,"file":"ForumChannel.js","path":"src/structures"}},{"name":"DefaultReactionEmoji","type":[[["Object"]]],"props":[{"name":"id","description":"The id of a guild's custom emoji","nullable":true,"type":[[["Snowflake"]]]},{"name":"name","description":"The unicode character of the emoji","nullable":true,"type":[[["string"]]]}],"meta":{"line":33,"file":"ForumChannel.js","path":"src/structures"}},{"name":"GroupDMChannelEditData","description":"The data for editing a channe;.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the channel","optional":true,"type":[[["string"]]]},{"name":"icon","description":"The icon of the channel","optional":true,"nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]},{"name":"owner","description":"The owner of the channel","optional":true,"type":[[["GuildMemberResolvable"]]]}],"meta":{"line":170,"file":"GroupDMChannel.js","path":"src/structures"}},{"name":"Features","description":"An array of enabled guild features, here are the possible values:\n* ANIMATED_ICON\n* AUTO_MODERATION\n* BANNER\n* COMMERCE\n* COMMUNITY\n* CREATOR_MONETIZABLE_PROVISIONAL\n* CREATOR_STORE_PAGE\n* DISCOVERABLE\n* FEATURABLE\n* INVITES_DISABLED\n* INVITE_SPLASH\n* MEMBER_VERIFICATION_GATE_ENABLED\n* NEWS\n* PARTNERED\n* PREVIEW_ENABLED\n* VANITY_URL\n* VERIFIED\n* VIP_REGIONS\n* WELCOME_SCREEN_ENABLED\n* TICKETED_EVENTS_ENABLED\n* MONETIZATION_ENABLED\n`MONETIZATION_ENABLED` has been replaced.\nSee [this pull request](https://github.com/discord/discord-api-docs/pull/5724) for more information.\n* MORE_STICKERS\n* THREE_DAY_THREAD_ARCHIVE\n* SEVEN_DAY_THREAD_ARCHIVE\n* PRIVATE_THREADS\n* ROLE_ICONS\n* RAID_ALERTS_DISABLED\n* ROLE_SUBSCRIPTIONS_AVAILABLE_FOR_PURCHASE\n* ROLE_SUBSCRIPTIONS_ENABLED","see":["{@link https://discord.com/developers/docs/resources/guild#guild-object-guild-features}"],"type":[[["string"]]],"meta":{"line":228,"file":"Guild.js","path":"src/structures"}},{"name":"Vanity","description":"An object containing information about a guild's vanity invite.","type":[[["Object"]]],"props":[{"name":"code","description":"Vanity invite code","nullable":true,"type":[[["string"]]]},{"name":"uses","description":"How many times this invite has been used","type":[[["number"]]]}],"meta":{"line":729,"file":"Guild.js","path":"src/structures"}},{"name":"GuildWidgetSettings","description":"Data for the Guild Widget Settings object","type":[[["Object"]]],"props":[{"name":"enabled","description":"Whether the widget is enabled","type":[[["boolean"]]]},{"name":"channel","description":"The widget invite channel","nullable":true,"type":[[["GuildChannel"]]]}],"meta":{"line":785,"file":"Guild.js","path":"src/structures"}},{"name":"GuildWidgetSettingsData","description":"The Guild Widget Settings object","type":[[["Object"]]],"props":[{"name":"enabled","description":"Whether the widget is enabled","type":[[["boolean"]]]},{"name":"channel","description":"The widget invite channel","nullable":true,"type":[[["GuildChannelResolvable"]]]}],"meta":{"line":792,"file":"Guild.js","path":"src/structures"}},{"name":"GuildAuditLogsFetchOptions","description":"Options used to fetch audit logs.","type":[[["Object"]]],"props":[{"name":"before","description":"Consider only entries before this entry","optional":true,"type":[[["Snowflake"]],[["GuildAuditLogsEntry"]]]},{"name":"after","description":"Consider only entries after this entry","optional":true,"type":[[["Snowflake"]],[["GuildAuditLogsEntry"]]]},{"name":"limit","description":"The number of entries to return","optional":true,"type":[[["number"]]]},{"name":"user","description":"Only return entries for actions made by this user","optional":true,"type":[[["UserResolvable"]]]},{"name":"type","description":"Only return entries for this action type","optional":true,"type":[[["AuditLogAction"]],[["number"]]]}],"meta":{"line":818,"file":"Guild.js","path":"src/structures"}},{"name":"GuildEditData","description":"The data for editing a guild.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the guild","optional":true,"type":[[["string"]]]},{"name":"verificationLevel","description":"The verification level of the guild","optional":true,"nullable":true,"type":[[["VerificationLevel"]],[["number"]]]},{"name":"explicitContentFilter","description":"The level of the explicit content filter","optional":true,"nullable":true,"type":[[["ExplicitContentFilterLevel"]],[["number"]]]},{"name":"afkChannel","description":"The AFK channel of the guild","optional":true,"nullable":true,"type":[[["VoiceChannelResolvable"]]]},{"name":"systemChannel","description":"The system channel of the guild","optional":true,"nullable":true,"type":[[["TextChannelResolvable"]]]},{"name":"afkTimeout","description":"The AFK timeout of the guild","optional":true,"type":[[["number"]]]},{"name":"icon","description":"The icon of the guild","optional":true,"nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]},{"name":"owner","description":"The owner of the guild","optional":true,"type":[[["GuildMemberResolvable"]]]},{"name":"splash","description":"The invite splash image of the guild","optional":true,"nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]},{"name":"discoverySplash","description":"The discovery splash image of the guild","optional":true,"nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]},{"name":"banner","description":"The banner of the guild","optional":true,"nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]},{"name":"defaultMessageNotifications","description":"The default message\nnotification level of the guild","optional":true,"nullable":true,"type":[[["DefaultMessageNotificationLevel"]],[["number"]]]},{"name":"systemChannelFlags","description":"The system channel flags of the guild","optional":true,"type":[[["SystemChannelFlagsResolvable"]]]},{"name":"rulesChannel","description":"The rules channel of the guild","optional":true,"nullable":true,"type":[[["TextChannelResolvable"]]]},{"name":"publicUpdatesChannel","description":"The community updates channel of the guild","optional":true,"nullable":true,"type":[[["TextChannelResolvable"]]]},{"name":"preferredLocale","description":"The preferred locale of the guild","optional":true,"nullable":true,"type":[[["string"]]]},{"name":"safetyAlertsChannel","description":"The safety alerts channel of the guild","optional":true,"nullable":true,"type":[[["TextChannelResolvable"]]]},{"name":"premiumProgressBarEnabled","description":"Whether the guild's premium progress bar is enabled","optional":true,"type":[[["boolean"]]]},{"name":"description","description":"The discovery description of the guild","optional":true,"nullable":true,"type":[[["string"]]]},{"name":"features","description":"The features of the guild","optional":true,"type":[[["Array","<"],["Features",">"]]]}],"meta":{"line":852,"file":"Guild.js","path":"src/structures"}},{"name":"TextChannelResolvable","description":"Data that can be resolved to a Text Channel object. This can be:\n* A TextChannel\n* A Snowflake","type":[[["TextChannel"]],[["Snowflake"]]],"meta":{"line":878,"file":"Guild.js","path":"src/structures"}},{"name":"VoiceChannelResolvable","description":"Data that can be resolved to a Voice Channel object. This can be:\n* A VoiceChannel\n* A Snowflake","type":[[["VoiceChannel"]],[["Snowflake"]]],"meta":{"line":885,"file":"Guild.js","path":"src/structures"}},{"name":"WelcomeChannelData","description":"Welcome channel data","type":[[["Object"]]],"props":[{"name":"description","description":"The description to show for this welcome channel","type":[[["string"]]]},{"name":"channel","description":"The channel to link for this welcome channel","type":[[["TextChannel"]],[["NewsChannel"]],[["StoreChannel"]],[["Snowflake"]]]},{"name":"emoji","description":"The emoji to display for this welcome channel","optional":true,"type":[[["EmojiIdentifierResolvable"]]]}],"meta":{"line":964,"file":"Guild.js","path":"src/structures"}},{"name":"WelcomeScreenEditData","description":"Welcome screen edit data","type":[[["Object"]]],"props":[{"name":"enabled","description":"Whether the welcome screen is enabled","optional":true,"type":[[["boolean"]]]},{"name":"description","description":"The description for the welcome screen","optional":true,"type":[[["string"]]]},{"name":"welcomeChannels","description":"The welcome channel data for the welcome screen","optional":true,"type":[[["Array","<"],["WelcomeChannelData",">"]]]}],"meta":{"line":972,"file":"Guild.js","path":"src/structures"}},{"name":"GuildTextChannelResolvable","description":"Data that can be resolved to a GuildTextChannel object. This can be:\n* A TextChannel\n* A NewsChannel\n* A Snowflake","type":[[["TextChannel"]],[["NewsChannel"]],[["Snowflake"]]],"meta":{"line":980,"file":"Guild.js","path":"src/structures"}},{"name":"GuildVoiceChannelResolvable","description":"Data that can be resolved to a GuildVoiceChannel object. This can be:\n* A VoiceChannel\n* A StageChannel\n* A Snowflake","type":[[["VoiceChannel"]],[["StageChannel"]],[["Snowflake"]]],"meta":{"line":988,"file":"Guild.js","path":"src/structures"}},{"name":"AuditLogTargetType","description":"The target type of an entry. Here are the available types:\n* GUILD\n* CHANNEL\n* USER\n* ROLE\n* INVITE\n* WEBHOOK\n* EMOJI\n* MESSAGE\n* INTEGRATION\n* STAGE_INSTANCE\n* STICKER\n* THREAD\n* GUILD_SCHEDULED_EVENT\n* APPLICATION_COMMAND\n* AUTO_MODERATION","type":[[["string"]]],"meta":{"line":16,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"AuditLogAction","description":"The action of an entry. Here are the available actions:\n* ALL: null\n* GUILD_UPDATE: 1\n* CHANNEL_CREATE: 10\n* CHANNEL_UPDATE: 11\n* CHANNEL_DELETE: 12\n* CHANNEL_OVERWRITE_CREATE: 13\n* CHANNEL_OVERWRITE_UPDATE: 14\n* CHANNEL_OVERWRITE_DELETE: 15\n* MEMBER_KICK: 20\n* MEMBER_PRUNE: 21\n* MEMBER_BAN_ADD: 22\n* MEMBER_BAN_REMOVE: 23\n* MEMBER_UPDATE: 24\n* MEMBER_ROLE_UPDATE: 25\n* MEMBER_MOVE: 26\n* MEMBER_DISCONNECT: 27\n* BOT_ADD: 28,\n* ROLE_CREATE: 30\n* ROLE_UPDATE: 31\n* ROLE_DELETE: 32\n* INVITE_CREATE: 40\n* INVITE_UPDATE: 41\n* INVITE_DELETE: 42\n* WEBHOOK_CREATE: 50\n* WEBHOOK_UPDATE: 51\n* WEBHOOK_DELETE: 52\n* EMOJI_CREATE: 60\n* EMOJI_UPDATE: 61\n* EMOJI_DELETE: 62\n* MESSAGE_DELETE: 72\n* MESSAGE_BULK_DELETE: 73\n* MESSAGE_PIN: 74\n* MESSAGE_UNPIN: 75\n* INTEGRATION_CREATE: 80\n* INTEGRATION_UPDATE: 81\n* INTEGRATION_DELETE: 82\n* STAGE_INSTANCE_CREATE: 83\n* STAGE_INSTANCE_UPDATE: 84\n* STAGE_INSTANCE_DELETE: 85\n* STICKER_CREATE: 90\n* STICKER_UPDATE: 91\n* STICKER_DELETE: 92\n* GUILD_SCHEDULED_EVENT_CREATE: 100\n* GUILD_SCHEDULED_EVENT_UPDATE: 101\n* GUILD_SCHEDULED_EVENT_DELETE: 102\n* THREAD_CREATE: 110\n* THREAD_UPDATE: 111\n* THREAD_DELETE: 112\n* APPLICATION_COMMAND_PERMISSION_UPDATE: 121\n* AUTO_MODERATION_RULE_CREATE: 140\n* AUTO_MODERATION_RULE_UPDATE: 141\n* AUTO_MODERATION_RULE_DELETE: 142\n* AUTO_MODERATION_BLOCK_MESSAGE: 143\n* AUTO_MODERATION_FLAG_TO_CHANNEL: 144\n* AUTO_MODERATION_USER_COMMUNICATION_DISABLED: 145","see":["{@link https://discord.com/developers/docs/resources/audit-log#audit-log-entry-object-audit-log-events}"],"type":[[["number"]],[["string"]]],"meta":{"line":61,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"AuditLogEntryTarget","description":"The target of an entry. It can be one of:\n* A guild\n* A channel\n* A user\n* A role\n* An invite\n* A webhook\n* An emoji\n* A message\n* An integration\n* A stage instance\n* A sticker\n* A guild scheduled event\n* A thread\n* An application command\n* An auto moderation rule\n* An object with an id key if target was deleted\n* An object where the keys represent either the new value or the old value","type":[[["Object"]],[["Guild"]],[["Channel"]],[["User"]],[["Role"]],[["Invite"]],[["Webhook"]],[["GuildEmoji"]],[["Message"]],[["Integration"]],[["StageInstance"]],[["Sticker"]],[["GuildScheduledEvent"]],[["ApplicationCommand"]],[["AutoModerationRule"]]],"meta":{"line":259,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"AuditLogActionType","description":"The action type of an entry, e.g. `CREATE`. Here are the available types:\n* CREATE\n* DELETE\n* UPDATE\n* ALL","type":[[["string"]]],"meta":{"line":306,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"AuditLogChange","description":"An entry in the audit log representing a specific change.","type":[[["Object"]]],"props":[{"name":"key","description":"The property that was changed, e.g. `nick` for nickname changes","type":[[["string"]]]},{"name":"old","description":"The old value of the change, e.g. for nicknames, the old nickname","optional":true,"type":[["*"]]},{"name":"new","description":"The new value of the change, e.g. for nicknames, the new nickname","optional":true,"type":[["*"]]}],"meta":{"line":448,"file":"GuildAuditLogs.js","path":"src/structures"}},{"name":"SetParentOptions","description":"Options used to set the parent of a channel.","type":[[["Object"]]],"props":[{"name":"lockPermissions","description":"Whether to lock the permissions to what the parent's permissions are","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"reason","description":"The reason for modifying the parent of the channel","optional":true,"type":[[["string"]]]}],"meta":{"line":308,"file":"GuildChannel.js","path":"src/structures"}},{"name":"SetChannelPositionOptions","description":"Options used to set the position of a channel.","type":[[["Object"]]],"props":[{"name":"relative","description":"Whether or not to change the position relative to its current value","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"reason","description":"The reason for changing the position","optional":true,"type":[[["string"]]]}],"meta":{"line":336,"file":"GuildChannel.js","path":"src/structures"}},{"name":"GuildChannelCloneOptions","description":"Options used to clone a guild channel.","type":[[["GuildChannelCreateOptions"]]],"props":[{"name":"name","description":"Name of the new channel","optional":true,"default":"this.name","type":[[["string"]]]}],"meta":{"line":358,"file":"GuildChannel.js","path":"src/structures"}},{"name":"GuildEmojiEditData","description":"Data for editing an emoji.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the emoji","optional":true,"type":[[["string"]]]},{"name":"roles","description":"Roles to restrict emoji to","optional":true,"type":[[["Collection","<"],["Snowflake",", "],["Role",">"]],[["Array","<"],["RoleResolvable",">"]]]}],"meta":{"line":79,"file":"GuildEmoji.js","path":"src/structures"}},{"name":"GuildScheduledEventEntityMetadata","description":"Represents the additional metadata for a {@link GuildScheduledEvent}","see":["{@link https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-entity-metadata}"],"type":[[["Object"]]],"props":[{"name":"location","description":"The location of the guild scheduled event","nullable":true,"type":[[["string"]]]}],"meta":{"line":136,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"CreateGuildScheduledEventInviteURLOptions","description":"Options used to create an invite URL to a {@link GuildScheduledEvent}","type":[[["CreateInviteOptions"]]],"props":[{"name":"channel","description":"The channel to create the invite in.\nThis is required when the `entityType` of `GuildScheduledEvent` is `EXTERNAL`, gets ignored otherwise","optional":true,"type":[[["GuildInvitableChannelResolvable"]]]}],"meta":{"line":244,"file":"GuildScheduledEvent.js","path":"src/structures"}},{"name":"EditGuildTemplateOptions","description":"Options used to edit a guild template.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of this template","optional":true,"type":[[["string"]]]},{"name":"description","description":"The description of this template","optional":true,"type":[[["string"]]]}],"meta":{"line":147,"file":"GuildTemplate.js","path":"src/structures"}},{"name":"IntegrationAccount","description":"The information account for an integration","type":[[["Object"]]],"props":[{"name":"id","description":"The id of the account","type":[[["Snowflake"]],[["string"]]]},{"name":"name","description":"The name of the account","type":[[["string"]]]}],"meta":{"line":6,"file":"Integration.js","path":"src/structures"}},{"name":"IntegrationType","description":"The type of an {@link Integration}. This can be:\n* `twitch`\n* `youtube`\n* `discord`\n* `guild_subscription`","type":[[["string"]]],"meta":{"line":13,"file":"Integration.js","path":"src/structures"}},{"name":"Locale","description":"A Discord locale string, possible values are:\n* en-US (English, US)\n* en-GB (English, UK)\n* bg (Bulgarian)\n* zh-CN (Chinese, China)\n* zh-TW (Chinese, Taiwan)\n* hr (Croatian)\n* cs (Czech)\n* da (Danish)\n* nl (Dutch)\n* fi (Finnish)\n* fr (French)\n* de (German)\n* el (Greek)\n* hi (Hindi)\n* hu (Hungarian)\n* it (Italian)\n* ja (Japanese)\n* ko (Korean)\n* lt (Lithuanian)\n* no (Norwegian)\n* pl (Polish)\n* pt-BR (Portuguese, Brazilian)\n* ro (Romanian, Romania)\n* ru (Russian)\n* es-ES (Spanish)\n* sv-SE (Swedish)\n* th (Thai)\n* tr (Turkish)\n* uk (Ukrainian)\n* vi (Vietnamese)","see":["{@link https://discord.com/developers/docs/reference#locales}"],"type":[[["string"]]],"meta":{"line":84,"file":"Interaction.js","path":"src/structures"}},{"name":"InteractionCollectorOptions","type":[[["CollectorOptions"]]],"props":[{"name":"channel","description":"The channel to listen to interactions from","optional":true,"type":[[["TextBasedChannelsResolvable"]]]},{"name":"componentType","description":"The type of component to listen for","optional":true,"type":[[["MessageComponentType"]]]},{"name":"guild","description":"The guild to listen to interactions from","optional":true,"type":[[["GuildResolvable"]]]},{"name":"interactionType","description":"The type of interaction to listen for","optional":true,"type":[[["InteractionType"]]]},{"name":"max","description":"The maximum total amount of interactions to collect","optional":true,"type":[[["number"]]]},{"name":"maxComponents","description":"The maximum number of components to collect","optional":true,"type":[[["number"]]]},{"name":"maxUsers","description":"The maximum number of users to interact","optional":true,"type":[[["number"]]]},{"name":"message","description":"The message to listen to interactions from","optional":true,"type":[[["Message"]],[["APIMessage"]]]}],"meta":{"line":8,"file":"InteractionCollector.js","path":"src/structures"}},{"name":"ApplicationAsset","description":"Asset data.","type":[[["Object"]]],"props":[{"name":"id","description":"The asset's id","type":[[["Snowflake"]]]},{"name":"name","description":"The asset's name","type":[[["string"]]]},{"name":"type","description":"The asset's type","type":[[["string"]]]}],"meta":{"line":265,"file":"Application.js","path":"src/structures/interfaces"}},{"name":"CollectorFilter","description":"Filter to be applied to the collector.","type":[[["function"]]],"params":[{"name":"args","description":"Any arguments received by the listener","variable":true,"type":[["*"]]},{"name":"collection","description":"The items collected by this collector","type":[[["Collection"]]]}],"returns":[[["boolean"]],[["Promise","<"],["boolean",">"]]],"meta":{"line":9,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"CollectorOptions","description":"Options to be applied to the collector.","type":[[["Object"]]],"props":[{"name":"filter","description":"The filter applied to this collector","optional":true,"type":[[["CollectorFilter"]]]},{"name":"time","description":"How long to run the collector for in milliseconds","optional":true,"type":[[["number"]]]},{"name":"idle","description":"How long to stop the collector after inactivity in milliseconds","optional":true,"type":[[["number"]]]},{"name":"dispose","description":"Whether to dispose data when it's deleted","optional":true,"default":false,"type":[[["boolean"]]]}],"meta":{"line":17,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"CollectorResetTimerOptions","description":"Options used to reset the timeout and idle timer of a {@link Collector}.","type":[[["Object"]]],"props":[{"name":"time","description":"How long to run the collector for (in milliseconds)","optional":true,"type":[[["number"]]]},{"name":"idle","description":"How long to wait to stop the collector after inactivity (in milliseconds)","optional":true,"type":[[["number"]]]}],"meta":{"line":202,"file":"Collector.js","path":"src/structures/interfaces"}},{"name":"InteractionDeferReplyOptions","description":"Options for deferring the reply to an {@link Interaction}.","type":[[["Object"]]],"props":[{"name":"ephemeral","description":"Whether the reply should be ephemeral","optional":true,"type":[[["boolean"]]]},{"name":"fetchReply","description":"Whether to fetch the reply","optional":true,"type":[[["boolean"]]]}],"meta":{"line":15,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"InteractionDeferUpdateOptions","description":"Options for deferring and updating the reply to a {@link MessageComponentInteraction}.","type":[[["Object"]]],"props":[{"name":"fetchReply","description":"Whether to fetch the reply","optional":true,"type":[[["boolean"]]]}],"meta":{"line":22,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"InteractionReplyOptions","description":"Options for a reply to an {@link Interaction}.","type":[[["BaseMessageOptions"]]],"props":[{"name":"ephemeral","description":"Whether the reply should be ephemeral","optional":true,"type":[[["boolean"]]]},{"name":"fetchReply","description":"Whether to fetch the reply","optional":true,"type":[[["boolean"]]]},{"name":"flags","description":"Which flags to set for the message.\nOnly `SUPPRESS_EMBEDS` and `EPHEMERAL` can be set.","optional":true,"type":[[["MessageFlags"]]]}],"meta":{"line":28,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"InteractionUpdateOptions","description":"Options for updating the message received from a {@link MessageComponentInteraction}.","type":[[["MessageEditOptions"]]],"props":[{"name":"fetchReply","description":"Whether to fetch the reply","optional":true,"type":[[["boolean"]]]}],"meta":{"line":37,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"InteractionEditReplyOptions","description":"Options that can be passed into {@link InteractionResponses#editReply}.","type":[[["WebhookEditMessageOptions"]]],"props":[{"name":"message","description":"The response to edit","optional":true,"default":"'@original'","type":[[["MessageResolvable"]],[["original","'"]]]}],"meta":{"line":131,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"AwaitModalSubmitOptions","description":"An object containing the same properties as CollectorOptions, but a few more:","type":[[["Object"]]],"props":[{"name":"filter","description":"The filter applied to this collector","optional":true,"type":[[["CollectorFilter"]]]},{"name":"time","description":"Time in milliseconds to wait for an interaction before rejecting","type":[[["number"]]]}],"meta":{"line":256,"file":"InteractionResponses.js","path":"src/structures/interfaces"}},{"name":"BaseMessageOptions","description":"Base options provided when sending.","type":[[["Object"]]],"props":[{"name":"activity","description":"Group activity","optional":true,"type":[[["MessageActivity"]]]},{"name":"tts","description":"Whether or not the message should be spoken aloud","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"nonce","description":"The nonce for the message","optional":true,"default":"''","type":[[["string"]]]},{"name":"content","description":"The content for the message","optional":true,"default":"''","type":[[["string"]]]},{"name":"embeds","description":"The embeds for the message\n(see [here](https://discord.com/developers/docs/resources/channel#embed-object) for more details)","optional":true,"type":[[["Array","<("],["MessageEmbed","|"],["APIEmbed",")>"]]]},{"name":"allowedMentions","description":"Which mentions should be parsed from the message content\n(see [here](https://discord.com/developers/docs/resources/channel#allowed-mentions-object) for more details)","optional":true,"type":[[["MessageMentionOptions"]]]},{"name":"files","description":"Files to send with the message","optional":true,"type":[[["Array","<("],["FileOptions","|"],["BufferResolvable","|"],["Array","<"],["MessageAttachment",">)>"]]]},{"name":"components","description":"Action rows containing interactive components for the message (buttons, select menus)","optional":true,"type":[[["Array","<("],["MessageActionRow","|"],["MessageActionRowOptions",")>"]]]},{"name":"attachments","description":"Attachments to send in the message","optional":true,"type":[[["Array","<"],["MessageAttachment",">"]]]},{"name":"poll","description":"A poll!","optional":true,"type":[[["MessagePoll"]]]}],"meta":{"line":63,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"MessageOptions","description":"Options provided when sending or editing a message.","type":[[["BaseMessageOptions"]]],"props":[{"name":"reply","description":"The options for replying to a message","optional":true,"type":[[["ReplyOptions"]]]},{"name":"stickers","description":"Stickers to send in the message","optional":true,"default":"[]","type":[[["Array","<"],["StickerResolvable",">"]]]},{"name":"flags","description":"Which flags to set for the message.\nOnly `SUPPRESS_EMBEDS`, `SUPPRESS_NOTIFICATIONS` and `IS_VOICE_MESSAGE` can be set.","optional":true,"type":[[["MessageFlags"]]]}],"meta":{"line":81,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"MessageMentionOptions","description":"Options provided to control parsing of mentions by Discord","type":[[["Object"]]],"props":[{"name":"parse","description":"Types of mentions to be parsed","optional":true,"type":[[["Array","<"],["MessageMentionTypes",">"]]]},{"name":"users","description":"Snowflakes of Users to be parsed as mentions","optional":true,"type":[[["Array","<"],["Snowflake",">"]]]},{"name":"roles","description":"Snowflakes of Roles to be parsed as mentions","optional":true,"type":[[["Array","<"],["Snowflake",">"]]]},{"name":"repliedUser","description":"Whether the author of the Message being replied to should be pinged","optional":true,"default":true,"type":[[["boolean"]]]}],"meta":{"line":90,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"MessageMentionTypes","description":"Types of mentions to enable in MessageMentionOptions.\n- `roles`\n- `users`\n- `everyone`","type":[[["string"]]],"meta":{"line":99,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"FileOptions","type":[[["Object"]]],"props":[{"name":"attachment","description":"File to attach","type":[[["BufferResolvable"]]]},{"name":"name","description":"Filename of the attachment","optional":true,"default":"'file.jpg'","type":[[["string"]]]},{"name":"description","description":"The description of the file","type":[[["string"]]]}],"meta":{"line":107,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"ReplyOptions","description":"Options for sending a message with a reply.","type":[[["Object"]]],"props":[{"name":"messageReference","description":"The message to reply to (must be in the same channel and not system)","type":[[["MessageResolvable"]]]},{"name":"failIfNotExists","description":"Whether to error if the referenced message\ndoes not exist (creates a standard message in this case when false)","optional":true,"default":true,"type":[[["boolean"]]]}],"meta":{"line":114,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"AwaitMessagesOptions","description":"An object containing the same properties as CollectorOptions, but a few more:","type":[[["MessageCollectorOptions"]]],"props":[{"name":"errors","description":"Stop/end reasons that cause the promise to reject","optional":true,"type":[[["Array","<"],["string",">"]]]}],"meta":{"line":374,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"ChannelWebhookCreateOptions","description":"Options used to create a {@link Webhook} in a guild text-based channel.","type":[[["Object"]]],"props":[{"name":"avatar","description":"Avatar for the webhook","optional":true,"nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]]]},{"name":"reason","description":"Reason for creating the webhook","optional":true,"type":[[["string"]]]}],"meta":{"line":419,"file":"TextBasedChannel.js","path":"src/structures/interfaces"}},{"name":"TargetType","description":"The type of the invite target:\n* 1: STREAM\n* 2: EMBEDDED_APPLICATION\n* 3: ROLE_SUBSCRIPTIONS\n* 4: CREATOR_PAGE","see":["{@link https://discord.com/developers/docs/resources/invite#invite-object-invite-target-types}"],"type":[[["number"]]],"meta":{"line":155,"file":"Invite.js","path":"src/structures"}},{"name":"InviteType","description":"The type of the invite:\n* 0: GUILD\n* 1: GROUP_DM\n* 2: FRIEND","see":["{@link https://docs.discord.sex/resources/invite#invite-type}"],"type":[[["number"]]],"meta":{"line":175,"file":"Invite.js","path":"src/structures"}},{"name":"MessageReference","description":"Reference data sent in a message that contains ids identifying the referenced message.\nThis can be present in the following types of message:\n* Crossposted messages (IS_CROSSPOST {@link MessageFlags.FLAGS message flag})\n* CHANNEL_FOLLOW_ADD\n* CHANNEL_PINNED_MESSAGE\n* REPLY\n* THREAD_STARTER_MESSAGE","see":["{@link https://discord.com/developers/docs/resources/channel#message-types}"],"type":[[["Object"]]],"props":[{"name":"channelId","description":"The channel's id the message was referenced","type":[[["Snowflake"]]]},{"name":"guildId","description":"The guild's id the message was referenced","nullable":true,"type":[[["Snowflake"]]]},{"name":"messageId","description":"The message's id that was referenced","nullable":true,"type":[[["Snowflake"]]]}],"meta":{"line":317,"file":"Message.js","path":"src/structures"}},{"name":"MessageInteraction","description":"Partial data of the interaction that a message is a reply to","type":[[["Object"]]],"props":[{"name":"id","description":"The interaction's id","type":[[["Snowflake"]]]},{"name":"type","description":"The type of the interaction","type":[[["InteractionType"]]]},{"name":"commandName","description":"The name of the interaction's application command,\nas well as the subcommand and subcommand group, where applicable","type":[[["string"]]]},{"name":"user","description":"The user that invoked the interaction","type":[[["User"]]]}],"meta":{"line":350,"file":"Message.js","path":"src/structures"}},{"name":"AwaitReactionsOptions","description":"An object containing the same properties as CollectorOptions, but a few more:","type":[[["ReactionCollectorOptions"]]],"props":[{"name":"errors","description":"Stop/end reasons that cause the promise to reject","optional":true,"type":[[["Array","<"],["string",">"]]]}],"meta":{"line":516,"file":"Message.js","path":"src/structures"}},{"name":"MessageEditOptions","description":"Options that can be passed into {@link Message#edit}.","type":[[["Object"]]],"props":[{"name":"content","description":"Content to be edited","optional":true,"nullable":true,"type":[[["string"]]]},{"name":"embeds","description":"Embeds to be added/edited","optional":true,"type":[[["Array","<"],["MessageEmbed",">"]],[["Array","<"],["APIEmbed",">"]]]},{"name":"allowedMentions","description":"Which mentions should be parsed from the message content","optional":true,"type":[[["MessageMentionOptions"]]]},{"name":"flags","description":"Which flags to set for the message. Only `SUPPRESS_EMBEDS` can be edited.","optional":true,"type":[[["MessageFlags"]]]},{"name":"attachments","description":"An array of attachments to keep,\nall attachments will be kept if omitted","optional":true,"type":[[["Array","<"],["MessageAttachment",">"]]]},{"name":"files","description":"Files to add to the message","optional":true,"type":[[["Array","<"],["FileOptions",">"]],[["Array","<"],["BufferResolvable",">"]],[["Array","<"],["MessageAttachment",">"]]]},{"name":"components","description":"Action rows containing interactive components for the message (buttons, select menus)","optional":true,"type":[[["Array","<"],["MessageActionRow",">"]],[["Array","<"],["MessageActionRowOptions",">"]]]}],"meta":{"line":657,"file":"Message.js","path":"src/structures"}},{"name":"ReplyMessageOptions","description":"Options provided when sending a message as an inline reply.","type":[[["BaseMessageOptions"]]],"props":[{"name":"failIfNotExists","description":"Whether to error if the referenced message\ndoes not exist (creates a standard message in this case when false)","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"stickers","description":"Stickers to send in the message","optional":true,"default":"[]","type":[[["Array","<"],["StickerResolvable",">"]]]}],"meta":{"line":781,"file":"Message.js","path":"src/structures"}},{"name":"ThreadAutoArchiveDuration","description":"A number that is allowed to be the duration (in minutes) of inactivity after which a thread is automatically\narchived. This can be:\n* `60` (1 hour)\n* `1440` (1 day)\n* `4320` (3 days)\n* `10080` (7 days)\n* `'MAX'` (7 days)\nThis option is deprecated and will be removed in the next major version.","type":[[["number"]],[["string"]]],"meta":{"line":816,"file":"Message.js","path":"src/structures"}},{"name":"StartThreadOptions","description":"Options for starting a thread on a message.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the new thread","type":[[["string"]]]},{"name":"autoArchiveDuration","description":"The amount of\ntime (in minutes) after which the thread should automatically archive in case of no recent activity","optional":true,"default":"this.channel.defaultAutoArchiveDuration","type":[[["ThreadAutoArchiveDuration"]]]},{"name":"reason","description":"Reason for creating the thread","optional":true,"type":[[["string"]]]},{"name":"rateLimitPerUser","description":"The rate limit per user (slowmode) for the thread in seconds","optional":true,"type":[[["number"]]]}],"meta":{"line":828,"file":"Message.js","path":"src/structures"}},{"name":"MessageButtonLocation","description":"Click specific button with X and Y","type":[[["Object"]]],"props":[{"name":"X","description":"Index of the row","type":[[["number"]]]},{"name":"Y","description":"Index of the column","type":[[["number"]]]}],"meta":{"line":1029,"file":"Message.js","path":"src/structures"}},{"name":"MessageActionRowComponent","description":"Components that can be placed in an action row\n* MessageButton\n* MessageSelectMenu\n* TextInputComponent","type":[[["MessageButton"]],[["MessageSelectMenu"]],[["TextInputComponent"]]],"meta":{"line":11,"file":"MessageActionRow.js","path":"src/structures"}},{"name":"MessageActionRowComponentOptions","description":"Options for components that can be placed in an action row\n* MessageButtonOptions\n* MessageSelectMenuOptions\n* TextInputComponentOptions","type":[[["MessageButtonOptions"]],[["MessageSelectMenuOptions"]],[["TextInputComponentOptions"]]],"meta":{"line":19,"file":"MessageActionRow.js","path":"src/structures"}},{"name":"MessageActionRowComponentResolvable","description":"Data that can be resolved into components that can be placed in an action row\n* MessageActionRowComponent\n* MessageActionRowComponentOptions","type":[[["MessageActionRowComponent"]],[["MessageActionRowComponentOptions"]]],"meta":{"line":27,"file":"MessageActionRow.js","path":"src/structures"}},{"name":"MessageActionRowOptions","type":[[["BaseMessageComponentOptions"]]],"props":[{"name":"components","description":"The components to place in this action row","optional":true,"type":[[["Array","<"],["MessageActionRowComponentResolvable",">"]]]}],"meta":{"line":34,"file":"MessageActionRow.js","path":"src/structures"}},{"name":"MessageButtonOptions","type":[[["BaseMessageComponentOptions"]]],"props":[{"name":"label","description":"The text to be displayed on this button","optional":true,"type":[[["string"]]]},{"name":"customId","description":"A unique string to be sent in the interaction when clicked","optional":true,"type":[[["string"]]]},{"name":"style","description":"The style of this button","optional":true,"type":[[["MessageButtonStyleResolvable"]]]},{"name":"emoji","description":"The emoji to be displayed to the left of the text","optional":true,"type":[[["EmojiIdentifierResolvable"]]]},{"name":"url","description":"Optional URL for link-style buttons","optional":true,"type":[[["string"]]]},{"name":"disabled","description":"Disables the button to prevent interactions","optional":true,"default":false,"type":[[["boolean"]]]}],"meta":{"line":13,"file":"MessageButton.js","path":"src/structures"}},{"name":"MessageButtonStyleResolvable","description":"Data that can be resolved to a MessageButtonStyle. This can be\n* MessageButtonStyle\n* number","type":[[["number"]],[["MessageButtonStyle"]]],"meta":{"line":147,"file":"MessageButton.js","path":"src/structures"}},{"name":"MessageCollectorOptions","type":[[["CollectorOptions"]]],"props":[{"name":"max","description":"The maximum amount of messages to collect","type":[[["number"]]]},{"name":"maxProcessed","description":"The maximum amount of messages to process","type":[[["number"]]]}],"meta":{"line":6,"file":"MessageCollector.js","path":"src/structures"}},{"name":"APIMessageActionRowComponent","description":"Raw message components from the API\n* APIMessageButton\n* APIMessageSelectMenu","type":[[["APIMessageButton"]],[["APIMessageSelectMenu"]]],"meta":{"line":66,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"Partial","description":"A `Partial` object is a representation of any existing object.\nThis object contains between 0 and all of the original objects parameters.\nThis is true regardless of whether the parameters are optional in the base object.","type":[[["Object"]]],"meta":{"line":22,"file":"WebEmbed.js","path":"src/structures"}},{"name":"MessageEmbedOptions","description":"Represents the possible options for a MessageEmbed","type":[[["Object"]]],"props":[{"name":"title","description":"The title of this embed","optional":true,"type":[[["string"]]]},{"name":"description","description":"The description of this embed","optional":true,"type":[[["string"]]]},{"name":"url","description":"The URL of this embed","optional":true,"type":[[["string"]]]},{"name":"timestamp","description":"The timestamp of this embed","optional":true,"type":[[["Date"]],[["number"]]]},{"name":"color","description":"The color of this embed","optional":true,"type":[[["ColorResolvable"]]]},{"name":"fields","description":"The fields of this embed","optional":true,"type":[[["Array","<"],["EmbedFieldData",">"]]]},{"name":"author","description":"The author of this embed","optional":true,"type":[[["Partial","<"],["MessageEmbedAuthor",">"]]]},{"name":"thumbnail","description":"The thumbnail of this embed","optional":true,"type":[[["Partial","<"],["MessageEmbedThumbnail",">"]]]},{"name":"image","description":"The image of this embed","optional":true,"type":[[["Partial","<"],["MessageEmbedImage",">"]]]},{"name":"video","description":"The video of this embed","optional":true,"type":[[["Partial","<"],["MessageEmbedVideo",">"]]]},{"name":"footer","description":"The footer of this embed","optional":true,"type":[[["Partial","<"],["MessageEmbedFooter",">"]]]}],"meta":{"line":24,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"EmbedField","description":"Represents a field of a MessageEmbed","type":[[["Object"]]],"props":[{"name":"name","description":"The name of this field","type":[[["string"]]]},{"name":"value","description":"The value of this field","type":[[["string"]]]},{"name":"inline","description":"If this field will be displayed inline","type":[[["boolean"]]]}],"meta":{"line":93,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"MessageEmbedThumbnail","description":"Represents the thumbnail of a MessageEmbed","type":[[["Object"]]],"props":[{"name":"url","description":"URL for this thumbnail","type":[[["string"]]]},{"name":"proxyURL","description":"ProxyURL for this thumbnail","type":[[["string"]]]},{"name":"height","description":"Height of this thumbnail","type":[[["number"]]]},{"name":"width","description":"Width of this thumbnail","type":[[["number"]]]}],"meta":{"line":110,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"MessageEmbedImage","description":"Represents the image of a MessageEmbed","type":[[["Object"]]],"props":[{"name":"url","description":"URL for this image","type":[[["string"]]]},{"name":"proxyURL","description":"ProxyURL for this image","type":[[["string"]]]},{"name":"height","description":"Height of this image","type":[[["number"]]]},{"name":"width","description":"Width of this image","type":[[["number"]]]}],"meta":{"line":132,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"MessageEmbedVideo","description":"Represents the video of a MessageEmbed","type":[[["Object"]]],"props":[{"name":"url","description":"URL of this video","type":[[["string"]]]},{"name":"proxyURL","description":"ProxyURL for this video","type":[[["string"]]]},{"name":"height","description":"Height of this video","type":[[["number"]]]},{"name":"width","description":"Width of this video","type":[[["number"]]]}],"meta":{"line":154,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"MessageEmbedAuthor","description":"Represents the author field of a MessageEmbed","type":[[["Object"]]],"props":[{"name":"name","description":"The name of this author","type":[[["string"]]]},{"name":"url","description":"URL of this author","type":[[["string"]]]},{"name":"iconURL","description":"URL of the icon for this author","type":[[["string"]]]},{"name":"proxyIconURL","description":"Proxied URL of the icon for this author","type":[[["string"]]]}],"meta":{"line":177,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"MessageEmbedProvider","description":"Represents the provider of a MessageEmbed","type":[[["Object"]]],"props":[{"name":"name","description":"The name of this provider","type":[[["string"]]]},{"name":"url","description":"URL of this provider","type":[[["string"]]]}],"meta":{"line":199,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"MessageEmbedFooter","description":"Represents the footer field of a MessageEmbed","type":[[["Object"]]],"props":[{"name":"text","description":"The text of this footer","type":[[["string"]]]},{"name":"iconURL","description":"URL of the icon for this footer","type":[[["string"]]]},{"name":"proxyIconURL","description":"Proxied URL of the icon for this footer","type":[[["string"]]]}],"meta":{"line":217,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"EmbedAuthorData","description":"The options to provide for setting an author for a {@link WebEmbed}.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of this author.","type":[[["string"]]]}],"meta":{"line":185,"file":"WebEmbed.js","path":"src/structures"}},{"name":"EmbedFooterData","description":"The options to provide for setting a footer for a {@link MessageEmbed}.","type":[[["Object"]]],"props":[{"name":"text","description":"The text of the footer.","type":[[["string"]]]},{"name":"iconURL","description":"The icon URL of the footer.","optional":true,"type":[[["string"]]]}],"meta":{"line":427,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"EmbedFieldData","type":[[["Object"]]],"props":[{"name":"name","description":"The name of this field","type":[[["string"]]]},{"name":"value","description":"The value of this field","type":[[["string"]]]},{"name":"inline","description":"If this field will be displayed inline","optional":true,"type":[[["boolean"]]]}],"meta":{"line":560,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"CrosspostedChannel","description":"Crossposted channel data.","type":[[["Object"]]],"props":[{"name":"channelId","description":"The mentioned channel's id","type":[[["Snowflake"]]]},{"name":"guildId","description":"The id of the guild that has the channel","type":[[["Snowflake"]]]},{"name":"type","description":"The channel's type","type":[[["ChannelType"]]]},{"name":"name","description":"The channel's name","type":[[["string"]]]}],"meta":{"line":103,"file":"MessageMentions.js","path":"src/structures"}},{"name":"MessageMentionsHasOptions","description":"Options used to check for a mention.","type":[[["Object"]]],"props":[{"name":"ignoreDirect","description":"Whether to ignore direct mentions to the item","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"ignoreRoles","description":"Whether to ignore role mentions to a guild member","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"ignoreRepliedUser","description":"Whether to ignore replied user mention to an user","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"ignoreEveryone","description":"Whether to ignore `@everyone`/`@here` mentions","optional":true,"default":false,"type":[[["boolean"]]]}],"meta":{"line":195,"file":"MessageMentions.js","path":"src/structures"}},{"name":"MessageTarget","description":"A target for a message.","type":[[["TextBasedChannels"]],[["User"]],[["GuildMember"]],[["Webhook"]],[["WebhookClient"]],[["Interaction"]],[["InteractionWebhook"]],[["Message"]],[["MessageManager"]]],"meta":{"line":309,"file":"MessagePayload.js","path":"src/structures"}},{"name":"MessageFile","type":[[["Object"]]],"props":[{"name":"attachment","description":"The original attachment that generated this file","type":[[["Buffer"]],[["string"]],[["Stream"]]]},{"name":"name","description":"The name of this file","type":[[["string"]]]},{"name":"file","description":"The file to be sent to the API","type":[[["Buffer"]],[["Stream"]]]}],"meta":{"line":40,"file":"MessagePayload.js","path":"src/structures"}},{"name":"MessagePollMedia","description":"The poll media object is a common object that backs both the question and answers. For now, `question` only supports `text`, while `answers` can have an optional `emoji`.","see":["{@link https://docs.discord.sex/resources/message#poll-media-structure}"],"type":[[["Object"]]],"props":[{"name":"text","description":"The text of the field (max 300 characters for question, 55 characters for answer)","nullable":true,"type":[[["string"]]]},{"name":"emoji","description":"The emoji of the field","nullable":true,"type":[[["RawEmoji"]]]}],"meta":{"line":20,"file":"MessagePoll.js","path":"src/structures"}},{"name":"MessagePollResult","description":"Poll Results Structure","see":["{@link https://docs.discord.sex/resources/message#poll-results-structure}"],"type":[[["Object"]]],"props":[{"name":"isFinalized","description":"Whether the votes have been precisely counted","type":[[["boolean"]]]},{"name":"answerCounts","description":"The counts for each answer","type":[[["Collection","<"],["number",", "],["MessagePollResultAnswerCount",">"]]]}],"meta":{"line":93,"file":"MessagePoll.js","path":"src/structures"}},{"name":"MessagePollResultAnswerCount","description":"Poll Answer Count Structure","see":["{@link https://docs.discord.sex/resources/message#poll-answer-count-structure}"],"type":[[["Object"]]],"props":[{"name":"answer","description":"answer","type":[[["MessagePollMedia"]]]},{"name":"count","description":"The number of votes for this answer","type":[[["number"]]]},{"name":"selfVoted","description":"Whether the current user voted for this answer","type":[[["boolean"]]]}],"meta":{"line":100,"file":"MessagePoll.js","path":"src/structures"}},{"name":"ReactionCountDetailsData","description":"The reaction count details object contains information about super and normal reaction counts.","type":[[["Object"]]],"props":[{"name":"burst","description":"Count of super reaction","type":[[["number"]]]},{"name":"normal","description":"Count of normal reaction","type":[[["number"]]]}],"meta":{"line":76,"file":"MessageReaction.js","path":"src/structures"}},{"name":"MessageSelectMenuOptions","type":[[["BaseMessageComponentOptions"]]],"props":[{"name":"customId","description":"A unique string to be sent in the interaction when clicked","optional":true,"type":[[["string"]]]},{"name":"placeholder","description":"Custom placeholder text to display when nothing is selected","optional":true,"type":[[["string"]]]},{"name":"minValues","description":"The minimum number of selections required","optional":true,"type":[[["number"]]]},{"name":"maxValues","description":"The maximum number of selections allowed","optional":true,"type":[[["number"]]]},{"name":"options","description":"Options for the select menu","optional":true,"type":[[["Array","<"],["MessageSelectOption",">"]]]},{"name":"disabled","description":"Disables the select menu to prevent interactions","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"channelTypes","description":"List of channel types to include in the ChannelSelect component","optional":true,"type":[[["Array","<"],["ChannelType",">"]]]}],"meta":{"line":12,"file":"MessageSelectMenu.js","path":"src/structures"}},{"name":"MessageSelectOption","type":[[["Object"]]],"props":[{"name":"label","description":"The text to be displayed on this option","type":[[["string"]]]},{"name":"value","description":"The value to be sent for this option","type":[[["string"]]]},{"name":"description","description":"Optional description to show for this option","nullable":true,"type":[[["string"]]]},{"name":"emoji","description":"Emoji to display for this option","nullable":true,"type":[[["RawEmoji"]]]},{"name":"default","description":"Render this option as the default selection","type":[[["boolean"]]]}],"meta":{"line":23,"file":"MessageSelectMenu.js","path":"src/structures"}},{"name":"MessageSelectOptionData","type":[[["Object"]]],"props":[{"name":"label","description":"The text to be displayed on this option","type":[[["string"]]]},{"name":"value","description":"The value to be sent for this option","type":[[["string"]]]},{"name":"description","description":"Optional description to show for this option","optional":true,"type":[[["string"]]]},{"name":"emoji","description":"Emoji to display for this option","optional":true,"type":[[["EmojiIdentifierResolvable"]]]},{"name":"default","description":"Render this option as the default selection","optional":true,"type":[[["boolean"]]]}],"meta":{"line":32,"file":"MessageSelectMenu.js","path":"src/structures"}},{"name":"PartialTextInputData","type":[[["Object"]]],"props":[{"name":"customId","description":"A unique string to be sent in the interaction when submitted","optional":true,"type":[[["string"]]]},{"name":"type","description":"The type of this component","optional":true,"type":[[["MessageComponentType"]]]},{"name":"value","description":"Value of this text input component","optional":true,"type":[[["string"]]]}],"meta":{"line":24,"file":"ModalSubmitInteraction.js","path":"src/structures"}},{"name":"PartialModalActionRow","type":[[["Object"]]],"props":[{"name":"type","description":"The type of this component","optional":true,"type":[[["MessageComponentType"]]]},{"name":"components","description":"Partial text input components","optional":true,"type":[[["Array","<"],["PartialTextInputData",">"]]]}],"meta":{"line":31,"file":"ModalSubmitInteraction.js","path":"src/structures"}},{"name":"PermissionOverwriteOptions","description":"An object mapping permission flags to `true` (enabled), `null` (unset) or `false` (disabled).\n```js\n{\n 'SEND_MESSAGES': true,\n 'EMBED_LINKS': null,\n 'ATTACH_FILES': false,\n}\n```","type":[[["Object"]]],"meta":{"line":97,"file":"PermissionOverwrites.js","path":"src/structures"}},{"name":"ResolvedOverwriteOptions","type":[[["Object"]]],"props":[{"name":"allow","description":"The allowed permissions","type":[[["Permissions"]]]},{"name":"deny","description":"The denied permissions","type":[[["Permissions"]]]}],"meta":{"line":109,"file":"PermissionOverwrites.js","path":"src/structures"}},{"name":"RawOverwriteData","description":"The raw data for a permission overwrite","type":[[["Object"]]],"props":[{"name":"id","description":"The id of the {@link Role} or {@link User} this overwrite belongs to","type":[[["Snowflake"]]]},{"name":"allow","description":"The permissions to allow","type":[[["string"]]]},{"name":"deny","description":"The permissions to deny","type":[[["string"]]]},{"name":"type","description":"The type of this OverwriteData","type":[[["number"]]]}],"meta":{"line":141,"file":"PermissionOverwrites.js","path":"src/structures"}},{"name":"OverwriteResolvable","description":"Data that can be resolved into {@link RawOverwriteData}. This can be:\n* PermissionOverwrites\n* OverwriteData","type":[[["PermissionOverwrites"]],[["OverwriteData"]]],"meta":{"line":150,"file":"PermissionOverwrites.js","path":"src/structures"}},{"name":"OverwriteData","description":"Data that can be used for a permission overwrite","type":[[["Object"]]],"props":[{"name":"id","description":"Member or role this overwrite is for","type":[[["GuildMemberResolvable"]],[["RoleResolvable"]]]},{"name":"allow","description":"The permissions to allow","optional":true,"type":[[["PermissionResolvable"]]]},{"name":"deny","description":"The permissions to deny","optional":true,"type":[[["PermissionResolvable"]]]},{"name":"type","description":"The type of this OverwriteData","optional":true,"type":[[["OverwriteType"]]]}],"meta":{"line":157,"file":"PermissionOverwrites.js","path":"src/structures"}},{"name":"MessageActivity","description":"Activity sent in a message.","type":[[["Object"]]],"props":[{"name":"partyId","description":"Id of the party represented in activity","optional":true,"type":[[["string"]]]},{"name":"type","description":"Type of activity sent","type":[[["MessageActivityType"]]]}],"meta":{"line":9,"file":"Presence.js","path":"src/structures"}},{"name":"PresenceStatus","description":"The status of this presence:\n* **`online`** - user is online\n* **`idle`** - user is AFK\n* **`offline`** - user is offline or invisible\n* **`dnd`** - user is in Do Not Disturb","type":[[["string"]]],"meta":{"line":21,"file":"Presence.js","path":"src/structures"}},{"name":"ClientPresenceStatus","description":"The status of this presence:\n* **`online`** - user is online\n* **`idle`** - user is AFK\n* **`dnd`** - user is in Do Not Disturb","type":[[["string"]]],"meta":{"line":30,"file":"Presence.js","path":"src/structures"}},{"name":"ActivityPlatform","description":"The platform of this activity:\n* **`desktop`**\n* **`samsung`** - playing on Samsung Galaxy\n* **`xbox`** - playing on Xbox Live\n* **`ios`**\n* **`android`**\n* **`embedded`**\n* **`ps4`**\n* **`ps5`**","type":[[["string"]]],"meta":{"line":177,"file":"Presence.js","path":"src/structures"}},{"name":"ActivityTimestamps","description":"Represents timestamps of an activity","type":[[["Object"]]],"props":[{"name":"start","description":"When the activity started","nullable":true,"type":[[["number"]]]},{"name":"end","description":"When the activity will end","nullable":true,"type":[[["number"]]]}],"meta":{"line":273,"file":"Presence.js","path":"src/structures"}},{"name":"ActivityParty","description":"Represents a party of an activity","type":[[["Object"]]],"props":[{"name":"id","description":"The party's id","nullable":true,"type":[[["string"]]]},{"name":"size","description":"Size of the party as `[current, max]`","type":[[["Array","<"],["number",">"]]]}],"meta":{"line":363,"file":"Presence.js","path":"src/structures"}},{"name":"RichPresenceImage","description":"Support:\n- cdn.discordapp.com\n- media.discordapp.net\n- Assets ID (https://discord.com/api/v9/oauth2/applications/{application_id}/assets)\n- Media Proxy (mp:external/{hash})\n- Twitch (twitch:{username})\n- YouTube (youtube:{video_id})\n- Spotify (spotify:{image_id})","type":[[["string"]]],"meta":{"line":584,"file":"Presence.js","path":"src/structures"}},{"name":"CustomStatusOptions","type":[[["Object"]]],"props":[{"name":"state","description":"The state to be displayed","optional":true,"type":[[["string"]]]},{"name":"emoji","description":"The emoji to be displayed","optional":true,"type":[[["EmojiIdentifierResolvable"]]]}],"meta":{"line":640,"file":"Presence.js","path":"src/structures"}},{"name":"RichParty","type":[[["Object"]]],"props":[{"name":"id","description":"The id of the party","type":[[["string"]]]},{"name":"max","description":"The maximum number of members in the party","type":[[["number"]]]},{"name":"current","description":"The current number of members in the party","type":[[["number"]]]}],"meta":{"line":817,"file":"Presence.js","path":"src/structures"}},{"name":"RichButton","type":[[["object"]]],"props":[{"name":"name","description":"The name of the button","type":[[["string"]]]},{"name":"url","description":"The url of the button","type":[[["string"]]]}],"meta":{"line":869,"file":"Presence.js","path":"src/structures"}},{"name":"ExternalAssets","type":[[["Object"]]],"props":[{"name":"url","description":"Orginal url of the image","nullable":true,"type":[[["string"]]]},{"name":"external_asset_path","description":"Proxy url of the image (Using to RPC)","nullable":true,"type":[[["string"]]]}],"meta":{"line":957,"file":"Presence.js","path":"src/structures"}},{"name":"SpotifyMetadata","type":[[["Object"]]],"props":[{"name":"album_id","description":"The Spotify ID of the album of the song being played","type":[[["string"]]]},{"name":"artist_ids","description":"The Spotify IDs of the artists of the song being played","type":[[["Array","<"],["string",">"]]]},{"name":"context_uri","description":"The Spotify URI of the current player context","type":[[["string"]]]}],"meta":{"line":1038,"file":"Presence.js","path":"src/structures"}},{"name":"ReactionCollectorOptions","type":[[["CollectorOptions"]]],"props":[{"name":"max","description":"The maximum total amount of reactions to collect","type":[[["number"]]]},{"name":"maxEmojis","description":"The maximum number of emojis to collect","type":[[["number"]]]},{"name":"maxUsers","description":"The maximum number of users to react","type":[[["number"]]]}],"meta":{"line":7,"file":"ReactionCollector.js","path":"src/structures"}},{"name":"RoleData","description":"The data for a role.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the role","optional":true,"type":[[["string"]]]},{"name":"color","description":"The color of the role, either a hex string or a base 10 number","optional":true,"type":[[["ColorResolvable"]]]},{"name":"hoist","description":"Whether or not the role should be hoisted","optional":true,"type":[[["boolean"]]]},{"name":"position","description":"The position of the role","optional":true,"type":[[["number"]]]},{"name":"permissions","description":"The permissions of the role","optional":true,"type":[[["PermissionResolvable"]]]},{"name":"mentionable","description":"Whether or not the role should be mentionable","optional":true,"type":[[["boolean"]]]},{"name":"icon","description":"The icon for the role\nThe `EmojiResolvable` should belong to the same guild as the role.\nIf not, pass the emoji's URL directly","optional":true,"nullable":true,"type":[[["BufferResolvable"]],[["Base64Resolvable"]],[["EmojiResolvable"]]]},{"name":"unicodeEmoji","description":"The unicode emoji for the role","optional":true,"nullable":true,"type":[[["string"]]]}],"meta":{"line":265,"file":"Role.js","path":"src/structures"}},{"name":"SetRolePositionOptions","description":"Options used to set the position of a role.","type":[[["Object"]]],"props":[{"name":"relative","description":"Whether to change the position relative to its current value or not","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"reason","description":"The reason for changing the position","optional":true,"type":[[["string"]]]}],"meta":{"line":415,"file":"Role.js","path":"src/structures"}},{"name":"GuildStickerEditData","description":"Data for editing a sticker.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the sticker","optional":true,"type":[[["string"]]]},{"name":"description","description":"The description of the sticker","optional":true,"nullable":true,"type":[[["string"]]]},{"name":"tags","description":"The Discord name of a unicode emoji representing the sticker's expression","optional":true,"type":[[["string"]]]}],"meta":{"line":235,"file":"Sticker.js","path":"src/structures"}},{"name":"TextInputComponentOptions","type":[[["BaseMessageComponentOptions"]]],"props":[{"name":"customId","description":"A unique string to be sent in the interaction when submitted","optional":true,"type":[[["string"]]]},{"name":"label","description":"The text to be displayed above this text input component","optional":true,"type":[[["string"]]]},{"name":"maxLength","description":"Maximum length of text that can be entered","optional":true,"type":[[["number"]]]},{"name":"minLength","description":"Minimum length of text required to be entered","optional":true,"type":[[["number"]]]},{"name":"placeholder","description":"Custom placeholder text to display when no text is entered","optional":true,"type":[[["string"]]]},{"name":"required","description":"Whether or not this text input component is required","optional":true,"type":[[["boolean"]]]},{"name":"style","description":"The style of this text input component","optional":true,"type":[[["TextInputStyleResolvable"]]]},{"name":"value","description":"Value of this text input component","optional":true,"type":[[["string"]]]}],"meta":{"line":14,"file":"TextInputComponent.js","path":"src/structures"}},{"name":"TextInputStyleResolvable","description":"Data that can be resolved to a TextInputStyle. This can be\n* TextInputStyle\n* number","type":[[["number"]],[["TextInputStyle"]]],"meta":{"line":113,"file":"TextInputComponent.js","path":"src/structures"}},{"name":"ThreadEditData","description":"The options used to edit a thread channel","type":[[["Object"]]],"props":[{"name":"name","description":"The new name for the thread","optional":true,"type":[[["string"]]]},{"name":"archived","description":"Whether the thread is archived","optional":true,"type":[[["boolean"]]]},{"name":"autoArchiveDuration","description":"The amount of time (in minutes) after which the thread\nshould automatically archive in case of no recent activity","optional":true,"type":[[["ThreadAutoArchiveDuration"]]]},{"name":"rateLimitPerUser","description":"The rate limit per user (slowmode) for the thread in seconds","optional":true,"type":[[["number"]]]},{"name":"locked","description":"Whether the thread is locked","optional":true,"type":[[["boolean"]]]},{"name":"invitable","description":"Whether non-moderators can add other non-moderators to a thread\nCan only be edited on `GUILD_PRIVATE_THREAD`","optional":true,"type":[[["boolean"]]]},{"name":"appliedTags","description":"The tags to apply to the thread","optional":true,"type":[[["Array","<"],["Snowflake",">"]]]},{"name":"flags","description":"The flags to set on the channel","optional":true,"type":[[["ChannelFlagsResolvable"]]]}],"meta":{"line":316,"file":"ThreadChannel.js","path":"src/structures"}},{"name":"UserClan","description":"User Clan Structure","see":["{@link https://docs.discord.sex/resources/user#user-clan-structure}"],"type":[[["Object"]]],"props":[{"name":"identityGuildId","description":"The ID of the user's primary clan","nullable":true,"type":[[["Snowflake"]]]},{"name":"identityEnabled","description":"Whether the user is displaying their clan tag","type":[[["boolean"]]]},{"name":"tag","description":"The text of the user's clan tag (max 4 characters)","nullable":true,"type":[[["string"]]]},{"name":"badge","description":"The clan's badge hash","nullable":true,"type":[[["string"]]]}],"meta":{"line":156,"file":"User.js","path":"src/structures"}},{"name":"WebEmbedOptions","description":"Represents the possible options for a WebEmbed","type":[[["Object"]]],"props":[{"name":"title","description":"The title of this embed","optional":true,"type":[[["string"]]]},{"name":"description","description":"The description of this embed","optional":true,"type":[[["string"]]]},{"name":"url","description":"The URL of this embed","optional":true,"type":[[["string"]]]},{"name":"color","description":"The color of this embed","optional":true,"type":[[["ColorResolvable"]]]},{"name":"author","description":"The author of this embed","optional":true,"type":[[["Partial","<"],["WebEmbedAuthor",">"]]]},{"name":"thumbnail","description":"The thumbnail of this embed","optional":true,"type":[[["Partial","<"],["WebEmbedThumbnail",">"]]]},{"name":"image","description":"The image of this embed","optional":true,"type":[[["Partial","<"],["WebEmbedImage",">"]]]},{"name":"video","description":"The video of this embed","optional":true,"type":[[["Partial","<"],["WebEmbedVideo",">"]]]},{"name":"footer","description":"The footer of this embed","optional":true,"type":[[["Partial","<"],["WebEmbedFooter",">"]]]},{"name":"provider","description":"The provider of this embed","optional":true,"type":[[["Partial","<"],["WebEmbedProvider",">"]]]},{"name":"redirect","description":"Redirect URL","optional":true,"type":[[["string"]]]}],"meta":{"line":29,"file":"WebEmbed.js","path":"src/structures"}},{"name":"WebEmbedImage","description":"Represents the image of a WebEmbed","type":[[["Object"]]],"props":[{"name":"url","description":"URL for this image","type":[[["string"]]]},{"name":"proxyURL","description":"ProxyURL for this image","type":[[["string"]]]},{"name":"height","description":"Height of this image","type":[[["number"]]]},{"name":"width","description":"Width of this image","type":[[["number"]]]}],"meta":{"line":85,"file":"WebEmbed.js","path":"src/structures"}},{"name":"WebEmbedVideo","description":"Represents the video of a WebEmbed","type":[[["Object"]]],"props":[{"name":"url","description":"URL of this video","type":[[["string"]]]},{"name":"proxyURL","description":"ProxyURL for this video","type":[[["string"]]]},{"name":"height","description":"Height of this video","type":[[["number"]]]},{"name":"width","description":"Width of this video","type":[[["number"]]]}],"meta":{"line":120,"file":"WebEmbed.js","path":"src/structures"}},{"name":"WebEmbedAuthor","description":"Represents the author field of a WebEmbed","type":[[["Object"]]],"props":[{"name":"name","description":"The name of this author","type":[[["string"]]]},{"name":"url","description":"URL of this author","type":[[["string"]]]}],"meta":{"line":143,"file":"WebEmbed.js","path":"src/structures"}},{"name":"WebEmbedProvider","description":"Represents the provider of a WebEmbed","type":[[["Object"]]],"props":[{"name":"name","description":"The name of this provider","type":[[["string"]]]},{"name":"url","description":"URL of this provider","type":[[["string"]]]}],"meta":{"line":161,"file":"WebEmbed.js","path":"src/structures"}},{"name":"EmbedProviderData","description":"The options to provide for setting an provider for a {@link WebEmbed}.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of this provider.","type":[[["string"]]]}],"meta":{"line":210,"file":"WebEmbed.js","path":"src/structures"}},{"name":"WebhookMessageOptions","description":"Options that can be passed into send.","type":[[["BaseMessageOptions"]]],"props":[{"name":"username","description":"Username override for the message","optional":true,"default":"this.name","type":[[["string"]]]},{"name":"avatarURL","description":"Avatar URL override for the message","optional":true,"type":[[["string"]]]},{"name":"threadId","description":"The id of the thread in the channel to send to.\nFor interaction webhooks, this property is ignored","optional":true,"type":[[["Snowflake"]]]},{"name":"threadName","description":"Name of the thread to create (only available if webhook is in a forum channel)","optional":true,"type":[[["string"]]]},{"name":"flags","description":"Which flags to set for the message. Only `SUPPRESS_EMBEDS` can be set.","optional":true,"type":[[["MessageFlags"]]]}],"meta":{"line":112,"file":"Webhook.js","path":"src/structures"}},{"name":"WebhookEditMessageOptions","description":"Options that can be passed into editMessage.","type":[[["Object"]]],"props":[{"name":"embeds","description":"See {@link WebhookMessageOptions#embeds}","optional":true,"type":[[["Array","<"],["MessageEmbed",">"]],[["Array","<"],["APIEmbed",">"]]]},{"name":"content","description":"See {@link BaseMessageOptions#content}","optional":true,"type":[[["string"]]]},{"name":"files","description":"See {@link BaseMessageOptions#files}","optional":true,"type":[[["Array","<"],["FileOptions",">"]],[["Array","<"],["BufferResolvable",">"]],[["Array","<"],["MessageAttachment",">"]]]},{"name":"allowedMentions","description":"See {@link BaseMessageOptions#allowedMentions}","optional":true,"type":[[["MessageMentionOptions"]]]},{"name":"attachments","description":"Attachments to send with the message","optional":true,"type":[[["Array","<"],["MessageAttachment",">"]]]},{"name":"components","description":"Action rows containing interactive components for the message (buttons, select menus)","optional":true,"type":[[["Array","<"],["MessageActionRow",">"]],[["Array","<"],["MessageActionRowOptions",">"]]]},{"name":"threadId","description":"The id of the thread this message belongs to\nFor interaction webhooks, this property is ignored","optional":true,"type":[[["Snowflake"]]]}],"meta":{"line":123,"file":"Webhook.js","path":"src/structures"}},{"name":"WebhookEditData","description":"Options used to edit a {@link Webhook}.","type":[[["Object"]]],"props":[{"name":"name","description":"The new name for the webhook","optional":true,"default":"this.name","type":[[["string"]]]},{"name":"avatar","description":"The new avatar for the webhook","optional":true,"nullable":true,"type":[[["BufferResolvable"]]]},{"name":"channel","description":"The new channel for the webhook","optional":true,"type":[[["GuildTextChannelResolvable"]],[["VoiceChannel"]],[["StageChannel"]],[["ForumChannel"]]]}],"meta":{"line":237,"file":"Webhook.js","path":"src/structures"}},{"name":"WebhookFetchMessageOptions","description":"Options that can be passed into fetchMessage.","type":[[["options"]]],"props":[{"name":"cache","description":"Whether to cache the message.","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"threadId","description":"The id of the thread this message belongs to.\nFor interaction webhooks, this property is ignored","optional":true,"type":[[["Snowflake"]]]}],"meta":{"line":270,"file":"Webhook.js","path":"src/structures"}},{"name":"WidgetChannel","description":"Represents a channel in a Widget","type":[[["Object"]]],"props":[{"name":"id","description":"Id of the channel","type":[[["Snowflake"]]]},{"name":"name","description":"Name of the channel","type":[[["string"]]]},{"name":"position","description":"Position of the channel","type":[[["number"]]]}],"meta":{"line":17,"file":"Widget.js","path":"src/structures"}},{"name":"WidgetActivity","description":"Activity sent in a {@link WidgetMember}.","type":[[["Object"]]],"props":[{"name":"name","description":"The name of the activity","type":[[["string"]]]}],"meta":{"line":10,"file":"WidgetMember.js","path":"src/structures"}},{"name":"AttachmentFlagsResolvable","description":"Data that can be resolved to give a guild attachment bitfield. This can be:\n* A string (see {@link AttachmentFlags.FLAGS})\n* A attachment flag\n* An instance of AttachmentFlags\n* An Array of AttachmentFlagsResolvable","type":[[["string"]],[["number"]],[["AttachmentFlags"]],[["Array","<"],["AttachmentFlagsResolvable",">"]]],"meta":{"line":29,"file":"AttachmentFlags.js","path":"src/util"}},{"name":"BitFieldResolvable","description":"Data that can be resolved to give a bitfield. This can be:\n* A bit number (this can be a number literal or a value taken from {@link BitField.FLAGS})\n* A string bit number\n* An instance of BitField\n* An Array of BitFieldResolvable","type":[[["number"]],[["string"]],[["bigint"]],[["BitField"]],[["Array","<"],["BitFieldResolvable",">"]]],"meta":{"line":129,"file":"BitField.js","path":"src/util"}},{"name":"ChannelFlagsResolvable","description":"Data that can be resolved to give a channel flag bitfield. This can be:\n* A string (see {@link ChannelFlags.FLAGS})\n* A channel flag\n* An instance of ChannelFlags\n* An Array of ChannelFlags","type":[[["string"]],[["number"]],[["ChannelFlags"]],[["Array","<"],["ChannelFlagsResolvable",">"]]],"meta":{"line":36,"file":"ChannelFlags.js","path":"src/util"}},{"name":"Constants","description":"Constants that can be used in an enum or object-like way.","type":[[["Object"]]],"props":[{"name":"ActivityTypes","description":"The type of an activity of a users presence.","type":[[["Object","<"],["ActivityType",", "],["number",">"]]]},{"name":"APIErrors","description":"An error encountered while performing an API request.","type":[[["Object","<"],["APIError",", "],["number",">"]]]},{"name":"ApplicationCommandOptionTypes","description":"The type of an {@link ApplicationCommandOption} object.","type":[[["Object","<"],["ApplicationCommandOptionType",", "],["number",">"]]]},{"name":"ApplicationCommandPermissionTypes","description":"The type of an {@link ApplicationCommandPermissions} object.","type":[[["Object","<"],["ApplicationCommandPermissionType",", "],["number",">"]]]},{"name":"ApplicationCommandTypes","description":"The type of an {@link ApplicationCommand} object.","type":[[["Object","<"],["ApplicationCommandType",", "],["number",">"]]]},{"name":"ApplicationRoleConnectionMetadataTypes","description":"The type of an {@link ApplicationRoleConnectionMetadata} object.","type":[[["Object","<"],["ApplicationRoleConnectionMetadataType",", "],["number",">"]]]},{"name":"AutoModerationActionTypes","description":"A type of an action which executes whenever a rule is triggered.","type":[[["Object","<"],["AutoModerationActionType",", "],["number",">"]]]},{"name":"AutoModerationRuleEventTypes","description":"Indicates in what event context\na rule should be checked.","type":[[["Object","<"],["AutoModerationRuleEventType",", "],["number",">"]]]},{"name":"AutoModerationRuleKeywordPresetTypes","description":"The internally pre-defined wordsetswhich will be searched for in content","type":[[["Object","<"],["AutoModerationRuleKeywordPresetType",", "],["number",">"]]]},{"name":"AutoModerationRuleTriggerTypes","description":"Characterizes the type\nof content which can trigger the rule.","type":[[["Object","<"],["AutoModerationRuleTriggerType",", "],["number",">"]]]},{"name":"ChannelTypes","description":"All available channel types.","type":[[["Object","<"],["ChannelType",", "],["number",">"]]]},{"name":"ClientApplicationAssetTypes","description":"The types of an {@link ApplicationAsset} object.","type":[[["ClientApplicationAssetTypes"]]]},{"name":"Colors","description":"An object with regularly used colors.","type":[[["Object","<"],["Color",", "],["number",">"]]]},{"name":"DefaultMessageNotificationLevels","description":"The value set for a guilds default message notifications.","type":[[["Object","<"],["DefaultMessageNotificationLevel",", "],["number",">"]]]},{"name":"Endpoints","description":"Object containing functions that return certain endpoints on the API.","type":[[["Endpoints"]]]},{"name":"Events","description":"The types of events emitted by the Client.","type":[[["Events"]]]},{"name":"ExplicitContentFilterLevels","description":"The value set for the explicit content filter levels for a guild.","type":[[["Object","<"],["ExplicitContentFilterLevel",", "],["number",">"]]]},{"name":"GuildScheduledEventEntityTypes","description":"The entity type of a {@link GuildScheduledEvent} object.","type":[[["Object","<"],["GuildScheduledEventEntityType",", "],["number",">"]]]},{"name":"GuildScheduledEventPrivacyLevels","description":"Privacy level of a {@link GuildScheduledEvent} object.","type":[[["Object","<"],["GuildScheduledEventPrivacyLevel",", "],["number",">"]]]},{"name":"GuildScheduledEventStatuses","description":"The status of a {@link GuildScheduledEvent} object.","type":[[["Object","<"],["GuildScheduledEventStatus",", "],["number",">"]]]},{"name":"IntegrationExpireBehaviors","description":"The behavior of expiring subscribers for Integrations.","type":[[["Object","<"],["IntegrationExpireBehavior",", "],["number",">"]]]},{"name":"InteractionResponseTypes","description":"The type of an interaction response.","type":[[["Object","<"],["InteractionResponseType",", "],["number",">"]]]},{"name":"InteractionTypes","description":"The type of an {@link Interaction} object.","type":[[["Object","<"],["InteractionType",", "],["number",">"]]]},{"name":"InviteScopes","description":"The scopes of an invite.","type":[[["Array","<"],["InviteScope",">"]]]},{"name":"RelationshipTypes","description":"Relationship Enums","type":[[["Object","<"],["RelationshipType",", "],["number",">"]]]},{"name":"MembershipStates","description":"The value set for a team members membership state.","type":[[["Object","<"],["MembershipState",", "],["number",">"]]]},{"name":"MessageButtonStyles","description":"The style of a message button.","type":[[["Object","<"],["MessageButtonStyle",", "],["number",">"]]]},{"name":"MessageComponentTypes","description":"The type of a message component.","type":[[["Object","<"],["MessageComponentType",", "],["number",">"]]]},{"name":"MessageTypes","description":"The type of a {@link Message} object.","type":[[["Array","<"],["MessageType",">"]]]},{"name":"MFALevels","description":"The required MFA level for a guild.","type":[[["Object","<"],["MFALevel",", "],["number",">"]]]},{"name":"NSFWLevels","description":"NSFW level of a guild.","type":[[["Object","<"],["NSFWLevel",", "],["number",">"]]]},{"name":"Opcodes","description":"The types of Opcodes sent to the Gateway.","type":[[["Opcodes"]]]},{"name":"OverwriteTypes","description":"An overwrite type.","type":[[["Object","<"],["OverwriteType",", "],["number",">"]]]},{"name":"Package","description":"The package.json of the library.","type":[[["Object"]]]},{"name":"PartialTypes","description":"The type of Structure allowed to be a partial.","type":[[["Object","<"],["PartialType",", "],["PartialType",">"]]]},{"name":"PremiumTiers","description":"The premium tier (Server Boost level) of a guild.","type":[[["Object","<"],["PremiumTier",", "],["number",">"]]]},{"name":"PrivacyLevels","description":"Privacy level of a {@link StageInstance} object.","type":[[["Object","<"],["PrivacyLevel",", "],["number",">"]]]},{"name":"ShardEvents","description":"The type of events emitted by a Shard.","type":[[["ShardEvents"]]]},{"name":"Status","description":"The available statuses of the client.","type":[[["Status"]]]},{"name":"SelectMenuComponentTypes","description":"The type of any select menu.","type":[[["Object","<"],["SelectMenuComponentType",", "],["number",">"]]]},{"name":"StickerFormatTypes","description":"The value set for a stickers format type.","type":[[["Object","<"],["StickerFormatType",", "],["number",">"]]]},{"name":"StickerTypes","description":"The value set for a stickers type.","type":[[["Object","<"],["StickerType",", "],["number",">"]]]},{"name":"SweeperKeys","description":"The name of an item to be swept in Sweepers.","type":[[["Array","<"],["SweeperKey",">"]]]},{"name":"SystemMessageTypes","description":"The types of messages that are `System`.","type":[[["Array","<"],["SystemMessageType",">"]]]},{"name":"TextInputStyles","description":"The style of a text input component.","type":[[["Object","<"],["TextInputStyle",", "],["number",">"]]]},{"name":"ThreadChannelTypes","description":"The type of a {@link ThreadChannel} object.","type":[[["Array","<"],["ThreadChannelTypes",">"]]]},{"name":"UserAgent","description":"The user agent used for requests.","type":[[["string"]]]},{"name":"VerificationLevels","description":"The value set for the verification levels for a guild.","type":[[["Object","<"],["VerificationLevel",", "],["number",">"]]]},{"name":"VideoQualityModes","description":"The camera video quality mode for a {@link VoiceChannel}.","type":[[["Object","<"],["VideoQualityMode",", "],["number",">"]]]},{"name":"WebhookTypes","description":"The value set for a webhooks type.","type":[[["Object","<"],["WebhookType",", "],["number",">"]]]},{"name":"WSCodes","description":"The types of WebSocket error codes.","type":[[["WSCodes"]]]},{"name":"WSEvents","description":"The type of a WebSocket message event.","type":[[["Object","<"],["WSEventType",", "],["WSEventType",">"]]]}],"meta":{"line":1745,"file":"Constants.js","path":"src/util"}},{"name":"MaxBulkDeletableMessageAge","description":"Max bulk deletable message age","type":[[["number"]]],"meta":{"line":5,"file":"Constants.js","path":"src/util"}},{"name":"Ciphers","description":"Google Chrome v108 TLS ciphers","see":["{@link https://tls.browserleaks.com/tls}","{@link https://github.com/yifeikong/curl-impersonate}"],"type":[[["Array","<"],["string",">"]]],"meta":{"line":14,"file":"Constants.js","path":"src/util"}},{"name":"WSCodes","description":"The types of WebSocket error codes:\n* 1000: WS_CLOSE_REQUESTED\n* 1011: INTERNAL_ERROR\n* 4004: TOKEN_INVALID\n* 4010: SHARDING_INVALID\n* 4011: SHARDING_REQUIRED\n* 4013: INVALID_INTENTS\n* 4014: DISALLOWED_INTENTS","type":[[["Object","<"],["number",", "],["string",">"]]],"meta":{"line":38,"file":"Constants.js","path":"src/util"}},{"name":"ImageURLOptions","description":"Options for Image URLs.","type":[[["StaticImageURLOptions"]]],"props":[{"name":"dynamic","description":"If true, the format will dynamically change to `gif` for animated avatars.","optional":true,"default":false,"type":[[["boolean"]]]}],"meta":{"line":70,"file":"Constants.js","path":"src/util"}},{"name":"StaticImageURLOptions","description":"Options for static Image URLs.","type":[[["Object"]]],"props":[{"name":"format","description":"One of `webp`, `png`, `jpg`, `jpeg`.","optional":true,"default":"'webp'","type":[[["string"]]]},{"name":"size","description":"One of `16`, `32`, `56`, `64`, `96`, `128`, `256`, `300`, `512`, `600`, `1024`, `2048`,\n`4096`","optional":true,"type":[[["number"]]]}],"meta":{"line":76,"file":"Constants.js","path":"src/util"}},{"name":"Endpoints","description":"An object containing functions that return certain endpoints on the API.","see":["{@link https://discord.com/developers/docs/reference#image-formatting-cdn-endpoints}"],"type":[[["Object","<"],["string",", ("],["function","()|"],["string",")>"]]],"meta":{"line":84,"file":"Constants.js","path":"src/util"}},{"name":"Status","description":"The current status of the client. Here are the available statuses:\n* READY: 0\n* CONNECTING: 1\n* RECONNECTING: 2\n* IDLE: 3\n* NEARLY: 4\n* DISCONNECTED: 5\n* WAITING_FOR_GUILDS: 6\n* IDENTIFYING: 7\n* RESUMING: 8","type":[[["Object","<"],["string",", "],["number",">"]]],"meta":{"line":139,"file":"Constants.js","path":"src/util"}},{"name":"VoiceStatus","description":"The current status of a voice connection. Here are the available statuses:\n* CONNECTED: 0\n* CONNECTING: 1\n* AUTHENTICATING: 2\n* RECONNECTING: 3\n* DISCONNECTED: 4","type":[[["number"]]],"meta":{"line":164,"file":"Constants.js","path":"src/util"}},{"name":"Opcodes","description":"The Opcodes sent to the Gateway:\n* DISPATCH: 0\n* HEARTBEAT: 1\n* IDENTIFY: 2\n* STATUS_UPDATE: 3\n* VOICE_STATE_UPDATE: 4\n* VOICE_GUILD_PING: 5\n* RESUME: 6\n* RECONNECT: 7\n* REQUEST_GUILD_MEMBERS: 8\n* INVALID_SESSION: 9\n* HELLO: 10\n* HEARTBEAT_ACK: 11\n* GUILD_SYNC: 12 [Unused]\n* DM_UPDATE: 13 # Send => used to get dm features\n* GUILD_SUBSCRIPTIONS: 14 # Send => discord responds back with GUILD_MEMBER_LIST_UPDATE type SYNC...\n* LOBBY_CONNECT: 15\n* LOBBY_DISCONNECT: 16\n* LOBBY_VOICE_STATE_UPDATE: 17 # Receive\n* STREAM_CREATE: 18\n* STREAM_DELETE: 19\n* STREAM_WATCH: 20\n* STREAM_PING: 21 # Send\n* STREAM_SET_PAUSED: 22\n* LFG_SUBSCRIPTIONS: 23 [Unused]\n* REQUEST_GUILD_APPLICATION_COMMANDS: 24 [Unused]\n* EMBEDDED_ACTIVITY_LAUNCH: 25 => Launch an embedded activity in a voice channel or call.\n* EMBEDDED_ACTIVITY_CLOSE: 26 => Stop an embedded activity.\n* EMBEDDED_ACTIVITY_UPDATE: 27 => Update an embedded activity.\n* REQUEST_FORUM_UNREADS: 28 => Request forum channel unread counts.\n* REMOTE_COMMAND: 29 => Send a remote command to an embedded (Xbox, PlayStation) voice session.\n* GET_DELETED_ENTITY_IDS_NOT_MATCHING_HASH: 30 => Request deleted entity IDs not matching a given hash for a guild.\n* REQUEST_SOUNDBOARD_SOUNDS: 31\n* SPEED_TEST_CREATE: 32 => Create a voice speed test.\n* SPEED_TEST_DELETE: 33 => Delete a voice speed test.\n* REQUEST_LAST_MESSAGES: 34 => Request last messages for a guild's channels.\n* SEARCH_RECENT_MEMBERS: 35 => ~ Opcode 8 (Member Safety)\n* REQUEST_CHANNEL_STATUSES: 36 => Request Voice Channel status.\n* GUILD_SUBSCRIPTIONS_BULK: 37 => ~ Opcode 14","type":[[["Object","<"],["string",", "],["number",">"]]],"meta":{"line":181,"file":"Constants.js","path":"src/util"}},{"name":"VoiceOpcodes","type":[[["Opject","<"],["string",", "],["number",">"]]],"meta":{"line":264,"file":"Constants.js","path":"src/util"}},{"name":"Events","description":"The types of events emitted by the Client:\n* RATE_LIMIT: rateLimit\n* INVALID_REQUEST_WARNING: invalidRequestWarning\n* API_RESPONSE: apiResponse\n* API_REQUEST: apiRequest\n* CLIENT_READY: ready\n* APPLICATION_COMMAND_CREATE: applicationCommandCreate (deprecated)\n* APPLICATION_COMMAND_DELETE: applicationCommandDelete (deprecated)\n* APPLICATION_COMMAND_UPDATE: applicationCommandUpdate (deprecated)\n* APPLICATION_COMMAND_PERMISSIONS_UPDATE: applicationCommandPermissionsUpdate\n* AUTO_MODERATION_ACTION_EXECUTION: autoModerationActionExecution\n* AUTO_MODERATION_RULE_CREATE: autoModerationRuleCreate\n* AUTO_MODERATION_RULE_DELETE: autoModerationRuleDelete\n* AUTO_MODERATION_RULE_UPDATE: autoModerationRuleUpdate\n* GUILD_AVAILABLE: guildAvailable\n* GUILD_CREATE: guildCreate\n* GUILD_DELETE: guildDelete\n* GUILD_UPDATE: guildUpdate\n* GUILD_UNAVAILABLE: guildUnavailable\n* GUILD_MEMBER_ADD: guildMemberAdd\n* GUILD_MEMBER_REMOVE: guildMemberRemove\n* GUILD_MEMBER_UPDATE: guildMemberUpdate\n* GUILD_MEMBER_AVAILABLE: guildMemberAvailable\n* GUILD_MEMBERS_CHUNK: guildMembersChunk\n* GUILD_INTEGRATIONS_UPDATE: guildIntegrationsUpdate\n* GUILD_ROLE_CREATE: roleCreate\n* GUILD_ROLE_DELETE: roleDelete\n* INVITE_CREATE: inviteCreate\n* INVITE_DELETE: inviteDelete\n* GUILD_ROLE_UPDATE: roleUpdate\n* GUILD_EMOJI_CREATE: emojiCreate\n* GUILD_EMOJI_DELETE: emojiDelete\n* GUILD_EMOJI_UPDATE: emojiUpdate\n* GUILD_BAN_ADD: guildBanAdd\n* GUILD_BAN_REMOVE: guildBanRemove\n* CHANNEL_CREATE: channelCreate\n* CHANNEL_DELETE: channelDelete\n* CHANNEL_UPDATE: channelUpdate\n* CHANNEL_PINS_UPDATE: channelPinsUpdate\n* MESSAGE_CREATE: messageCreate\n* MESSAGE_DELETE: messageDelete\n* MESSAGE_UPDATE: messageUpdate\n* MESSAGE_BULK_DELETE: messageDeleteBulk\n* MESSAGE_REACTION_ADD: messageReactionAdd\n* MESSAGE_REACTION_REMOVE: messageReactionRemove\n* MESSAGE_REACTION_REMOVE_ALL: messageReactionRemoveAll\n* MESSAGE_REACTION_REMOVE_EMOJI: messageReactionRemoveEmoji\n* THREAD_CREATE: threadCreate\n* THREAD_DELETE: threadDelete\n* THREAD_UPDATE: threadUpdate\n* THREAD_LIST_SYNC: threadListSync\n* THREAD_MEMBER_UPDATE: threadMemberUpdate\n* THREAD_MEMBERS_UPDATE: threadMembersUpdate\n* USER_UPDATE: userUpdate\n* PRESENCE_UPDATE: presenceUpdate\n* VOICE_SERVER_UPDATE: voiceServerUpdate\n* VOICE_STATE_UPDATE: voiceStateUpdate\n* TYPING_START: typingStart\n* WEBHOOKS_UPDATE: webhookUpdate\n* ERROR: error\n* WARN: warn\n* DEBUG: debug\n* CACHE_SWEEP: cacheSweep\n* SHARD_DISCONNECT: shardDisconnect\n* SHARD_ERROR: shardError\n* SHARD_RECONNECTING: shardReconnecting\n* SHARD_READY: shardReady\n* SHARD_RESUME: shardResume\n* INVALIDATED: invalidated\n* RAW: raw\n* STAGE_INSTANCE_CREATE: stageInstanceCreate\n* STAGE_INSTANCE_UPDATE: stageInstanceUpdate\n* STAGE_INSTANCE_DELETE: stageInstanceDelete\n* GUILD_STICKER_CREATE: stickerCreate\n* GUILD_STICKER_DELETE: stickerDelete\n* GUILD_STICKER_UPDATE: stickerUpdate\n* GUILD_SCHEDULED_EVENT_CREATE: guildScheduledEventCreate\n* GUILD_SCHEDULED_EVENT_UPDATE: guildScheduledEventUpdate\n* GUILD_SCHEDULED_EVENT_DELETE: guildScheduledEventDelete\n* GUILD_SCHEDULED_EVENT_USER_ADD: guildScheduledEventUserAdd\n* GUILD_SCHEDULED_EVENT_USER_REMOVE: guildScheduledEventUserRemove\n* GUILD_AUDIT_LOG_ENTRY_CREATE: guildAuditLogEntryCreate\n* UNHANDLED_PACKET: unhandledPacket\n* RELATIONSHIP_ADD: relationshipAdd\n* RELATIONSHIP_REMOVE: relationshipRemove\n* RELATIONSHIP_UPDATE: relationshipUpdate\n* CHANNEL_RECIPIENT_ADD: channelRecipientAdd\n* CHANNEL_RECIPIENT_REMOVE: channelRecipientRemove\n* INTERACTION_MODAL_CREATE: interactionModalCreate\n* CALL_CREATE: callCreate\n* CALL_UPDATE: callUpdate\n* CALL_DELETE: callDelete","type":[[["Object","<"],["string",", "],["string",">"]]],"meta":{"line":286,"file":"Constants.js","path":"src/util"}},{"name":"ShardEvents","description":"The types of events emitted by a Shard:\n* CLOSE: close\n* DESTROYED: destroyed\n* INVALID_SESSION: invalidSession\n* READY: ready\n* RESUMED: resumed\n* ALL_READY: allReady","type":[[["Object","<"],["string",", "],["string",">"]]],"meta":{"line":480,"file":"Constants.js","path":"src/util"}},{"name":"PartialType","description":"The type of Structure allowed to be a partial:\n* USER\n* CHANNEL (only affects DMChannels)\n* GUILD_MEMBER\n* MESSAGE\n* REACTION\n* GUILD_SCHEDULED_EVENT\nPartials require you to put checks in place when handling data. See the \"Partial Structures\" topic on the\n[guide](https://discordjs.guide/popular-topics/partials.html) for more information.","type":[[["string"]]],"meta":{"line":499,"file":"Constants.js","path":"src/util"}},{"name":"WSEventType","description":"The type of a WebSocket message event, e.g. `MESSAGE_CREATE`. Here are the available events:\n* READY\n* RESUMED\n* APPLICATION_COMMAND_CREATE (deprecated)\n* APPLICATION_COMMAND_DELETE (deprecated)\n* APPLICATION_COMMAND_PERMISSIONS_UPDATE\n* APPLICATION_COMMAND_UPDATE (deprecated)\n* AUTO_MODERATION_ACTION_EXECUTION\n* AUTO_MODERATION_RULE_CREATE\n* AUTO_MODERATION_RULE_DELETE\n* AUTO_MODERATION_RULE_UPDATE\n* GUILD_CREATE\n* GUILD_DELETE\n* GUILD_UPDATE\n* INVITE_CREATE\n* INVITE_DELETE\n* GUILD_MEMBER_ADD\n* GUILD_MEMBER_REMOVE\n* GUILD_MEMBER_UPDATE\n* GUILD_MEMBERS_CHUNK\n* GUILD_INTEGRATIONS_UPDATE\n* GUILD_ROLE_CREATE\n* GUILD_ROLE_DELETE\n* GUILD_ROLE_UPDATE\n* GUILD_BAN_ADD\n* GUILD_BAN_REMOVE\n* GUILD_EMOJIS_UPDATE\n* CHANNEL_CREATE\n* CHANNEL_DELETE\n* CHANNEL_UPDATE\n* CHANNEL_PINS_UPDATE\n* MESSAGE_CREATE\n* MESSAGE_DELETE\n* MESSAGE_UPDATE\n* MESSAGE_DELETE_BULK\n* MESSAGE_REACTION_ADD\n* MESSAGE_REACTION_REMOVE\n* MESSAGE_REACTION_REMOVE_ALL\n* MESSAGE_REACTION_REMOVE_EMOJI\n* THREAD_CREATE\n* THREAD_UPDATE\n* THREAD_DELETE\n* THREAD_LIST_SYNC\n* THREAD_MEMBER_UPDATE\n* THREAD_MEMBERS_UPDATE\n* USER_UPDATE\n* PRESENCE_UPDATE\n* TYPING_START\n* VOICE_STATE_UPDATE\n* VOICE_SERVER_UPDATE\n* WEBHOOKS_UPDATE\n* STAGE_INSTANCE_CREATE\n* STAGE_INSTANCE_UPDATE\n* STAGE_INSTANCE_DELETE\n* GUILD_STICKERS_UPDATE\n* GUILD_SCHEDULED_EVENT_CREATE\n* GUILD_SCHEDULED_EVENT_UPDATE\n* GUILD_SCHEDULED_EVENT_DELETE\n* GUILD_SCHEDULED_EVENT_USER_ADD\n* GUILD_SCHEDULED_EVENT_USER_REMOVE\n* GUILD_AUDIT_LOG_ENTRY_CREATE","see":["{@link https://discord.com/developers/docs/topics/gateway-events#receive-events}"],"type":[[["string"]]],"meta":{"line":513,"file":"Constants.js","path":"src/util"}},{"name":"InviteScope","description":"A valid scope to request when generating an invite link.\nScopes that require whitelist are not considered valid for this generator\n* `applications.builds.read`: allows reading build data for a users applications\n* `applications.commands`: allows this bot to create commands in the server\n* `applications.entitlements`: allows reading entitlements for a users applications\n* `applications.store.update`: allows reading and updating of store data for a users applications\n* `bot`: makes the bot join the selected guild\n* `connections`: makes the endpoint for getting a users connections available\n* `email`: allows the `/users/@me` endpoint return with an email\n* `identify`: allows the `/users/@me` endpoint without an email\n* `guilds`: makes the `/users/@me/guilds` endpoint available for a user\n* `guilds.join`: allows the bot to join the user to any guild it is in using Guild#addMember\n* `gdm.join`: allows joining the user to a group dm\n* `webhook.incoming`: generates a webhook to a channel\n* `role_connections.write`: allows your app to update a user's connection and metadata for the app","see":["{@link https://discord.com/developers/docs/topics/oauth2#shared-resources-oauth2-scopes}"],"type":[[["string"]]],"meta":{"line":641,"file":"Constants.js","path":"src/util"}},{"name":"IntegrationExpireBehavior","description":"The behavior of expiring subscribers for Integrations. This can be:\n* REMOVE_ROLE\n* KICK","see":["{@link https://discord.com/developers/docs/resources/guild#integration-object-integration-expire-behaviors}"],"type":[[["string"]]],"meta":{"line":677,"file":"Constants.js","path":"src/util"}},{"name":"MessageType","description":"The type of a message, e.g. `DEFAULT`. Here are the available types:\n* DEFAULT\n* RECIPIENT_ADD\n* RECIPIENT_REMOVE\n* CALL\n* CHANNEL_NAME_CHANGE\n* CHANNEL_ICON_CHANGE\n* CHANNEL_PINNED_MESSAGE\n* GUILD_MEMBER_JOIN\n* USER_PREMIUM_GUILD_SUBSCRIPTION\n* USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_1\n* USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_2\n* USER_PREMIUM_GUILD_SUBSCRIPTION_TIER_3\n* CHANNEL_FOLLOW_ADD\n* GUILD_DISCOVERY_DISQUALIFIED\n* GUILD_DISCOVERY_REQUALIFIED\n* GUILD_DISCOVERY_GRACE_PERIOD_INITIAL_WARNING\n* GUILD_DISCOVERY_GRACE_PERIOD_FINAL_WARNING\n* THREAD_CREATED\n* REPLY\n* APPLICATION_COMMAND\n* THREAD_STARTER_MESSAGE\n* GUILD_INVITE_REMINDER\n* CONTEXT_MENU_COMMAND\n* AUTO_MODERATION_ACTION\n* ROLE_SUBSCRIPTION_PURCHASE","see":["{@link https://discord.com/developers/docs/resources/channel#message-object-message-types}"],"type":[[["string"]]],"meta":{"line":686,"file":"Constants.js","path":"src/util"}},{"name":"SweeperKey","description":"The name of an item to be swept in Sweepers\n* `applicationCommands` - both global and guild commands\n* `autoModerationRules`\n* `bans`\n* `emojis`\n* `invites` - accepts the `lifetime` property, using it will sweep based on expires timestamp\n* `guildMembers`\n* `messages` - accepts the `lifetime` property, using it will sweep based on edited or created timestamp\n* `presences`\n* `reactions`\n* `stageInstances`\n* `stickers`\n* `threadMembers`\n* `threads` - accepts the `lifetime` property, using it will sweep archived threads based on archived timestamp\n* `users`\n* `voiceStates`","type":[[["string"]]],"meta":{"line":745,"file":"Constants.js","path":"src/util"}},{"name":"SystemMessageType","description":"The types of messages that are `System`. The available types are `MessageTypes` excluding:\n* DEFAULT\n* REPLY\n* APPLICATION_COMMAND\n* CONTEXT_MENU_COMMAND","type":[[["string"]]],"meta":{"line":782,"file":"Constants.js","path":"src/util"}},{"name":"ActivityType","description":"Bots cannot set a `CUSTOM` activity type, it is only for custom statuses received from users\nThe type of an activity of a user's presence. Here are the available types:\n* PLAYING\n* STREAMING\n* LISTENING\n* WATCHING\n* CUSTOM\n* COMPETING\n* HANG","see":["{@link https://discord.com/developers/docs/game-sdk/activities#data-models-activitytype-enum}"],"type":[[["string"]]],"meta":{"line":794,"file":"Constants.js","path":"src/util"}},{"name":"ChannelType","description":"All available channel types:\n* `GUILD_TEXT` - a guild text channel\n* `DM` - a DM channel\n* `GUILD_VOICE` - a guild voice channel\n* `GROUP_DM` - a group DM channel\n* `GUILD_CATEGORY` - a guild category channel\n* `GUILD_NEWS` - a guild news channel\n* `GUILD_STORE` - a guild store channel\nStore channels are deprecated and will be removed from Discord in March 2022. See\n[Self-serve Game Selling Deprecation](https://support-dev.discord.com/hc/en-us/articles/6309018858647)\nfor more information.\n* `GUILD_NEWS_THREAD` - a guild news channel's public thread channel\n* `GUILD_PUBLIC_THREAD` - a guild text channel's public thread channel\n* `GUILD_PRIVATE_THREAD` - a guild text channel's private thread channel\n* `GUILD_STAGE_VOICE` - a guild stage voice channel\n* `GUILD_DIRECTORY` - the channel in a hub containing guilds\n* `GUILD_FORUM` - a channel that can only contain threads\n* `UNKNOWN` - a generic channel of unknown type, could be Channel or GuildChannel","see":["{@link https://discord.com/developers/docs/resources/channel#channel-object-channel-types}"],"type":[[["string"]]],"meta":{"line":809,"file":"Constants.js","path":"src/util"}},{"name":"TextBasedChannels","description":"The channels that are text-based.\n* DMChannel\n* TextChannel\n* NewsChannel\n* ThreadChannel\n* VoiceChannel\n* StageChannel","type":[[["DMChannel"]],[["TextChannel"]],[["NewsChannel"]],[["ThreadChannel"]],[["VoiceChannel"]],[["StageChannel"]]],"meta":{"line":849,"file":"Constants.js","path":"src/util"}},{"name":"TextBasedChannelsResolvable","description":"Data that resolves to give a text-based channel. This can be:\n* A text-based channel\n* A snowflake","type":[[["TextBasedChannels"]],[["Snowflake"]]],"meta":{"line":860,"file":"Constants.js","path":"src/util"}},{"name":"TextBasedChannelTypes","description":"The types of channels that are text-based. The available types are:\n* DM\n* GUILD_TEXT\n* GUILD_NEWS\n* GUILD_NEWS_THREAD\n* GUILD_PUBLIC_THREAD\n* GUILD_PRIVATE_THREAD\n* GUILD_VOICE\n* GUILD_STAGE_VOICE","type":[[["string"]]],"meta":{"line":867,"file":"Constants.js","path":"src/util"}},{"name":"ThreadChannelTypes","description":"The types of channels that are threads. The available types are:\n* GUILD_NEWS_THREAD\n* GUILD_PUBLIC_THREAD\n* GUILD_PRIVATE_THREAD","type":[[["string"]]],"meta":{"line":890,"file":"Constants.js","path":"src/util"}},{"name":"VoiceBasedChannelTypes","description":"The types of channels that are voice-based. The available types are:\n* GUILD_VOICE\n* GUILD_STAGE_VOICE","type":[[["string"]]],"meta":{"line":899,"file":"Constants.js","path":"src/util"}},{"name":"ClientApplicationAssetTypes","description":"The types of assets of an application:\n* SMALL: 1\n* BIG: 2","type":[[["Object","<"],["string",", "],["number",">"]]],"meta":{"line":907,"file":"Constants.js","path":"src/util"}},{"name":"Color","description":"A commonly used color:\n* DEFAULT\n* WHITE\n* AQUA\n* GREEN\n* BLUE\n* YELLOW\n* PURPLE\n* LUMINOUS_VIVID_PINK\n* FUCHSIA\n* GOLD\n* ORANGE\n* RED\n* GREY\n* NAVY\n* DARK_AQUA\n* DARK_GREEN\n* DARK_BLUE\n* DARK_PURPLE\n* DARK_VIVID_PINK\n* DARK_GOLD\n* DARK_ORANGE\n* DARK_RED\n* DARK_GREY\n* DARKER_GREY\n* LIGHT_GREY\n* DARK_NAVY\n* BLURPLE\n* GREYPLE\n* DARK_BUT_NOT_BLACK\n* NOT_QUITE_BLACK","type":[[["string"]]],"meta":{"line":918,"file":"Constants.js","path":"src/util"}},{"name":"ExplicitContentFilterLevel","description":"The value set for the explicit content filter levels for a guild:\n* DISABLED\n* MEMBERS_WITHOUT_ROLES\n* ALL_MEMBERS","see":["{@link https://discord.com/developers/docs/resources/guild#guild-object-explicit-content-filter-level}"],"type":[[["string"]]],"meta":{"line":985,"file":"Constants.js","path":"src/util"}},{"name":"VerificationLevel","description":"The value set for the verification levels for a guild:\n* NONE\n* LOW\n* MEDIUM\n* HIGH\n* VERY_HIGH","see":["{@link https://discord.com/developers/docs/resources/guild#guild-object-verification-level}"],"type":[[["string"]]],"meta":{"line":995,"file":"Constants.js","path":"src/util"}},{"name":"APIError","description":"An error encountered while performing an API request. Here are the potential errors:\n* UNKNOWN_ACCOUNT\n* UNKNOWN_APPLICATION\n* UNKNOWN_CHANNEL\n* UNKNOWN_GUILD\n* UNKNOWN_INTEGRATION\n* UNKNOWN_INVITE\n* UNKNOWN_MEMBER\n* UNKNOWN_MESSAGE\n* UNKNOWN_OVERWRITE\n* UNKNOWN_PROVIDER\n* UNKNOWN_ROLE\n* UNKNOWN_TOKEN\n* UNKNOWN_USER\n* UNKNOWN_EMOJI\n* UNKNOWN_WEBHOOK\n* UNKNOWN_WEBHOOK_SERVICE\n* UNKNOWN_SESSION\n* UNKNOWN_BAN\n* UNKNOWN_SKU\n* UNKNOWN_STORE_LISTING\n* UNKNOWN_ENTITLEMENT\n* UNKNOWN_BUILD\n* UNKNOWN_LOBBY\n* UNKNOWN_BRANCH\n* UNKNOWN_STORE_DIRECTORY_LAYOUT\n* UNKNOWN_REDISTRIBUTABLE\n* UNKNOWN_GIFT_CODE\n* UNKNOWN_STREAM\n* UNKNOWN_PREMIUM_SERVER_SUBSCRIBE_COOLDOWN\n* UNKNOWN_GUILD_TEMPLATE\n* UNKNOWN_DISCOVERABLE_SERVER_CATEGORY\n* UNKNOWN_STICKER\n* UNKNOWN_INTERACTION\n* UNKNOWN_APPLICATION_COMMAND\n* UNKNOWN_APPLICATION_COMMAND_PERMISSIONS\n* UNKNOWN_STAGE_INSTANCE\n* UNKNOWN_GUILD_MEMBER_VERIFICATION_FORM\n* UNKNOWN_GUILD_WELCOME_SCREEN\n* UNKNOWN_GUILD_SCHEDULED_EVENT\n* UNKNOWN_GUILD_SCHEDULED_EVENT_USER\n* BOT_PROHIBITED_ENDPOINT\n* BOT_ONLY_ENDPOINT\n* CANNOT_SEND_EXPLICIT_CONTENT\n* NOT_AUTHORIZED\n* SLOWMODE_RATE_LIMIT\n* ACCOUNT_OWNER_ONLY\n* ANNOUNCEMENT_EDIT_LIMIT_EXCEEDED\n* CHANNEL_HIT_WRITE_RATELIMIT\n* SERVER_HIT_WRITE_RATELIMIT\n* CONTENT_NOT_ALLOWED\n* GUILD_PREMIUM_LEVEL_TOO_LOW\n* MAXIMUM_GUILDS\n* MAXIMUM_FRIENDS\n* MAXIMUM_PINS\n* MAXIMUM_RECIPIENTS\n* MAXIMUM_ROLES\n* MAXIMUM_WEBHOOKS\n* MAXIMUM_EMOJIS\n* MAXIMUM_REACTIONS\n* MAXIMUM_CHANNELS\n* MAXIMUM_ATTACHMENTS\n* MAXIMUM_INVITES\n* MAXIMUM_ANIMATED_EMOJIS\n* MAXIMUM_SERVER_MEMBERS\n* MAXIMUM_NUMBER_OF_SERVER_CATEGORIES\n* GUILD_ALREADY_HAS_TEMPLATE\n* MAXIMUM_THREAD_PARTICIPANTS\n* MAXIMUM_NON_GUILD_MEMBERS_BANS\n* MAXIMUM_BAN_FETCHES\n* MAXIMUM_NUMBER_OF_UNCOMPLETED_GUILD_SCHEDULED_EVENTS_REACHED\n* MAXIMUM_NUMBER_OF_STICKERS_REACHED\n* MAXIMUM_PRUNE_REQUESTS\n* MAXIMUM_GUILD_WIDGET_SETTINGS_UPDATE\n* UNAUTHORIZED\n* ACCOUNT_VERIFICATION_REQUIRED\n* DIRECT_MESSAGES_TOO_FAST\n* REQUEST_ENTITY_TOO_LARGE\n* FEATURE_TEMPORARILY_DISABLED\n* USER_BANNED\n* TARGET_USER_NOT_CONNECTED_TO_VOICE\n* ALREADY_CROSSPOSTED\n* MISSING_ACCESS\n* INVALID_ACCOUNT_TYPE\n* CANNOT_EXECUTE_ON_DM\n* EMBED_DISABLED\n* CANNOT_EDIT_MESSAGE_BY_OTHER\n* CANNOT_SEND_EMPTY_MESSAGE\n* CANNOT_MESSAGE_USER\n* CANNOT_SEND_MESSAGES_IN_VOICE_CHANNEL\n* CHANNEL_VERIFICATION_LEVEL_TOO_HIGH\n* OAUTH2_APPLICATION_BOT_ABSENT\n* MAXIMUM_OAUTH2_APPLICATIONS\n* INVALID_OAUTH_STATE\n* MISSING_PERMISSIONS\n* INVALID_AUTHENTICATION_TOKEN\n* NOTE_TOO_LONG\n* INVALID_BULK_DELETE_QUANTITY\n* CANNOT_PIN_MESSAGE_IN_OTHER_CHANNEL\n* INVALID_OR_TAKEN_INVITE_CODE\n* CANNOT_EXECUTE_ON_SYSTEM_MESSAGE\n* CANNOT_EXECUTE_ON_CHANNEL_TYPE\n* INVALID_OAUTH_TOKEN\n* MISSING_OAUTH_SCOPE\n* INVALID_WEBHOOK_TOKEN\n* INVALID_ROLE\n* INVALID_RECIPIENTS\n* BULK_DELETE_MESSAGE_TOO_OLD\n* INVALID_FORM_BODY\n* INVITE_ACCEPTED_TO_GUILD_NOT_CONTAINING_BOT\n* INVALID_API_VERSION\n* FILE_UPLOADED_EXCEEDS_MAXIMUM_SIZE\n* INVALID_FILE_UPLOADED\n* CANNOT_SELF_REDEEM_GIFT\n* INVALID_GUILD\n* INVALID_MESSAGE_TYPE\n* PAYMENT_SOURCE_REQUIRED\n* CANNOT_DELETE_COMMUNITY_REQUIRED_CHANNEL\n* INVALID_STICKER_SENT\n* INVALID_OPERATION_ON_ARCHIVED_THREAD\n* INVALID_THREAD_NOTIFICATION_SETTINGS\n* PARAMETER_EARLIER_THAN_CREATION\n* GUILD_NOT_AVAILABLE_IN_LOCATION\n* GUILD_MONETIZATION_REQUIRED\n* INSUFFICIENT_BOOSTS\n* INVALID_JSON\n* TWO_FACTOR_REQUIRED\n* NO_USERS_WITH_DISCORDTAG_EXIST\n* REACTION_BLOCKED\n* RESOURCE_OVERLOADED\n* STAGE_ALREADY_OPEN\n* CANNOT_REPLY_WITHOUT_READ_MESSAGE_HISTORY_PERMISSION\n* MESSAGE_ALREADY_HAS_THREAD\n* THREAD_LOCKED\n* MAXIMUM_ACTIVE_THREADS\n* MAXIMUM_ACTIVE_ANNOUNCEMENT_THREADS\n* INVALID_JSON_FOR_UPLOADED_LOTTIE_FILE\n* UPLOADED_LOTTIES_CANNOT_CONTAIN_RASTERIZED_IMAGES\n* STICKER_MAXIMUM_FRAMERATE_EXCEEDED\n* STICKER_FRAME_COUNT_EXCEEDS_MAXIMUM_OF_1000_FRAMES\n* LOTTIE_ANIMATION_MAXIMUM_DIMENSIONS_EXCEEDED\n* STICKER_FRAME_RATE_IS_TOO_SMALL_OR_TOO_LARGE\n* STICKER_ANIMATION_DURATION_EXCEEDS_MAXIMUM_OF_5_SECONDS\n* CANNOT_UPDATE_A_FINISHED_EVENT\n* FAILED_TO_CREATE_STAGE_NEEDED_FOR_STAGE_EVENT","see":["{@link https://discord.com/developers/docs/topics/opcodes-and-status-codes#json-json-error-codes}","{@link https://gist.github.com/Dziurwa14/de2498e5ee28d2089f095aa037957cbb}"],"type":[[["string"]]],"meta":{"line":1007,"file":"Constants.js","path":"src/util"}},{"name":"DefaultMessageNotificationLevel","description":"The value set for a guild's default message notifications, e.g. `ALL_MESSAGES`. Here are the available types:\n* ALL_MESSAGES\n* ONLY_MENTIONS","see":["{@link https://discord.com/developers/docs/resources/guild#guild-object-default-message-notification-level}"],"type":[[["string"]]],"meta":{"line":1312,"file":"Constants.js","path":"src/util"}},{"name":"MembershipState","description":"The value set for a team member's membership state:\n* INVITED\n* ACCEPTED","see":["{@link https://discord.com/developers/docs/topics/teams#data-models-membership-state-enum}"],"type":[[["string"]]],"meta":{"line":1321,"file":"Constants.js","path":"src/util"}},{"name":"WebhookType","description":"The value set for a webhook's type:\n* Incoming\n* Channel Follower\n* Application","see":["{@link https://discord.com/developers/docs/resources/webhook#webhook-object-webhook-types}"],"type":[[["string"]]],"meta":{"line":1330,"file":"Constants.js","path":"src/util"}},{"name":"StickerType","description":"The value set for a sticker's type:\n* STANDARD\n* GUILD","see":["{@link https://discord.com/developers/docs/resources/sticker#sticker-object-sticker-types}"],"type":[[["string"]]],"meta":{"line":1340,"file":"Constants.js","path":"src/util"}},{"name":"StickerFormatType","description":"The value set for a sticker's format type:\n* PNG\n* APNG\n* LOTTIE\n* GIF","see":["{@link https://discord.com/developers/docs/resources/sticker#sticker-object-sticker-format-types}"],"type":[[["string"]]],"meta":{"line":1349,"file":"Constants.js","path":"src/util"}},{"name":"OverwriteType","description":"An overwrite type:\n* role\n* member","see":["{@link https://discord.com/developers/docs/resources/channel#overwrite-object-overwrite-structure}"],"type":[[["string"]]],"meta":{"line":1360,"file":"Constants.js","path":"src/util"}},{"name":"ApplicationCommandType","description":"The type of an {@link ApplicationCommand} object:\n* CHAT_INPUT\n* USER\n* MESSAGE","see":["{@link https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-types}"],"type":[[["string"]]],"meta":{"line":1370,"file":"Constants.js","path":"src/util"}},{"name":"ApplicationCommandOptionType","description":"The type of an {@link ApplicationCommandOption} object:\n* SUB_COMMAND\n* SUB_COMMAND_GROUP\n* STRING\n* INTEGER\n* BOOLEAN\n* USER\n* CHANNEL\n* ROLE\n* MENTIONABLE\n* NUMBER\n* ATTACHMENT","see":["{@link https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-option-type}"],"type":[[["string"]]],"meta":{"line":1380,"file":"Constants.js","path":"src/util"}},{"name":"ApplicationCommandPermissionType","description":"The type of an {@link ApplicationCommandPermissions} object:\n* ROLE\n* USER","see":["{@link https://discord.com/developers/docs/interactions/application-commands#application-command-permissions-object-application-command-permission-type}"],"type":[[["string"]]],"meta":{"line":1411,"file":"Constants.js","path":"src/util"}},{"name":"ApplicationRoleConnectionMetadataType","description":"Each metadata type offers a comparison operation that allows\nguilds to configure role requirements based on metadata values stored by the bot.\nBots specify a metadata value for each user and guilds specify\nthe required guild's configured value within the guild role settings.\nAll available channel types:\n* INTEGER_LESS_THAN_OR_EQUAL\n* INTEGER_GREATER_THAN_OR_EQUAL\n* INTEGER_EQUAL\n* INTEGER_NOT_EQUAL\n* DATATIME_LESS_THAN_OR_EQUAL\n* DATATIME_GREATER_THAN_OR_EQUAL\n* BOOLEAN_EQUAL\n* BOOLEAN_NOT_EQUAL","type":[[["string"]]],"meta":{"line":1420,"file":"Constants.js","path":"src/util"}},{"name":"AutoModerationRuleTriggerType","description":"The type of an {@link AutoModerationRuleTriggerTypes} object:\n* KEYWORD\n* SPAM\n* KEYWORD_PRESET\n* MENTION_SPAM","see":["{@link https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-rule-object-trigger-types}"],"type":[[["string"]]],"meta":{"line":1449,"file":"Constants.js","path":"src/util"}},{"name":"AutoModerationRuleKeywordPresetType","description":"The type of an {@link AutoModerationRuleKeywordPresetTypes} object:\n* KEYWORD\n* SPAM\n* KEYWORD_PRESET\n* MENTION_SPAM","see":["{@link https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-rule-object-keyword-preset-types}"],"type":[[["string"]]],"meta":{"line":1460,"file":"Constants.js","path":"src/util"}},{"name":"AutoModerationActionType","description":"The type of an {@link AutoModerationActionTypes} object:\n* BLOCK_MESSAGE\n* SEND_ALERT_MESSAGE\n* TIMEOUT","see":["{@link https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-action-object-action-types}"],"type":[[["string"]]],"meta":{"line":1470,"file":"Constants.js","path":"src/util"}},{"name":"AutoModerationRuleEventType","description":"The type of an {@link AutoModerationRuleEventTypes} object:\n* MESSAGE_SEND","see":["{@link https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-rule-object-event-types}"],"type":[[["string"]]],"meta":{"line":1480,"file":"Constants.js","path":"src/util"}},{"name":"InteractionType","description":"The type of an {@link Interaction} object:\n* PING\n* APPLICATION_COMMAND\n* MESSAGE_COMPONENT\n* APPLICATION_COMMAND_AUTOCOMPLETE\n* MODAL_SUBMIT","see":["{@link https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-type}"],"type":[[["string"]]],"meta":{"line":1488,"file":"Constants.js","path":"src/util"}},{"name":"InteractionResponseType","description":"The type of an interaction response:\n* PONG\n* CHANNEL_MESSAGE_WITH_SOURCE\n* DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE\n* DEFERRED_MESSAGE_UPDATE\n* UPDATE_MESSAGE\n* APPLICATION_COMMAND_AUTOCOMPLETE_RESULT\n* MODAL","see":["{@link https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-response-object-interaction-callback-type}"],"type":[[["string"]]],"meta":{"line":1507,"file":"Constants.js","path":"src/util"}},{"name":"MessageComponentType","description":"The type of a message component\n* ACTION_ROW\n* BUTTON\n* STRING_SELECT\n* TEXT_INPUT\n* USER_SELECT\n* ROLE_SELECT\n* MENTIONABLE_SELECT\n* CHANNEL_SELECT","see":["{@link https://discord.com/developers/docs/interactions/message-components#component-object-component-types}"],"type":[[["string"]]],"meta":{"line":1532,"file":"Constants.js","path":"src/util"}},{"name":"SelectMenuComponentType","description":"The types of components that are select menus. The available types are:\n* STRING_MENU\n* USER_SELECT\n* ROLE_SELECT\n* MENTIONABLE_SELECT\n* CHANNEL_SELECT","see":["{@link https://discord.com/developers/docs/interactions/message-components#component-object-component-types}"],"type":[[["string"]]],"meta":{"line":1557,"file":"Constants.js","path":"src/util"}},{"name":"MessageButtonStyle","description":"The style of a message button\n* PRIMARY\n* SECONDARY\n* SUCCESS\n* DANGER\n* LINK","see":["{@link https://discord.com/developers/docs/interactions/message-components#button-object-button-styles}"],"type":[[["string"]]],"meta":{"line":1577,"file":"Constants.js","path":"src/util"}},{"name":"MFALevel","description":"The required MFA level for a guild\n* NONE\n* ELEVATED","see":["{@link https://discord.com/developers/docs/resources/guild#guild-object-mfa-level}"],"type":[[["string"]]],"meta":{"line":1589,"file":"Constants.js","path":"src/util"}},{"name":"NSFWLevel","description":"NSFW level of a Guild:\n* DEFAULT\n* EXPLICIT\n* SAFE\n* AGE_RESTRICTED","see":["{@link https://discord.com/developers/docs/resources/guild#guild-object-guild-nsfw-level}"],"type":[[["string"]]],"meta":{"line":1598,"file":"Constants.js","path":"src/util"}},{"name":"PrivacyLevel","description":"Privacy level of a {@link StageInstance} object:\n* PUBLIC\n* GUILD_ONLY","see":["{@link https://discord.com/developers/docs/resources/stage-instance#stage-instance-object-privacy-level}"],"type":[[["string"]]],"meta":{"line":1609,"file":"Constants.js","path":"src/util"}},{"name":"TextInputStyle","description":"The style of a text input component\n* SHORT\n* PARAGRAPH","see":["{@link https://discord.com/developers/docs/interactions/message-components#text-inputs-text-input-styles}"],"type":[[["string"]]],"meta":{"line":1618,"file":"Constants.js","path":"src/util"}},{"name":"GuildScheduledEventPrivacyLevel","description":"Privacy level of a {@link GuildScheduledEvent} object:\n* GUILD_ONLY","see":["{@link https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-privacy-level}"],"type":[[["string"]]],"meta":{"line":1627,"file":"Constants.js","path":"src/util"}},{"name":"PremiumTier","description":"The premium tier (Server Boost level) of a guild:\n* NONE\n* TIER_1\n* TIER_2\n* TIER_3","see":["{@link https://discord.com/developers/docs/resources/guild#guild-object-premium-tier}"],"type":[[["string"]]],"meta":{"line":1635,"file":"Constants.js","path":"src/util"}},{"name":"GuildScheduledEventStatus","description":"The status of a {@link GuildScheduledEvent}:\n* SCHEDULED\n* ACTIVE\n* COMPLETED\n* CANCELED","see":["{@link https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-status}"],"type":[[["string"]]],"meta":{"line":1646,"file":"Constants.js","path":"src/util"}},{"name":"GuildScheduledEventEntityType","description":"The entity type of a {@link GuildScheduledEvent}:\n* NONE\n* STAGE_INSTANCE\n* VOICE\n* EXTERNAL","see":["{@link https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-entity-types}"],"type":[[["string"]]],"meta":{"line":1657,"file":"Constants.js","path":"src/util"}},{"name":"VideoQualityMode","description":"The camera video quality mode of a {@link VoiceChannel}:\n* AUTO\n* FULL","see":["{@link https://discord.com/developers/docs/resources/channel#channel-object-video-quality-modes}"],"type":[[["string"]]],"meta":{"line":1669,"file":"Constants.js","path":"src/util"}},{"name":"SortOrderType","description":"Sort {@link ForumChannel} posts by creation time or activity\n* LATEST_ACTIVITY\n* CREATION_DATE","see":["{@link https://discord.com/developers/docs/resources/channel/#channel-object-sort-order-types}"],"type":[[["string"]]],"meta":{"line":1678,"file":"Constants.js","path":"src/util"}},{"name":"ForumLayoutType","description":"The default forum layout to set on the {@link ForumChannel}\n* NOT_SET\n* LIST_VIEW\n* GALLERY_VIEW","see":["{@link https://discord.com/developers/docs/resources/channel/#channel-object-forum-layout-types}"],"type":[[["string"]]],"meta":{"line":1687,"file":"Constants.js","path":"src/util"}},{"name":"MessagePollLayoutType","description":"Different layouts for {@link MessagePoll} will come in the future. For now though, this value will always be `DEFAULT`.\n* DEFAULT\n* IMAGE_ONLY_ANSWERS","see":["{@link https://docs.discord.sex/resources/message#poll-layout-type}"],"type":[[["string"]]],"meta":{"line":1697,"file":"Constants.js","path":"src/util"}},{"name":"RelationshipType","description":"Relationship Enums:\n* 0: NONE\n* 1: FRIEND\n* 2: BLOCKED\n* 3: PENDING_INCOMING\n* 4: PENDING_OUTGOING\n* 5: IMPLICIT","see":["{@link https://luna.gitlab.io/discord-unofficial-docs/relationships.html}"],"type":[[["string"]]],"meta":{"line":1706,"file":"Constants.js","path":"src/util"}},{"name":"GuildTemplateResolvable","description":"Data that can be resolved to give a template code. This can be:\n* A template code\n* A template URL","type":[[["string"]]],"meta":{"line":23,"file":"DataResolver.js","path":"src/util"}},{"name":"Base64Resolvable","description":"Data that resolves to give a Base64 string, typically for image uploading. This can be:\n* A Buffer\n* A base64 string","type":[[["Buffer"]],[["string"]]],"meta":{"line":73,"file":"DataResolver.js","path":"src/util"}},{"name":"BufferResolvable","description":"Data that can be resolved to give a Buffer. This can be:\n* A Buffer\n* The path to a local file\n* A URL When provided a URL, discord.js will fetch the URL internally in order to create a Buffer.\nThis can pose a security risk when the URL has not been sanitized","type":[[["string"]],[["Buffer"]]],"meta":{"line":90,"file":"DataResolver.js","path":"src/util"}},{"name":"TimestampStylesString","description":"A message formatting timestamp style, as defined in\n[here](https://discord.com/developers/docs/reference#message-formatting-timestamp-styles).\n* `t` Short time format, consisting of hours and minutes, e.g. 16:20.\n* `T` Long time format, consisting of hours, minutes, and seconds, e.g. 16:20:30.\n* `d` Short date format, consisting of day, month, and year, e.g. 20/04/2021.\n* `D` Long date format, consisting of day, month, and year, e.g. 20 April 2021.\n* `f` Short date-time format, consisting of short date and short time formats, e.g. 20 April 2021 16:20.\n* `F` Long date-time format, consisting of long date and short time formats, e.g. Tuesday, 20 April 2021 16:20.\n* `R` Relative time format, consisting of a relative duration format, e.g. 2 months ago.","type":[[["string"]]],"meta":{"line":189,"file":"Formatters.js","path":"src/util"}},{"name":"GuildMemberFlagsResolvable","description":"Data that can be resolved to give a guild member flag bitfield. This can be:\n* A string (see {@link GuildMemberFlags.FLAGS})\n* A guild member flag\n* An instance of GuildMemberFlags\n* An Array of GuildMemberFlagsResolvable","type":[[["string"]],[["number"]],[["GuildMemberFlags"]],[["Array","<"],["GuildMemberFlagsResolvable",">"]]],"meta":{"line":34,"file":"GuildMemberFlags.js","path":"src/util"}},{"name":"IntentsResolvable","description":"Data that can be resolved to give a permission number. This can be:\n* A string (see {@link Intents.FLAGS})\n* An intents flag\n* An instance of Intents\n* An array of IntentsResolvable","type":[[["string"]],[["number"]],[["Intents"]],[["Array","<"],["IntentsResolvable",">"]]],"meta":{"line":17,"file":"Intents.js","path":"src/util"}},{"name":"SweepFilter","type":[[["function"]]],"params":[{"name":"collection","description":"The collection being swept","type":[[["LimitedCollection"]]]}],"returns":{"types":[[["function"]],[["null"]]],"description":"Return `null` to skip sweeping, otherwise a function passed to `sweep()`,\nSee {@link [Collection#sweep](https://discord.js.org/docs/packages/collection/stable/Collection:Class#sweep)}\nfor the definition of this function."},"meta":{"line":9,"file":"LimitedCollection.js","path":"src/util"}},{"name":"LimitedCollectionOptions","description":"Options for defining the behavior of a LimitedCollection","type":[[["Object"]]],"props":[{"name":"maxSize","description":"The maximum size of the Collection","optional":true,"default":"Infinity","nullable":true,"type":[[["number"]]]},{"name":"keepOverLimit","description":"A function, which is passed the value and key of an entry, ran to decide\nto keep an entry past the maximum size","optional":true,"default":null,"nullable":true,"type":[[["function"]]]},{"name":"sweepFilter","description":"DEPRECATED: There is no direct alternative to this,\nhowever most of its purpose is fulfilled by {@link Client#sweepers}\nA function ran every `sweepInterval` to determine how to sweep","optional":true,"default":null,"nullable":true,"type":[[["SweepFilter"]]]},{"name":"sweepInterval","description":"DEPRECATED: There is no direct alternative to this,\nhowever most of its purpose is fulfilled by {@link Client#sweepers}\nHow frequently, in seconds, to sweep the collection.","optional":true,"default":0,"nullable":true,"type":[[["number"]]]}],"meta":{"line":17,"file":"LimitedCollection.js","path":"src/util"}},{"name":"RateLimitData","description":"Rate limit data","type":[[["Object"]]],"props":[{"name":"timeout","description":"Time until this rate limit ends, in milliseconds","type":[[["number"]]]},{"name":"limit","description":"The maximum amount of requests of this endpoint","type":[[["number"]]]},{"name":"method","description":"The HTTP method of this request","type":[[["string"]]]},{"name":"path","description":"The path of the request relative to the HTTP endpoint","type":[[["string"]]]},{"name":"route","description":"The route of the request relative to the HTTP endpoint","type":[[["string"]]]},{"name":"global","description":"Whether this is a global rate limit","type":[[["boolean"]]]}],"meta":{"line":6,"file":"Options.js","path":"src/util"}},{"name":"RateLimitQueueFilter","description":"Whether this rate limit should throw an Error","type":[[["function"]]],"params":[{"name":"rateLimitData","description":"The data of this rate limit","type":[[["RateLimitData"]]]}],"returns":[[["boolean"]],[["Promise","<"],["boolean",">"]]],"meta":{"line":17,"file":"Options.js","path":"src/util"}},{"name":"CacheFactory","type":[[["function"]]],"params":[{"name":"manager","description":"The manager class the cache is being requested from.","type":[[["function"]]]},{"name":"holds","description":"The class that the cache will hold.","type":[[["function"]]]}],"returns":{"types":[[["Collection"]]],"description":"A Collection used to store the cache of the manager."},"meta":{"line":24,"file":"Options.js","path":"src/util"}},{"name":"CaptchaSolver","type":[[["function"]]],"params":[{"name":"captcha","description":"Discord Captcha","type":[[["Captcha"]]]},{"name":"UserAgent","description":"Current UserAgent","type":[[["string"]]]}],"returns":{"types":[[["Promise","<"],["string",">"]]],"description":"HCaptcha Token"},"meta":{"line":31,"file":"Options.js","path":"src/util"}},{"name":"ClientOptions","description":"Options for a client.","type":[[["Object"]]],"props":[{"name":"DMChannelVoiceStatusSync","description":"The amount of time in milliseconds that the Client to register the event with each DM channel (0=Disable)","optional":true,"default":0,"type":[[["number"]]]},{"name":"captchaRetryLimit","description":"Captcha retry limit","optional":true,"default":3,"type":[[["number"]]]},{"name":"captchaSolver","description":"Captcha Solver","optional":true,"type":[[["CaptchaSolver"]]]},{"name":"closeTimeout","description":"The amount of time in milliseconds to wait for the close frame to be received\nfrom the WebSocket.\nDon't have this too high/low. It's best to have it between 2000-6000 ms.\n(e.g. recommended shard count, shard count of the ShardingManager)","optional":true,"default":5000,"type":[[["number"]]]},{"name":"makeCache","description":"Function to create a cache.\nYou can use your own function, or the {@link Options} class to customize the Collection used for the cache.\nOverriding the cache used in `GuildManager`, `ChannelManager`, `GuildChannelManager`, `RoleManager`,\nand `PermissionOverwriteManager` is unsupported and **will** break functionality","optional":true,"type":[[["CacheFactory"]]]},{"name":"messageCacheLifetime","description":"DEPRECATED: Pass `lifetime` to `sweepers.messages` instead.\nHow long a message should stay in the cache until it is considered sweepable (in seconds, 0 for forever)","optional":true,"default":0,"type":[[["number"]]]},{"name":"messageSweepInterval","description":"DEPRECATED: Pass `interval` to `sweepers.messages` instead.\nHow frequently to remove messages from the cache that are older than the message cache lifetime\n(in seconds, 0 for never)","optional":true,"default":0,"type":[[["number"]]]},{"name":"allowedMentions","description":"Default value for {@link MessageOptions#allowedMentions}","optional":true,"type":[[["MessageMentionOptions"]]]},{"name":"invalidRequestWarningInterval","description":"The number of invalid REST requests (those that return\n401, 403, or 429) in a 10 minute window between emitted warnings (0 for no warnings). That is, if set to 500,\nwarnings will be emitted at invalid request number 500, 1000, 1500, and so on.","optional":true,"default":0,"type":[[["number"]]]},{"name":"partials","description":"Structures allowed to be partial. This means events can be emitted even when\nthey're missing all the data for a particular structure. See the \"Partial Structures\" topic on the\n[guide](https://discordjs.guide/popular-topics/partials.html) for some\nimportant usage information, as partials require you to put checks in place when handling data.","optional":true,"default":"['USER', 'CHANNEL', 'GUILD_MEMBER', 'MESSAGE', 'REACTION', 'GUILD_SCHEDULED_EVENT']","type":[[["Array","<"],["PartialType",">"]]]},{"name":"restWsBridgeTimeout","description":"Maximum time permitted between REST responses and their\ncorresponding WebSocket events","optional":true,"default":5000,"type":[[["number"]]]},{"name":"restTimeOffset","description":"Extra time in milliseconds to wait before continuing to make REST\nrequests (higher values will reduce rate-limiting errors on bad connections)","optional":true,"default":500,"type":[[["number"]]]},{"name":"restRequestTimeout","description":"Time to wait before cancelling a REST request, in milliseconds","optional":true,"default":15000,"type":[[["number"]]]},{"name":"restSweepInterval","description":"How frequently to delete inactive request buckets, in seconds\n(or 0 for never)","optional":true,"default":60,"type":[[["number"]]]},{"name":"restGlobalRateLimit","description":"How many requests to allow sending per second (0 for unlimited, 50 for\nthe standard global limit used by Discord)","optional":true,"default":0,"type":[[["number"]]]},{"name":"rejectOnRateLimit","description":"Decides how rate limits and pre-emptive throttles\nshould be handled. If this option is an array containing the prefix of the request route (e.g. /channels to match any\nroute starting with /channels, such as /channels/222197033908436994/messages) or a function returning true, a\n{@link RateLimitError} will be thrown. Otherwise the request will be queued for later","optional":true,"type":[[["Array","<"],["string",">"]],[["RateLimitQueueFilter"]]]},{"name":"retryLimit","description":"How many times to retry on 5XX errors\n(Infinity for an indefinite amount of retries)","optional":true,"default":1,"type":[[["number"]]]},{"name":"failIfNotExists","description":"Default value for {@link ReplyMessageOptions#failIfNotExists}","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"presence","description":"Presence data to use upon login","optional":true,"default":"{ status: 'online', since: 0, activities: [], afk: false }","type":[[["PresenceData"]]]},{"name":"waitGuildTimeout","description":"Time in milliseconds that Clients with the GUILDS intent should wait for\nmissing guilds to be received before starting the bot. If not specified, the default is 15 seconds.","optional":true,"default":"15_000","type":[[["number"]]]},{"name":"sweepers","description":"Options for cache sweeping","optional":true,"default":"{}","type":[[["SweeperOptions"]]]},{"name":"ws","description":"Options for the WebSocket","optional":true,"type":[[["WebsocketOptions"]]]},{"name":"http","description":"HTTP options","optional":true,"type":[[["HTTPOptions"]]]}],"meta":{"line":49,"file":"Options.js","path":"src/util"}},{"name":"SweeperOptions","description":"Options for {@link Sweepers} defining the behavior of cache sweeping","type":[[["Object","<"],["SweeperKey",", "],["SweepOptions",">"]]],"meta":{"line":100,"file":"Options.js","path":"src/util"}},{"name":"SweepOptions","description":"Options for sweeping a single type of item from cache","type":[[["Object"]]],"props":[{"name":"interval","description":"The interval (in seconds) at which to perform sweeping of the item","type":[[["number"]]]},{"name":"lifetime","description":"How long an item should stay in cache until it is considered sweepable.\nThis property is only valid for the `invites`, `messages`, and `threads` keys. The `filter` property\nis mutually exclusive to this property and takes priority","optional":true,"type":[[["number"]]]},{"name":"filter","description":"The function used to determine the function passed to the sweep method\nThis property is optional when the key is `invites`, `messages`, or `threads` and `lifetime` is set","type":[[["GlobalSweepFilter"]]]}],"meta":{"line":105,"file":"Options.js","path":"src/util"}},{"name":"WebsocketOptions","description":"WebSocket options (these are left as snake_case to match the API)","type":[[["Object"]]],"props":[{"name":"agent","description":"HTTPS Agent options (WS Proxy)","optional":true,"default":"{}","type":[[["AgentOptions"]]]},{"name":"compress","description":"Whether to compress data sent on the connection","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"properties","description":"Properties to identify the client with","optional":true,"type":[[["WebSocketProperties"]]]}],"meta":{"line":116,"file":"Options.js","path":"src/util"}},{"name":"AgentOptions","description":"HTTPS Agent options.","see":["{@link https://nodejs.org/api/https.html#https_class_https_agent}","{@link https://nodejs.org/api/http.html#http_new_agent_options}"],"type":[[["Object"]]],"meta":{"line":124,"file":"Options.js","path":"src/util"}},{"name":"HTTPOptions","description":"HTTP options","type":[[["Object"]]],"props":[{"name":"version","description":"API version to use","optional":true,"default":9,"type":[[["number"]]]},{"name":"agent","description":"HTTPS Agent options","optional":true,"default":"{}","type":[[["AgentOptions"]]]},{"name":"api","description":"Base URL of the API","optional":true,"default":"'https://discord.com/api'","type":[[["string"]]]},{"name":"cdn","description":"Base URL of the CDN","optional":true,"default":"'https://cdn.discordapp.com'","type":[[["string"]]]},{"name":"invite","description":"Base URL of invites","optional":true,"default":"'https://discord.gg'","type":[[["string"]]]},{"name":"template","description":"Base URL of templates","optional":true,"default":"'https://discord.new'","type":[[["string"]]]},{"name":"headers","description":"Additional headers to send for all API requests","optional":true,"type":[[["Object"]]]},{"name":"scheduledEvent","description":"Base URL of guild scheduled events","optional":true,"default":"'https://discord.com/events'","type":[[["string"]]]}],"meta":{"line":131,"file":"Options.js","path":"src/util"}},{"name":"PermissionResolvable","description":"Data that can be resolved to give a permission number. This can be:\n* A string (see {@link Permissions.FLAGS})\n* A permission number\n* An instance of Permissions\n* An Array of PermissionResolvable","type":[[["string"]],[["bigint"]],[["Permissions"]],[["Array","<"],["PermissionResolvable",">"]]],"meta":{"line":18,"file":"Permissions.js","path":"src/util"}},{"name":"UserRaw","type":[[["Object"]]],"props":[{"name":"id","type":[[["Snowflake"]]]},{"name":"username","type":[[["string"]]]},{"name":"discriminator","type":[[["number"]]]},{"name":"avatar","type":[[["string"]]]}],"meta":{"line":260,"file":"RemoteAuth.js","path":"src/util"}},{"name":"RoleFlagsResolvable","description":"Data that can be resolved to give a role flag bitfield. This can be:\n* A string (see {@link RoleFlags.FLAGS})\n* A role flag\n* An instance of RoleFlags\n* An Array of RoleFlagsResolvable","type":[[["string"]],[["number"]],[["RoleFlags"]],[["Array","<"],["RoleFlagsResolvable",">"]]],"meta":{"line":28,"file":"RoleFlags.js","path":"src/util"}},{"name":"Snowflake","description":"A {@link https://developer.twitter.com/en/docs/twitter-ids Twitter snowflake},\nexcept the epoch is 2015-01-01T00:00:00.000Z.\n\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n```\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of milliseconds since Discord epoch worker pid increment\n```","type":[[["string"]]],"meta":{"line":11,"file":"SnowflakeUtil.js","path":"src/util"}},{"name":"DeconstructedSnowflake","description":"A deconstructed snowflake.","type":[[["Object"]]],"props":[{"name":"timestamp","description":"Timestamp the snowflake was created","type":[[["number"]]]},{"name":"date","description":"Date the snowflake was created","type":[[["Date"]]]},{"name":"workerId","description":"The worker's id in the snowflake","type":[[["number"]]]},{"name":"processId","description":"The process's id in the snowflake","type":[[["number"]]]},{"name":"increment","description":"Increment in the snowflake","type":[[["number"]]]},{"name":"binary","description":"Binary representation of the snowflake","type":[[["string"]]]}],"meta":{"line":43,"file":"SnowflakeUtil.js","path":"src/util"}},{"name":"GlobalSweepFilter","type":[[["function"]]],"returns":{"types":[[["function"]],[["null"]]],"description":"Return `null` to skip sweeping, otherwise a function passed to `sweep()`,\nSee {@link [Collection#sweep](https://discord.js.org/docs/packages/collection/stable/Collection:Class#sweep)}\nfor the definition of this function."},"meta":{"line":7,"file":"Sweepers.js","path":"src/util"}},{"name":"LifetimeFilterOptions","description":"Options for generating a filter function based on lifetime","type":[[["Object"]]],"props":[{"name":"lifetime","description":"How long, in seconds, an entry should stay in the collection\nbefore it is considered sweepable.","optional":true,"default":14400,"type":[[["number"]]]},{"name":"getComparisonTimestamp","description":"A function that takes an entry, key,\nand the collection and returns a timestamp to compare against in order to determine the lifetime of the entry.","optional":true,"default":"e => e?.createdTimestamp","type":[[["function"]]]},{"name":"excludeFromSweep","description":"A function that takes an entry, key, and the collection\nand returns a boolean, `true` when the entry should not be checked for sweepability.","optional":true,"default":"() => false","type":[[["function"]]]}],"meta":{"line":303,"file":"Sweepers.js","path":"src/util"}},{"name":"SweepEventOptions","description":"Configuration options for emitting the cache sweep client event","access":"private","type":[[["Object"]]],"props":[{"name":"emit","description":"Whether to emit the client event in this method","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"outputName","description":"A name to output in the client event if it should differ from the key","optional":true,"type":[[["string"]]]}],"meta":{"line":385,"file":"Sweepers.js","path":"src/util"}},{"name":"SystemChannelFlagsResolvable","description":"Data that can be resolved to give a system channel flag bitfield. This can be:\n* A string (see {@link SystemChannelFlags.FLAGS})\n* A system channel flag\n* An instance of SystemChannelFlags\n* An Array of SystemChannelFlagsResolvable","type":[[["string"]],[["number"]],[["SystemChannelFlags"]],[["Array","<"],["SystemChannelFlagsResolvable",">"]]],"meta":{"line":26,"file":"SystemChannelFlags.js","path":"src/util"}},{"name":"SplitOptions","description":"Options for splitting a message.","type":[[["Object"]]],"props":[{"name":"maxLength","description":"Maximum character length per message piece","optional":true,"default":2000,"type":[[["number"]]]},{"name":"char","description":"Character(s) or Regex(es) to split the message with,\nan array can be used to split multiple times","optional":true,"default":"'\\n'","type":[[["string"]],[["Array","<"],["string",">"]],[["RegExp"]],[["Array","<"],["RegExp",">"]]]},{"name":"prepend","description":"Text to prepend to every piece except the first","optional":true,"default":"''","type":[[["string"]]]},{"name":"append","description":"Text to append to every piece except the last","optional":true,"default":"''","type":[[["string"]]]}],"meta":{"line":71,"file":"Util.js","path":"src/util"}},{"name":"EscapeMarkdownOptions","description":"Options used to escape markdown.","type":[[["Object"]]],"props":[{"name":"codeBlock","description":"Whether to escape code blocks","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"inlineCode","description":"Whether to escape inline code","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"bold","description":"Whether to escape bolds","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"italic","description":"Whether to escape italics","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"underline","description":"Whether to escape underlines","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"strikethrough","description":"Whether to escape strikethroughs","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"spoiler","description":"Whether to escape spoilers","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"codeBlockContent","description":"Whether to escape text inside code blocks","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"inlineCodeContent","description":"Whether to escape text inside inline code","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"escape","description":"Whether to escape escape characters","optional":true,"default":true,"type":[[["boolean"]]]},{"name":"heading","description":"Whether to escape headings","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"bulletedList","description":"Whether to escape bulleted lists","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"numberedList","description":"Whether to escape numbered lists","optional":true,"default":false,"type":[[["boolean"]]]},{"name":"maskedLink","description":"Whether to escape masked links","optional":true,"default":false,"type":[[["boolean"]]]}],"meta":{"line":126,"file":"Util.js","path":"src/util"}},{"name":"FetchRecommendedShardsOptions","type":[[["Object"]]],"props":[{"name":"guildsPerShard","description":"Number of guilds assigned per shard","optional":true,"default":1000,"type":[[["number"]]]},{"name":"multipleOf","description":"The multiple the shard count should round up to. (16 for large bot sharding)","optional":true,"default":1,"type":[[["number"]]]}],"meta":{"line":353,"file":"Util.js","path":"src/util"}},{"name":"MakeErrorOptions","description":"Options used to make an error object.","type":[[["Object"]]],"props":[{"name":"name","description":"Error type","type":[[["string"]]]},{"name":"message","description":"Message for the error","type":[[["string"]]]},{"name":"stack","description":"Stack for the error","type":[[["string"]]]}],"meta":{"line":423,"file":"Util.js","path":"src/util"}},{"name":"ColorResolvable","description":"Can be a number, hex string, a {@link Color}, or an RGB array like:\n```js\n[255, 0, 255] // purple\n```","type":[[["string"]],[["Color"]],[["number"]],[["Array","<"],["number",">"]]],"meta":{"line":496,"file":"Util.js","path":"src/util"}}],"externals":[{"name":"Collection","see":["{@link https://discord.js.org/docs/packages/collection/stable/Collection:Class}"],"meta":{"line":833,"file":"Client.js","path":"src/client"}},{"name":"WritableStream","see":["{@link https://nodejs.org/api/stream.html#stream_class_stream_writable}"],"meta":{"line":15,"file":"BaseDispatcher.js","path":"src/client/voice/dispatcher"}},{"name":"Inflate","see":["{@link https://www.npmjs.com/package/zlib-sync}"],"meta":{"line":124,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"CloseEvent","see":["{@link https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent}"],"meta":{"line":353,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"ErrorEvent","see":["{@link https://developer.mozilla.org/en-US/docs/Web/API/ErrorEvent}"],"meta":{"line":358,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"MessageEvent","see":["{@link https://developer.mozilla.org/en-US/docs/Web/API/MessageEvent}"],"meta":{"line":363,"file":"WebSocketShard.js","path":"src/client/websocket"}},{"name":"SlashCommandBuilder","see":["{@link https://discord.js.org/docs/packages/builders/stable/SlashCommandBuilder:Class}"],"meta":{"line":256,"file":"ApplicationCommandManager.js","path":"src/managers"}},{"name":"ContextMenuCommandBuilder","see":["{@link https://discord.js.org/docs/packages/builders/stable/ContextMenuCommandBuilder:Class}"],"meta":{"line":261,"file":"ApplicationCommandManager.js","path":"src/managers"}},{"name":"APIApplicationCommandPermissions","see":["{@link https://discord.com/developers/docs/interactions/application-commands#application-command-permissions-object-application-command-permissions-structure}"],"meta":{"line":414,"file":"ApplicationCommandPermissionsManager.js","path":"src/managers"}},{"name":"APIError","see":["{@link https://discord.com/developers/docs/reference#error-messages}"],"meta":{"line":101,"file":"DiscordAPIError.js","path":"src/rest"}},{"name":"HTTPMethod","see":["{@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods}"],"meta":{"line":436,"file":"RequestHandler.js","path":"src/rest"}},{"name":"Response","see":["{@link https://developer.mozilla.org/en-US/docs/Web/API/Response}"],"meta":{"line":441,"file":"RequestHandler.js","path":"src/rest"}},{"name":"APIApplicationCommand","see":["{@link https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-structure}"],"meta":{"line":585,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"APIApplicationCommandOption","see":["{@link https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-option-structure}"],"meta":{"line":590,"file":"ApplicationCommand.js","path":"src/structures"}},{"name":"APIInteractionDataResolved","see":["{@link https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-resolved-data-structure}"],"meta":{"line":208,"file":"BaseCommandInteraction.js","path":"src/structures"}},{"name":"APIChannel","see":["{@link https://discord.com/developers/docs/resources/channel#channel-object}"],"meta":{"line":267,"file":"Channel.js","path":"src/structures"}},{"name":"APIPresence","see":["{@link https://discord.com/developers/docs/rich-presence/how-to#updating-presence-update-presence-payload-fields}"],"meta":{"line":74,"file":"ClientPresence.js","path":"src/structures"}},{"name":"APIEmoji","see":["{@link https://discord.com/developers/docs/resources/emoji#emoji-object}"],"meta":{"line":145,"file":"Emoji.js","path":"src/structures"}},{"name":"APIGuild","see":["{@link https://discord.com/developers/docs/resources/guild#guild-object}"],"meta":{"line":1605,"file":"Guild.js","path":"src/structures"}},{"name":"APIGuildMember","see":["{@link https://discord.com/developers/docs/resources/guild#guild-member-object}"],"meta":{"line":565,"file":"GuildMember.js","path":"src/structures"}},{"name":"APIMessageComponent","see":["{@link https://discord.com/developers/docs/interactions/message-components#component-object}"],"meta":{"line":100,"file":"MessageActionRow.js","path":"src/structures"}},{"name":"APIAttachment","see":["{@link https://discord.com/developers/docs/resources/channel#attachment-object}"],"meta":{"line":201,"file":"MessageAttachment.js","path":"src/structures"}},{"name":"APIMessageSelectMenu","see":["{@link https://discord.com/developers/docs/interactions/message-components#select-menu-object}"],"meta":{"line":112,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"APIMessageButton","see":["{@link https://discord.com/developers/docs/interactions/message-components#button-object}"],"meta":{"line":117,"file":"MessageComponentInteraction.js","path":"src/structures"}},{"name":"APIEmbed","see":["{@link https://discord.com/developers/docs/resources/channel#embed-object}"],"meta":{"line":583,"file":"MessageEmbed.js","path":"src/structures"}},{"name":"APIMessage","see":["{@link https://discord.com/developers/docs/resources/channel#message-object}"],"meta":{"line":315,"file":"MessagePayload.js","path":"src/structures"}},{"name":"MessageActivityType","see":["{@link https://discord-api-types.dev/api/discord-api-types-v9/enum/MessageActivityType}"],"meta":{"line":16,"file":"Presence.js","path":"src/structures"}},{"name":"APIRole","see":["{@link https://discord.com/developers/docs/topics/permissions#role-object}"],"meta":{"line":528,"file":"Role.js","path":"src/structures"}},{"name":"APISticker","see":["{@link https://discord.com/developers/docs/resources/sticker#sticker-object}"],"meta":{"line":307,"file":"Sticker.js","path":"src/structures"}},{"name":"APIUser","see":["{@link https://discord.com/developers/docs/resources/user#user-object}"],"meta":{"line":540,"file":"User.js","path":"src/structures"}},{"name":"Stream","see":["{@link https://nodejs.org/api/stream.html}"],"meta":{"line":99,"file":"DataResolver.js","path":"src/util"}}]}
\ No newline at end of file
diff --git a/package.json b/package.json
index bb1b495e..3b4956f7 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "discord.js-selfbot-v13",
- "version": "3.2.2",
+ "version": "3.3.0",
"description": "A unofficial discord.js fork for creating selfbots [Based on discord.js v13]",
"main": "./src/index.js",
"types": "./typings/index.d.ts",
diff --git a/src/client/voice/dispatcher/VideoDispatcher.js b/src/client/voice/dispatcher/VideoDispatcher.js
index e0b28133..436d4b75 100644
--- a/src/client/voice/dispatcher/VideoDispatcher.js
+++ b/src/client/voice/dispatcher/VideoDispatcher.js
@@ -11,7 +11,6 @@ const BaseDispatcher = require('./BaseDispatcher');
* const dispatcher = connection.playVideo('/home/hydrabolt/video.mp4', { fps: 60, preset: 'ultrafast' });
* });
* ```
- * @implements {VolumeInterface}
* @extends {BaseDispatcher}
*/
class VideoDispatcher extends BaseDispatcher {
diff --git a/typings/index.d.ts b/typings/index.d.ts
index f2c32ab7..6ea51081 100644
--- a/typings/index.d.ts
+++ b/typings/index.d.ts
@@ -884,7 +884,10 @@ export class ClientVoiceManager {
public adapters: Map;
public connections: Collection;
- public joinChannel(channel: VoiceChannel | StageChannel | DMChannel | GroupDMChannel, config?: JoinChannelConfig): Promise;
+ public joinChannel(
+ channel: VoiceChannel | StageChannel | DMChannel | GroupDMChannel,
+ config?: JoinChannelConfig,
+ ): Promise;
}
export interface JoinChannelConfig {