diff --git a/tests/getGuildCount.test.js b/tests/getGuildCount.test.js deleted file mode 100644 index cc86368..0000000 --- a/tests/getGuildCount.test.js +++ /dev/null @@ -1,17 +0,0 @@ -const getGuildInfo = require('../util/getGuildInfo'); - - - -test("Testing getGuildCount", () => { - for(let i = 1; i < 200000; i = i+i*30 ){ - let client = {guilds: {cache: new Map()}} - client.guilds.cache.each = client.guilds.cache.forEach; - - for(let j = 0; j < i; j++){ - client.guilds.cache.set(`num: ${j}`, j); - } - - expect(getGuildInfo(client).guildCount).toBe(i); - - } -}) \ No newline at end of file diff --git a/util/getGuildInfo.js b/util/getGuildInfo.js index 87540c6..5d1b74e 100644 --- a/util/getGuildInfo.js +++ b/util/getGuildInfo.js @@ -1,9 +1,16 @@ module.exports = function(client){ let guildCount = 0; let totalMembers = 0; + const uniqueMembers = new Map(); client.guilds.cache.each(guild => { guildCount++ totalMembers += guild.memberCount; + guild.members.cache.each(member => { + if(!uniqueMembers.has(member.id)){ + uniqueMembers.set(member.id, true); + } + }) }); - return {guildCount: guildCount, totalMembers: totalMembers}; + const uniqueMemberCount = uniqueMembers.size; + return {guildCount, totalMembers, uniqueMemberCount}; } \ No newline at end of file diff --git a/util/setPresence.js b/util/setPresence.js index 62b4633..8f1fd6d 100644 --- a/util/setPresence.js +++ b/util/setPresence.js @@ -22,7 +22,8 @@ module.exports = function ({presenceText, presenceType, client}) { guilds: guildInfo.guildCount, prefix: globalPrefix, uptime: uptimeFormat, - members: guildInfo.totalMembers + members: guildInfo.totalMembers, + uniqueMemberCount: guildInfo.uniqueMemberCount } const regex = /(?<=\${)(.*?)(?=})/g;