From 8ebddd9fcef5698f3428e6f45a7c31f91ecf5475 Mon Sep 17 00:00:00 2001 From: David Zhang Date: Wed, 31 Jan 2024 00:02:57 -0500 Subject: [PATCH 1/6] change overwriting suspensions to create new suspension --- commands/suspend.js | 45 +++++++++++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 18 deletions(-) diff --git a/commands/suspend.js b/commands/suspend.js index 86c1e30e..b5904d85 100644 --- a/commands/suspend.js +++ b/commands/suspend.js @@ -106,25 +106,34 @@ module.exports = { .setFooter({ text: `Unsuspending at ` }) .setTimestamp(Date.now() + time); if (overwrite) { - db.query(`UPDATE suspensions SET uTime = '${Date.now() + time}' WHERE id = '${member.id}' AND suspended = true`) - embed.data.fields[3].value = `Overwritten suspensions. Roles the same as prior suspension` - suspensionLog.send({ embeds: [embed] }).then(member.user.send({ embeds: [embed] }).catch(() => {})) - } else { - let userRolesString = '', userRoles = [] - const roles = [...member.roles.cache.filter(r => !r.managed && (!settings.lists.discordRoles.map(role => settings.roles[role]).includes(r.id))).values()]; - embed.data.fields[3].value = roles.join(', ') || 'None!'; - member.roles.cache.each(r => { - if (r.managed) return - if (settings.lists.discordRoles.map(role => settings.roles[role]).includes(r.id)) return - userRoles.push(r.id) - userRolesString = userRolesString.concat(`${r.id} `) + + db.query(`SELECT reason FROM suspensions WHERE id = '${member.id}' AND suspended = true`, async (err, rows) => { + + const new_suspender = message.guild.members.cache.get(message.author.id).nickname + db.query(`UPDATE suspensions SET suspended = false, reason = '${'(overwritten by ' + new_suspender + ') - ' + reason}' WHERE id = '${member.id}' AND suspended = true`, async (e, _) => { + if(e) console.log(e) + }) + + embed.data.fields[3].value = `Overwritten suspensions. Roles the same as prior suspension` + suspensionLog.send({ embeds: [embed] }).then(member.user.send({ embeds: [embed] }).catch(() => {})) }) - messageId = await suspensionLog.send({ embeds: [embed] }); - await member.roles.remove(userRoles) - setTimeout(() => { member.roles.add(suspendedRole.id); }, 1000) - await member.user.send({ embeds: [embed] }).catch(() => {}) - db.query(`INSERT INTO suspensions (id, guildid, suspended, uTime, reason, modid, roles, logmessage, unixTimestamp, length) VALUES ('${member.id}', '${message.guild.id}', true, '${Date.now() + time}', ${db.escape(reason)}, '${message.author.id}', '${userRolesString}', '${messageId.id}', '${Date.now()}', '${`${timeString} ${timeTypeString}`}');`) - } + } + + let userRolesString = '', userRoles = [] + const roles = [...member.roles.cache.filter(r => !r.managed && (!settings.lists.discordRoles.map(role => settings.roles[role]).includes(r.id))).values()]; + embed.data.fields[3].value = roles.join(', ') || 'None!'; + member.roles.cache.each(r => { + if (r.managed) return + if (settings.lists.discordRoles.map(role => settings.roles[role]).includes(r.id)) return + userRoles.push(r.id) + userRolesString = userRolesString.concat(`${r.id} `) + }) + messageId = await suspensionLog.send({ embeds: [embed] }); + await member.roles.remove(userRoles) + setTimeout(() => { member.roles.add(suspendedRole.id); }, 1000) + await member.user.send({ embeds: [embed] }).catch(() => {}) + db.query(`INSERT INTO suspensions (id, guildid, suspended, uTime, reason, modid, roles, logmessage, unixTimestamp, length) VALUES ('${member.id}', '${message.guild.id}', true, '${Date.now() + time}', ${db.escape(reason)}, '${message.author.id}', '${userRolesString}', '${messageId.id}', '${Date.now()}', '${`${timeString} ${timeTypeString}`}');`) + message.channel.send(`${member} has been suspended`) } From 732bae48df0fa89638557dd63713af89ef7428fa Mon Sep 17 00:00:00 2001 From: David Zhang Date: Wed, 31 Jan 2024 00:07:26 -0500 Subject: [PATCH 2/6] formatting --- commands/suspend.js | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/commands/suspend.js b/commands/suspend.js index b5904d85..e55d583c 100644 --- a/commands/suspend.js +++ b/commands/suspend.js @@ -106,14 +106,9 @@ module.exports = { .setFooter({ text: `Unsuspending at ` }) .setTimestamp(Date.now() + time); if (overwrite) { - db.query(`SELECT reason FROM suspensions WHERE id = '${member.id}' AND suspended = true`, async (err, rows) => { - const new_suspender = message.guild.members.cache.get(message.author.id).nickname - db.query(`UPDATE suspensions SET suspended = false, reason = '${'(overwritten by ' + new_suspender + ') - ' + reason}' WHERE id = '${member.id}' AND suspended = true`, async (e, _) => { - if(e) console.log(e) - }) - + db.query(`UPDATE suspensions SET suspended = false, reason = '${'(overwritten by ' + new_suspender + ') - ' + reason}' WHERE id = '${member.id}' AND suspended = true`) embed.data.fields[3].value = `Overwritten suspensions. Roles the same as prior suspension` suspensionLog.send({ embeds: [embed] }).then(member.user.send({ embeds: [embed] }).catch(() => {})) }) From 2a58ac16fc12792bad7067dcaef31fc5ccabe14f Mon Sep 17 00:00:00 2001 From: David Zhang Date: Wed, 31 Jan 2024 00:16:49 -0500 Subject: [PATCH 3/6] more formatting --- commands/suspend.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/commands/suspend.js b/commands/suspend.js index e55d583c..3cde1f15 100644 --- a/commands/suspend.js +++ b/commands/suspend.js @@ -107,13 +107,12 @@ module.exports = { .setTimestamp(Date.now() + time); if (overwrite) { db.query(`SELECT reason FROM suspensions WHERE id = '${member.id}' AND suspended = true`, async (err, rows) => { - const new_suspender = message.guild.members.cache.get(message.author.id).nickname - db.query(`UPDATE suspensions SET suspended = false, reason = '${'(overwritten by ' + new_suspender + ') - ' + reason}' WHERE id = '${member.id}' AND suspended = true`) + const new_suspender = message.guild.members.cache.get(message.author.id).nickname??'' + db.query(`UPDATE suspensions SET suspended = false, reason = '${'overwriter: ' + new_suspender + '- ' + reason}' WHERE id = '${member.id}' AND suspended = true`) embed.data.fields[3].value = `Overwritten suspensions. Roles the same as prior suspension` suspensionLog.send({ embeds: [embed] }).then(member.user.send({ embeds: [embed] }).catch(() => {})) }) } - let userRolesString = '', userRoles = [] const roles = [...member.roles.cache.filter(r => !r.managed && (!settings.lists.discordRoles.map(role => settings.roles[role]).includes(r.id))).values()]; embed.data.fields[3].value = roles.join(', ') || 'None!'; From 22e75319ddda25656609f3d79c052ef9fe4f344b Mon Sep 17 00:00:00 2001 From: David Zhang Date: Wed, 31 Jan 2024 16:42:17 -0500 Subject: [PATCH 4/6] prepared statements/formatting fixes --- commands/suspend.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/commands/suspend.js b/commands/suspend.js index 3cde1f15..205effff 100644 --- a/commands/suspend.js +++ b/commands/suspend.js @@ -106,11 +106,15 @@ module.exports = { .setFooter({ text: `Unsuspending at ` }) .setTimestamp(Date.now() + time); if (overwrite) { - db.query(`SELECT reason FROM suspensions WHERE id = '${member.id}' AND suspended = true`, async (err, rows) => { - const new_suspender = message.guild.members.cache.get(message.author.id).nickname??'' - db.query(`UPDATE suspensions SET suspended = false, reason = '${'overwriter: ' + new_suspender + '- ' + reason}' WHERE id = '${member.id}' AND suspended = true`) - embed.data.fields[3].value = `Overwritten suspensions. Roles the same as prior suspension` - suspensionLog.send({ embeds: [embed] }).then(member.user.send({ embeds: [embed] }).catch(() => {})) + db.query(`SELECT reason FROM suspensions WHERE id = ? AND suspended = ? `, [member.id, true], async (err, rows) => { + if(err) { + ErrorLogger.log(err, bot, message.guild) + }else{ + const overwriter = message.guild.members.cache.get(message.author.id).nickname ?? 'Unknown' + db.query(`UPDATE suspensions SET suspended = ?, reason = ? WHERE id = ? AND suspended = ?`, [false, 'overwritten: ' + overwriter + ' - ' + reason, member.id, true]) + embed.data.fields[3].value = `Overwritten suspensions. Roles the same as prior suspension` + await suspensionLog.send({ embeds: [embed] }).then(member.user.send({ embeds: [embed] }).catch(() => {})) + } }) } let userRolesString = '', userRoles = [] From 77537c651c062b108e7ce699d82c827bbc530cbb Mon Sep 17 00:00:00 2001 From: David Zhang Date: Thu, 1 Feb 2024 02:46:35 -0500 Subject: [PATCH 5/6] fix some old code --- commands/suspend.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/commands/suspend.js b/commands/suspend.js index 205effff..0db0ca2b 100644 --- a/commands/suspend.js +++ b/commands/suspend.js @@ -111,9 +111,9 @@ module.exports = { ErrorLogger.log(err, bot, message.guild) }else{ const overwriter = message.guild.members.cache.get(message.author.id).nickname ?? 'Unknown' - db.query(`UPDATE suspensions SET suspended = ?, reason = ? WHERE id = ? AND suspended = ?`, [false, 'overwritten: ' + overwriter + ' - ' + reason, member.id, true]) + db.query(`UPDATE suspensions SET suspended = ?, reason = ? WHERE id = ? AND suspended = ?`, [false, '(overwritten: ' + overwriter + ') ' + reason, member.id, true]) embed.data.fields[3].value = `Overwritten suspensions. Roles the same as prior suspension` - await suspensionLog.send({ embeds: [embed] }).then(member.user.send({ embeds: [embed] }).catch(() => {})) + await suspensionLog.send({ embeds: [embed] }).then(()=>member.user.send({ embeds: [embed] }).catch(() => {})) } }) } @@ -128,11 +128,11 @@ module.exports = { }) messageId = await suspensionLog.send({ embeds: [embed] }); await member.roles.remove(userRoles) - setTimeout(() => { member.roles.add(suspendedRole.id); }, 1000) - await member.user.send({ embeds: [embed] }).catch(() => {}) + await member.roles.add(suspendedRole.id) db.query(`INSERT INTO suspensions (id, guildid, suspended, uTime, reason, modid, roles, logmessage, unixTimestamp, length) VALUES ('${member.id}', '${message.guild.id}', true, '${Date.now() + time}', ${db.escape(reason)}, '${message.author.id}', '${userRolesString}', '${messageId.id}', '${Date.now()}', '${`${timeString} ${timeTypeString}`}');`) - message.channel.send(`${member} has been suspended`) + member.user.send({ embeds: [embed] }).catch(() => {}) + } }) From 25bab07bec96d8df42bedac66a3f80afde1d2714 Mon Sep 17 00:00:00 2001 From: David Zhang Date: Sun, 4 Feb 2024 00:58:11 -0500 Subject: [PATCH 6/6] add promise() to db query --- commands/suspend.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/commands/suspend.js b/commands/suspend.js index 0db0ca2b..149e3b2e 100644 --- a/commands/suspend.js +++ b/commands/suspend.js @@ -129,7 +129,7 @@ module.exports = { messageId = await suspensionLog.send({ embeds: [embed] }); await member.roles.remove(userRoles) await member.roles.add(suspendedRole.id) - db.query(`INSERT INTO suspensions (id, guildid, suspended, uTime, reason, modid, roles, logmessage, unixTimestamp, length) VALUES ('${member.id}', '${message.guild.id}', true, '${Date.now() + time}', ${db.escape(reason)}, '${message.author.id}', '${userRolesString}', '${messageId.id}', '${Date.now()}', '${`${timeString} ${timeTypeString}`}');`) + db.promise().query(`INSERT INTO suspensions (id, guildid, suspended, uTime, reason, modid, roles, logmessage, unixTimestamp, length) VALUES (?,?,?,?,?,?,?,?,?,?);`, [member.id, message.guild.id, true, Date.now() + time, reason, message.author.id, userRolesString, messageId.id, Date.now(), timeString + ' ' + timeTypeString]) message.channel.send(`${member} has been suspended`) member.user.send({ embeds: [embed] }).catch(() => {})