From 7193ec74569bf5a40a00b09e788e23ebec9757ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20Olausson=20Holten=C3=A4s?= Date: Mon, 14 Mar 2022 18:04:02 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=A9=B9=20fix=20error=20on=20messageCreate?= =?UTF-8?q?,=20credits=20!configured?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/events/messageCreate.js | 146 ++++++++++++++++++------------------ 1 file changed, 74 insertions(+), 72 deletions(-) diff --git a/src/events/messageCreate.js b/src/events/messageCreate.js index f416cee..0868abb 100644 --- a/src/events/messageCreate.js +++ b/src/events/messageCreate.js @@ -48,91 +48,93 @@ module.exports = { { new: true, upsert: true } ); - // If message length is below guild minimum length - if (message.content.length < guild.credits.minimumLength) return; + if (guild.credits && guild.points) { + // If message length is below guild minimum length + if (message.content.length < guild.credits.minimumLength) return; - // Needs to be updated for multi-guild to function properly - // if (config.credits.excludedChannels.includes(message.channel.id)) return; + // Needs to be updated for multi-guild to function properly + // if (config.credits.excludedChannels.includes(message.channel.id)) return; - // Check if user has a timeout - const isTimeout = await timeouts.findOne({ - guildId: message.guild.id, - userId: message.author.id, - timeoutId: 1, - }); - - // If user is not on timeout - if (!isTimeout) { - // Add credits to user - await credits - .findOneAndUpdate( - { userId: message.author.id, guildId: message.guild.id }, - { $inc: { balance: guild.credits.rate } }, - { new: true, upsert: true } - ) - - // If successful - .then(async () => { - // Send debug message - logger.debug( - `Guild: ${message.guild.id} Credits added to user: ${message.author.id}` - ); - }) - - // If error - .catch(async (err) => { - // Send error message - await logger.error(err); - }); - - // Add points to user - await experiences - .findOneAndUpdate( - { userId: message.author.id, guildId: message.guild.id }, - { $inc: { points: guild.points.rate } }, - { new: true, upsert: true } - ) - - // If successful - .then(async () => { - // Send debug message - logger.debug( - `Guild: ${message.guild.id} Points added to user: ${message.author.id}` - ); - }) - - // If error - .catch(async (err) => { - // Send error message - await logger.error(err); - }); - - // Create a timeout for the user - await timeouts.create({ + // Check if user has a timeout + const isTimeout = await timeouts.findOne({ guildId: message.guild.id, userId: message.author.id, timeoutId: 1, }); - setTimeout(async () => { - // Send debug message - await logger.debug( - `Guild: ${message.guild.id} User: ${ - message.author.id - } has not talked within last ${ - guild.credits.timeout / 1000 - } seconds, credits can be given` - ); + // If user is not on timeout + if (!isTimeout) { + // Add credits to user + await credits + .findOneAndUpdate( + { userId: message.author.id, guildId: message.guild.id }, + { $inc: { balance: guild.credits.rate } }, + { new: true, upsert: true } + ) - // When timeout is out, remove it from the database - await timeouts.deleteOne({ + // If successful + .then(async () => { + // Send debug message + logger.debug( + `Guild: ${message.guild.id} Credits added to user: ${message.author.id}` + ); + }) + + // If error + .catch(async (err) => { + // Send error message + await logger.error(err); + }); + + // Add points to user + await experiences + .findOneAndUpdate( + { userId: message.author.id, guildId: message.guild.id }, + { $inc: { points: guild.points.rate } }, + { new: true, upsert: true } + ) + + // If successful + .then(async () => { + // Send debug message + logger.debug( + `Guild: ${message.guild.id} Points added to user: ${message.author.id}` + ); + }) + + // If error + .catch(async (err) => { + // Send error message + await logger.error(err); + }); + + // Create a timeout for the user + await timeouts.create({ guildId: message.guild.id, userId: message.author.id, timeoutId: 1, }); - }, guild.credits.timeout); + + setTimeout(async () => { + // Send debug message + await logger.debug( + `Guild: ${message.guild.id} User: ${ + message.author.id + } has not talked within last ${ + guild.credits.timeout / 1000 + } seconds, credits can be given` + ); + + // When timeout is out, remove it from the database + await timeouts.deleteOne({ + guildId: message.guild.id, + userId: message.author.id, + timeoutId: 1, + }); + }, guild.credits.timeout); + } } else { - // Sned debug message + // Send debug message await logger.debug( `Guild: ${message.guild.id} User: ${ message.author.id