41 lines
1.1 KiB
JavaScript
Raw Permalink Normal View History

2023-11-29 18:23:54 +03:00
"use strict";
const Interaction = require("./Interaction");
const {InteractionResponseTypes} = require("../Constants");
/**
* Represents a ping interaction. See Interaction for more properties.
* @extends Interaction
*/
class PingInteraction extends Interaction {
constructor(info, client) {
super(info, client);
}
/**
* Acknowledges the ping interaction with a pong response.
* Note: You can **not** use more than 1 initial interaction response per interaction.
* @returns {Promise}
*/
async acknowledge() {
return this.pong();
}
/**
* Acknowledges the ping interaction with a pong response.
* Note: You can **not** use more than 1 initial interaction response per interaction.
* @returns {Promise}
*/
async pong() {
if(this.acknowledged === true) {
throw new Error("You have already acknowledged this interaction.");
}
return this._client.createInteractionResponse.call(this._client, this.id, this.token, {
type: InteractionResponseTypes.PONG
}).then(() => this.update());
}
}
module.exports = PingInteraction;