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?",
"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?"
}
]
}

View File

@@ -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 + "```"
}
],

View File

@@ -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,15 +25,26 @@ 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 (user.id !== dev) {
if (status === "0") {
await interaction.editReply({ content: "Staff applications are currently closed.", ephemeral: true });
return
}
}
if (!userRoles.has(guildRole)) {
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({
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 + "```"
}