UNPKG

discord.js-selfbot-v13

Version:

A unofficial discord.js fork for creating selfbots [Based on discord.js v13]

87 lines (73 loc) 1.86 kB
'use strict'; const { Collection } = require('@discordjs/collection'); const Base = require('./Base'); /** * Represents the data about a public {@link StageInstance} in an {@link Invite}. * @extends {Base} */ class InviteStageInstance extends Base { constructor(client, data, channelId, guildId) { super(client); /** * The id of the stage channel this invite is for * @type {Snowflake} */ this.channelId = channelId; /** * The stage channel's guild id * @type {Snowflake} */ this.guildId = guildId; /** * The members speaking in the stage channel * @type {Collection<Snowflake, GuildMember>} */ this.members = new Collection(); this._patch(data); } _patch(data) { if ('topic' in data) { /** * The topic of the stage instance * @type {string} */ this.topic = data.topic; } if ('participant_count' in data) { /** * The number of users in the stage channel * @type {number} */ this.participantCount = data.participant_count; } if ('speaker_count' in data) { /** * The number of users speaking in the stage channel * @type {number} */ this.speakerCount = data.speaker_count; } this.members.clear(); for (const rawMember of data.members) { const member = this.guild.members._add(rawMember); this.members.set(member.id, member); } } /** * The stage channel this invite is for * @type {?StageChannel} * @readonly */ get channel() { return this.client.channels.resolve(this.channelId); } /** * The guild of the stage channel this invite is for * @type {?Guild} * @readonly */ get guild() { return this.client.guilds.resolve(this.guildId); } } module.exports = InviteStageInstance;