diff --git a/config/questions.json b/config/questions.json index b9fd3bc..ed0bddf 100644 --- a/config/questions.json +++ b/config/questions.json @@ -1,36 +1,76 @@ { - "qu1": "What is your IGN?", - "qu2": "What is your hypixel Network Level?", - "qu3": "What stats are you submitting? (ex. BW lv 135 or SW lv 12 etc..)? Please provide us your best stats of the gamemode you main the most.", - "qu4": "Which talents make you a good member for Illegitimate? Tell us about your accomplishments, hobbies and ambitions both on Hypixel and in real life.", - "qu5": "Will you be able to make from 100k to 150k gexp x week?", - "qu6": "Tell us about: your age, what you expect to gain from Illegitimate, whether you play on other accounts; if you often will be inactive; your punishment history; etc… This section is all yours and we expect a longer answer.", - "qu7": "How did you find about us? (Yt, advertisement in lobbies, friend..)", - "qu8": "What is your time zone? (Example: GMT+1)", - "rq1": "What is your IGN?", - "rq2": "What is your hypixel Network Level?", - "rq3": "What stats are you submitting?", - "rq4": "Which talents make you a good member for Illegitimate?", - "rq5": "Will you be able to make from 100k to 150k gexp x week?", - "rq6": "Tell us about yourself.", - "rq7": "How did you find about us?", - "rq8": "What is your time zone?", - "sq1": "What is your IGN?", - "sq2": "How long have you been in the guild for?", - "sq3": "Have you been guild muted for any reason? (This includes mutes for staff disrespect, arguing with guild members, toxicity...)", - "sq4": "Are you an active guild member? (Keep in mind we will surely check your GEXP)", - "sq5": "Do you have any experience as a staff member (guild moderator) at all?", - "sq6": "Why should we choose you as a Guild Moderator? (Tell us what would you do for the guild, how are you gonna help us grow the community, how many hours per day are you willing to spend doing the stuff as moderator for the guild etc..", - "rsq1": "What is your IGN?", - "rsq2": "How long have you been in the guild for?", - "rsq3": "Have you been guild muted for any reason?", - "rsq4": "Are you an active guild member?", - "rsq5": "Do you have any experience as a staff member (guild moderator) at all?", - "rsq6": "Why should we choose you as a Guild Moderator?", - "ia1": "What is your IGN?", - "ia2": "Duration of the absence?", - "ia3": "Reason of the absence?", - "ria1": "What is your IGN?", - "ria2": "Duration of the absence?", - "ria3": "Reason of the absence?" + "guild": [ + { + "q": "What is your IGN?", + "r": "What is your IGN?" + }, + { + "q": "What is your hypixel Network Level?", + "r": "What is your hypixel Network Level?" + }, + { + "q": "What stats are you submitting? (ex. BW lv 135 or SW lv 12 etc..)? Please provide us your best stats of the gamemode you main the most.", + "r": "What stats are you submitting?" + }, + { + "q": "Which talents make you a good member for Illegitimate? Tell us about your accomplishments, hobbies and ambitions both on Hypixel and in real life.", + "r": "Which talents make you a good member for Illegitimate?" + }, + { + "q": "Will you be able to make from 100k to 150k gexp x week?", + "r": "Will you be able to make from 100k to 150k gexp x week?" + }, + { + "q": "Tell us about: your age, what you expect to gain from Illegitimate, whether you play on other accounts; if you often will be inactive; your punishment history; etc… This section is all yours and we expect a longer answer.", + "r": "Tell us about yourself." + }, + { + "q": "How did you find about us? (Yt, advertisement in lobbies, friend..)", + "r": "How did you find about us?" + }, + { + "q": "What is your time zone? (Example: GMT+1)", + "r": "What is your time zone?" + } + ], + "staff": [ + { + "q": "What is your IGN?", + "r": "What is your IGN?" + }, + { + "q": "How long have you been in the guild for?", + "r": "How long have you been in the guild for?" + }, + { + "q": "Have you been guild muted for any reason? (This includes mutes for staff disrespect, arguing with guild members, toxicity...)", + "r": "Have you been guild muted for any reason?" + }, + { + "q": "Are you an active guild member? (Keep in mind we will surely check your GEXP)", + "r": "Are you an active guild member?" + }, + { + "q": "Do you have any experience as a staff member (guild moderator) at all?", + "r": "Do you have any experience as a staff member (guild moderator) at all?" + }, + { + "q": "Why should we choose you as a Guild Moderator? (Tell us what would you do for the guild, how are you gonna help us grow the community, how many hours per day are you willing to spend doing the stuff as moderator for the guild etc..", + "r": "Why should we choose you as a Guild Moderator?" + } + ], + "inactivity": [ + { + "q": "What is your IGN?", + "r": "What is your IGN?" + }, + { + "q": "Duration of the absence?", + "r": "Duration of the absence?" + }, + { + "q": "Reason of the absence?", + "r": "Reason of the absence?" + } + ] } diff --git a/events/buttons/guildapply.js b/events/buttons/guildapply.js index 22b9633..ce256ed 100644 --- a/events/buttons/guildapply.js +++ b/events/buttons/guildapply.js @@ -2,8 +2,7 @@ const { ButtonBuilder, ButtonStyle, ActionRowBuilder, EmbedBuilder } = require(' const { color } = require('../../config/options.json'); const { largeM, smallM, ignM } = require('../../config/limitmessages.json') const { applicationsChannel } = require('../../config/options.json'); -const { qu1, qu2, qu3, qu4, qu5, qu6, qu7, qu8 } = require('../../config/questions.json'); -const { rq1, rq2, rq3, rq4, rq5, rq6, rq7, rq8 } = require('../../config/questions.json'); +const questions = require('../../config/questions.json'); const { guildRole } = require('../../config/roles.json') const { getUUID } = require('../../utils/utils.js') const mongoose = require('mongoose'); @@ -21,10 +20,16 @@ module.exports = { const user = interaction.user; const guild = interaction.guild; 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); + const guildQuestions = questions.guild + + function qu(n) { + return guildQuestions[n - 1].q + } + + function rq(n) { + return guildQuestions[n - 1].r + } if (interaction.customId === 'guildapply') { @@ -94,7 +99,7 @@ module.exports = { await user.send({ embeds: [{ title: "**Question 1**", - description: qu1 + "\n\nPlease type your answer below or type `cancel` to cancel your application.\n`" + ignM + "`", + description: qu(1) + "\n\nPlease type your answer below or type `cancel` to cancel your application.\n`" + ignM + "`", color: embedColor, footer: { text: "You have 5 minutes to respond to this message." @@ -144,7 +149,7 @@ module.exports = { await user.send({ embeds: [{ title: "**Question 2**", - description: qu2 + "\n\nPlease type your answer below or type `cancel` to cancel your application.\n" + "`(8 characters max)`", + description: qu(2) + "\n\nPlease type your answer below or type `cancel` to cancel your application.\n" + "`(8 characters max)`", color: embedColor, footer: { text: "You have 15 minutes to respond to this message." @@ -183,7 +188,7 @@ module.exports = { await user.send({ embeds: [{ title: "**Question 3**", - description: qu3 + "\n\nPlease type your answer below or type `cancel` to cancel your application.\n`" + smallM + "`", + description: qu(3) + "\n\nPlease type your answer below or type `cancel` to cancel your application.\n`" + smallM + "`", color: embedColor, footer: { text: "You have 15 minutes to respond to this message." @@ -221,7 +226,7 @@ module.exports = { await user.send({ embeds: [{ title: "**Question 4**", - description: qu4 + "\n\nPlease type your answer below or type `cancel` to cancel your application." + + description: qu(4) + "\n\nPlease type your answer below or type `cancel` to cancel your application." + " `(We expect a longer answer.)`\n`" + largeM + "`", color: embedColor, footer: { @@ -260,7 +265,7 @@ module.exports = { await user.send({ embeds: [{ title: "**Question 5**", - description: qu5 + "\n\nPlease type your answer below or type `cancel` to cancel your application.\n`" + smallM + "`", + description: qu(5) + "\n\nPlease type your answer below or type `cancel` to cancel your application.\n`" + smallM + "`", color: embedColor, footer: { text: "You have 15 minutes to respond to this message." @@ -298,7 +303,7 @@ module.exports = { await user.send({ embeds: [{ title: "**Question 6**", - description: qu6 + "\n\nPlease type your answer below or type `cancel` to cancel your application.\n`" + largeM + "`", + description: qu(6) + "\n\nPlease type your answer below or type `cancel` to cancel your application.\n`" + largeM + "`", color: embedColor, footer: { text: "You have 15 minutes to respond to this message." @@ -336,7 +341,7 @@ module.exports = { await user.send({ embeds: [{ title: "**Question 7**", - description: qu7 + "\n\nPlease type your answer below or type `cancel` to cancel your application.\n`" + smallM + "`", + description: qu(7) + "\n\nPlease type your answer below or type `cancel` to cancel your application.\n`" + smallM + "`", color: embedColor, footer: { text: "You have 15 minutes to respond to this message." @@ -374,7 +379,7 @@ module.exports = { await user.send({ embeds: [{ title: "**Question 8**", - description: qu8 + "\n\nPlease type your answer below or type `cancel` to cancel your application.\n" + "`(64 characters max)`", + description: qu(8) + "\n\nPlease type your answer below or type `cancel` to cancel your application.\n" + "`(64 characters max)`", color: embedColor, footer: { text: "You have 15 minutes to respond to this message." @@ -458,35 +463,35 @@ module.exports = { }, fields: [ { - name: rq1, + name: rq(1), value: "```" + answer1_1 + "```" }, { - name: rq2, + name: rq(2), value: "```" + answer2_1 + "```" }, { - name: rq3, + name: rq(3), value: "```" + answer3_1 + "```" }, { - name: rq4, + name: rq(4), value: "```" + answer4_1 + "```" }, { - name: rq5, + name: rq(5), value: "```" + answer5_1 + "```" }, { - name: rq6, + name: rq(6), value: "```" + answer6_1 + "```" }, { - name: rq7, + name: rq(7), value: "```" + answer7_1 + "```" }, { - name: rq8, + name: rq(8), value: "```" + answer8_1 + "```" } ], diff --git a/events/buttons/staffapply.js b/events/buttons/staffapply.js index c2aaa97..9a8db18 100644 --- a/events/buttons/staffapply.js +++ b/events/buttons/staffapply.js @@ -2,13 +2,13 @@ const { ButtonBuilder, ButtonStyle, ActionRowBuilder, EmbedBuilder } = require(' const { color } = require('../../config/options.json'); const { largeM, ignM } = require('../../config/limitmessages.json') const { staffApplicationsChannel } = require('../../config/options.json'); -const { sq1, sq2, sq3, sq4, sq5, sq6 } = require('../../config/questions.json'); -const { rsq1, rsq2, rsq3, rsq4, rsq5, rsq6 } = require('../../config/questions.json'); +const questions = require('../../config/questions.json'); const { guildRole, guildStaff } = require('../../config/roles.json') const mongoose = require('mongoose'); const staffapp = require('../../schemas/staffAppSchema.js'); const settings = require("../../schemas/settingsSchema.js"); const { getUUID } = require('../../utils/utils.js') +const dev = process.env.DEV module.exports = { name: 'staffapply', @@ -25,14 +25,25 @@ module.exports = { const userRoles = interaction.member.roles.cache; const setting = await settings.findOne({ name: "staffAppStatus" }) const status = setting.value; + const staffQuestions = questions.staff + + function sq(n) { + return staffQuestions[n - 1].q + } + + function rq(n) { + return staffQuestions[n - 1].r + } if (interaction.customId === "staffapply") { await interaction.deferReply({ ephemeral: true }); - if (status === "0") { - await interaction.editReply({ content: "Staff applications are currently closed.", ephemeral: true }); - return + if (user.id !== dev) { + if (status === "0") { + await interaction.editReply({ content: "Staff applications are currently closed.", ephemeral: true }); + return + } } if (!userRoles.has(guildRole)) { @@ -103,7 +114,7 @@ module.exports = { await user.send({ embeds: [{ title: "**Question 1**", - description: sq1 + "\n\nPlease type your answer below or type `cancel` to cancel your application.\n`" + ignM + "`", + description: sq(1) + "\n\nPlease type your answer below or type `cancel` to cancel your application.\n`" + ignM + "`", color: embedColor, footer: { text: "You have 5 minutes to respond to this message." @@ -153,7 +164,7 @@ module.exports = { await user.send({ embeds: [{ title: "**Question 2**", - description: sq2 + "\n\nPlease type your answer below or type `cancel` to cancel your application.\n" + "`(64 characters max)`", + description: sq(2) + "\n\nPlease type your answer below or type `cancel` to cancel your application.\n" + "`(64 characters max)`", color: embedColor, footer: { text: "You have 15 minutes to respond to this message." @@ -192,7 +203,7 @@ module.exports = { await user.send({ embeds: [{ title: "**Question 3**", - description: sq3 + "\n\nPlease type your answer below or type `cancel` to cancel your application.\n`" + largeM + "`", + description: sq(3) + "\n\nPlease type your answer below or type `cancel` to cancel your application.\n`" + largeM + "`", color: embedColor, footer: { text: "You have 15 minutes to respond to this message." @@ -230,7 +241,7 @@ module.exports = { await user.send({ embeds: [{ title: "**Question 4**", - description: sq4 + "\n\nPlease type your answer below or type `cancel` to cancel your application.\n`" + largeM + "`", + description: sq(4) + "\n\nPlease type your answer below or type `cancel` to cancel your application.\n`" + largeM + "`", color: embedColor, footer: { text: "You have 15 minutes to respond to this message." @@ -268,7 +279,7 @@ module.exports = { await user.send({ embeds: [{ title: "**Question 5**", - description: sq5 + "\n\nPlease type your answer below or type `cancel` to cancel your application.\n`" + largeM + "`", + description: sq(5) + "\n\nPlease type your answer below or type `cancel` to cancel your application.\n`" + largeM + "`", color: embedColor, footer: { text: "You have 15 minutes to respond to this message." @@ -306,7 +317,7 @@ module.exports = { await user.send({ embeds: [{ title: "**Question 6**", - description: sq6 + "\n\nPlease type your answer below or type `cancel` to cancel your application." + + description: sq(6) + "\n\nPlease type your answer below or type `cancel` to cancel your application." + "`(We expect a longer answer here)`\n`" + largeM + "`", color: embedColor, footer: { @@ -393,27 +404,27 @@ module.exports = { }, fields: [ { - name: rsq1, + name: rq(1), value: "```" + answer1_1 + "```" }, { - name: rsq2, + name: rq(2), value: "```" + answer2_1 + "```" }, { - name: rsq3, + name: rq(3), value: "```" + answer3_1 + "```" }, { - name: rsq4, + name: rq(4), value: "```" + answer4_1 + "```" }, { - name: rsq5, + name: rq(5), value: "```" + answer5_1 + "```" }, { - name: rsq6, + name: rq(6), value: "```" + answer6_1 + "```" }