From e06c6640b7ce8f31c45174fd425807753cbecb2f Mon Sep 17 00:00:00 2001 From: SileNce5k Date: Sun, 1 Jun 2025 11:18:24 +0200 Subject: [PATCH 1/7] Use setInterval on updatePresence instead of setTimeout --- server/ready.js | 6 +++++- util/updatePresence.js | 4 ---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/server/ready.js b/server/ready.js index 20324b7..f559617 100644 --- a/server/ready.js +++ b/server/ready.js @@ -3,7 +3,11 @@ const checkTimer = require('../util/timer/checkTimer'); const updatePresence = require('../util/updatePresence'); module.exports = function(client, enableLoginMessage, loginChannel, loginMessage) { - updatePresence(client) + + setInterval(() => { + updatePresence(client) + }, 60 * 1000); + console.log('Ready!'); if (enableLoginMessage === true) try{ diff --git a/util/updatePresence.js b/util/updatePresence.js index aafd875..ca4e4e6 100644 --- a/util/updatePresence.js +++ b/util/updatePresence.js @@ -1,14 +1,10 @@ const setPresence = require('./setPresence') module.exports = function (client) { - const updatePresence = require('./updatePresence') let presenceText = client.settings.get("presenceText") let presenceType = client.settings.get("presenceType") if(presenceText.includes("${guilds}") || presenceText.includes("${prefix}") || presenceText.includes("${uptime}")) { setPresence({presenceText: presenceText, presenceType: presenceType, client: client}); } - - - setTimeout(updatePresence, 60000, client) } From ddb7cb128f5cf190072879612fd908b4ddbf8c21 Mon Sep 17 00:00:00 2001 From: SileNce5k Date: Sun, 1 Jun 2025 12:35:24 +0200 Subject: [PATCH 2/7] Require outside the function --- commands/admin/setPresence.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/commands/admin/setPresence.js b/commands/admin/setPresence.js index a53757e..2cc0b51 100644 --- a/commands/admin/setPresence.js +++ b/commands/admin/setPresence.js @@ -1,4 +1,5 @@ const setPresence = require("../../util/setPresence"); +const savePresence = require("../../util/savePresence"); module.exports = { name: 'setpresence', @@ -13,7 +14,6 @@ module.exports = { ,"${guilds},${prefix},${uptime},{members}"], admin: true, execute({message, client, args, globalPrefix}) { - const savePresence = require("../../util/savePresence"); let presenceType = args[0].toLocaleUpperCase(); let sendText = "Updated presence"; From cf41d58b477ba220ce12c8ed549407371e62c072 Mon Sep 17 00:00:00 2001 From: SileNce5k Date: Sun, 1 Jun 2025 12:35:42 +0200 Subject: [PATCH 3/7] Only save the presence in the setPresence command --- commands/admin/setPresence.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/commands/admin/setPresence.js b/commands/admin/setPresence.js index 2cc0b51..d7772e3 100644 --- a/commands/admin/setPresence.js +++ b/commands/admin/setPresence.js @@ -1,4 +1,3 @@ -const setPresence = require("../../util/setPresence"); const savePresence = require("../../util/savePresence"); module.exports = { @@ -13,9 +12,9 @@ module.exports = { ,"Custom Variables:" ,"${guilds},${prefix},${uptime},{members}"], admin: true, - execute({message, client, args, globalPrefix}) { + execute({message, client, args}) { let presenceType = args[0].toLocaleUpperCase(); - let sendText = "Updated presence"; + let sendText = "Presence has been set. It can take up to a minute for it to update."; switch (presenceType) { case "PLAY": @@ -46,7 +45,6 @@ module.exports = { const firstArg = args[0].length + 1; let temp = args.join(" "); let presenceText = temp.slice(firstArg, temp.length) - setPresence({presenceText: presenceText,presenceType: presenceType, client: client, globalPrefix: globalPrefix}); savePresence(presenceType, presenceText, client); } message.channel.send(sendText); From 15749b1a9f4dd6d3da1eb164bcdaa8bf6953b918 Mon Sep 17 00:00:00 2001 From: SileNce5k Date: Sun, 1 Jun 2025 13:08:06 +0200 Subject: [PATCH 4/7] Don't check for variables when updating presence --- util/updatePresence.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/util/updatePresence.js b/util/updatePresence.js index ca4e4e6..e293ac4 100644 --- a/util/updatePresence.js +++ b/util/updatePresence.js @@ -4,7 +4,5 @@ module.exports = function (client) { let presenceText = client.settings.get("presenceText") let presenceType = client.settings.get("presenceType") - if(presenceText.includes("${guilds}") || presenceText.includes("${prefix}") || presenceText.includes("${uptime}")) { - setPresence({presenceText: presenceText, presenceType: presenceType, client: client}); - } + setPresence({presenceText: presenceText, presenceType: presenceType, client: client}); } From e5f42952815f1018e0de9e312fc3fdbc1489a0fa Mon Sep 17 00:00:00 2001 From: SileNce5k Date: Sun, 1 Jun 2025 13:08:46 +0200 Subject: [PATCH 5/7] Add info on when presence updates --- commands/admin/setPresence.js | 4 +++- server/ready.js | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/commands/admin/setPresence.js b/commands/admin/setPresence.js index d7772e3..c47b8d9 100644 --- a/commands/admin/setPresence.js +++ b/commands/admin/setPresence.js @@ -1,4 +1,5 @@ const savePresence = require("../../util/savePresence"); +const timeUntil = require("../../util/timer/timeUntil"); module.exports = { name: 'setpresence', @@ -14,7 +15,7 @@ module.exports = { admin: true, execute({message, client, args}) { let presenceType = args[0].toLocaleUpperCase(); - let sendText = "Presence has been set. It can take up to a minute for it to update."; + let sendText = "Presence has been set."; switch (presenceType) { case "PLAY": @@ -46,6 +47,7 @@ module.exports = { let temp = args.join(" "); let presenceText = temp.slice(firstArg, temp.length) savePresence(presenceType, presenceText, client); + sendText = `${sendText} It will update in ${timeUntil(client.lastPresenceUpdate + 60000).totalInSeconds} seconds` } message.channel.send(sendText); diff --git a/server/ready.js b/server/ready.js index f559617..b1c9fa6 100644 --- a/server/ready.js +++ b/server/ready.js @@ -4,8 +4,12 @@ const updatePresence = require('../util/updatePresence'); module.exports = function(client, enableLoginMessage, loginChannel, loginMessage) { + updatePresence(client) + client.lastPresenceUpdate = Date.now() + setInterval(() => { updatePresence(client) + client.lastPresenceUpdate = Date.now() }, 60 * 1000); console.log('Ready!'); From 8b2314ef1c958c27df27d3cd1c563a0afe6dbe4c Mon Sep 17 00:00:00 2001 From: SileNce5k Date: Sun, 1 Jun 2025 13:18:12 +0200 Subject: [PATCH 6/7] Use discord time format --- commands/admin/setPresence.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/commands/admin/setPresence.js b/commands/admin/setPresence.js index c47b8d9..9683fd7 100644 --- a/commands/admin/setPresence.js +++ b/commands/admin/setPresence.js @@ -47,7 +47,7 @@ module.exports = { let temp = args.join(" "); let presenceText = temp.slice(firstArg, temp.length) savePresence(presenceType, presenceText, client); - sendText = `${sendText} It will update in ${timeUntil(client.lastPresenceUpdate + 60000).totalInSeconds} seconds` + sendText = `${sendText} It will update ` } message.channel.send(sendText); From 69c7fd8d535e6ee2c80eced79a41b70fdf154d4f Mon Sep 17 00:00:00 2001 From: SileNce5k Date: Sun, 1 Jun 2025 13:22:05 +0200 Subject: [PATCH 7/7] Sort guilds by amount of members --- commands/info/guilds.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/commands/info/guilds.js b/commands/info/guilds.js index bed7e5b..480fdda 100644 --- a/commands/info/guilds.js +++ b/commands/info/guilds.js @@ -3,10 +3,10 @@ module.exports = { description: 'Returns guild names', admin: true, execute({message, client}) { - let guildNames = ""; - client.guilds.cache.each(guild => { - guildNames = `${guildNames}${guild.name} (${guild.memberCount} members)\n` - }); + let guildNames = client.guilds.cache + .sort((a, b) => b.memberCount - a.memberCount) + .map(guild => `${guild.name} (${guild.memberCount} members)`) + .join("\n"); message.channel.send(guildNames) } }; \ No newline at end of file