From 5eeab053694a6637dc35d0a955f7bc7f5f59a4e2 Mon Sep 17 00:00:00 2001 From: tarolling Date: Sun, 14 Jul 2024 14:21:34 -0400 Subject: [PATCH] Add register functionality to `/q` --- commands/rps/queue.js | 4 ++-- commands/rps/register.js | 18 --------------- src/db/registerPlayer.js | 8 +------ src/db/values.js | 48 ++-------------------------------------- 4 files changed, 5 insertions(+), 73 deletions(-) delete mode 100644 commands/rps/register.js diff --git a/commands/rps/queue.js b/commands/rps/queue.js index f7c6c07..66141b6 100644 --- a/commands/rps/queue.js +++ b/commands/rps/queue.js @@ -1,7 +1,7 @@ const { SlashCommandBuilder } = require('discord.js'); const { addPlayerToQueue, findPlayerQueue, createQueue, findOpenQueue } = require('../../src/game/manageQueues'); const { queue: queueEmbed } = require('../../src/embeds'); -const { findPlayer } = require('../../src/db'); +const { findPlayer, registerPlayer } = require('../../src/db'); const { defaultTimeout } = require('../../config/settings.json'); const playSeries = require('../../src/game/playSeries'); const leave = require('./leave'); @@ -29,7 +29,7 @@ module.exports = { const { user } = interaction; const player_doc = await findPlayer(user.id); if (!player_doc) { - return interaction.editReply({ content: 'You are not registered. Use `/r` to register.', ephemeral: true }); + await registerPlayer(interaction); } let playerQueueId = await findPlayerQueue(user); diff --git a/commands/rps/register.js b/commands/rps/register.js deleted file mode 100644 index e5a81c6..0000000 --- a/commands/rps/register.js +++ /dev/null @@ -1,18 +0,0 @@ -const { SlashCommandBuilder } = require('discord.js'); -const { registerPlayer } = require('../../src/db'); - - -module.exports = { - data: new SlashCommandBuilder() - .setName('r') - .setDescription('Register to start playing Ranked RPS.'), - async execute(interaction) { - try { - await interaction.deferReply({ ephemeral: true }); - await registerPlayer(interaction); - } catch (err) { - console.error(err); - return interaction.editReply({ content: 'An error occurred while trying to register your account.', ephemeral: true }); - } - } -}; \ No newline at end of file diff --git a/src/db/registerPlayer.js b/src/db/registerPlayer.js index 925ccb8..f35744f 100644 --- a/src/db/registerPlayer.js +++ b/src/db/registerPlayer.js @@ -18,17 +18,11 @@ module.exports = async (interaction) => { const doc = addValues(interaction); try { - // inserting the document into the database await dbClient.connect(); const collection = dbClient.db('rps').collection('players'); const check = await collection.findOne(query); - if (check) { - return interaction.editReply({ content: `You are already registered!`, ephemeral: true }); - } else { - await collection.insertOne(doc); - return interaction.editReply({ content: 'You have been registered. Have fun!', ephemeral: true }); - } + if (!check) await collection.insertOne(doc); } catch (err) { console.error(err); } finally { diff --git a/src/db/values.js b/src/db/values.js index 93fcf4b..390049f 100644 --- a/src/db/values.js +++ b/src/db/values.js @@ -4,7 +4,7 @@ const { defaultElo, defaultRank } = require('../../config/settings.json'); const addValues = (interaction) => { return { user_id: interaction.user.id, - club: "N/A", + club: "None", elo: defaultElo, sigma: 0, rank: defaultRank, @@ -26,50 +26,6 @@ const addValues = (interaction) => { }; }; -const careerResetValues = () => { - return { - $set: { - club: "N/A", - elo: defaultElo, - sigma: 0, - rank: defaultRank, - career_games: 0, - career_wins: 0, - career_losses: 0, - career_win_pct: 0, - season_games: 0, - season_wins: 0, - season_losses: 0, - season_win_pct: 0, - tournament_games: 0, - tournament_wins: 0, - tournament_losses: 0, - current_streak: 0, - longest_streak: 0, - career_peak_elo: defaultElo, - season_peak_elo: defaultElo - } - }; -}; - -const seasonResetValues = () => { - return { - $set: { - elo: defaultElo, - sigma: 0, - rank: defaultRank, - season_games: 0, - season_wins: 0, - season_losses: 0, - season_win_pct: 0, - current_streak: 0, - season_peak_elo: defaultElo - } - }; -}; - module.exports = { - addValues, - careerResetValues, - seasonResetValues + addValues }; \ No newline at end of file