From 96c506b480782ee27dd6680f8bf721d284072aca Mon Sep 17 00:00:00 2001 From: Taken Date: Sun, 12 Mar 2023 21:39:09 +0100 Subject: [PATCH] Whatever --- events/buttons/guilapply.js | 6 +-- events/buttons/guildapply-dm.js | 83 +++++++++++++++++++++++++++++++++ 2 files changed, 86 insertions(+), 3 deletions(-) create mode 100644 events/buttons/guildapply-dm.js diff --git a/events/buttons/guilapply.js b/events/buttons/guilapply.js index 3079997..4629ef4 100644 --- a/events/buttons/guilapply.js +++ b/events/buttons/guilapply.js @@ -2,9 +2,9 @@ const { ChannelType, PermissionFlagsBits, ButtonBuilder, ButtonStyle, ActionRowB const { color } = require('../../options.json'); module.exports = { - name: 'guildapply', - description: 'Guild application button.', - type: 'button', + // name: 'guildapply', + // description: 'Guild application button.', + // type: 'button', async execute(interaction) { diff --git a/events/buttons/guildapply-dm.js b/events/buttons/guildapply-dm.js new file mode 100644 index 0000000..70f55f1 --- /dev/null +++ b/events/buttons/guildapply-dm.js @@ -0,0 +1,83 @@ +const { ChannelType, PermissionFlagsBits, ButtonBuilder, ButtonStyle, ActionRowBuilder } = require('discord.js'); +const { color } = require('../../options.json'); + +module.exports = { + name: 'guildapply', + description: 'Guild application button.', + type: 'button', + + async execute(interaction) { + + const user = interaction.user; + const guild = interaction.guild; + const embedColor = Number(color.replace("#", "0x")); + + if (interaction.customId === 'guildapply') { + + interaction.guild.channels.create({ + name: `application-${user.username}`, + type: ChannelType.GuildText, + permissionOverwrites: [ + { + id: user.id, + allow: [PermissionFlagsBits.ViewChannel] + }, + { + id: guild.roles.everyone, + deny: [PermissionFlagsBits.ViewChannel] + } + ] + + }).then(async channel => { + + await interaction.user.send({ + embeds: [{ + title: 'Guild Application', + 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`.", + color: embedColor, + }] + }); + + const input = await interaction.user.awaitMessages({ + filter: m => m.author.id === user.id, + max: 1, + time: 1000 * 60 + }); + + if (input.size === 0) { + return + } + + if (input.first().content.toLowerCase() !== 'yes') { + await interaction.user.send('Application cancelled.'); + return + } + + const question1 = await interaction.user.send("1st") + const answer1 = await interaction.user.awaitMessages({ + filter: m => m.author.id === user.id, + max: 1, + time: 1000 * 60 * 5 + }); + + if (answer1.size === 0) { + return + } + + if (answer1.first().content.toLowerCase() === 'cancel') { + await interaction.user.send('Application cancelled.'); + return + } + + const answer1_1 = answer1.first().content + + console.log(answer1_1) + + }); + + await interaction.reply({ content: 'Application channel created', ephemeral: true }); + + } + } +} \ No newline at end of file