Skip to content

Commit

Permalink
feat(InteractionReponses): allow fetching of ephemeral messages (#6426)
Browse files Browse the repository at this point in the history
  • Loading branch information
monbrey committed Aug 15, 2021
1 parent 2c449b6 commit d289d5c
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 11 deletions.
3 changes: 1 addition & 2 deletions src/errors/Messages.js
Expand Up @@ -131,8 +131,7 @@ const Messages = {

INTERACTION_ALREADY_REPLIED: 'The reply to this interaction has already been sent or deferred.',
INTERACTION_NOT_REPLIED: 'The reply to this interaction has not been sent or deferred.',
INTERACTION_EPHEMERAL_REPLIED: 'Ephemeral responses cannot be fetched or deleted.',
INTERACTION_FETCH_EPHEMERAL: 'Ephemeral responses cannot be fetched.',
INTERACTION_EPHEMERAL_REPLIED: 'Ephemeral responses cannot be deleted.',

COMMAND_INTERACTION_OPTION_NOT_FOUND: name => `Required option "${name}" not found.`,
COMMAND_INTERACTION_OPTION_TYPE: (name, type, expected) =>
Expand Down
9 changes: 0 additions & 9 deletions src/structures/interfaces/InteractionResponses.js
Expand Up @@ -53,7 +53,6 @@ class InteractionResponses {
*/
async deferReply(options = {}) {
if (this.deferred || this.replied) throw new Error('INTERACTION_ALREADY_REPLIED');
if (options.fetchReply && options.ephemeral) throw new Error('INTERACTION_FETCH_EPHEMERAL');
this.ephemeral = options.ephemeral ?? false;
await this.client.api.interactions(this.id, this.token).callback.post({
data: {
Expand Down Expand Up @@ -87,7 +86,6 @@ class InteractionResponses {
*/
async reply(options) {
if (this.deferred || this.replied) throw new Error('INTERACTION_ALREADY_REPLIED');
if (options.fetchReply && options.ephemeral) throw new Error('INTERACTION_FETCH_EPHEMERAL');
this.ephemeral = options.ephemeral ?? false;

let messagePayload;
Expand Down Expand Up @@ -119,7 +117,6 @@ class InteractionResponses {
* .catch(console.error);
*/
fetchReply() {
if (this.ephemeral) throw new Error('INTERACTION_EPHEMERAL_REPLIED');
return this.webhook.fetchMessage('@original');
}

Expand Down Expand Up @@ -177,9 +174,6 @@ class InteractionResponses {
*/
async deferUpdate(options = {}) {
if (this.deferred || this.replied) throw new Error('INTERACTION_ALREADY_REPLIED');
if (options.fetchReply && new MessageFlags(this.message.flags).has(MessageFlags.FLAGS.EPHEMERAL)) {
throw new Error('INTERACTION_FETCH_EPHEMERAL');
}
await this.client.api.interactions(this.id, this.token).callback.post({
data: {
type: InteractionResponseTypes.DEFERRED_MESSAGE_UPDATE,
Expand All @@ -205,9 +199,6 @@ class InteractionResponses {
*/
async update(options) {
if (this.deferred || this.replied) throw new Error('INTERACTION_ALREADY_REPLIED');
if (options.fetchReply && new MessageFlags(this.message.flags).has(MessageFlags.FLAGS.EPHEMERAL)) {
throw new Error('INTERACTION_FETCH_EPHEMERAL');
}

let messagePayload;
if (options instanceof MessagePayload) messagePayload = options;
Expand Down

0 comments on commit d289d5c

Please sign in to comment.