chore(release): version
This commit is contained in:
		
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										41
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										41
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@@ -1,12 +1,12 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "name": "discord.js-selfbot-v13",
 | 
					  "name": "discord.js-selfbot-v13",
 | 
				
			||||||
  "version": "2.3.2",
 | 
					  "version": "2.3.3",
 | 
				
			||||||
  "lockfileVersion": 2,
 | 
					  "lockfileVersion": 2,
 | 
				
			||||||
  "requires": true,
 | 
					  "requires": true,
 | 
				
			||||||
  "packages": {
 | 
					  "packages": {
 | 
				
			||||||
    "": {
 | 
					    "": {
 | 
				
			||||||
      "name": "discord.js-selfbot-v13",
 | 
					      "name": "discord.js-selfbot-v13",
 | 
				
			||||||
      "version": "2.3.2",
 | 
					      "version": "2.3.3",
 | 
				
			||||||
      "license": "GNU General Public License v3.0",
 | 
					      "license": "GNU General Public License v3.0",
 | 
				
			||||||
      "dependencies": {
 | 
					      "dependencies": {
 | 
				
			||||||
        "@discordjs/builders": "^0.15.0",
 | 
					        "@discordjs/builders": "^0.15.0",
 | 
				
			||||||
@@ -16,7 +16,6 @@
 | 
				
			|||||||
        "@sapphire/snowflake": "^3.2.2",
 | 
					        "@sapphire/snowflake": "^3.2.2",
 | 
				
			||||||
        "@types/node-fetch": "^2.6.1",
 | 
					        "@types/node-fetch": "^2.6.1",
 | 
				
			||||||
        "@types/ws": "^8.5.3",
 | 
					        "@types/ws": "^8.5.3",
 | 
				
			||||||
        "ascii-table": "^0.0.9",
 | 
					 | 
				
			||||||
        "axios": "^0.27.2",
 | 
					        "axios": "^0.27.2",
 | 
				
			||||||
        "bignumber.js": "^9.0.2",
 | 
					        "bignumber.js": "^9.0.2",
 | 
				
			||||||
        "bufferutil": "^4.0.6",
 | 
					        "bufferutil": "^4.0.6",
 | 
				
			||||||
@@ -24,9 +23,7 @@
 | 
				
			|||||||
        "discord-api-types": "^0.34.0",
 | 
					        "discord-api-types": "^0.34.0",
 | 
				
			||||||
        "discord-bettermarkdown": "^1.2.0",
 | 
					        "discord-bettermarkdown": "^1.2.0",
 | 
				
			||||||
        "discord-rpc-contructor": "^1.1.5",
 | 
					        "discord-rpc-contructor": "^1.1.5",
 | 
				
			||||||
        "discord.js": "^13.8.0",
 | 
					 | 
				
			||||||
        "form-data": "^4.0.0",
 | 
					        "form-data": "^4.0.0",
 | 
				
			||||||
        "i": "^0.3.7",
 | 
					 | 
				
			||||||
        "json-bigint": "^1.0.0",
 | 
					        "json-bigint": "^1.0.0",
 | 
				
			||||||
        "lodash": "^4.17.21",
 | 
					        "lodash": "^4.17.21",
 | 
				
			||||||
        "lodash.snakecase": "^4.1.1",
 | 
					        "lodash.snakecase": "^4.1.1",
 | 
				
			||||||
@@ -35,7 +32,6 @@
 | 
				
			|||||||
        "qrcode-terminal": "^0.12.0",
 | 
					        "qrcode-terminal": "^0.12.0",
 | 
				
			||||||
        "safe-base64": "^2.0.1-0",
 | 
					        "safe-base64": "^2.0.1-0",
 | 
				
			||||||
        "string_decoder": "^1.3.0",
 | 
					        "string_decoder": "^1.3.0",
 | 
				
			||||||
        "string-similarity": "^4.0.4",
 | 
					 | 
				
			||||||
        "utf-8-validate": "^5.0.9",
 | 
					        "utf-8-validate": "^5.0.9",
 | 
				
			||||||
        "ws": "^8.8.0"
 | 
					        "ws": "^8.8.0"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
@@ -2964,11 +2960,6 @@
 | 
				
			|||||||
        "node": ">=0.10.0"
 | 
					        "node": ">=0.10.0"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/ascii-table": {
 | 
					 | 
				
			||||||
      "version": "0.0.9",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/ascii-table/-/ascii-table-0.0.9.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-BqZgTWpV1L9BqaR9mHLXp42jHnM="
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/asn1": {
 | 
					    "node_modules/asn1": {
 | 
				
			||||||
      "version": "0.2.6",
 | 
					      "version": "0.2.6",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
 | 
				
			||||||
@@ -6779,14 +6770,6 @@
 | 
				
			|||||||
        "url": "https://github.com/sponsors/typicode"
 | 
					        "url": "https://github.com/sponsors/typicode"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/i": {
 | 
					 | 
				
			||||||
      "version": "0.3.7",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/i/-/i-0.3.7.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-FYz4wlXgkQwIPqhzC5TdNMLSE5+GS1IIDJZY/1ZiEPCT2S3COUVZeT5OW4BmW4r5LHLQuOosSwsvnroG9GR59Q==",
 | 
					 | 
				
			||||||
      "engines": {
 | 
					 | 
				
			||||||
        "node": ">=0.4"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/iconv-lite": {
 | 
					    "node_modules/iconv-lite": {
 | 
				
			||||||
      "version": "0.6.3",
 | 
					      "version": "0.6.3",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
 | 
				
			||||||
@@ -13176,11 +13159,6 @@
 | 
				
			|||||||
        "node": ">=10"
 | 
					        "node": ">=10"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node_modules/string-similarity": {
 | 
					 | 
				
			||||||
      "version": "4.0.4",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/string-similarity/-/string-similarity-4.0.4.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-/q/8Q4Bl4ZKAPjj8WerIBJWALKkaPRfrvhfF8k/B23i4nzrlRj2/go1m90In7nG/3XDSbOo0+pu6RvCTM9RGMQ=="
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "node_modules/string-width": {
 | 
					    "node_modules/string-width": {
 | 
				
			||||||
      "version": "5.1.2",
 | 
					      "version": "5.1.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
 | 
				
			||||||
@@ -17052,11 +17030,6 @@
 | 
				
			|||||||
      "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
 | 
					      "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
 | 
				
			||||||
      "dev": true
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "ascii-table": {
 | 
					 | 
				
			||||||
      "version": "0.0.9",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/ascii-table/-/ascii-table-0.0.9.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-BqZgTWpV1L9BqaR9mHLXp42jHnM="
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "asn1": {
 | 
					    "asn1": {
 | 
				
			||||||
      "version": "0.2.6",
 | 
					      "version": "0.2.6",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
 | 
				
			||||||
@@ -20014,11 +19987,6 @@
 | 
				
			|||||||
      "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==",
 | 
					      "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==",
 | 
				
			||||||
      "dev": true
 | 
					      "dev": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "i": {
 | 
					 | 
				
			||||||
      "version": "0.3.7",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/i/-/i-0.3.7.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-FYz4wlXgkQwIPqhzC5TdNMLSE5+GS1IIDJZY/1ZiEPCT2S3COUVZeT5OW4BmW4r5LHLQuOosSwsvnroG9GR59Q=="
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "iconv-lite": {
 | 
					    "iconv-lite": {
 | 
				
			||||||
      "version": "0.6.3",
 | 
					      "version": "0.6.3",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
 | 
				
			||||||
@@ -24627,11 +24595,6 @@
 | 
				
			|||||||
        "strip-ansi": "^6.0.0"
 | 
					        "strip-ansi": "^6.0.0"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "string-similarity": {
 | 
					 | 
				
			||||||
      "version": "4.0.4",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/string-similarity/-/string-similarity-4.0.4.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-/q/8Q4Bl4ZKAPjj8WerIBJWALKkaPRfrvhfF8k/B23i4nzrlRj2/go1m90In7nG/3XDSbOo0+pu6RvCTM9RGMQ=="
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "string-width": {
 | 
					    "string-width": {
 | 
				
			||||||
      "version": "5.1.2",
 | 
					      "version": "5.1.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "name": "discord.js-selfbot-v13",
 | 
					  "name": "discord.js-selfbot-v13",
 | 
				
			||||||
  "version": "2.3.2",
 | 
					  "version": "2.3.3",
 | 
				
			||||||
  "description": "A unofficial discord.js fork for creating selfbots [Based on discord.js v13]",
 | 
					  "description": "A unofficial discord.js fork for creating selfbots [Based on discord.js v13]",
 | 
				
			||||||
  "main": "./src/index.js",
 | 
					  "main": "./src/index.js",
 | 
				
			||||||
  "types": "./typings/index.d.ts",
 | 
					  "types": "./typings/index.d.ts",
 | 
				
			||||||
@@ -17,7 +17,7 @@
 | 
				
			|||||||
    "lint:all": "npm run lint &&  npm run lint:typings",
 | 
					    "lint:all": "npm run lint &&  npm run lint:typings",
 | 
				
			||||||
    "docs": "docgen --source src --custom docs/index.yml --output docs/main.json",
 | 
					    "docs": "docgen --source src --custom docs/index.yml --output docs/main.json",
 | 
				
			||||||
    "docs:test": "docgen --source src --custom docs/index.yml",
 | 
					    "docs:test": "docgen --source src --custom docs/index.yml",
 | 
				
			||||||
    "build": "npm run lint:fix && npm run lint:typings:fix && npm run format && npm run docs"
 | 
					    "build": "npm i && npm run lint:fix && npm run lint:typings:fix && npm run format && npm run docs"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "files": [
 | 
					  "files": [
 | 
				
			||||||
    "src",
 | 
					    "src",
 | 
				
			||||||
@@ -58,7 +58,6 @@
 | 
				
			|||||||
    "@sapphire/snowflake": "^3.2.2",
 | 
					    "@sapphire/snowflake": "^3.2.2",
 | 
				
			||||||
    "@types/node-fetch": "^2.6.1",
 | 
					    "@types/node-fetch": "^2.6.1",
 | 
				
			||||||
    "@types/ws": "^8.5.3",
 | 
					    "@types/ws": "^8.5.3",
 | 
				
			||||||
    "ascii-table": "^0.0.9",
 | 
					 | 
				
			||||||
    "axios": "^0.27.2",
 | 
					    "axios": "^0.27.2",
 | 
				
			||||||
    "bignumber.js": "^9.0.2",
 | 
					    "bignumber.js": "^9.0.2",
 | 
				
			||||||
    "bufferutil": "^4.0.6",
 | 
					    "bufferutil": "^4.0.6",
 | 
				
			||||||
@@ -66,9 +65,7 @@
 | 
				
			|||||||
    "discord-api-types": "^0.34.0",
 | 
					    "discord-api-types": "^0.34.0",
 | 
				
			||||||
    "discord-bettermarkdown": "^1.2.0",
 | 
					    "discord-bettermarkdown": "^1.2.0",
 | 
				
			||||||
    "discord-rpc-contructor": "^1.1.5",
 | 
					    "discord-rpc-contructor": "^1.1.5",
 | 
				
			||||||
    "discord.js": "^13.8.0",
 | 
					 | 
				
			||||||
    "form-data": "^4.0.0",
 | 
					    "form-data": "^4.0.0",
 | 
				
			||||||
    "i": "^0.3.7",
 | 
					 | 
				
			||||||
    "json-bigint": "^1.0.0",
 | 
					    "json-bigint": "^1.0.0",
 | 
				
			||||||
    "lodash": "^4.17.21",
 | 
					    "lodash": "^4.17.21",
 | 
				
			||||||
    "lodash.snakecase": "^4.1.1",
 | 
					    "lodash.snakecase": "^4.1.1",
 | 
				
			||||||
@@ -77,7 +74,6 @@
 | 
				
			|||||||
    "qrcode-terminal": "^0.12.0",
 | 
					    "qrcode-terminal": "^0.12.0",
 | 
				
			||||||
    "safe-base64": "^2.0.1-0",
 | 
					    "safe-base64": "^2.0.1-0",
 | 
				
			||||||
    "string_decoder": "^1.3.0",
 | 
					    "string_decoder": "^1.3.0",
 | 
				
			||||||
    "string-similarity": "^4.0.4",
 | 
					 | 
				
			||||||
    "utf-8-validate": "^5.0.9",
 | 
					    "utf-8-validate": "^5.0.9",
 | 
				
			||||||
    "ws": "^8.8.0"
 | 
					    "ws": "^8.8.0"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					'use strict';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const { Events } = require('../../../util/Constants');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					module.exports = (client, { d: data }) => {
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * @typedef {object} AutocompleteResponseChoice
 | 
				
			||||||
 | 
					   * @property {string} name The name of the choice
 | 
				
			||||||
 | 
					   * @property {string} value The value of the choice
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * @typedef {object} AutocompleteResponse
 | 
				
			||||||
 | 
					   * @property {Snowflake} [nonce] Snowflake of the data
 | 
				
			||||||
 | 
					   * @property {Array<AutocompleteResponseChoice>} [choices] Array of choices
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * Emitted when receiving a response from Discord
 | 
				
			||||||
 | 
					   * @event Client#applicationCommandAutocompleteResponse
 | 
				
			||||||
 | 
					   * @param {AutocompleteResponse} data Data
 | 
				
			||||||
 | 
					   * @deprecated Test only
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  client.emit(Events.DEBUG, data);
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
@@ -2,5 +2,10 @@
 | 
				
			|||||||
const { Events } = require('../../../util/Constants');
 | 
					const { Events } = require('../../../util/Constants');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
module.exports = (client, { d: data }) => {
 | 
					module.exports = (client, { d: data }) => {
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * Emitted whenever client user send interaction and success
 | 
				
			||||||
 | 
					   * @event Client#interactionSuccess
 | 
				
			||||||
 | 
					   * @param {InteractionResponseBody} data data
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
  client.emit(Events.INTERACTION_SUCCESS, data);
 | 
					  client.emit(Events.INTERACTION_SUCCESS, data);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -241,6 +241,76 @@ class MessageManager extends CachedManager {
 | 
				
			|||||||
    for (const message of data) messages.set(message.id, this._add(message, cache));
 | 
					    for (const message of data) messages.set(message.id, this._add(message, cache));
 | 
				
			||||||
    return messages;
 | 
					    return messages;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * @typedef {object} MessageSearchOptions
 | 
				
			||||||
 | 
					   * @property {Array<Snowflake>} [author] An array of author IDs to filter by
 | 
				
			||||||
 | 
					   * @property {Array<Snowflake>} [mentions] An array of user IDs (mentioned) to filter by
 | 
				
			||||||
 | 
					   * @property {string} [content] A messageContent to filter by
 | 
				
			||||||
 | 
					   * @property {Snowflake} [maxId] The maximum Message ID to filter by
 | 
				
			||||||
 | 
					   * @property {Snowflake} [minId] The minimum Message ID to filter by
 | 
				
			||||||
 | 
					   * @property {Array<Snowflake>} [channel] An array of channel IDs to filter by
 | 
				
			||||||
 | 
					   * @property {boolean} [pinned] Whether to filter by pinned messages
 | 
				
			||||||
 | 
					   * @property {Array<string>} [has] Message has: `link`, `embed`, `file`, `video`, `image`, or `sound`
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * @typedef {object} MessageSearchResult
 | 
				
			||||||
 | 
					   * @property {Collection<Snowflake, Message>} messages A collection of found messages
 | 
				
			||||||
 | 
					   * @property {number} total The total number of messages that match the search criteria
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * Search Messages in the channel.
 | 
				
			||||||
 | 
					   * @param {MessageSearchOptions} options Performs a search within the channel.
 | 
				
			||||||
 | 
					   * @returns {MessageSearchResult}
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  async search(options = {}) {
 | 
				
			||||||
 | 
					    let { author, content, mentions, has, maxId, minId, channelId, pinned } = Object.assign(
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        author: [],
 | 
				
			||||||
 | 
					        content: '',
 | 
				
			||||||
 | 
					        mentions: [],
 | 
				
			||||||
 | 
					        has: [],
 | 
				
			||||||
 | 
					        maxId: null,
 | 
				
			||||||
 | 
					        minId: null,
 | 
				
			||||||
 | 
					        channelId: [],
 | 
				
			||||||
 | 
					        pinned: false,
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      options,
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
 | 
					    const stringQuery = [];
 | 
				
			||||||
 | 
					    const result = new Collection();
 | 
				
			||||||
 | 
					    let data;
 | 
				
			||||||
 | 
					    if (author.length > 0) stringQuery.push(author.map(id => `author_id=${id}`).join('&'));
 | 
				
			||||||
 | 
					    if (content && content.length) stringQuery.push(`content=${encodeURIComponent(content)}`);
 | 
				
			||||||
 | 
					    if (mentions.length > 0) stringQuery.push(mentions.map(id => `mentions=${id}`).join('&'));
 | 
				
			||||||
 | 
					    has = has.filter(v => ['link', 'embed', 'file', 'video', 'image', 'sound', 'sticker'].includes(v));
 | 
				
			||||||
 | 
					    if (has.length > 0) stringQuery.push(has.map(v => `has=${v}`).join('&'));
 | 
				
			||||||
 | 
					    if (maxId) stringQuery.push(`max_id=${maxId}`);
 | 
				
			||||||
 | 
					    if (minId) stringQuery.push(`min_id=${minId}`);
 | 
				
			||||||
 | 
					    if (this.channel.guildId && channelId.length > 0) {
 | 
				
			||||||
 | 
					      stringQuery.push(channelId.map(id => `channel_id=${id}`).join('&'));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    if (typeof pinned == 'boolean') stringQuery.push(`pinned=${pinned}`);
 | 
				
			||||||
 | 
					    // Main
 | 
				
			||||||
 | 
					    if (!stringQuery.length) {
 | 
				
			||||||
 | 
					      return {
 | 
				
			||||||
 | 
					        messages: result,
 | 
				
			||||||
 | 
					        total: 0,
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    if (this.channel.guildId) {
 | 
				
			||||||
 | 
					      data = await this.client.api.guilds[this.channel.guildId].messages[`search?${stringQuery.join('&')}`].get();
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
 | 
					      data = await this.client.api.channels[this.channel.id].messages[`search?${stringQuery.join('&')}`].get();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    for await (const message of data.messages) result.set(message[0].id, new Message(this.client, message[0]));
 | 
				
			||||||
 | 
					    return {
 | 
				
			||||||
 | 
					      messages: result,
 | 
				
			||||||
 | 
					      total: data.total_results,
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
module.exports = MessageManager;
 | 
					module.exports = MessageManager;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,16 +1,17 @@
 | 
				
			|||||||
'use strict';
 | 
					'use strict';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const { Collection } = require('@discordjs/collection');
 | 
					const { Collection } = require('@discordjs/collection');
 | 
				
			||||||
const Discord = require('discord.js-selfbot-v13');
 | 
					 | 
				
			||||||
const CachedManager = require('./CachedManager');
 | 
					const CachedManager = require('./CachedManager');
 | 
				
			||||||
const { Error } = require('../errors');
 | 
					const { Error } = require('../errors');
 | 
				
			||||||
 | 
					const { lazy } = require('../util/Util');
 | 
				
			||||||
 | 
					const User = lazy(() => require('../structures/User'));
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Manages API methods for users who reacted to a reaction and stores their cache.
 | 
					 * Manages API methods for users who reacted to a reaction and stores their cache.
 | 
				
			||||||
 * @extends {CachedManager}
 | 
					 * @extends {CachedManager}
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
class ReactionUserManager extends CachedManager {
 | 
					class ReactionUserManager extends CachedManager {
 | 
				
			||||||
  constructor(reaction, iterable) {
 | 
					  constructor(reaction, iterable) {
 | 
				
			||||||
    super(reaction.client, Discord.User, iterable);
 | 
					    super(reaction.client, User(), iterable);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * The reaction that this manager belongs to
 | 
					     * The reaction that this manager belongs to
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,12 +1,13 @@
 | 
				
			|||||||
'use strict';
 | 
					'use strict';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const { Message } = require('discord.js');
 | 
					 | 
				
			||||||
const Base = require('./Base');
 | 
					const Base = require('./Base');
 | 
				
			||||||
const ApplicationCommandPermissionsManager = require('../managers/ApplicationCommandPermissionsManager');
 | 
					const ApplicationCommandPermissionsManager = require('../managers/ApplicationCommandPermissionsManager');
 | 
				
			||||||
const MessageAttachment = require('../structures/MessageAttachment');
 | 
					const MessageAttachment = require('../structures/MessageAttachment');
 | 
				
			||||||
const { ApplicationCommandOptionTypes, ApplicationCommandTypes, ChannelTypes } = require('../util/Constants');
 | 
					const { ApplicationCommandOptionTypes, ApplicationCommandTypes, ChannelTypes } = require('../util/Constants');
 | 
				
			||||||
const DataResolver = require('../util/DataResolver');
 | 
					const DataResolver = require('../util/DataResolver');
 | 
				
			||||||
const SnowflakeUtil = require('../util/SnowflakeUtil');
 | 
					const SnowflakeUtil = require('../util/SnowflakeUtil');
 | 
				
			||||||
 | 
					const { lazy } = require('../util/Util');
 | 
				
			||||||
 | 
					const Message = lazy(() => require('../structures/Message').Message);
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Represents an application command.
 | 
					 * Represents an application command.
 | 
				
			||||||
 * @extends {Base}
 | 
					 * @extends {Base}
 | 
				
			||||||
@@ -506,7 +507,7 @@ class ApplicationCommand extends Base {
 | 
				
			|||||||
   * Send Slash command to channel
 | 
					   * Send Slash command to channel
 | 
				
			||||||
   * @param {Message} message Discord Message
 | 
					   * @param {Message} message Discord Message
 | 
				
			||||||
   * @param {Array<string>} options The options to Slash Command
 | 
					   * @param {Array<string>} options The options to Slash Command
 | 
				
			||||||
   * @returns {Promise<boolean>}
 | 
					   * @returns {Promise<Snowflake>} Nonce (Discord Timestamp) when command was sent
 | 
				
			||||||
   * @example
 | 
					   * @example
 | 
				
			||||||
   * const botID = '12345678987654321'
 | 
					   * const botID = '12345678987654321'
 | 
				
			||||||
   * const user = await client.users.fetch(botID);
 | 
					   * const user = await client.users.fetch(botID);
 | 
				
			||||||
@@ -516,7 +517,7 @@ class ApplicationCommand extends Base {
 | 
				
			|||||||
   */
 | 
					   */
 | 
				
			||||||
  async sendSlashCommand(message, options = []) {
 | 
					  async sendSlashCommand(message, options = []) {
 | 
				
			||||||
    // Check Options
 | 
					    // Check Options
 | 
				
			||||||
    if (!(message instanceof Message)) {
 | 
					    if (!(message instanceof Message())) {
 | 
				
			||||||
      throw new TypeError('The message must be a Discord.Message');
 | 
					      throw new TypeError('The message must be a Discord.Message');
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (!Array.isArray(options)) {
 | 
					    if (!Array.isArray(options)) {
 | 
				
			||||||
@@ -630,6 +631,7 @@ class ApplicationCommand extends Base {
 | 
				
			|||||||
    if (subCommandCheck && subCommand?.options && subCommand?.options[i]?.required) {
 | 
					    if (subCommandCheck && subCommand?.options && subCommand?.options[i]?.required) {
 | 
				
			||||||
      throw new Error('Value required missing');
 | 
					      throw new Error('Value required missing');
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    let nonce = SnowflakeUtil.generate();
 | 
				
			||||||
    const data = {
 | 
					    const data = {
 | 
				
			||||||
      type: 2, // Slash command, context menu
 | 
					      type: 2, // Slash command, context menu
 | 
				
			||||||
      // Type: 4: Auto-complete
 | 
					      // Type: 4: Auto-complete
 | 
				
			||||||
@@ -646,7 +648,7 @@ class ApplicationCommand extends Base {
 | 
				
			|||||||
        options: option_,
 | 
					        options: option_,
 | 
				
			||||||
        attachments: attachments,
 | 
					        attachments: attachments,
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      nonce: SnowflakeUtil.generate(),
 | 
					      nonce,
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
    await this.client.api.interactions
 | 
					    await this.client.api.interactions
 | 
				
			||||||
      .post({
 | 
					      .post({
 | 
				
			||||||
@@ -654,19 +656,21 @@ class ApplicationCommand extends Base {
 | 
				
			|||||||
        files: attachmentsBuffer,
 | 
					        files: attachmentsBuffer,
 | 
				
			||||||
      })
 | 
					      })
 | 
				
			||||||
      .catch(async () => {
 | 
					      .catch(async () => {
 | 
				
			||||||
 | 
					        nonce = SnowflakeUtil.generate();
 | 
				
			||||||
        data.data.guild_id = message.guildId;
 | 
					        data.data.guild_id = message.guildId;
 | 
				
			||||||
 | 
					        data.nonce = nonce;
 | 
				
			||||||
        await this.client.api.interactions.post({
 | 
					        await this.client.api.interactions.post({
 | 
				
			||||||
          body: data,
 | 
					          body: data,
 | 
				
			||||||
          files: attachmentsBuffer,
 | 
					          files: attachmentsBuffer,
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
    return true;
 | 
					    return nonce;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  /**
 | 
					  /**
 | 
				
			||||||
   * Message Context Menu
 | 
					   * Message Context Menu
 | 
				
			||||||
   * @param {Message} message Discord Message
 | 
					   * @param {Message} message Discord Message
 | 
				
			||||||
   * @param {boolean} sendFromMessage nothing .-. not used
 | 
					   * @param {boolean} sendFromMessage nothing .-. not used
 | 
				
			||||||
   * @returns {Promise<boolean>}
 | 
					   * @returns {Promise<Snowflake>} Nonce (Discord Timestamp) when command was sent
 | 
				
			||||||
   * @example
 | 
					   * @example
 | 
				
			||||||
   * const botID = '12345678987654321'
 | 
					   * const botID = '12345678987654321'
 | 
				
			||||||
   * const user = await client.users.fetch(botID);
 | 
					   * const user = await client.users.fetch(botID);
 | 
				
			||||||
@@ -675,10 +679,11 @@ class ApplicationCommand extends Base {
 | 
				
			|||||||
   * await command.sendContextMenu(messsage);
 | 
					   * await command.sendContextMenu(messsage);
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
  async sendContextMenu(message, sendFromMessage = false) {
 | 
					  async sendContextMenu(message, sendFromMessage = false) {
 | 
				
			||||||
    if (!sendFromMessage && !(message instanceof Message)) {
 | 
					    if (!sendFromMessage && !(message instanceof Message())) {
 | 
				
			||||||
      throw new TypeError('The message must be a Discord.Message');
 | 
					      throw new TypeError('The message must be a Discord.Message');
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (this.type == 'CHAT_INPUT') return false;
 | 
					    if (this.type == 'CHAT_INPUT') return false;
 | 
				
			||||||
 | 
					    const nonce = SnowflakeUtil.generate();
 | 
				
			||||||
    await this.client.api.interactions.post({
 | 
					    await this.client.api.interactions.post({
 | 
				
			||||||
      body: {
 | 
					      body: {
 | 
				
			||||||
        type: 2, // Slash command, context menu
 | 
					        type: 2, // Slash command, context menu
 | 
				
			||||||
@@ -694,10 +699,10 @@ class ApplicationCommand extends Base {
 | 
				
			|||||||
          type: ApplicationCommandTypes[this.type],
 | 
					          type: ApplicationCommandTypes[this.type],
 | 
				
			||||||
          target_id: ApplicationCommandTypes[this.type] == 1 ? message.author.id : message.id,
 | 
					          target_id: ApplicationCommandTypes[this.type] == 1 ? message.author.id : message.id,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        nonce: SnowflakeUtil.generate(),
 | 
					        nonce,
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
    return true;
 | 
					    return nonce;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1076,7 +1076,7 @@ class Message extends Base {
 | 
				
			|||||||
   * Send context Menu v2
 | 
					   * Send context Menu v2
 | 
				
			||||||
   * @param {Snowflake} botId Bot id
 | 
					   * @param {Snowflake} botId Bot id
 | 
				
			||||||
   * @param {string} commandName Command name in Context Menu
 | 
					   * @param {string} commandName Command name in Context Menu
 | 
				
			||||||
   * @returns {Promise<void>}
 | 
					   * @returns {Promise<Snowflake>} Nonce (Discord Timestamp) when command was sent
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
  async contextMenu(botId, commandName) {
 | 
					  async contextMenu(botId, commandName) {
 | 
				
			||||||
    if (!botId) throw new Error('Bot ID is required');
 | 
					    if (!botId) throw new Error('Bot ID is required');
 | 
				
			||||||
@@ -1112,7 +1112,8 @@ class Message extends Base {
 | 
				
			|||||||
          .join(', ')}`,
 | 
					          .join(', ')}`,
 | 
				
			||||||
      );
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    return contextCMD.sendContextMenu(this, true);
 | 
					    const nonce = await contextCMD.sendContextMenu(this, true);
 | 
				
			||||||
 | 
					    return nonce;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -138,7 +138,7 @@ class Modal {
 | 
				
			|||||||
   * @param {Snowflake} guildId GuildID of the guild to send the modal to
 | 
					   * @param {Snowflake} guildId GuildID of the guild to send the modal to
 | 
				
			||||||
   * @param {Snowflake} channelId ChannelID of the channel to send the modal to
 | 
					   * @param {Snowflake} channelId ChannelID of the channel to send the modal to
 | 
				
			||||||
   * @param  {...ModalReplyData} data Data to send with the modal
 | 
					   * @param  {...ModalReplyData} data Data to send with the modal
 | 
				
			||||||
   * @returns {Promise<boolean>}
 | 
					   * @returns {Promise<Snowflake>} Nonce (Discord Timestamp) when command was sent
 | 
				
			||||||
   * @example
 | 
					   * @example
 | 
				
			||||||
   * // With Event
 | 
					   * // With Event
 | 
				
			||||||
   * client.on('interactionModalCreate', modal => {
 | 
					   * client.on('interactionModalCreate', modal => {
 | 
				
			||||||
@@ -199,19 +199,20 @@ class Modal {
 | 
				
			|||||||
    // Get Object
 | 
					    // Get Object
 | 
				
			||||||
    const dataFinal = this.toJSON();
 | 
					    const dataFinal = this.toJSON();
 | 
				
			||||||
    delete dataFinal.title;
 | 
					    delete dataFinal.title;
 | 
				
			||||||
 | 
					    const nonce = SnowflakeUtil.generate();
 | 
				
			||||||
    const postData = {
 | 
					    const postData = {
 | 
				
			||||||
      type: 5, // Modal
 | 
					      type: 5, // Modal
 | 
				
			||||||
      application_id: this.application.id,
 | 
					      application_id: this.application.id,
 | 
				
			||||||
      guild_id: guildId,
 | 
					      guild_id: guildId,
 | 
				
			||||||
      channel_id: channelId,
 | 
					      channel_id: channelId,
 | 
				
			||||||
      data: dataFinal,
 | 
					      data: dataFinal,
 | 
				
			||||||
      nonce: SnowflakeUtil.generate(),
 | 
					      nonce,
 | 
				
			||||||
      session_id: this.client.session_id,
 | 
					      session_id: this.client.session_id,
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
    await this.client.api.interactions.post({
 | 
					    await this.client.api.interactions.post({
 | 
				
			||||||
      data: postData,
 | 
					      data: postData,
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
    return true;
 | 
					    return nonce;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,6 @@
 | 
				
			|||||||
'use strict';
 | 
					'use strict';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* eslint-disable import/order */
 | 
					/* eslint-disable import/order */
 | 
				
			||||||
const { Message } = require('discord.js');
 | 
					 | 
				
			||||||
const MessageCollector = require('../MessageCollector');
 | 
					const MessageCollector = require('../MessageCollector');
 | 
				
			||||||
const MessagePayload = require('../MessagePayload');
 | 
					const MessagePayload = require('../MessagePayload');
 | 
				
			||||||
const SnowflakeUtil = require('../../util/SnowflakeUtil');
 | 
					const SnowflakeUtil = require('../../util/SnowflakeUtil');
 | 
				
			||||||
@@ -9,6 +8,8 @@ const { Collection } = require('@discordjs/collection');
 | 
				
			|||||||
const { InteractionTypes } = require('../../util/Constants');
 | 
					const { InteractionTypes } = require('../../util/Constants');
 | 
				
			||||||
const { TypeError, Error } = require('../../errors');
 | 
					const { TypeError, Error } = require('../../errors');
 | 
				
			||||||
const InteractionCollector = require('../InteractionCollector');
 | 
					const InteractionCollector = require('../InteractionCollector');
 | 
				
			||||||
 | 
					const { lazy } = require('../../util/Util');
 | 
				
			||||||
 | 
					const Message = lazy(() => require('../Message').Message);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Interface for classes that have text-channel-like features.
 | 
					 * Interface for classes that have text-channel-like features.
 | 
				
			||||||
@@ -394,7 +395,7 @@ class TextBasedChannel {
 | 
				
			|||||||
   * @param {Snowflake} botId Bot Id (Supports application ID - not bot)
 | 
					   * @param {Snowflake} botId Bot Id (Supports application ID - not bot)
 | 
				
			||||||
   * @param {string} commandName Command name
 | 
					   * @param {string} commandName Command name
 | 
				
			||||||
   * @param {...?string} args Command arguments
 | 
					   * @param {...?string} args Command arguments
 | 
				
			||||||
   * @returns {Promise<pending>}
 | 
					   * @returns {Promise<Snowflake>} Nonce (Discord Timestamp) when command was sent
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
  async sendSlash(botId, commandName, ...args) {
 | 
					  async sendSlash(botId, commandName, ...args) {
 | 
				
			||||||
    if (!botId) throw new Error('Bot ID is required');
 | 
					    if (!botId) throw new Error('Bot ID is required');
 | 
				
			||||||
@@ -432,8 +433,8 @@ class TextBasedChannel {
 | 
				
			|||||||
        )}`,
 | 
					        )}`,
 | 
				
			||||||
      );
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    return commandTarget.sendSlashCommand(
 | 
					    const nonce = await commandTarget.sendSlashCommand(
 | 
				
			||||||
      new Message(this.client, {
 | 
					      new (Message())(this.client, {
 | 
				
			||||||
        channel_id: this.id,
 | 
					        channel_id: this.id,
 | 
				
			||||||
        guild_id: this.guild?.id || null,
 | 
					        guild_id: this.guild?.id || null,
 | 
				
			||||||
        author: this.client.user,
 | 
					        author: this.client.user,
 | 
				
			||||||
@@ -442,6 +443,7 @@ class TextBasedChannel {
 | 
				
			|||||||
      }),
 | 
					      }),
 | 
				
			||||||
      args && args.length ? args : [],
 | 
					      args && args.length ? args : [],
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
 | 
					    return nonce;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  static applyToClass(structure, full = false, ignore = []) {
 | 
					  static applyToClass(structure, full = false, ignore = []) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -625,6 +625,19 @@ class Util extends null {
 | 
				
			|||||||
    if (features.includes('THREE_DAY_THREAD_ARCHIVE')) return 4320;
 | 
					    if (features.includes('THREE_DAY_THREAD_ARCHIVE')) return 4320;
 | 
				
			||||||
    return 1440;
 | 
					    return 1440;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * Lazily evaluates a callback function (yea it's v14 :yay:)
 | 
				
			||||||
 | 
					   * @param {Function} cb The callback to lazily evaluate
 | 
				
			||||||
 | 
					   * @returns {Function}
 | 
				
			||||||
 | 
					   * @example
 | 
				
			||||||
 | 
					   * const User = lazy(() => require('./User'));
 | 
				
			||||||
 | 
					   * const user = new (User())(client, data);
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  static lazy(cb) {
 | 
				
			||||||
 | 
					    let defaultValue;
 | 
				
			||||||
 | 
					    return () => (defaultValue ??= cb());
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
module.exports = Util;
 | 
					module.exports = Util;
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										33
									
								
								typings/index.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										33
									
								
								typings/index.d.ts
									
									
									
									
										vendored
									
									
								
							@@ -279,8 +279,8 @@ export class ApplicationCommand<PermissionsFetchType = {}> extends Base {
 | 
				
			|||||||
  private static transformCommand(command: ApplicationCommandData): RESTPostAPIApplicationCommandsJSONBody;
 | 
					  private static transformCommand(command: ApplicationCommandData): RESTPostAPIApplicationCommandsJSONBody;
 | 
				
			||||||
  private static isAPICommandData(command: object): command is RESTPostAPIApplicationCommandsJSONBody;
 | 
					  private static isAPICommandData(command: object): command is RESTPostAPIApplicationCommandsJSONBody;
 | 
				
			||||||
  // Add
 | 
					  // Add
 | 
				
			||||||
  public static sendSlashCommand(message: Message, options?: string[]): Promise<boolean>;
 | 
					  public static sendSlashCommand(message: Message, options?: string[]): Promise<Snowflake>;
 | 
				
			||||||
  public static sendContextMenu(message: Message): Promise<boolean>;
 | 
					  public static sendContextMenu(message: Message): Promise<Snowflake>;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export type ApplicationResolvable = Application | Activity | Snowflake;
 | 
					export type ApplicationResolvable = Application | Activity | Snowflake;
 | 
				
			||||||
@@ -702,7 +702,11 @@ export class ClientUser extends User {
 | 
				
			|||||||
  public setDeaf(status: boolean): Promise<boolean>;
 | 
					  public setDeaf(status: boolean): Promise<boolean>;
 | 
				
			||||||
  public setMute(status: boolean): Promise<boolean>;
 | 
					  public setMute(status: boolean): Promise<boolean>;
 | 
				
			||||||
  public getInvite(options?: CreateInviteOptions): Promise<Invite>;
 | 
					  public getInvite(options?: CreateInviteOptions): Promise<Invite>;
 | 
				
			||||||
  public getMentions(limit?: number, mentionRoles?: boolean, mentionEveryone?: boolean): Promise<Collection<Snowflake, Message>>;
 | 
					  public getMentions(
 | 
				
			||||||
 | 
					    limit?: number,
 | 
				
			||||||
 | 
					    mentionRoles?: boolean,
 | 
				
			||||||
 | 
					    mentionEveryone?: boolean,
 | 
				
			||||||
 | 
					  ): Promise<Collection<Snowflake, Message>>;
 | 
				
			||||||
  /**
 | 
					  /**
 | 
				
			||||||
   * Nitro Status
 | 
					   * Nitro Status
 | 
				
			||||||
   * `0`: None
 | 
					   * `0`: None
 | 
				
			||||||
@@ -1673,7 +1677,7 @@ export class Message<Cached extends boolean = boolean> extends Base {
 | 
				
			|||||||
  public clickButton(buttonID: string): Promise<void>;
 | 
					  public clickButton(buttonID: string): Promise<void>;
 | 
				
			||||||
  public selectMenu(menuID: string, options: string[]): Promise<void>;
 | 
					  public selectMenu(menuID: string, options: string[]): Promise<void>;
 | 
				
			||||||
  public selectMenu(options: string[]): Promise<void>;
 | 
					  public selectMenu(options: string[]): Promise<void>;
 | 
				
			||||||
  public contextMenu(botID: Snowflake, commandName: string): Promise<void>;
 | 
					  public contextMenu(botID: Snowflake, commandName: string): Promise<Snowflake>;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export class MessageActionRow<
 | 
					export class MessageActionRow<
 | 
				
			||||||
@@ -2002,7 +2006,7 @@ export class Modal {
 | 
				
			|||||||
  ): this;
 | 
					  ): this;
 | 
				
			||||||
  public setTitle(title: string): this;
 | 
					  public setTitle(title: string): this;
 | 
				
			||||||
  public toJSON(): RawModalSubmitInteractionData;
 | 
					  public toJSON(): RawModalSubmitInteractionData;
 | 
				
			||||||
  public reply(guildId: Snowflake, channelId: Snowflake, ...args: ModalReplyData[]): Promise<boolean>;
 | 
					  public reply(guildId: Snowflake, channelId: Snowflake, ...args: ModalReplyData[]): Promise<Snowflake>;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export interface ModalReplyData {
 | 
					export interface ModalReplyData {
 | 
				
			||||||
@@ -3558,6 +3562,23 @@ export class MessageManager extends CachedManager<Snowflake, Message, MessageRes
 | 
				
			|||||||
  public react(message: MessageResolvable, emoji: EmojiIdentifierResolvable): Promise<void>;
 | 
					  public react(message: MessageResolvable, emoji: EmojiIdentifierResolvable): Promise<void>;
 | 
				
			||||||
  public pin(message: MessageResolvable, reason?: string): Promise<void>;
 | 
					  public pin(message: MessageResolvable, reason?: string): Promise<void>;
 | 
				
			||||||
  public unpin(message: MessageResolvable, reason?: string): Promise<void>;
 | 
					  public unpin(message: MessageResolvable, reason?: string): Promise<void>;
 | 
				
			||||||
 | 
					  public search(options: MessageSearchOptions): Promise<MessageSearchResult>;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export interface MessageSearchOptions {
 | 
				
			||||||
 | 
					  author: Snowflake[];
 | 
				
			||||||
 | 
					  content: string;
 | 
				
			||||||
 | 
					  mentions: Snowflake[];
 | 
				
			||||||
 | 
					  has: ('link' | 'embed' | 'file' | 'video' | 'image' | 'sound' | 'sticker')[];
 | 
				
			||||||
 | 
					  maxId: Snowflake;
 | 
				
			||||||
 | 
					  minId: Snowflake;
 | 
				
			||||||
 | 
					  channelId: Snowflake[];
 | 
				
			||||||
 | 
					  pinned: boolean;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export interface MessageSearchResult {
 | 
				
			||||||
 | 
					  messages: Collection<Snowflake, Message>;
 | 
				
			||||||
 | 
					  total: number;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export class PermissionOverwriteManager extends CachedManager<
 | 
					export class PermissionOverwriteManager extends CachedManager<
 | 
				
			||||||
@@ -3720,7 +3741,7 @@ export interface TextBasedChannelFields extends PartialTextBasedChannelFields {
 | 
				
			|||||||
  setNSFW(nsfw?: boolean, reason?: string): Promise<this>;
 | 
					  setNSFW(nsfw?: boolean, reason?: string): Promise<this>;
 | 
				
			||||||
  fetchWebhooks(): Promise<Collection<Snowflake, Webhook>>;
 | 
					  fetchWebhooks(): Promise<Collection<Snowflake, Webhook>>;
 | 
				
			||||||
  sendTyping(): Promise<void>;
 | 
					  sendTyping(): Promise<void>;
 | 
				
			||||||
  sendSlash(botId: Snowflake, commandName: string, ...args: any): Promise<undefined>;
 | 
					  sendSlash(botId: Snowflake, commandName: string, ...args: any): Promise<Snowflake>;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function PartialWebhookMixin<T>(Base?: Constructable<T>): Constructable<T & PartialWebhookFields>;
 | 
					export function PartialWebhookMixin<T>(Base?: Constructable<T>): Constructable<T & PartialWebhookFields>;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user