Moved to uuids and cleaned up the output

This commit is contained in:
2023-03-14 20:07:44 +01:00
parent 6cdf0e4c42
commit aca9584b34
5 changed files with 130 additions and 58 deletions

View File

@@ -39,7 +39,7 @@ module.exports = {
return return
} }
if (!userCheck.data.id) { if (!userUUID) {
interaction.reply('That player doesn\'t exist. [Mojang]') interaction.reply('That player doesn\'t exist. [Mojang]')
return return
} }

View File

@@ -33,8 +33,10 @@ module.exports = {
const embedColor = Number(color.replace("#", "0x")); const embedColor = Number(color.replace("#", "0x"));
const userCheck = await fetch(mojang + ign); const userCheck = await fetch(mojang + ign);
const hypixelCheck = await fetch(slothPixel + ign); const userUUID = userCheck.data.id;
const guildCheck = await fetch(guildAPI + ign);
const hypixelCheck = await fetch(slothPixel + userUUID);
const guildCheck = await fetch(guildAPI + userUUID);
const head = minotar + ign; const head = minotar + ign;
const GuildMembers = await guildCheck.data.members; const GuildMembers = await guildCheck.data.members;
@@ -46,7 +48,7 @@ module.exports = {
return return
} }
if (!userCheck.data.id) { if (!userUUID) {
interaction.reply('That player doesn\'t exist. [Mojang]') interaction.reply('That player doesn\'t exist. [Mojang]')
return return
} }

View File

@@ -1,10 +1,10 @@
{ {
"qu1": "", "qu1": "What is your IGN?",
"qu2": "", "qu2": "template questions",
"qu3": "", "qu3": "template questions",
"qu4": "", "qu4": "template questions",
"qu5": "", "qu5": "template questions",
"qu6": "", "qu6": "template questions",
"qu7": "", "qu7": "template questions",
"qu8": "" "qu8": "template questions"
} }

View File

@@ -16,27 +16,20 @@ module.exports = {
const filePath = path.join(__dirname, `../../applications/${applicantId}`); const filePath = path.join(__dirname, `../../applications/${applicantId}`);
const ign = fs.readFileSync(filePath, 'utf8'); const uuid = fs.readFileSync(filePath, 'utf8');
const mojang = "https://api.mojang.com/users/profiles/minecraft/" const mojang = "https://api.mojang.com/user/profile/"
const slothPixel = "https://api.slothpixel.me/api/players/"; const slothPixel = "https://api.slothpixel.me/api/players/";
const guildAPI = "https://api.slothpixel.me/api/guilds/"
const minotar = "https://minotar.net/helm/"; const minotar = "https://minotar.net/helm/";
const embedColor = Number(color.replace("#", "0x")); const embedColor = Number(color.replace("#", "0x"));
const userCheck = await fetch(mojang + ign); const userCheck = await fetch(mojang + uuid);
const stats = await fetch(slothPixel + ign); const ign = userCheck.data.name;
const guildCheck = await fetch(guildAPI + uuid);
const stats = await fetch(slothPixel + uuid);
const head = minotar + ign; const head = minotar + ign;
if (interaction.user.id !== dev) {
interaction.reply('This command is currently under development.')
return
}
if (!ign) {
interaction.reply('Please provide a player\'s IGN.')
return
}
if (!userCheck.data.id) { if (!userCheck.data.id) {
interaction.reply('That player doesn\'t exist. [Mojang]') interaction.reply('That player doesn\'t exist. [Mojang]')
return return
@@ -50,30 +43,34 @@ module.exports = {
await interaction.reply({ await interaction.reply({
embeds: [{ embeds: [{
title: stats.data.username, title: stats.data.username,
description: "**Stats:**", description: "**Network Level:** `" + stats.data.level.toString() + "`\n" +
"**Current Guild:** `" + guildCheck.data.name + "`",
color: embedColor, color: embedColor,
thumbnail: { thumbnail: {
url: head url: head
}, },
footer: { footer: {
text: "Developed by @Taken#0002" text: interaction.guild.name + " | Developed by @Taken#0002",
icon_url: interaction.guild.iconURL()
}, },
fields: [ fields: [
{
name: "**Network Level**",
value: stats.data.level.toString(),
},
{ {
name: "**Bedwars**", name: "**Bedwars**",
value: "**Stars:** " + stats.data.stats.BedWars.level.toString() + "\n" + value: "**Stars:** `" + stats.data.stats.BedWars.level.toString() + "`\n" +
"**FKDR:** " + stats.data.stats.BedWars.final_k_d.toString() + "\n" + "**FKDR:** `" + stats.data.stats.BedWars.final_k_d.toString() + "`\n" +
"**Wins:** " + stats.data.stats.BedWars.wins.toString() "**Wins:** `" + stats.data.stats.BedWars.wins.toString() + "`"
}, },
{ {
name: "**Skywars**", name: "**Skywars**",
value: "**Stars:** " + stats.data.stats.SkyWars.level.toFixed(2).toString() + "\n" + value: "**Stars:** `" + stats.data.stats.SkyWars.level.toFixed(2).toString() + "`\n" +
"**KDR**: " + stats.data.stats.SkyWars.kill_death_ratio.toString() + "\n" + "**KDR:** `" + stats.data.stats.SkyWars.kill_death_ratio.toString() + "`\n" +
"**Wins:** " + stats.data.stats.SkyWars.wins.toString() "**Wins:** `" + stats.data.stats.SkyWars.wins.toString() + "`"
},
{
name: "**Duels**",
value: "**• Wins:** `" + stats.data.stats.Duels.general.wins.toString() + "`\n" +
"**• KDR:** `" + stats.data.stats.Duels.general.kd_ratio.toFixed(2).toString() + "`\n" +
"**• WLR:** `" + stats.data.stats.Duels.general.win_loss_ratio.toFixed(2).toString() + "`"
} }
] ]
}] }]

View File

@@ -1,6 +1,9 @@
const { ChannelType, PermissionFlagsBits, ButtonBuilder, ButtonStyle, ActionRowBuilder, EmbedBuilder } = require('discord.js'); const { ChannelType, PermissionFlagsBits, ButtonBuilder, ButtonStyle, ActionRowBuilder, EmbedBuilder } = require('discord.js');
const { color } = require('../../config/options.json'); const { color } = require('../../config/options.json');
const { qu1, qu2, qu3, qu4, qu5, qu6, qu7, qu8 } = require('../../config/questions.json');
const { gm, manager, moderator, beast, member, trialmember } = require('../../config/roles.json')
const path = require('path'); const path = require('path');
const fetch = require('axios');
const fs = require('fs'); const fs = require('fs');
module.exports = { module.exports = {
@@ -14,6 +17,15 @@ module.exports = {
const guild = interaction.guild; const guild = interaction.guild;
const embedColor = Number(color.replace("#", "0x")); const embedColor = Number(color.replace("#", "0x"));
const mojangAPI = "https://api.mojang.com/users/profiles/minecraft/"
const userRoles = guild.members.cache.get(user.id).roles.cache.map(role => role.id);
if (userRoles.includes ( gm || manager || moderator || beast || member || trialmember )) {
await interaction.reply({ content: "You are already a member of the guild.", ephemeral: true });
return
}
if (interaction.customId === 'guildapply') { if (interaction.customId === 'guildapply') {
const applicationFile = path.join(__dirname, '../../applications/' + user.id); const applicationFile = path.join(__dirname, '../../applications/' + user.id);
@@ -34,7 +46,9 @@ module.exports = {
embeds: [{ embeds: [{
title: 'Guild Application', title: 'Guild Application',
description: "Please answer the following questions to apply for the guild.\n" + description: "Please answer the following questions to apply for the guild.\n" +
"If you wish to cancel your application, please press the button below or type `cancel`.", "If you wish to cancel your application, please press type `cancel` at any time.\n" +
"If you wish to proceed with your application, please type `yes`.\n\n" +
"You have a minute to respond to this message.",
color: embedColor, color: embedColor,
}] }]
}) })
@@ -49,7 +63,7 @@ module.exports = {
const input = await user.dmChannel.awaitMessages({ const input = await user.dmChannel.awaitMessages({
filter: m => m.author.id === user.id, filter: m => m.author.id === user.id,
max: 1, max: 1,
time: 1000 * 60 * 5 time: 1000 * 60
}); });
if (input.size === 0) { if (input.size === 0) {
await user.send({ embeds: [tooLong] }); await user.send({ embeds: [tooLong] });
@@ -61,11 +75,18 @@ module.exports = {
} }
// first question // first question
const question1 = await user.send("1st") const question1 = await user.send({
embeds: [{
description: "**1. " + qu1 + "**\n\n" +
"Please type your answer below.\n" +
"You have 5 minutes to respond to this message.",
color: embedColor
}]
})
const answer1 = await user.dmChannel.awaitMessages({ const answer1 = await user.dmChannel.awaitMessages({
filter: m => m.author.id === user.id, filter: m => m.author.id === user.id,
max: 1, max: 1,
time: 1000 * 60 * 15 time: 1000 * 60 * 5
}); });
if (answer1.size === 0) { if (answer1.size === 0) {
await user.send({ embeds: [tooLong] }) await user.send({ embeds: [tooLong] })
@@ -78,7 +99,14 @@ module.exports = {
const answer1_1 = answer1.first().content const answer1_1 = answer1.first().content
// second question // second question
const question2 = await user.send("2nd") const question2 = await user.send({
embeds: [{
description: "**2. " + qu2 + "**\n\n" +
"Please type your answer below.\n" +
"You have 15 minutes to respond to this message.",
color: embedColor
}]
})
const answer2 = await user.dmChannel.awaitMessages({ const answer2 = await user.dmChannel.awaitMessages({
filter: m => m.author.id === user.id, filter: m => m.author.id === user.id,
max: 1, max: 1,
@@ -95,7 +123,14 @@ module.exports = {
const answer2_1 = answer2.first().content const answer2_1 = answer2.first().content
// third question // third question
const question3 = await user.send("3rd") const question3 = await user.send({
embeds: [{
description: "**3. " + qu3 + "**\n\n" +
"Please type your answer below.\n" +
"You have 15 minutes to respond to this message.",
color: embedColor
}]
})
const answer3 = await user.dmChannel.awaitMessages({ const answer3 = await user.dmChannel.awaitMessages({
filter: m => m.author.id === user.id, filter: m => m.author.id === user.id,
max: 1, max: 1,
@@ -112,7 +147,14 @@ module.exports = {
const answer3_1 = answer3.first().content const answer3_1 = answer3.first().content
// fourth question // fourth question
const question4 = await user.send("4th") const question4 = await user.send({
embeds: [{
description: "**4. " + qu4 + "**\n\n" +
"Please type your answer below.\n" +
"You have 15 minutes to respond to this message.",
color: embedColor
}]
})
const answer4 = await user.dmChannel.awaitMessages({ const answer4 = await user.dmChannel.awaitMessages({
filter: m => m.author.id === user.id, filter: m => m.author.id === user.id,
max: 1, max: 1,
@@ -129,7 +171,14 @@ module.exports = {
const answer4_1 = answer4.first().content const answer4_1 = answer4.first().content
// fifth question // fifth question
const question5 = await user.send("5th") const question5 = await user.send({
embeds: [{
description: "**5. " + qu5 + "**\n\n" +
"Please type your answer below.\n" +
"You have 15 minutes to respond to this message.",
color: embedColor
}]
})
const answer5 = await user.dmChannel.awaitMessages({ const answer5 = await user.dmChannel.awaitMessages({
filter: m => m.author.id === user.id, filter: m => m.author.id === user.id,
max: 1, max: 1,
@@ -146,7 +195,14 @@ module.exports = {
const answer5_1 = answer5.first().content const answer5_1 = answer5.first().content
// sixth question // sixth question
const question6 = await user.send("6th") const question6 = await user.send({
embeds: [{
description: "**6. " + qu6 + "**\n\n" +
"Please type your answer below.\n" +
"You have 15 minutes to respond to this message.",
color: embedColor
}]
})
const answer6 = await user.dmChannel.awaitMessages({ const answer6 = await user.dmChannel.awaitMessages({
filter: m => m.author.id === user.id, filter: m => m.author.id === user.id,
max: 1, max: 1,
@@ -163,7 +219,14 @@ module.exports = {
const answer6_1 = answer6.first().content const answer6_1 = answer6.first().content
// seventh question // seventh question
const question7 = await user.send("7th") const question7 = await user.send({
embeds: [{
description: "**7. " + qu7 + "**\n\n" +
"Please type your answer below.\n" +
"You have 15 minutes to respond to this message.",
color: embedColor
}]
})
const answer7 = await user.dmChannel.awaitMessages({ const answer7 = await user.dmChannel.awaitMessages({
filter: m => m.author.id === user.id, filter: m => m.author.id === user.id,
max: 1, max: 1,
@@ -180,7 +243,14 @@ module.exports = {
const answer7_1 = answer7.first().content const answer7_1 = answer7.first().content
// eighth question // eighth question
const question8 = await user.send("8th") const question8 = await user.send({
embeds: [{
description: "**8. " + qu8 + "**\n\n" +
"Please type your answer below.\n" +
"You have 15 minutes to respond to this message.",
color: embedColor
}]
})
const answer8 = await user.dmChannel.awaitMessages({ const answer8 = await user.dmChannel.awaitMessages({
filter: m => m.author.id === user.id, filter: m => m.author.id === user.id,
max: 1, max: 1,
@@ -223,8 +293,11 @@ module.exports = {
color: embedColor color: embedColor
}] }]
}) })
const userCheck = await fetch(mojangAPI + answer1_1)
const uuid = userCheck.data.id
fs.writeFile(`./applications/${user.id}`, answer1_1, function (err) { fs.writeFile(`./applications/${user.id}`, uuid, function (err) {
if (err) throw err; if (err) throw err;
}); });
@@ -251,35 +324,35 @@ module.exports = {
}, },
fields: [ fields: [
{ {
name: "1st", name: qu1,
value: answer1_1 value: answer1_1
}, },
{ {
name: "2nd", name: qu2,
value: answer2_1 value: answer2_1
}, },
{ {
name: "3rd", name: qu3,
value: answer3_1 value: answer3_1
}, },
{ {
name: "4th", name: qu4,
value: answer4_1 value: answer4_1
}, },
{ {
name: "5th", name: qu5,
value: answer5_1 value: answer5_1
}, },
{ {
name: "6th", name: qu6,
value: answer6_1 value: answer6_1
}, },
{ {
name: "7th", name: qu7,
value: answer7_1 value: answer7_1
}, },
{ {
name: "8th", name: qu8,
value: answer8_1 value: answer8_1
} }