Updated guild and staff apply to use new format

This commit is contained in:
2023-11-20 17:37:57 +01:00
parent b300f598b6
commit f6e4191cf9
3 changed files with 128 additions and 72 deletions

View File

@@ -1,36 +1,76 @@
{ {
"qu1": "What is your IGN?", "guild": [
"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.", "q": "What is your IGN?",
"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.", "r": "What is your IGN?"
"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..)", "q": "What is your hypixel Network Level?",
"qu8": "What is your time zone? (Example: GMT+1)", "r": "What is your hypixel Network Level?"
"rq1": "What is your IGN?", },
"rq2": "What is your hypixel Network Level?", {
"rq3": "What stats are you submitting?", "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.",
"rq4": "Which talents make you a good member for Illegitimate?", "r": "What stats are you submitting?"
"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?", "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.",
"rq8": "What is your time zone?", "r": "Which talents make you a good member for Illegitimate?"
"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...)", "q": "Will you be able to make from 100k to 150k gexp x week?",
"sq4": "Are you an active guild member? (Keep in mind we will surely check your GEXP)", "r": "Will you be able to make from 100k to 150k gexp x week?"
"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?", "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.",
"rsq2": "How long have you been in the guild for?", "r": "Tell us about yourself."
"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?", "q": "How did you find about us? (Yt, advertisement in lobbies, friend..)",
"rsq6": "Why should we choose you as a Guild Moderator?", "r": "How did you find about us?"
"ia1": "What is your IGN?", },
"ia2": "Duration of the absence?", {
"ia3": "Reason of the absence?", "q": "What is your time zone? (Example: GMT+1)",
"ria1": "What is your IGN?", "r": "What is your time zone?"
"ria2": "Duration of the absence?", }
"ria3": "Reason of the absence?" ],
"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?"
}
]
} }

View File

@@ -2,8 +2,7 @@ const { ButtonBuilder, ButtonStyle, ActionRowBuilder, EmbedBuilder } = require('
const { color } = require('../../config/options.json'); const { color } = require('../../config/options.json');
const { largeM, smallM, ignM } = require('../../config/limitmessages.json') const { largeM, smallM, ignM } = require('../../config/limitmessages.json')
const { applicationsChannel } = require('../../config/options.json'); const { applicationsChannel } = require('../../config/options.json');
const { qu1, qu2, qu3, qu4, qu5, qu6, qu7, qu8 } = require('../../config/questions.json'); const questions = require('../../config/questions.json');
const { rq1, rq2, rq3, rq4, rq5, rq6, rq7, rq8 } = require('../../config/questions.json');
const { guildRole } = require('../../config/roles.json') const { guildRole } = require('../../config/roles.json')
const { getUUID } = require('../../utils/utils.js') const { getUUID } = require('../../utils/utils.js')
const mongoose = require('mongoose'); const mongoose = require('mongoose');
@@ -21,10 +20,16 @@ module.exports = {
const user = interaction.user; const user = interaction.user;
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); 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') { if (interaction.customId === 'guildapply') {
@@ -94,7 +99,7 @@ module.exports = {
await user.send({ await user.send({
embeds: [{ embeds: [{
title: "**Question 1**", 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, color: embedColor,
footer: { footer: {
text: "You have 5 minutes to respond to this message." text: "You have 5 minutes to respond to this message."
@@ -144,7 +149,7 @@ module.exports = {
await user.send({ await user.send({
embeds: [{ embeds: [{
title: "**Question 2**", 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, color: embedColor,
footer: { footer: {
text: "You have 15 minutes to respond to this message." text: "You have 15 minutes to respond to this message."
@@ -183,7 +188,7 @@ module.exports = {
await user.send({ await user.send({
embeds: [{ embeds: [{
title: "**Question 3**", 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, color: embedColor,
footer: { footer: {
text: "You have 15 minutes to respond to this message." text: "You have 15 minutes to respond to this message."
@@ -221,7 +226,7 @@ module.exports = {
await user.send({ await user.send({
embeds: [{ embeds: [{
title: "**Question 4**", 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 + "`", " `(We expect a longer answer.)`\n`" + largeM + "`",
color: embedColor, color: embedColor,
footer: { footer: {
@@ -260,7 +265,7 @@ module.exports = {
await user.send({ await user.send({
embeds: [{ embeds: [{
title: "**Question 5**", 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, color: embedColor,
footer: { footer: {
text: "You have 15 minutes to respond to this message." text: "You have 15 minutes to respond to this message."
@@ -298,7 +303,7 @@ module.exports = {
await user.send({ await user.send({
embeds: [{ embeds: [{
title: "**Question 6**", 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, color: embedColor,
footer: { footer: {
text: "You have 15 minutes to respond to this message." text: "You have 15 minutes to respond to this message."
@@ -336,7 +341,7 @@ module.exports = {
await user.send({ await user.send({
embeds: [{ embeds: [{
title: "**Question 7**", 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, color: embedColor,
footer: { footer: {
text: "You have 15 minutes to respond to this message." text: "You have 15 minutes to respond to this message."
@@ -374,7 +379,7 @@ module.exports = {
await user.send({ await user.send({
embeds: [{ embeds: [{
title: "**Question 8**", 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, color: embedColor,
footer: { footer: {
text: "You have 15 minutes to respond to this message." text: "You have 15 minutes to respond to this message."
@@ -458,35 +463,35 @@ module.exports = {
}, },
fields: [ fields: [
{ {
name: rq1, name: rq(1),
value: "```" + answer1_1 + "```" value: "```" + answer1_1 + "```"
}, },
{ {
name: rq2, name: rq(2),
value: "```" + answer2_1 + "```" value: "```" + answer2_1 + "```"
}, },
{ {
name: rq3, name: rq(3),
value: "```" + answer3_1 + "```" value: "```" + answer3_1 + "```"
}, },
{ {
name: rq4, name: rq(4),
value: "```" + answer4_1 + "```" value: "```" + answer4_1 + "```"
}, },
{ {
name: rq5, name: rq(5),
value: "```" + answer5_1 + "```" value: "```" + answer5_1 + "```"
}, },
{ {
name: rq6, name: rq(6),
value: "```" + answer6_1 + "```" value: "```" + answer6_1 + "```"
}, },
{ {
name: rq7, name: rq(7),
value: "```" + answer7_1 + "```" value: "```" + answer7_1 + "```"
}, },
{ {
name: rq8, name: rq(8),
value: "```" + answer8_1 + "```" value: "```" + answer8_1 + "```"
} }
], ],

View File

@@ -2,13 +2,13 @@ const { ButtonBuilder, ButtonStyle, ActionRowBuilder, EmbedBuilder } = require('
const { color } = require('../../config/options.json'); const { color } = require('../../config/options.json');
const { largeM, ignM } = require('../../config/limitmessages.json') const { largeM, ignM } = require('../../config/limitmessages.json')
const { staffApplicationsChannel } = require('../../config/options.json'); const { staffApplicationsChannel } = require('../../config/options.json');
const { sq1, sq2, sq3, sq4, sq5, sq6 } = require('../../config/questions.json'); const questions = require('../../config/questions.json');
const { rsq1, rsq2, rsq3, rsq4, rsq5, rsq6 } = require('../../config/questions.json');
const { guildRole, guildStaff } = require('../../config/roles.json') const { guildRole, guildStaff } = require('../../config/roles.json')
const mongoose = require('mongoose'); const mongoose = require('mongoose');
const staffapp = require('../../schemas/staffAppSchema.js'); const staffapp = require('../../schemas/staffAppSchema.js');
const settings = require("../../schemas/settingsSchema.js"); const settings = require("../../schemas/settingsSchema.js");
const { getUUID } = require('../../utils/utils.js') const { getUUID } = require('../../utils/utils.js')
const dev = process.env.DEV
module.exports = { module.exports = {
name: 'staffapply', name: 'staffapply',
@@ -25,15 +25,26 @@ module.exports = {
const userRoles = interaction.member.roles.cache; const userRoles = interaction.member.roles.cache;
const setting = await settings.findOne({ name: "staffAppStatus" }) const setting = await settings.findOne({ name: "staffAppStatus" })
const status = setting.value; 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") { if (interaction.customId === "staffapply") {
await interaction.deferReply({ ephemeral: true }); await interaction.deferReply({ ephemeral: true });
if (user.id !== dev) {
if (status === "0") { if (status === "0") {
await interaction.editReply({ content: "Staff applications are currently closed.", ephemeral: true }); await interaction.editReply({ content: "Staff applications are currently closed.", ephemeral: true });
return return
} }
}
if (!userRoles.has(guildRole)) { if (!userRoles.has(guildRole)) {
await interaction.editReply({ content: "You must be a member of the guild to apply for staff.", ephemeral: true }); await interaction.editReply({ content: "You must be a member of the guild to apply for staff.", ephemeral: true });
@@ -103,7 +114,7 @@ module.exports = {
await user.send({ await user.send({
embeds: [{ embeds: [{
title: "**Question 1**", 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, color: embedColor,
footer: { footer: {
text: "You have 5 minutes to respond to this message." text: "You have 5 minutes to respond to this message."
@@ -153,7 +164,7 @@ module.exports = {
await user.send({ await user.send({
embeds: [{ embeds: [{
title: "**Question 2**", 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, color: embedColor,
footer: { footer: {
text: "You have 15 minutes to respond to this message." text: "You have 15 minutes to respond to this message."
@@ -192,7 +203,7 @@ module.exports = {
await user.send({ await user.send({
embeds: [{ embeds: [{
title: "**Question 3**", 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, color: embedColor,
footer: { footer: {
text: "You have 15 minutes to respond to this message." text: "You have 15 minutes to respond to this message."
@@ -230,7 +241,7 @@ module.exports = {
await user.send({ await user.send({
embeds: [{ embeds: [{
title: "**Question 4**", 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, color: embedColor,
footer: { footer: {
text: "You have 15 minutes to respond to this message." text: "You have 15 minutes to respond to this message."
@@ -268,7 +279,7 @@ module.exports = {
await user.send({ await user.send({
embeds: [{ embeds: [{
title: "**Question 5**", 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, color: embedColor,
footer: { footer: {
text: "You have 15 minutes to respond to this message." text: "You have 15 minutes to respond to this message."
@@ -306,7 +317,7 @@ module.exports = {
await user.send({ await user.send({
embeds: [{ embeds: [{
title: "**Question 6**", 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 + "`", "`(We expect a longer answer here)`\n`" + largeM + "`",
color: embedColor, color: embedColor,
footer: { footer: {
@@ -393,27 +404,27 @@ module.exports = {
}, },
fields: [ fields: [
{ {
name: rsq1, name: rq(1),
value: "```" + answer1_1 + "```" value: "```" + answer1_1 + "```"
}, },
{ {
name: rsq2, name: rq(2),
value: "```" + answer2_1 + "```" value: "```" + answer2_1 + "```"
}, },
{ {
name: rsq3, name: rq(3),
value: "```" + answer3_1 + "```" value: "```" + answer3_1 + "```"
}, },
{ {
name: rsq4, name: rq(4),
value: "```" + answer4_1 + "```" value: "```" + answer4_1 + "```"
}, },
{ {
name: rsq5, name: rq(5),
value: "```" + answer5_1 + "```" value: "```" + answer5_1 + "```"
}, },
{ {
name: rsq6, name: rq(6),
value: "```" + answer6_1 + "```" value: "```" + answer6_1 + "```"
} }