Add message/channel/guild acknowledging (#1239)

* add acking

* 👀

* Update RESTMethods.js

* Update TextBasedChannel.js

* Update RESTMethods.js

* Update Guild.js

* Update TextBasedChannel.js

* Update Message.js

* super shitty names

* Update GroupDMChannel.js

* Update DMChannel.js

* Update TextChannel.js
This commit is contained in:
Gus Caplan
2017-03-16 08:38:12 -05:00
committed by Schuyler Cebulskie
parent fa609caee2
commit 94062d19dd
7 changed files with 58 additions and 0 deletions

View File

@@ -54,6 +54,7 @@ class DMChannel extends Channel {
createCollector() { return; }
awaitMessages() { return; }
// doesn't work on DM channels; bulkDelete() { return; }
acknowledge() { return; }
_cacheMessage() { return; }
}

View File

@@ -170,6 +170,7 @@ class GroupDMChannel extends Channel {
createCollector() { return; }
awaitMessages() { return; }
// doesn't work on group DMs; bulkDelete() { return; }
acknowledge() { return; }
_cacheMessage() { return; }
}

View File

@@ -770,6 +770,15 @@ class Guild {
return this.client.rest.methods.deleteGuild(this);
}
/**
* Marks all messages in this guild as read
* <warn>This is only available when using a user account.</warn>
* @returns {Promise<Guild>} this guild
*/
acknowledge() {
return this.client.rest.methods.ackGuild(this);
}
/**
* Whether this Guild equals another Guild. It compares all properties, so for most operations
* it is advisable to just compare `guild.id === guild2.id` as it is much faster and is often

View File

@@ -493,6 +493,15 @@ class Message {
return this.channel.send(content, Object.assign(options, { reply: this.member || this.author }));
}
/**
* Marks the message as read
* <warn>This is only available when using a user account.</warn>
* @returns {Promise<Message>}
*/
acknowledge() {
return this.client.rest.methods.ackMessage(this);
}
/**
* Fetches the webhook used to create this message.
* @returns {Promise<?Webhook>}

View File

@@ -90,6 +90,7 @@ class TextChannel extends GuildChannel {
createCollector() { return; }
awaitMessages() { return; }
bulkDelete() { return; }
acknowledge() { return; }
_cacheMessage() { return; }
}

View File

@@ -423,6 +423,15 @@ class TextBasedChannel {
throw new TypeError('The messages must be an Array, Collection, or number.');
}
/**
* Marks all messages in this channel as read
* <warn>This is only available when using a user account.</warn>
* @returns {Promise<TextChannel|GroupDMChannel|DMChannel>}
*/
acknowledge() {
return this.client.rest.methods.ackTextMessage(this);
}
_cacheMessage(message) {
const maxSize = this.client.options.messageCacheMaxSize;
if (maxSize === 0) return null;