diff --git a/src/managers/MessageManager.js b/src/managers/MessageManager.js index 96a964353..8df800159 100644 --- a/src/managers/MessageManager.js +++ b/src/managers/MessageManager.js @@ -116,14 +116,13 @@ class MessageManager extends BaseManager { /** * Deletes a message, even if it's not cached. * @param {MessageResolvable} message The message to delete - * @param {string} [reason] Reason for deleting this message, if it does not belong to the client user * @returns {Promise} */ - async delete(message, reason) { + async delete(message) { message = this.resolveID(message); if (!message) throw new TypeError('INVALID_TYPE', 'message', 'MessageResolvable'); - await this.client.api.channels(this.channel.id).messages(message).delete({ reason }); + await this.client.api.channels(this.channel.id).messages(message).delete(); } async _fetchId(messageID, cache, force) { diff --git a/src/structures/Message.js b/src/structures/Message.js index 63494f9df..f8cfb8dd2 100644 --- a/src/structures/Message.js +++ b/src/structures/Message.js @@ -579,28 +579,16 @@ class Message extends Base { /** * Deletes the message. - * @param {Object} [options] Options - * @param {number} [options.timeout=0] How long to wait to delete the message in milliseconds - * @param {string} [options.reason] Reason for deleting this message, if it does not belong to the client user * @returns {Promise} * @example * // Delete a message - * message.delete({ timeout: 5000 }) - * .then(msg => console.log(`Deleted message from ${msg.author.username} after 5 seconds`)) + * message.delete() + * .then(msg => console.log(`Deleted message from ${msg.author.username}`)) * .catch(console.error); */ - delete(options = {}) { - if (typeof options !== 'object') return Promise.reject(new TypeError('INVALID_TYPE', 'options', 'object', true)); - const { timeout = 0, reason } = options; - if (timeout <= 0) { - return this.channel.messages.delete(this.id, reason).then(() => this); - } else { - return new Promise(resolve => { - this.client.setTimeout(() => { - resolve(this.delete({ reason })); - }, timeout); - }); - } + async delete() { + await this.channel.messages.delete(this.id); + return this; } /** diff --git a/typings/index.d.ts b/typings/index.d.ts index 8aa824613..1e644734a 100644 --- a/typings/index.d.ts +++ b/typings/index.d.ts @@ -993,7 +993,7 @@ declare module 'discord.js' { options?: AwaitReactionsOptions, ): Promise>; public createReactionCollector(filter: CollectorFilter, options?: ReactionCollectorOptions): ReactionCollector; - public delete(options?: { timeout?: number; reason?: string }): Promise; + public delete(): Promise; public edit( content: APIMessageContentResolvable | MessageEditOptions | MessageEmbed | APIMessage, ): Promise; @@ -1978,7 +1978,7 @@ declare module 'discord.js' { force?: boolean, ): Promise>; public fetchPinned(cache?: boolean): Promise>; - public delete(message: MessageResolvable, reason?: string): Promise; + public delete(message: MessageResolvable): Promise; } // Hacky workaround because changing the signature of an overridden method errors