mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-13 01:53:30 +01:00
feat(MessageStore): add remove() (#2468)
* MessageStore#remove() * typings
This commit is contained in:
@@ -82,6 +82,16 @@ class MessageStore extends DataStore {
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
*/
|
||||
async remove(message, reason) {
|
||||
message = this.resolveID(message);
|
||||
if (message) await this.client.api.channels(this.channel.id).messages(message).delete({ reason });
|
||||
}
|
||||
|
||||
async _fetchId(messageID, cache) {
|
||||
const existing = this.get(messageID);
|
||||
if (existing && !existing.partial) return existing;
|
||||
|
||||
@@ -454,13 +454,11 @@ class Message extends Base {
|
||||
*/
|
||||
delete({ timeout = 0, reason } = {}) {
|
||||
if (timeout <= 0) {
|
||||
return this.client.api.channels(this.channel.id).messages(this.id)
|
||||
.delete({ reason })
|
||||
.then(() =>
|
||||
this.client.actions.MessageDelete.handle({
|
||||
id: this.id,
|
||||
channel_id: this.channel.id,
|
||||
}).message);
|
||||
return this.channel.messages.remove(this.id, reason).then(() =>
|
||||
this.client.actions.MessageDelete.handle({
|
||||
id: this.id,
|
||||
channel_id: this.channel.id,
|
||||
}).message);
|
||||
} else {
|
||||
return new Promise(resolve => {
|
||||
this.client.setTimeout(() => {
|
||||
|
||||
Reference in New Issue
Block a user