-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathinteractionhandler.js
99 lines (78 loc) · 3.15 KB
/
interactionhandler.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
const fs = require('fs');
const csv = require('csv-parser');
const Discord = require("discord.js");
const createrole=require("../modules/createrole.js")
const modledeliver=require("../models/VerifyModel.js")
const verifydlvr=require("./submodules/verification.js")
const closeTicketHandler=require("./submodules/channeldeletion.js")
const createproject=require("./createproject.js")
const {
Client,
IntentsBitField,
ActionRowBuilder,
TextInputBuilder,
TextInputStyle,
ModalBuilder,
ButtonBuilder,
ButtonStyle,
EmbedBuilder,
ChannelType,
PermissionFlagsBits,
} = require("discord.js");
require("dotenv").config();
module.exports = async (interaction) => {
console.log(interaction.customId)
if(interaction.isModalSubmit()){
verifydlvr(interaction)
console.log("Submitted")
}
if (interaction.commandName==='createrole'){
createrole(interaction)
return;
}
if (interaction.commandName==='createproject'){
createproject(interaction)
return;
}
if (interaction.commandName==='deletechannel'){
const modRole = interaction.guild.roles.cache.find(
(role) => role.name === process.env.Modrolename
);
const hasrole = interaction.member.roles.cache.has(modRole.id);
if(hasrole){
closeTicketHandler(interaction)
}
return;
}
if ( interaction.isButton()){
if (interaction.customId=="DeliverForm"){
console.log("Deliver Requested")
modledeliver(interaction)
}else if(interaction.customId=="close_ticket") {
closeTicketHandler(interaction)
}else{
const role = interaction.guild.roles.cache.get(interaction.customId);
const hasrole = interaction.member.roles.cache.has(role.id);
console.log(hasrole)
if(hasrole){
console.log("removed")
await interaction.reply({ content: 'The Role Has Been Successfully Removed', ephemeral: true });
await interaction.member.roles.remove(role);
}
else{
const linkButton = new ButtonBuilder()
.setLabel('Form for Membership')
.setStyle(ButtonStyle.Link)
.setURL('https://docs.google.com/forms/d/e/1FAIpQLSe4BUdRs_YQPdS9Kv85Xk8odLKDfvl-itfP1ZXcijvGQBo0Sw/viewform');
const VerfiyButton = new ButtonBuilder()
.setLabel('Already A Member?Verify')
.setStyle(ButtonStyle.Primary)
.setCustomId("DeliverForm")
const row = new ActionRowBuilder().addComponents(linkButton,VerfiyButton);
await interaction.reply({ content:`You have successfully gained the role of ${role.name},If you also want to be a member of KUCC please follow the instructions below` ,components: [row], ephemeral: true });
console.log("add")
await interaction.member.roles.add(role);
}
}
}
};