summaryrefslogtreecommitdiff
path: root/node_modules/discord.js/src/structures/Invite.js
diff options
context:
space:
mode:
author8cy <[email protected]>2020-04-03 02:48:28 -0700
committer8cy <[email protected]>2020-04-03 02:48:28 -0700
commitf9159ea2d994e14180fb02ab562f0119513e67cf (patch)
tree09d14cdf05456567156738b681379d4bccd64e5c /node_modules/discord.js/src/structures/Invite.js
parent2020/04/03, 02:42, V1.2.1 (diff)
downloads5nical-f9159ea2d994e14180fb02ab562f0119513e67cf.tar.xz
s5nical-f9159ea2d994e14180fb02ab562f0119513e67cf.zip
2020/04/03, 02:47, V1.2.2
Diffstat (limited to 'node_modules/discord.js/src/structures/Invite.js')
-rw-r--r--node_modules/discord.js/src/structures/Invite.js164
1 files changed, 0 insertions, 164 deletions
diff --git a/node_modules/discord.js/src/structures/Invite.js b/node_modules/discord.js/src/structures/Invite.js
deleted file mode 100644
index 1d84cf5..0000000
--- a/node_modules/discord.js/src/structures/Invite.js
+++ /dev/null
@@ -1,164 +0,0 @@
-const PartialGuild = require('./PartialGuild');
-const PartialGuildChannel = require('./PartialGuildChannel');
-const Constants = require('../util/Constants');
-
-/**
- * Represents an invitation to a guild channel.
- * <warn>The only guaranteed properties are `code`, `url`, `guild`, and `channel`.
- * Other properties can be missing.</warn>
- */
-class Invite {
- constructor(client, data) {
- /**
- * The client that instantiated the invite
- * @name Invite#client
- * @type {Client}
- * @readonly
- */
- Object.defineProperty(this, 'client', { value: client });
-
- this.setup(data);
- }
-
- setup(data) {
- /**
- * The guild the invite is for. If this guild is already known, this will be a guild object. If the guild is
- * unknown, this will be a PartialGuild object
- * @type {Guild|PartialGuild}
- */
- this.guild = this.client.guilds.get(data.guild.id) || new PartialGuild(this.client, data.guild);
-
- /**
- * The code for this invite
- * @type {string}
- */
- this.code = data.code;
-
- /**
- * The approximate number of online members of the guild this invite is for
- * @type {number}
- */
- this.presenceCount = data.approximate_presence_count;
-
- /**
- * The approximate total number of members of the guild this invite is for
- * @type {number}
- */
- this.memberCount = data.approximate_member_count;
-
- /**
- * The number of text channels the guild this invite goes to has
- * @type {number}
- */
- this.textChannelCount = data.guild.text_channel_count;
-
- /**
- * The number of voice channels the guild this invite goes to has
- * @type {number}
- */
- this.voiceChannelCount = data.guild.voice_channel_count;
-
- /**
- * Whether or not this invite is temporary
- * @type {boolean}
- */
- this.temporary = data.temporary;
-
- /**
- * The maximum age of the invite, in seconds
- * @type {?number}
- */
- this.maxAge = data.max_age;
-
- /**
- * How many times this invite has been used
- * @type {number}
- */
- this.uses = data.uses;
-
- /**
- * The maximum uses of this invite
- * @type {number}
- */
- this.maxUses = data.max_uses;
-
- if (data.inviter) {
- /**
- * The user who created this invite
- * @type {?User}
- */
- this.inviter = this.client.dataManager.newUser(data.inviter);
- }
-
- /**
- * The channel the invite is for. If this channel is already known, this will be a GuildChannel object.
- * If the channel is unknown, this will be a PartialGuildChannel object.
- * @type {GuildChannel|PartialGuildChannel}
- */
- this.channel = this.client.channels.get(data.channel.id) || new PartialGuildChannel(this.client, data.channel);
-
- /**
- * The timestamp the invite was created at
- * @type {number}
- */
- this.createdTimestamp = new Date(data.created_at).getTime();
- }
-
- /**
- * The time the invite was created
- * @type {Date}
- * @readonly
- */
- get createdAt() {
- return new Date(this.createdTimestamp);
- }
-
- /**
- * The timestamp the invite will expire at
- * @type {number}
- * @readonly
- */
- get expiresTimestamp() {
- return this.createdTimestamp + (this.maxAge * 1000);
- }
-
- /**
- * The time the invite will expire
- * @type {Date}
- * @readonly
- */
- get expiresAt() {
- return new Date(this.expiresTimestamp);
- }
-
- /**
- * The URL to the invite
- * @type {string}
- * @readonly
- */
- get url() {
- return Constants.Endpoints.inviteLink(this.code);
- }
-
- /**
- * Deletes this invite.
- * @param {string} [reason] Reason for deleting this invite
- * @returns {Promise<Invite>}
- */
- delete(reason) {
- return this.client.rest.methods.deleteInvite(this, reason);
- }
-
- /**
- * When concatenated with a string, this automatically concatenates the invite's URL instead of the object.
- * @returns {string}
- * @example
- * // Logs: Invite: https://discord.gg/A1b2C3
- * console.log(`Invite: ${invite}`);
- */
- toString() {
- return this.url;
- }
-}
-
-module.exports = Invite;