UNPKG

selfbot-discord

Version:
79 lines (69 loc) • 1.6 kB
const Snowflake = require('../util/Snowflake'); /** * Represents any channel on Discord. */ class Channel { constructor(client, data) { /** * The client that instantiated the Channel * @name Channel#client * @type {Client} * @readonly */ Object.defineProperty(this, 'client', { value: client }); /** * The type of the channel, either: * * `dm` - a DM channel * * `group` - a Group DM channel * * `text` - a guild text channel * * `voice` - a guild voice channel * * `category` - a guild category channel * * `news` - a guild news channel * * `store` - a guild store channel * @type {string} */ this.type = null; /** * Whether the channel has been deleted * @type {boolean} */ this.deleted = false; if (data) this.setup(data); } setup(data) { /** * The unique ID of the channel * @type {Snowflake} */ this.id = data.id; } /** * The timestamp the channel was created at * @type {number} * @readonly */ get createdTimestamp() { return Snowflake.deconstruct(this.id).timestamp; } /** * The time the channel was created * @type {Date} * @readonly */ get createdAt() { return new Date(this.createdTimestamp); } /** * Deletes the channel. * @returns {Promise<Channel>} * @example * // Delete the channel * channel.delete() * .then(console.log) * .catch(console.error); */ delete() { return this.client.rest.methods.deleteChannel(this); } } module.exports = Channel;