mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-16 11:33:30 +01:00
refactor: Remove boolean option for Webhook#fetchMessage (#7293)
This commit is contained in:
@@ -1,14 +1,11 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const process = require('node:process');
|
|
||||||
const { DiscordSnowflake } = require('@sapphire/snowflake');
|
const { DiscordSnowflake } = require('@sapphire/snowflake');
|
||||||
const { WebhookType } = require('discord-api-types/v9');
|
const { WebhookType } = require('discord-api-types/v9');
|
||||||
const MessagePayload = require('./MessagePayload');
|
const MessagePayload = require('./MessagePayload');
|
||||||
const { Error } = require('../errors');
|
const { Error } = require('../errors');
|
||||||
const DataResolver = require('../util/DataResolver');
|
const DataResolver = require('../util/DataResolver');
|
||||||
|
|
||||||
let deprecationEmittedForFetchMessage = false;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a webhook.
|
* Represents a webhook.
|
||||||
*/
|
*/
|
||||||
@@ -272,25 +269,11 @@ class Webhook {
|
|||||||
/**
|
/**
|
||||||
* Gets a message that was sent by this webhook.
|
* Gets a message that was sent by this webhook.
|
||||||
* @param {Snowflake|'@original'} message The id of the message to fetch
|
* @param {Snowflake|'@original'} message The id of the message to fetch
|
||||||
* @param {WebhookFetchMessageOptions|boolean} [cacheOrOptions={}] The options to provide to fetch the message.
|
* @param {WebhookFetchMessageOptions} [options={}] The options to provide to fetch the message.
|
||||||
* <warn>A **deprecated** boolean may be passed instead to specify whether to cache the message.</warn>
|
|
||||||
* @returns {Promise<Message|APIMessage>} Returns the raw message data if the webhook was instantiated as a
|
* @returns {Promise<Message|APIMessage>} Returns the raw message data if the webhook was instantiated as a
|
||||||
* {@link WebhookClient} or if the channel is uncached, otherwise a {@link Message} will be returned
|
* {@link WebhookClient} or if the channel is uncached, otherwise a {@link Message} will be returned
|
||||||
*/
|
*/
|
||||||
async fetchMessage(message, cacheOrOptions = { cache: true }) {
|
async fetchMessage(message, { cache = true, threadId } = {}) {
|
||||||
if (typeof cacheOrOptions === 'boolean') {
|
|
||||||
if (!deprecationEmittedForFetchMessage) {
|
|
||||||
process.emitWarning(
|
|
||||||
'Passing a boolean to cache the message in Webhook#fetchMessage is deprecated. Pass an object instead.',
|
|
||||||
'DeprecationWarning',
|
|
||||||
);
|
|
||||||
|
|
||||||
deprecationEmittedForFetchMessage = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
cacheOrOptions = { cache: cacheOrOptions };
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!this.token) throw new Error('WEBHOOK_TOKEN_UNAVAILABLE');
|
if (!this.token) throw new Error('WEBHOOK_TOKEN_UNAVAILABLE');
|
||||||
|
|
||||||
const data = await this.client.api
|
const data = await this.client.api
|
||||||
@@ -298,11 +281,11 @@ class Webhook {
|
|||||||
.messages(message)
|
.messages(message)
|
||||||
.get({
|
.get({
|
||||||
query: {
|
query: {
|
||||||
thread_id: cacheOrOptions.threadId,
|
thread_id: threadId,
|
||||||
},
|
},
|
||||||
auth: false,
|
auth: false,
|
||||||
});
|
});
|
||||||
return this.client.channels?.cache.get(data.channel_id)?.messages._add(data, cacheOrOptions.cache) ?? data;
|
return this.client.channels?.cache.get(data.channel_id)?.messages._add(data, cache) ?? data;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
8
packages/discord.js/typings/index.d.ts
vendored
8
packages/discord.js/typings/index.d.ts
vendored
@@ -2473,10 +2473,6 @@ export class WebhookClient extends WebhookMixin(BaseClient) {
|
|||||||
options: string | MessagePayload | WebhookEditMessageOptions,
|
options: string | MessagePayload | WebhookEditMessageOptions,
|
||||||
): Promise<APIMessage>;
|
): Promise<APIMessage>;
|
||||||
public fetchMessage(message: Snowflake, options?: WebhookFetchMessageOptions): Promise<APIMessage>;
|
public fetchMessage(message: Snowflake, options?: WebhookFetchMessageOptions): Promise<APIMessage>;
|
||||||
/* tslint:disable:unified-signatures */
|
|
||||||
/** @deprecated */
|
|
||||||
public fetchMessage(message: Snowflake, cache?: boolean): Promise<APIMessage>;
|
|
||||||
/* tslint:enable:unified-signatures */
|
|
||||||
public send(options: string | MessagePayload | WebhookMessageOptions): Promise<APIMessage>;
|
public send(options: string | MessagePayload | WebhookMessageOptions): Promise<APIMessage>;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3172,10 +3168,6 @@ export interface PartialWebhookFields {
|
|||||||
options: string | MessagePayload | WebhookEditMessageOptions,
|
options: string | MessagePayload | WebhookEditMessageOptions,
|
||||||
): Promise<Message | APIMessage>;
|
): Promise<Message | APIMessage>;
|
||||||
fetchMessage(message: Snowflake | '@original', options?: WebhookFetchMessageOptions): Promise<Message | APIMessage>;
|
fetchMessage(message: Snowflake | '@original', options?: WebhookFetchMessageOptions): Promise<Message | APIMessage>;
|
||||||
/* tslint:disable:unified-signatures */
|
|
||||||
/** @deprecated */
|
|
||||||
fetchMessage(message: Snowflake | '@original', cache?: boolean): Promise<Message | APIMessage>;
|
|
||||||
/* tslint:enable:unified-signatures */
|
|
||||||
send(options: string | MessagePayload | WebhookMessageOptions): Promise<Message | APIMessage>;
|
send(options: string | MessagePayload | WebhookMessageOptions): Promise<Message | APIMessage>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user