From 76fd813e98a0e8d338fcc5aea52ecacc96fe94a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20Olausson=20Holten=C3=A4s?= Date: Thu, 3 Mar 2022 21:15:09 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20credit=20nouns=20in=20a=20sepera?= =?UTF-8?q?te=20file?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/commands/credits/addons/balance.js | 6 +++--- src/commands/credits/addons/gift.js | 7 ++++--- src/commands/credits/addons/give.js | 4 +++- src/commands/credits/addons/redeem.js | 7 ++----- src/commands/credits/addons/take.js | 4 +++- src/commands/credits/addons/top.js | 11 ++++------- src/helpers/creditNoun.js | 3 +++ 7 files changed, 22 insertions(+), 20 deletions(-) create mode 100644 src/helpers/creditNoun.js diff --git a/src/commands/credits/addons/balance.js b/src/commands/credits/addons/balance.js index f9c462b..6176314 100644 --- a/src/commands/credits/addons/balance.js +++ b/src/commands/credits/addons/balance.js @@ -1,5 +1,7 @@ const credits = require('../../../helpers/database/models/creditSchema'); const logger = require('../../../handlers/logger'); +const creditNoun = require('../../../helpers/creditNoun'); + module.exports = async (interaction) => { try { const user = await interaction.options.getUser('user'); @@ -22,9 +24,7 @@ module.exports = async (interaction) => { const embed = { title: 'Balance', - description: `${user ? `${user} has` : 'You have'} ${ - balance <= 1 ? `${balance} credit` : `${balance} credits` - }.`, + description: `${user ? `${user} has` : 'You have'} ${await creditNoun(balance)}.`, color: process.env.SUCCESS_COLOR, timestamp: new Date(), footer: { iconURL: process.env.FOOTER_ICON, text: process.env.FOOTER_TEXT }, diff --git a/src/commands/credits/addons/gift.js b/src/commands/credits/addons/gift.js index bf5b87c..62431cc 100644 --- a/src/commands/credits/addons/gift.js +++ b/src/commands/credits/addons/gift.js @@ -1,6 +1,7 @@ const credits = require('../../../helpers/database/models/creditSchema'); const logger = require('../../../handlers/logger'); const saveUser = require('../../../helpers/saveUser'); +const creditNoun = require('../../../helpers/creditNoun'); module.exports = async (interaction) => { try { @@ -47,9 +48,9 @@ module.exports = async (interaction) => { const embed = { title: 'Gift', - description: `You sent ${ - amount <= 1 ? `${amount} credit` : `${amount} credits` - } to ${user}. Your new balance is ${fromUser.balance}.`, + description: `You sent ${await creditNoun( + amount + )} to ${user}. Your new balance is ${await creditNoun(fromUser.balance)}.`, color: 0x22bb33, timestamp: new Date(), footer: { iconURL: process.env.FOOTER_ICON, text: process.env.FOOTER_TEXT }, diff --git a/src/commands/credits/addons/give.js b/src/commands/credits/addons/give.js index 46064e8..2b1cd74 100644 --- a/src/commands/credits/addons/give.js +++ b/src/commands/credits/addons/give.js @@ -2,6 +2,8 @@ const { Permissions } = require('discord.js'); const credits = require('../../../helpers/database/models/creditSchema'); const logger = require('../../../handlers/logger'); +const creditNoun = require('../../../helpers/creditNoun'); + module.exports = async (interaction) => { try { if (!interaction.member.permissions.has(Permissions.FLAGS.MANAGE_GUILD)) { @@ -29,7 +31,7 @@ module.exports = async (interaction) => { await toUser.save(); const embed = { title: 'Give', - description: `Gave ${amount <= 1 ? `${amount} credit` : `${amount} credits`} to ${user}.`, + description: `Gave ${await creditNoun(amount)} to ${user}.`, color: 0x22bb33, timestamp: new Date(), footer: { iconURL: process.env.FOOTER_ICON, text: process.env.FOOTER_TEXT }, diff --git a/src/commands/credits/addons/redeem.js b/src/commands/credits/addons/redeem.js index 9a57995..3e16048 100644 --- a/src/commands/credits/addons/redeem.js +++ b/src/commands/credits/addons/redeem.js @@ -1,5 +1,6 @@ const credits = require('../../../helpers/database/models/creditSchema'); const logger = require('../../../handlers/logger'); +const creditNoun = require('../../../helpers/creditNoun'); const api = require('../../../handlers/api.js'); @@ -77,11 +78,7 @@ module.exports = async (interaction) => { await user.save(); - await logger.debug( - `User: ${user.username} redeemed: ${ - amount <= 1 ? `${amount} credit` : `${amount} credits` - }` - ); + await logger.debug(`User: ${user.username} redeemed: ${await creditNoun(amount)}`); await interaction.editReply({ embeds: [embed], ephemeral: true }); }) .catch(async (err) => { diff --git a/src/commands/credits/addons/take.js b/src/commands/credits/addons/take.js index a5f5e89..fafc99e 100644 --- a/src/commands/credits/addons/take.js +++ b/src/commands/credits/addons/take.js @@ -2,6 +2,8 @@ const { Permissions } = require('discord.js'); const credits = require('../../../helpers/database/models/creditSchema'); const logger = require('../../../handlers/logger'); +const creditNoun = require('../../../helpers/creditNoun'); + module.exports = async (interaction) => { if (!interaction.member.permissions.has(Permissions.FLAGS.MANAGE_GUILD)) { const embed = { @@ -32,7 +34,7 @@ module.exports = async (interaction) => { const embed = { title: 'Take', - description: `You took ${amount <= 1 ? `${amount} credit` : `${amount} credits`} to ${user}.`, + description: `You took ${await creditNoun(amount)} to ${user}.`, color: 0x22bb33, timestamp: new Date(), footer: { iconURL: process.env.FOOTER_ICON, text: process.env.FOOTER_TEXT }, diff --git a/src/commands/credits/addons/top.js b/src/commands/credits/addons/top.js index cf196dd..0ae4e99 100644 --- a/src/commands/credits/addons/top.js +++ b/src/commands/credits/addons/top.js @@ -1,5 +1,7 @@ const credits = require('../../../helpers/database/models/creditSchema'); -const debug = require('../../../handlers/debug'); +const logger = require('../../../handlers/logger'); +const creditNoun = require('../../../helpers/creditNoun'); + module.exports = async (interaction) => { await credits.find().then(async (data) => { const sorted = data.sort((a, b) => (a.balance > b.balance ? -1 : 1)); @@ -8,12 +10,7 @@ module.exports = async (interaction) => { const embed = { title: 'Balance Top', description: `Below are the top ten.\n${topTen - .map( - (x, index) => - `**Top ${index + 1}** - <@${x.userId}> ${ - x.balance <= 1 ? `${x.balance} credit` : `${x.balance} credits` - }` - ) + .map((x, index) => `**Top ${index + 1}** - <@${x.userId}> ${await creditNoun(x.balance)}`) .join('\n')}`, color: 0x22bb33, timestamp: new Date(), diff --git a/src/helpers/creditNoun.js b/src/helpers/creditNoun.js new file mode 100644 index 0000000..374cfb1 --- /dev/null +++ b/src/helpers/creditNoun.js @@ -0,0 +1,3 @@ +module.exports = async (amount) => { + return `${amount <= 1 ? `${amount} credit` : `${amount} credits`}`; +};