fix: correctly import extendable classes (#4744)

This commit is contained in:
Sugden
2020-08-28 13:19:20 +01:00
committed by GitHub
parent 2dc70af717
commit 6aab9c3d64
2 changed files with 9 additions and 3 deletions

View File

@@ -1,13 +1,12 @@
'use strict'; 'use strict';
const Base = require('./Base'); const Base = require('./Base');
const { Presence } = require('./Presence');
const Role = require('./Role'); const Role = require('./Role');
const VoiceState = require('./VoiceState');
const TextBasedChannel = require('./interfaces/TextBasedChannel'); const TextBasedChannel = require('./interfaces/TextBasedChannel');
const { Error } = require('../errors'); const { Error } = require('../errors');
const GuildMemberRoleManager = require('../managers/GuildMemberRoleManager'); const GuildMemberRoleManager = require('../managers/GuildMemberRoleManager');
const Permissions = require('../util/Permissions'); const Permissions = require('../util/Permissions');
let Structures;
/** /**
* Represents a member of a guild on Discord. * Represents a member of a guild on Discord.
@@ -126,6 +125,8 @@ class GuildMember extends Base {
* @readonly * @readonly
*/ */
get voice() { get voice() {
if (!Structures) Structures = require('../util/Structures');
const VoiceState = Structures.get('VoiceState');
return this.guild.voiceStates.cache.get(this.id) || new VoiceState(this.guild, { user_id: this.id }); return this.guild.voiceStates.cache.get(this.id) || new VoiceState(this.guild, { user_id: this.id });
} }
@@ -153,6 +154,8 @@ class GuildMember extends Base {
* @readonly * @readonly
*/ */
get presence() { get presence() {
if (!Structures) Structures = require('../util/Structures');
const Presence = Structures.get('Presence');
return ( return (
this.guild.presences.cache.get(this.id) || this.guild.presences.cache.get(this.id) ||
new Presence(this.client, { new Presence(this.client, {

View File

@@ -1,12 +1,13 @@
'use strict'; 'use strict';
const Base = require('./Base'); const Base = require('./Base');
const { Presence } = require('./Presence');
const TextBasedChannel = require('./interfaces/TextBasedChannel'); const TextBasedChannel = require('./interfaces/TextBasedChannel');
const { Error } = require('../errors'); const { Error } = require('../errors');
const Snowflake = require('../util/Snowflake'); const Snowflake = require('../util/Snowflake');
const UserFlags = require('../util/UserFlags'); const UserFlags = require('../util/UserFlags');
let Structures;
/** /**
* Represents a user on Discord. * Represents a user on Discord.
* @implements {TextBasedChannel} * @implements {TextBasedChannel}
@@ -156,6 +157,8 @@ class User extends Base {
for (const guild of this.client.guilds.cache.values()) { for (const guild of this.client.guilds.cache.values()) {
if (guild.presences.cache.has(this.id)) return guild.presences.cache.get(this.id); if (guild.presences.cache.has(this.id)) return guild.presences.cache.get(this.id);
} }
if (!Structures) Structures = require('../util/Structures');
const Presence = Structures.get('Presence');
return new Presence(this.client, { user: { id: this.id } }); return new Presence(this.client, { user: { id: this.id } });
} }