feat(CommandInteraction): ephemeral followup messages (#5618)

Co-authored-by: Antonio Román <kyradiscord@gmail.com>
This commit is contained in:
monbrey
2021-05-15 08:40:23 +10:00
committed by GitHub
parent c7334363b3
commit 68b40dd91d
2 changed files with 22 additions and 0 deletions

View File

@@ -187,6 +187,24 @@ class CommandInteraction extends Interaction {
* @property {Role|Object} [role] The resolved role
*/
/**
* Send a follow-up message to this interaction.
* @param {string|APIMessage|MessageAdditions} content The content for the reply
* @param {InteractionReplyOptions} [options] Additional options for the reply
* @returns {Promise<Message|Object>}
*/
async followUp(content, options) {
const apiMessage = content instanceof APIMessage ? content : APIMessage.create(this, content, options);
const { data, files } = await apiMessage.resolveData().resolveFiles();
const raw = await this.client.api.webhooks(this.applicationID, this.token).post({
data,
files,
});
return this.channel?.messages.add(raw) ?? raw;
}
/**
* Transforms an option received from the API.
* @param {Object} option The received option

4
typings/index.d.ts vendored
View File

@@ -425,6 +425,10 @@ declare module 'discord.js' {
): Promise<Message | RawMessage>;
public editReply(content: string, options?: WebhookEditMessageOptions): Promise<Message | RawMessage>;
public fetchReply(): Promise<Message | RawMessage>;
public followUp(
content: string | APIMessage | InteractionReplyOptions | MessageAdditions,
): Promise<Message | RawMessage>;
public followUp(content: string, options?: InteractionReplyOptions): Promise<Message | RawMessage>;
public reply(content: string | APIMessage | InteractionReplyOptions | MessageAdditions): Promise<void>;
public reply(content: string, options?: InteractionReplyOptions): Promise<void>;
private transformOption(option: object, resolved: object): CommandInteractionOption;