Untitled
unknown
plain_text
2 years ago
107 kB
8
Indexable
const { ChannelType, EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle } = require('discord.js')
const SoftUI = require('dbd-soft-ui');
const DBD = require("discord-dashboard")
const { callbackify } = require('util')
const config = require("../../Systems/config")
module.exports =
{
name: "ready",
async execute(client) {
let Information = [];
let Moderation = [];
let Applications = [];
let TicketSystem = [];
let Servermoderation = [];
let Levelsystem = [];
let giveAwaysystem = [];
const info = client.commands.filter(x => x.category === "Information")
const mod = client.commands.filter(x => x.category === "Moderations")
const Apply = client.commands.filter(x => x.category === "Applications")
const Server = client.commands.filter(x => x.category === "Servermoderation")
let Level = client.commands.filter(x => x.category === "levelSystem")
let giveAway = client.commands.filter(x => x.category === "GiveAway")
let ticket = client.commands.filter(x => x.category === "TicketSystem")
CommandPush(info, Information)
CommandPush(mod, Moderation)
CommandPush(Server, Servermoderation)
CommandPush(Apply, Applications)
CommandPush(Level, Levelsystem)
CommandPush(giveAway, giveAwaysystem)
CommandPush(ticket, TicketSystem)
await DBD.useLicense(config.dbd.license);
DBD.Dashboard = DBD.UpdatedClass();
/** */ //Schemas for options
/** */ const LvlDB = require("../../Structures/Schemas/LevelSys")
/** */ const WelcomeDB = require("../../Structures/Schemas/Welcome")
/** */ const verifyDB = require('../../Structures/Schemas/verification')
/** */ const generallogs = require("../../Structures/Schemas/GeneralLogs")
/** */ const logschannel = require("../../Structures/Schemas/LogsChannel")
/** */ const messLogChannel = require("../../Structures/Schemas/messagelogschannel")
/** */ const messLogs = require("../../Structures/Schemas/messagellogs")
/** */ const countGStatus = require("../../Structures/Schemas/CountGameStatus")
/** */ const countGStats = require("../../Structures/Schemas/CountGameStats")
/** */ const StaffRoles = require("../../Structures/Schemas/StaffRoles")
/** */ const ticketSys = require('../../Structures/Schemas/ticketsys')
/** */ const applySys = require("../../Structures/Schemas/applications")
/** */ //End of schema options
const Handler = new DBD.Handler(
/*
Keyv storage instance
Example: { store: new KeyvMongo('mongodb://user:pass@localhost:27017/dbname') }
Can be left empty to use the default storage (Keyv with SQLite)
*/
);
const Dashboard = new DBD.Dashboard({
port: config.dbd.port,
client: config.discord.client,
redirectUri: config.dbd.redirectUri,
domain: config.dbd.domain,
ownerIDs: config.dbd.ownerIDs,
useThemeMaintenance: true,
useTheme404: true,
bot: client,
invite: {
clientId: client.user.id,
scopes: ["bot", "applications.commands", "guilds", "identify"],
permissions: '8',
redirectUri: "http://maindroid.xyz/manage/",
},
theme: SoftUI({
storage: Handler,
customThemeOptions: {
index: async ({ req }) => {
let username = req.session?.user?.username || "Guest"
let userIcon = req.session?.user?.avatarURL || "https://w5fc.org/wp-content/uploads/2021/05/s9biyhs4lix61.jpg"
const cards = [
{
title: "Hello",
icon: `${userIcon}`,
getValue: username,
progressBar: {
enabled: false,
getProgress: client.guilds.cache.size
}
},
// Include 3 more cards
]
const graph = {
values: [690, 524, 345, 645, 478, 592, 468, 783, 459, 230, 621, 345],
labels: ["1m", "2m", "3m", "4m", "5m", "6m", "7m", "8m", "9m", "10m"]
}
return {
graph,
cards,
}
},
},
websiteName: "Maindroid",
colorScheme: "blue",
supporteMail: "tonyvewijk@gmail.com",
dbdriver: "mongodb+srv://tonymelony:A199966!asdsf@serverlessinstance0.jthzl.mongodb.net/data",
icons: {
favicon: '/img/maindroid.png',
noGuildIcon: "https://pnggrid.com/wp-content/uploads/2021/05/Discord-Logo-Circle-1024x1024.png",
sidebar: {
darkUrl: '/img/maindroid.png',
lightUrl: '/img/maindroid.png',
hideName: false,
borderRadius: false,
alignCenter: true
},
},
index: {
card: {
category: "Soft UI",
title: "Maindroid - The control of everything!",
description: "Maindroid Discord management panel.",
image: "/img/maindroid.png",
link: {
enabled: true,
url: "https://discord.gg/bVAB4rUeQ8"
}
},
card1: {
category: "",
title: "test",
description: "Maindroid Discord management panel.",
},
graph: {
enabled: false,
lineGraph: false,
title: 'Memory Usage',
tag: 'Memory (MB)',
max: 100
},
},
sweetalert: {
errors: {},
success: {
login: "Successfully logged in!",
}
},
preloader: {
image: "/img/maindroid.png",
spinner: true,
text: "Page is loading",
},
admin: {
pterodactyl: {
enabled: false,
}
},
commands: [
{
category: `Information`,
subTitle: `Commands`,
categoryId: '1',
hideAlias: true,
list: Information
},
{
category: `Moderation`,
subTitle: `Commands`,
categoryId: '2',
hideAlias: true,
list: Moderation
},
{
category: `Server Moderation`,
subTitle: `Commands`,
categoryId: '3',
hideAlias: true,
list: Servermoderation
},
{
category: `TicketSystem`,
subTitle: `Commands`,
categoryId: '4',
hideAlias: true,
list: TicketSystem
},
{
category: `Applysystem`,
subTitle: `Commands`,
categoryId: '5',
hideAlias: true,
list: Applications
},
{
category: `Levelsystem`,
subTitle: `Commands`,
categoryId: '6',
hideAlias: true,
list: Levelsystem
},
{
category: `GiveAway`,
subTitle: `Commands`,
categoryId: '7',
hideAlias: true,
list: giveAwaysystem
},
],
}),
settings: [
{
categoryId: "welcome",
categoryName: "Welcome System",
categoryImageURL: '/img/hand-wave-icon.webp',
categoryDescription: "Setup the Welcome Channel.",
categoryOptionsList: [
{
optionId: 'weltg',
optionName: "system on/of",
optionDescription: "",
optionType: DBD.formTypes.switch(false),
themeOptions: {
minimalbutton: {
first: true
}
},
getActualSet: async ({ guild }) => {
let data = await WelcomeDB.findOne({ Guild: guild.id }).catch(() => { })
if (data) return (data.Toggle == null || data.Toggle == undefined) ? data.Toggle : data.Toggle;
},
setNew: async ({ guild, newData }) => {
let data = await WelcomeDB.findOne({ Guild: guild.id }).catch(() => { })
if (!newData) newData = false;
data.Toggle = newData;
await data.save()
},
},
{
optionId: "welch",
optionName: "Welcome Channel",
optionDescription: "Set or reset the server's Welcome Channel",
optionType: DBD.formTypes.channelsSelect(false, channelTypes = [ChannelType.GuildText]),
getActualSet: async ({ guild }) => {
let data = await WelcomeDB.findOne({ Guild: guild.id }).catch(() => { })
if (data) return data.Channel || []
},
setNew: async ({ guild, newData }) => {
let data = await WelcomeDB.findOne({ guild: guild.id }).catch(() => { })
if (!newData) {
if (!data.Text) { newData = null }
else return
}
if (!data) {
data = new WelcomeDB({
Guild: guild.id,
Channel: newData
})
await data.save()
} else {
data.Channel = newData
await data.save()
}
},
},
{
optionId: "welmes",
optionName: "Welcome message",
optionSubTitle: "Set or reset the server's Welcome Message",
optionDescription: "<u>Replacements:</u><br><details><summary><b>{member}</b></summary>User.tag</details><details><summary><b>{guildName}</b></summary>Guild name</details><details><summary><b>{memberCreated}</b></summary>Account created date</details><details><summary><b>{memberCount}</b></summary>Server member count</details><details><summary><b>{--}</b></summary>New line</details>",
optionType: DBD.formTypes.textarea("", "1", "4096", false),
getActualSet: async ({ guild }) => {
let data = await WelcomeDB.findOne({ Guild: guild.id }).catch(() => { })
if (data)
return data.Text || []
},
setNew: async ({ guild, newData }) => {
let data = await WelcomeDB.findOne({ guild: guild.id }).catch(() => { })
if (!newData) {
data = new WelcomeDB({
Guild: guild.id,
Text: `Welcome In {guildName} {member}!{--}Member created: {memberCreated}{--}MemberCount: {memberCount}`
})
}
if (!data) {
data = new WelcomeDB({
Guild: guild.id,
Text: newData
})
await data.save()
} else {
data.Text = newData
await data.save()
}
},
},
{
optionId: "welroles",
optionName: "Welcome roles",
optionSubTitle: "Set or reset the welcome roles",
optionDescription: "select the roles u want to set as welcome roles",
optionType: DBD.formTypes.rolesMultiSelect(false, true),
getActualSet: async ({ guild }) => {
let data = await WelcomeDB.findOne({ Guild: guild.id }).catch(() => { })
return data?.Roles || [];
},
setNew: async ({ guild, newData }) => {
let data = await WelcomeDB.findOne({ guild: guild.id }).catch(() => { })
if (!newData) return
if (!data) {
data = new WelcomeDB({
Guild: guild.id,
Roles: newData
})
data.save()
} else {
data.Roles = newData
await data.save()
}
},
}
]
},
{
categoryId: "verify",
categoryName: "Verify system",
categoryImageURL: '/img/verify.png',
categoryDescription: "Setup the verify message.",
categoryOptionsList: [
{
optionId: "verifymessage",
optionName: "Verify Message",
optionSubTitle: "",
optionDescription: "Set or reset the Message",
optionType: DBD.formTypes.input("", "1", "4096", false),
getActualSet: async ({ guild }) => {
let data = await verifyDB.findOne({ Guild: guild.id }).catch(() => { })
if (data) return data.Text || []
},
setNew: async ({ guild, newData }) => {
let data = await verifyDB.findOne({ guild: guild.id }).catch(() => { })
if (!newData) newData = "Please klick the button bellow to verify";
if (!data) {
data = new verifyDB({
Guild: guild.id,
Text: newData,
})
await data.save()
} else {
data.Text = newData
await data.save()
}
},
},
{
optionId: "verifyrole",
optionName: "Verify Role",
optionSubTitle: "",
optionDescription: "Set or reset the VerifyRole",
optionType: DBD.formTypes.rolesSelect(false),
getActualSet: async ({ guild }) => {
let data = await verifyDB.findOne({ Guild: guild.id }).catch(() => { })
if (data) return data.Role || [];
},
setNew: async ({ guild, newData }) => {
let data = await verifyDB.findOne({ guild: guild.id }).catch(() => { })
if (!newData) return
if (!data) {
data = new verifyDB({
Guild: guild.id,
Role: newData
})
await data.save()
} else {
data.Role = newData
await data.save()
}
},
},
{
optionId: "verifychann",
optionName: "Verify Channel",
optionDescription: "Where do i need to send the verify embed?<br>Please insert first the message and role before you select the channel. Otherwise it won't send.",
optionType: DBD.formTypes.channelsSelect(false, channelTypes = [ChannelType.GuildText]),
getActualSet: async ({ guild }) => {
let data = await verifyDB.findOne({ Guild: guild.id }).catch(() => { })
if (data) return data.Channel || [];
},
setNew: async ({ guild, newData }) => {
let data = await verifyDB.findOne({ guild: guild.id }).catch(() => { })
if (!data) return;
if (data) {
const chann = client.channels.cache.find(channel => channel.id === `${newData}`)
chann.bulkDelete(1)
const name = 'Maindroid';
const serverIcon = `https://cdn.discordapp.com/avatars/1004140110012481658/30fc55aac4a75063ac1b5bfc87e91c62.webp?size=40`
chann.send({
embeds: [
new EmbedBuilder()
.setAuthor({ name: `${name}`, iconURL: `${serverIcon}` })
.setTitle('Hey!')
.setDescription(data.Text || `Please klick the button bellow to verify`)
.setColor("Random")
.setFooter({ text: 'Verifysystem' })
], components: [
new ActionRowBuilder().addComponents(
new ButtonBuilder()
.setCustomId('verify')
.setLabel("Verify")
.setEmoji("✅")
.setStyle(ButtonStyle.Secondary)
)
]
})
}
},
},
]
},
{
categoryId: "messagelogsystem",
categoryName: "Message log System",
categoryImageURL: "/img/mess.png",
categoryDescription: "Setup the message logger.",
categoryOptionsList: [
{
optionId: "mess",
optionName: "Toggle on/of",
optionDescription: "",
optionSubDescription: "Deleted messages",
optionType: DBD.formTypes.switch(false),
themeOptions: {
startNewSection: {
first: true
}
},
getActualSet: async ({ guild }) => {
let data = await messLogs.findOne({ GuildId: guild.id }).catch(() => { })
if (data) return (data.MessageDelete == null || data.MessageDelete == undefined) ? data.MessageDelete : data.MessageDelete;
},
setNew: async ({ guild, newData }) => {
let data = await messLogs.findOne({ GuildId: guild.id }).catch(() => { })
if (!newData) newdata = false
if (!data) {
data = new messLogs({
GuildId: guild.id,
MessageDelete: newData
})
await data.save()
} else {
data.MessageDelete = newData
await data.save()
}
},
},
{
optionId: "mess",
optionName: "",
optionDescription: "",
optionSubDescription: "Updated messages",
optionType: DBD.formTypes.switch(false),
themeOptions: {
startNewSection: {
startNewSection: true
}
},
getActualSet: async ({ guild }) => {
let data = await messLogs.findOne({ GuildId: guild.id }).catch(() => { })
if (data) return (data.MessageUpdate == null || data.MessageUpdate == undefined) ? data.MessageUpdate : data.MessageUpdate;
},
setNew: async ({ guild, newData }) => {
let data = await messLogs.findOne({ GuildId: guild.id }).catch(() => { })
if (!newData) newdata = false
if (!data) {
data = new generallogs({
Guildid: guild.id,
MessageUpdate: newData
})
await data.save()
} else {
data.MessageUpdate = newData
await data.save()
}
},
},
{
optionId: "mess",
optionName: "",
optionDescription: "",
optionSubDescription: "Snipe last deleted message",
optionType: DBD.formTypes.switch(false),
themeOptions: {
startNewSection: {
last: true
}
},
getActualSet: async ({ guild }) => {
let data = await messLogs.findOne({ GuildId: guild.id }).catch(() => { })
if (data) return (data.MessageSniper == null || data.MessageSniper == undefined) ? data.MessageSniper : data.MessageSniper;
},
setNew: async ({ guild, newData }) => {
let data = await messLogs.findOne({ GuildId: guild.id }).catch(() => { })
if (!newData) newdata = false
if (!data) {
data = new generallogs({
Guildid: guild.id,
MessageSniper: newData
})
await data.save()
} else {
data.MessageSniper = newData
await data.save()
}
},
},
{
optionId: "messlog",
optionName: "Message Logger Channel",
optionDescription: "Set or reset the message log Channel",
optionType: DBD.formTypes.channelsSelect(false, channelTypes = [ChannelType.GuildText]),
getActualSet: async ({ guild }) => {
let data = await messLogChannel.findOne({ GuildId: guild.id }).catch(() => { })
if (data) return data.Channel || []
},
setNew: async ({ guild, newData }) => {
let data = await messLogChannel.findOne({ GuildId: guild.id }).catch(() => { })
if (!newData) {
if (!data.Channel) { newData = null }
else return
}
if (!data) {
data = new messLogChannel({
GuildId: guild.id,
Channel: newData
})
await data.save()
} else {
data.Channel = newData
await data.save()
}
},
},
]
},
{
categoryId: "moderationlogsys",
categoryName: "Mod log System",
categoryImageURL: "/img/mess.png",
categoryDescription: "Setup the Moderation logger.",
categoryOptionsList: [
{
optionId: "ban",
optionName: "Toggle on/off",
optionSubDescription: "Ban",
optionType: DBD.formTypes.switch(false),
themeOptions: {
startNewSection: {
first: true
}
},
getActualSet: async ({ guild }) => {
let data = await generallogs.findOne({ GuildId: guild.id }).catch(() => { })
if (data) return (data.Ban == null || data.Ban == undefined) ? data.Ban : data.Ban;
},
setNew: async ({ guild, newData }) => {
let data = await generallogs.findOne({ GuildId: guild.id }).catch(() => { })
if (!newData) newdata = false
if (!data) {
data = new messLogs({
GuildId: guild.id,
Ban: newData
})
await data.save()
} else {
data.Ban = newData
await data.save()
}
},
},
{
optionId: "kick",
optionName: "",
optionSubDescription: "Kick",
optionType: DBD.formTypes.switch(false),
themeOptions: {
startNewSection: {
startNewSection: true
}
},
getActualSet: async ({ guild }) => {
let data = await generallogs.findOne({ GuildId: guild.id }).catch(() => { })
if (data) return (data.Kick == null || data.Kick == undefined) ? data.Kick : data.Kick;
},
setNew: async ({ guild, newData }) => {
let data = await generallogs.findOne({ GuildId: guild.id }).catch(() => { })
if (!newData) newdata = false
if (!data) {
data = new messLogs({
GuildId: guild.id,
Kick: newData
})
await data.save()
} else {
data.Kick = newData
await data.save()
}
},
},
{
optionId: "timeout",
optionName: "",
optionSubDescription: "Time-Out",
optionType: DBD.formTypes.switch(false),
themeOptions: {
startNewSection: {
startNewSection: true
}
},
getActualSet: async ({ guild }) => {
let data = await generallogs.findOne({ GuildId: guild.id }).catch(() => { })
if (data) return (data.TimeOut == null || data.TimeOut == undefined) ? data.TimeOut : data.TimeOut;
},
setNew: async ({ guild, newData }) => {
let data = await generallogs.findOne({ GuildId: guild.id }).catch(() => { })
if (!newData) newdata = false
if (!data) {
data = new messLogs({
GuildId: guild.id,
TimeOut: newData
})
await data.save()
} else {
data.TimeOut = newData
await data.save()
}
},
},
{
optionId: "warnsystem",
optionName: "",
optionSubDescription: "Warn",
optionType: DBD.formTypes.switch(false),
themeOptions: {
startNewSection: {
last: true
}
},
getActualSet: async ({ guild }) => {
let data = await generallogs.findOne({ GuildId: guild.id }).catch(() => { })
if (data) return (data.Warn == null || data.Warn == undefined) ? data.Warn : data.Warn;
},
setNew: async ({ guild, newData }) => {
let data = await generallogs.findOne({ GuildId: guild.id }).catch(() => { })
if (!newData) newdata = false
if (!data) {
data = new messLogs({
GuildId: guild.id,
Warn: newData
})
await data.save()
} else {
data.Warn = newData
await data.save()
}
},
},
{
optionId: "modlog",
optionName: "Moderation Logger Channel",
optionDescription: "Set or reset the Moderation log Channel",
optionType: DBD.formTypes.channelsSelect(false, channelTypes = [ChannelType.GuildText]),
getActualSet: async ({ guild }) => {
let data = await logschannel.findOne({ GuildId: guild.id }).catch(() => { })
if (data) return data.MChannel || []
},
setNew: async ({ guild, newData }) => {
let data = await logschannel.findOne({ GuildId: guild.id }).catch(() => { })
if (!newData) {
if (!data.Channel) { newData = null }
else return
}
if (!data) {
data = new logschannel({
GuildId: guild.id,
MChannel: newData
})
await data.save()
} else {
data.MChannel = newData
await data.save()
}
},
},
]
},
{
categoryId: "logsystem",
categoryImageURL: "/img/mess.png",
categoryName: "Server log System",
categoryDescription: "Setup the server logger.",
categoryOptionsList: [
{
optionId: "memrole",
optionName: "Toggle on/of server log",
optionSubDescription: "Member Role",
optionType: DBD.formTypes.switch(false),
themeOptions: {
startNewSection: {
first: true
}
},
getActualSet: async ({ guild }) => {
let data = await generallogs.findOne({ GuildId: guild.id }).catch(() => { })
if (data) return (data.MemberRole == null || data.MemberRole == undefined) ? data.MemberRole : data.MemberRole;
},
setNew: async ({ guild, newData }) => {
let data = await generallogs.findOne({ GuildId: guild.id }).catch(() => { })
if (!newData) newdata = false
if (!data) {
data = new generallogs({
GuildId: guild.id,
MemberRole: newData,
Ban: false,
Kick: false,
TimeOut: false,
MessageUpdate: false,
MessageDelete: false
})
await data.save()
} else {
data.MemberRole = newData
await data.save()
}
},
},
{
optionId: "memnick",
optionName: "",
optionSubDescription: "Member Nickname",
optionType: DBD.formTypes.switch(false),
themeOptions: {
startNewSection: {
startNewSection: true
}
},
getActualSet: async ({ guild }) => {
let data = await generallogs.findOne({ GuildId: guild.id }).catch(() => { })
if (data) return (data.MemberNick == null || data.MemberNick == undefined) ? data.MemberNick : data.MemberNick;
},
setNew: async ({ guild, newData }) => {
let data = await generallogs.findOne({ GuildId: guild.id }).catch(() => { })
if (!newData) newdata = false
if (!data) {
data = new generallogs({
Guildid: guild.id,
MemberNick: newData
})
await data.save()
} else {
data.MemberNick = newData
await data.save()
}
},
},
{
optionId: "channeltopic",
optionName: "",
optionSubDescription: "Channel Topic",
optionType: DBD.formTypes.switch(false),
themeOptions: {
startNewSection: {
startNewSection: true
}
},
getActualSet: async ({ guild }) => {
let data = await generallogs.findOne({ GuildId: guild.id }).catch(() => { })
if (data) return (data.ChannelTopic == null || data.ChannelTopic == undefined) ? data.ChannelTopic : data.ChannelTopic;
},
setNew: async ({ guild, newData }) => {
let data = await generallogs.findOne({ GuildId: guild.id }).catch(() => { })
if (!newData) newdata = false
if (!data) {
data = new generallogs({
Guildid: guild.id,
ChannelTopic: newData
})
await data.save()
} else {
data.ChannelTopic = newData
await data.save()
}
},
},
{
optionId: "rolstatus",
optionName: "",
optionSubDescription: "Role Status",
optionType: DBD.formTypes.switch(false),
themeOptions: {
startNewSection: {
startNewSection: true
}
},
getActualSet: async ({ guild }) => {
let data = await generallogs.findOne({ GuildId: guild.id }).catch(() => { })
if (data) return (data.RoleStatus == null || data.RoleStatus == undefined) ? data.RoleStatus : data.RoleStatus;
},
setNew: async ({ guild, newData }) => {
let data = await generallogs.findOne({ GuildId: guild.id }).catch(() => { })
if (!newData) newdata = false
if (!data) {
data = new generallogs({
Guildid: guild.id,
RoleStatus: newData
})
await data.save()
} else {
data.RoleStatus = newData
await data.save()
}
},
},
{
optionId: "channstatus",
optionName: "",
optionSubDescription: "Channel Status",
optionType: DBD.formTypes.switch(false),
themeOptions: {
startNewSection: {
startNewSection: true
}
},
getActualSet: async ({ guild }) => {
let data = await generallogs.findOne({ GuildId: guild.id }).catch(() => { })
if (data) return (data.ChannelStatus == null || data.ChannelStatus == undefined) ? data.ChannelStatus : data.ChannelStatus;
},
setNew: async ({ guild, newData }) => {
let data = await generallogs.findOne({ GuildId: guild.id }).catch(() => { })
if (!newData) newdata = false
if (!data) {
data = new generallogs({
Guildid: guild.id,
ChannelStatus: newData
})
await data.save()
} else {
data.ChannelStatus = newData
await data.save()
}
},
},
{
optionId: "emojistatus",
optionName: "",
optionSubDescription: "Emoji Status",
optionType: DBD.formTypes.switch(false),
themeOptions: {
startNewSection: {
startNewSection: true
}
},
getActualSet: async ({ guild }) => {
let data = await generallogs.findOne({ GuildId: guild.id }).catch(() => { })
if (data) return (data.EmojiStatus == null || data.EmojiStatus == undefined) ? data.EmojiStatus : data.EmojiStatus;
},
setNew: async ({ guild, newData }) => {
let data = await generallogs.findOne({ GuildId: guild.id }).catch(() => { })
if (!newData) newdata = false
if (!data) {
data = new generallogs({
Guildid: guild.id,
EmojiStatus: newData
})
await data.save()
} else {
data.EmojiStatus = newData
await data.save()
}
},
},
{
optionId: "memban",
optionName: "",
optionSubDescription: "Member Ban Status",
optionType: DBD.formTypes.switch(false),
themeOptions: {
startNewSection: {
startNewSection: true
}
},
getActualSet: async ({ guild }) => {
let data = await generallogs.findOne({ GuildId: guild.id }).catch(() => { })
if (data) return (data.MemberBan == null || data.MemberBan == undefined) ? data.MemberBan : data.MemberBan;
},
setNew: async ({ guild, newData }) => {
let data = await generallogs.findOne({ GuildId: guild.id }).catch(() => { })
if (!newData) newdata = false
if (!data) {
data = new generallogs({
Guildid: guild.id,
MemberBan: newData
})
await data.save()
} else {
data.MemberBan = newData
await data.save()
}
},
},
{
optionId: "voicest",
optionName: "",
optionSubDescription: "Voicestatus",
optionType: DBD.formTypes.switch(false),
themeOptions: {
startNewSection: {
startNewSection: true
}
},
getActualSet: async ({ guild }) => {
let data = await generallogs.findOne({ GuildId: guild.id }).catch(() => { })
if (data) return (data.Voicestats == null || data.Voicestats == undefined) ? data.Voicestats : data.MemberBoost;
},
setNew: async ({ guild, newData }) => {
let data = await generallogs.findOne({ GuildId: guild.id }).catch(() => { })
if (!newData) newdata = false
if (!data) {
data = new generallogs({
Guildid: guild.id,
Voicestats: newData
})
await data.save()
} else {
data.Voicestats = newData
await data.save()
}
},
},
{
optionId: "membst",
optionName: "",
optionSubDescription: "Member Boost",
optionType: DBD.formTypes.switch(false),
themeOptions: {
startNewSection: {
last: true
}
},
getActualSet: async ({ guild }) => {
let data = await generallogs.findOne({ GuildId: guild.id }).catch(() => { })
if (data) return (data.MemberBoost == null || data.MemberBoost == undefined) ? data.MemberBoost : data.MemberBoost;
},
setNew: async ({ guild, newData }) => {
let data = await generallogs.findOne({ GuildId: guild.id }).catch(() => { })
if (!newData) newdata = false
if (!data) {
data = new generallogs({
Guildid: guild.id,
MemberBoost: newData
})
await data.save()
} else {
data.MemberBoost = newData
await data.save()
}
},
},
{
optionId: "gench",
optionName: "Server Logger Channel",
optionDescription: "Set or reset the server log Channel",
optionType: DBD.formTypes.channelsSelect(false, channelTypes = [ChannelType.GuildText]),
getActualSet: async ({ guild }) => {
let data = await logschannel.findOne({ GuildId: guild.id }).catch(() => { })
if (data) return data.Channel || []
},
setNew: async ({ guild, newData }) => {
let data = await logschannel.findOne({ GuildId: guild.id }).catch(() => { })
if (!newData) {
if (!data.Channel) { newData = null }
else return
}
if (!data) {
data = new logschannel({
GuildId: guild.id,
Channel: newData
})
await data.save()
} else {
data.Channel = newData
await data.save()
}
},
},
{
optionId: "boostch",
optionName: "Server boost Channel",
optionDescription: "Set or reset the server boost Channel",
optionType: DBD.formTypes.channelsSelect(false, channelTypes = [ChannelType.GuildText]),
getActualSet: async ({ guild }) => {
let data = await logschannel.findOne({ GuildId: guild.id }).catch(() => { })
if (data) return data.boostChannel || []
},
setNew: async ({ guild, newData }) => {
let data = await logschannel.findOne({ GuildId: guild.id }).catch(() => { })
if (!newData) {
if (!data.boostChannel) { newData = null }
else return
}
if (!data) {
data = new logschannel({
GuildId: guild.id,
boostChannel: newData
})
await data.save()
} else {
data.boostChannel = newData
await data.save()
}
},
},
]
},
{
categoryId: "levelsystem",
categoryName: "Level System",
categoryImageURL: "/img/level-logo.png",
categoryDescription: 'Setup the level system.',
categoryOptionsList: [
{
optionId: "levelstatus",
optionName: "LevelSystem",
optionDescription: "Enable/Disable",
optionType: DBD.formTypes.switch(false),
themeOptions: {
minimalbutton: {
minimalbutton: true
}
},
getActualSet: async ({ guild }) => {
let data = await LvlDB.findOne({ Guild: guild.id }).catch(() => { })
if (data) return (data.Status == null || data.Status == undefined) ? DEFAULT_STATE : data.Status;
},
setNew: async ({ guild, newData }) => {
let data = await LvlDB.findOne({ Guild: guild.id }).catch(() => { })
if (!newData) newdata = false
if (!data) {
data = new LvlDB({
Guild: guild.id,
Status: newData,
Roles: [],
})
await data.save()
} else {
data.Status = newData
await data.save()
}
},
},
{
optionId: "levelChannel",
optionName: "LevelUp Channel",
optionDescription: "Set or reset levelUp Channel",
optionType: DBD.formTypes.channelsSelect(false, channelTypes = [ChannelType.GuildText]),
getActualSet: async ({ guild }) => {
let data = await LvlDB.findOne({ Guild: guild.id }).catch(() => { })
if (data) return data.Channel || [];
},
setNew: async ({ guild, newData }) => {
let data = await LvlDB.findOne({ Guild: guild.id }).catch(() => { })
if (!data) return
if (data) {
data.Channel = newData;
await data.save()
}
}
},
{
optionId: "levelupmess",
optionName: "LevelUp message",
optionSubTitle: "Set or reset the server's LevelUp Message",
optionDescription: "<u>Replacements:</u><br><details><summary><b>{Member}</b></summary>User.tag</details><details><summary><b>{Level}</b></summary>Level of User</details><details><summary><b>{XP}</b></summary>Xp of User</details><details><summary><b>{--}</b></summary>New line</details>",
optionType: DBD.formTypes.input("", "1", "4096", false),
getActualSet: async ({ guild }) => {
let data = await LvlDB.findOne({ Guild: guild.id }).catch(() => { })
if (data)
return data.Text || [];
},
setNew: async ({ guild, newData }) => {
let data = await LvlDB.findOne({ guild: guild.id }).catch(() => { })
if (!newData) {
newData = `{Member}, you are one level up! :tada:{--}Level:{Level}{--}XP:{XP}`
data.Text = newData
await data.save()
}
if (!data) return
if (data) {
data.Text = newData
await data.save()
}
},
},
{
optionId: "levelxp",
optionName: "XP to gain",
optionSubTitle: "Set or reset the server's XP to gain.",
optionDescription: "",
optionType: DBD.formTypes.input("", "1", "10", false),
getActualSet: async ({ guild }) => {
let data = await LvlDB.findOne({ Guild: guild.id }).catch(() => { })
if (data)
return data.XPToGet || [];
},
setNew: async ({ guild, newData }) => {
let data = await LvlDB.findOne({ guild: guild.id }).catch(() => { })
if (!newData) {
newData = `99`
data.XPToGet = newData
await data.save()
}
if (!data) return
if (data) {
data.XPToGet = newData
await data.save()
}
},
},
],
},
{
categoryId: "countgame",
categoryName: "Counting Game",
categoryImageURL: "/img/plus1.webp",
categoryDescription: 'Setup the counting game.',
categoryOptionsList: [
{
optionId: "counststatus",
optionName: "Status of the countgame",
optionDescription: "Enable/Disable",
optionType: DBD.formTypes.switch(false),
themeOptions: {
minimalbutton: {
minimalbutton: true
}
},
getActualSet: async ({ guild }) => {
let data = await countGStatus.findOne({ Guild: guild.id }).catch(() => { })
if (data) return (data.Status == null || data.Status == undefined) ? DEFAULT_STATE : data.Status;
},
setNew: async ({ guild, newData }) => {
let data = await countGStatus.findOne({ Guild: guild.id }).catch(() => { })
if (!newData) newdata = false
if (!data) {
data = new countGStatus({
Guild: guild.id,
Status: newData
})
await data.save()
} else {
data.Status = newData
await data.save()
}
},
},
{
optionId: "countchann",
optionName: "Countgame channel",
optionDescription: "Set or reset Countgame Channel",
optionType: DBD.formTypes.channelsSelect(false, channelTypes = [ChannelType.GuildText]),
getActualSet: async ({ guild }) => {
let data = await countGStatus.findOne({ Guild: guild.id }).catch(() => { })
if (data) return data.Channel || [];
},
setNew: async ({ guild, newData }) => {
let data = await countGStatus.findOne({ Guild: guild.id }).catch(() => { })
if (!data) return
if (data) {
data.Channel = newData;
await data.save()
}
}
},
{
optionId: "count",
optionName: "Actual count",
optionSubTitle: "Set or reset the count",
optionDescription: "",
optionType: DBD.formTypes.input("", "1", "", false),
getActualSet: async ({ guild }) => {
let data = await countGStats.findOne({ Guild: guild.id }).catch(() => { })
if (data)
return data.Count - 1 || [];
},
setNew: async ({ guild, newData }) => {
let data = await countGStats.findOne({ Guild: guild.id }).catch(() => { })
if (!newData) return
if (!data) return
if (data) {
const { EmbedBuilder } = require('discord.js')
const Chann = await countGStatus.findOne({ Guild: guild.id })
if (!Chann) return
const channel = client.channels.cache.get(Chann.Channel)
data.Count = newData
await data.save()
if (data.Count > data.TopCount) {
data.TopCount = data.Count - 1
await data.save()
}
channel.send({
embeds: [
new EmbedBuilder()
.setDescription(`Someone of the team changed the count.\nCount is on: \`${data.Count - 1}\`\nNext count: \`${data.Count}\``)
]
})
}
},
},
{
optionId: "wrongcount",
optionName: "Wrong Count message",
optionSubTitle: "Set or reset the Wrong count Message",
optionDescription: "<u>Replacements:</u><br><details><summary><b>{Member}</b></summary>User.tag</details><details><summary><b>{Count}</b></summary>Actual count</details><details><summary><b>{NextCount}</b></summary>Next count</details><details><summary><b>{--}</b></summary>New line</details>",
optionType: DBD.formTypes.input("", "1", "4096", false),
getActualSet: async ({ guild }) => {
let data = await countGStatus.findOne({ Guild: guild.id }).catch(() => { })
if (data)
return data.Wrongcount || [];
},
setNew: async ({ guild, newData }) => {
let data = await countGStatus.findOne({ Guild: guild.id }).catch(() => { })
if (!newData) {
newData = `That was not the next count {Member}... Start over!{--}Last count:{Count}{--}Next count: 1`
data.Wrongcount = newData
await data.save()
}
if (!data) return
if (data) {
data.Wrongcount = newData
await data.save()
}
},
},
{
optionId: "wrongmember",
optionName: "Wrong member message",
optionSubTitle: "Set or reset the message if the same member count",
optionDescription: "<u>Replacements:</u><br><details><summary><b>{Member}</b></summary>User.tag</details><details><summary><b>{Count}</b></summary>Actual count</details><details><summary><b>{NextCount}</b></summary>Next count</details><details><summary><b>{--}</b></summary>New line</details>",
optionType: DBD.formTypes.input("", "1", "4096", false),
getActualSet: async ({ guild }) => {
let data = await countGStatus.findOne({ Guild: guild.id }).catch(() => { })
if (data)
return data.WrongMember || [];
},
setNew: async ({ guild, newData }) => {
let data = await countGStatus.findOne({ Guild: guild.id }).catch(() => { })
if (!newData) {
newData = `It was not your turn {Member}... Start over!{--}Last count:{Count}{--}Next count: {NextCount}`
data.WrongMember = newData
await data.save()
}
if (!data) return
if (data) {
data.WrongMember = newData
await data.save()
}
},
},
],
},
{
categoryId: "staff",
categoryName: "Staff",
categoryImageURL: "/img/staff.png",
categoryDescription: "Setup staff roles.",
categoryOptionsList: [
{
optionId: "staffroles",
optionName: "Staff roles",
optionSubTitle: "Set or reset the Staff roles",
optionDescription: "select the roles u want to set as Staff roles",
optionType: DBD.formTypes.rolesMultiSelect(false, false),
getActualSet: async ({ guild }) => {
let data = await StaffRoles.findOne({ Guild: guild.id }).catch(() => { })
return data?.SRoles || [];
},
setNew: async ({ guild, newData }) => {
let data = await StaffRoles.findOne({ Guild: guild.id }).catch(() => { })
console.log(newData)
if (!newData) return
if (!data) {
data = new StaffRoles({
Guild: guild.id,
SRoles: newData
})
await data.save()
} else {
data.SRoles = newData
await data.save()
}
},
}
]
},
{
categoryId: "ticketSys",
categoryName: "Ticket System",
categoryImageURL: "/img/ticket.png",
categoryDescription: "Setup the Ticket System.",
categoryOptionsList: [
{
optionId: "ticketStatus",
optionName: "Status of the ticketSystem",
optionDescription: "Enable/Disable",
optionType: DBD.formTypes.switch(false),
themeOptions: {
minimalbutton: {
minimalbutton: true
}
},
getActualSet: async ({ guild }) => {
let ticket = await ticketSys.findOne({ Guild: guild.id }).catch(() => { })
if (ticket) return (ticket.Status == null || ticket.Status == undefined) ? DEFAULT_STATE : ticket.Status;
},
setNew: async ({ guild, newData }) => {
let ticket = await ticketSys.findOne({ Guild: guild.id }).catch(() => { })
if (!newData) newdata = false
if (!ticket) {
ticket = new ticketSys({
Guild: guild.id,
Status: newData,
})
await ticket.save()
} else {
ticket.Status = newData
await ticket.save()
}
},
},
{
optionId: "generalticket",
optionName: "Ticket types",
optionSubDescription: "General",
optionType: DBD.formTypes.switch(false),
themeOptions: {
startNewSection: {
first: true
}
},
getActualSet: async ({ guild }) => {
let ticket = await ticketSys.findOne({ Guild: guild.id }).catch(() => { })
if (ticket) return (ticket.General == null || ticket.General == undefined) ? ticket.General : ticket.General;
},
setNew: async ({ guild, newData }) => {
let ticket = await ticketSys.findOne({ Guild: guild.id }).catch(() => { })
if (!newData) newdata = false
if (!ticket) {
ticket = new ticketSys({
Guild: guild.id,
General: newData,
})
await ticket.save()
} else {
ticket.General = newData
await ticket.save()
}
},
},
{
optionId: "complaintTicket",
optionName: "",
optionSubDescription: "complaint",
optionType: DBD.formTypes.switch(false),
themeOptions: {
startNewSection: {
startNewSection: true
}
},
getActualSet: async ({ guild }) => {
let ticket = await ticketSys.findOne({ Guild: guild.id }).catch(() => { })
if (ticket) return (ticket.Complaint == null || ticket.Complaint == undefined) ? ticket.Complaint : ticket.Complaint;
},
setNew: async ({ guild, newData }) => {
let ticket = await ticketSys.findOne({ Guild: guild.id }).catch(() => { })
if (!newData) newdata = false
if (!ticket) {
ticket = new ticketSys({
Guild: guild.id,
Complaint: newData,
})
await ticket.save()
} else {
ticket.Complaint = newData
await ticket.save()
}
},
},
{
optionId: "give_AwayTicket",
optionName: "",
optionSubDescription: "Give_Away",
optionType: DBD.formTypes.switch(false),
themeOptions: {
startNewSection: {
last: true
}
},
getActualSet: async ({ guild }) => {
let ticket = await ticketSys.findOne({ Guild: guild.id }).catch(() => { })
if (ticket) return (ticket.Give_Away == null || ticket.Give_Away == undefined) ? ticket.Give_Away : ticket.Give_Away;
},
setNew: async ({ guild, newData }) => {
let data = await ticketSys.findOne({ Guild: guild.id }).catch(() => { })
if (!newData) newdata = false
if (!data) {
data = new ticketSys({
Guild: guild.id,
Give_Away: newData,
})
await data.save()
} else {
data.Give_Away = newData
await data.save()
}
},
},
{
optionId: "ticketColor",
optionName: "Color",
optionDescription: "Choose a color for the embed",
optionType: DBD.formTypes.select({ "Green": "Green", "Red": "Red", "Blue": "Blue", "Purple": "Purple", "Pink": "Pink", "White": "White", "None": "None" }, false, false),
getActualSet: async ({ guild }) => {
let ticket = await ticketSys.findOne({ Guild: guild.id }).catch(() => { })
if (ticket) return ticket.Color;
},
setNew: async ({ guild, newData }) => {
let data = await ticketSys.findOne({ Guild: guild.id }).catch(() => { })
if (!newData) newdata = "#2F3136"
if (!data) {
data = new ticketSys({
Guild: guild.id,
Color: newData,
})
await data.save()
} else {
data.Color = newData
await data.save()
}
},
},
{
optionId: "ticketTitle",
optionName: "Title",
optionDescription: "Typ a title for the embed between: 1/256 characters",
optionType: DBD.formTypes.input("", "1", "256", false),
getActualSet: async ({ guild }) => {
let ticket = await ticketSys.findOne({ Guild: guild.id }).catch(() => { })
if (ticket) return ticket.Title;
},
setNew: async ({ guild, newData }) => {
let data = await ticketSys.findOne({ Guild: guild.id }).catch(() => { })
if (!newData) newdata = "Ticket system"
if (newData.length > 256) return newData = "Ticket system"
if (!data) {
data = new ticketSys({
Guild: guild.id,
Title: newData,
})
await data.save()
} else {
data.Title = newData
await data.save()
}
},
},
{
optionId: "ticketDescription",
optionName: "Description",
optionDescription: "Typ a description for the embed between: 1/4096 characters<br><u>Replacement:</u><br><details><summary><b>{--}</b></summary>Enter</details>",
optionType: DBD.formTypes.input("", "1", "4096", false),
getActualSet: async ({ guild }) => {
let ticket = await ticketSys.findOne({ Guild: guild.id }).catch(() => { })
if (ticket) return ticket.Description;
},
setNew: async ({ guild, newData }) => {
let data = await ticketSys.findOne({ Guild: guild.id }).catch(() => { })
if (!newData) newdata = "Create a ticket by reacting with the buttons bellow\n\nWe will help you when we can!"
if (newData.length > 4096) return newData = "Create a ticket by reacting with the buttons bellow\n\nWe will help you when we can!"
const replacements = {
'{--}': "\n"
};
const pattern = new RegExp(Object.keys(replacements).join('|'), 'g');
const text = newData.replace(pattern, key => replacements[key])
if (!data) {
data = new ticketSys({
Guild: guild.id,
Description: text,
})
await data.save()
} else {
data.Description = text
await data.save()
}
},
},
{
optionId: "ticketlogtoggle",
optionName: "Log Channel",
optionSubDescription: "Toggle Log channel on/of",
optionType: DBD.formTypes.switch(false, false),
themeOptions: {
startNewSection: {
first: true
}
},
getActualSet: async ({ guild }) => {
let ticket = await ticketSys.findOne({ Guild: guild.id }).catch(() => { })
if (ticket) return (ticket.LogToggle == null || ticket.LogToggle == undefined) ? ticket.LogToggle : ticket.LogToggle;
},
setNew: async ({ guild, newData }) => {
let ticket = await ticketSys.findOne({ Guild: guild.id }).catch(() => { })
if (!newData) return
ticket.LogToggle = newData
await ticket.save()
},
},
{
optionId: "ticketlogchannel",
optionName: "",
optionDescription: "The channel you want to send the log actions to.",
optionType: DBD.formTypes.channelsSelect(false, channelTypes = [ChannelType.GuildText]),
themeOptions: {
startNewSection: {
last: true
}
},
getActualSet: async ({ guild }) => {
let ticket = await ticketSys.findOne({ Guild: guild.id }).catch(() => { })
if (ticket) return ticket.LogChannel || []
},
setNew: async ({ guild, newData }) => {
let ticket = await ticketSys.findOne({ Guild: guild.id }).catch(() => { })
if (!newData) return
ticket.LogChannel = newData
await ticket.save()
},
},
{
optionId: "ticketEmbedToSend",
optionName: "Channel",
optionDescription: "The channel you want to send the embed(first fill the rest before you can send the embed!)",
optionType: DBD.formTypes.channelsSelect(false, channelTypes = [ChannelType.GuildText]),
getActualSet: async () => {
},
setNew: async ({ guild, newData }) => {
if (!newData) return
const { EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle } = require('discord.js')
let Data = await ticketSys.findOne({ Guild: guild.id }).catch(() => { })
if (!Data) return
const chann = client.channels.cache.get(newData)
if (Data.General === true && Data.Complaint === true && Data.Give_Away === true) {
chann.send({
embeds: [new EmbedBuilder().setTitle(Data.Title).setColor(Data.Color).setDescription(Data.Description)], components: [
new ActionRowBuilder().addComponents(
new ButtonBuilder()
.setCustomId('General_ticket')
.setLabel("General")
.setEmoji("🎫")
.setStyle(ButtonStyle.Primary)
).addComponents(
new ButtonBuilder()
.setCustomId('Complaint_ticket')
.setLabel("Complaint")
.setEmoji("🎫")
.setStyle(ButtonStyle.Danger)
).addComponents(
new ButtonBuilder()
.setCustomId('Give_away_ticket')
.setLabel("Give_away")
.setEmoji("🎫")
.setStyle(ButtonStyle.Secondary)
)
]
})
} else if (Data.General === true && Data.Complaint == true) {
chann.send({
embeds: [new EmbedBuilder().setTitle(Data.Title).setColor(Data.Color).setDescription(Data.Description)], components: [
new ActionRowBuilder().addComponents(
new ButtonBuilder()
.setCustomId('General_ticket')
.setLabel("General")
.setEmoji("🎫")
.setStyle(ButtonStyle.Primary)
).addComponents(
new ButtonBuilder()
.setCustomId('Complaint_ticket')
.setLabel("Complaint")
.setEmoji("🎫")
.setStyle(ButtonStyle.Danger)
)
]
})
} else if (Data.General === true && Data.Give_Away == true) {
chann.send({
embeds: [new EmbedBuilder().setTitle(Data.Title).setColor(Data.Color).setDescription(Data.Description)], components: [
new ActionRowBuilder().addComponents(
new ButtonBuilder()
.setCustomId('General_ticket')
.setLabel("General")
.setEmoji("🎫")
.setStyle(ButtonStyle.Primary)
).addComponents(
new ButtonBuilder()
.setCustomId('Give_away_ticket')
.setLabel("Give_away")
.setEmoji("🎫")
.setStyle(ButtonStyle.Secondary)
)
]
})
} else if (Data.Complaint === true && Data.Give_Away == true) {
chann.send({
embeds: [new EmbedBuilder().setTitle(Data.Title).setColor(Data.Color).setDescription(Data.Description)], components: [
new ActionRowBuilder().addComponents(
new ButtonBuilder()
.setCustomId('Complaint_ticket')
.setLabel("Complaint")
.setEmoji("🎫")
.setStyle(ButtonStyle.Danger)
).addComponents(
new ButtonBuilder()
.setCustomId('Give_away_ticket')
.setLabel("Give_away")
.setEmoji("🎫")
.setStyle(ButtonStyle.Secondary)
)
]
})
} else if (Data.General === true) {
chann.send({
embeds: [new EmbedBuilder().setTitle(Data.Title).setColor(Data.Color).setDescription(Data.Description)], components: [
new ActionRowBuilder().addComponents(
new ButtonBuilder()
.setCustomId('General_ticket')
.setLabel("General")
.setEmoji("🎫")
.setStyle(ButtonStyle.Primary)
)
]
})
} else if (Data.Complaint === true) {
chann.send({
embeds: [new EmbedBuilder().setTitle(Data.Title).setColor(Data.Color).setDescription(Data.Description)], components: [
new ActionRowBuilder().addComponents(
new ButtonBuilder()
.setCustomId('Complaint_ticket')
.setLabel("Complaint")
.setEmoji("🎫")
.setStyle(ButtonStyle.Danger)
)
]
})
} else if (Data.Give_Away === true) {
chann.send({
embeds: [new EmbedBuilder().setTitle(Data.Title).setColor(Data.Color).setDescription(Data.Description)], components: [
new ActionRowBuilder().addComponents(
new ButtonBuilder()
.setCustomId('Give_away_ticket')
.setLabel("Give_away")
.setEmoji("🎫")
.setStyle(ButtonStyle.Secondary)
)
]
})
}
}
},
{
optionId: "ticketctoggle",
optionName: "Tickets in Category",
optionDescription: "Do you want to place the ticket Channels in a category? <br>Leave blank if you don't want to.",
optionType: DBD.formTypes.input("Place here your Category ID", false),
getActualSet: async ({ guild }) => {
let ticket = await ticketSys.findOne({ Guild: guild.id }).catch(() => { })
if (ticket) return ticket.TicketCID || []
},
setNew: async ({ guild, newData }) => {
let ticket = await ticketSys.findOne({ Guild: guild.id }).catch(() => { })
if (!newData) newData = "No"
ticket.TicketCID = newData
await ticket.save()
},
},
{
optionId: "ticketinsightgeneral",
optionName: "Ticket insight generals",
optionDescription: "Which Rolls do you want to show the Generale tickets.",
optionType: DBD.formTypes.rolesMultiSelect(false, true),
getActualSet: async ({ guild }) => {
let ticket = await ticketSys.findOne({ guild: guild.id }).catch(() => { })
return ticket?.GenRoles || []
},
setNew: async ({ guild, newData }) => {
if (!newData) return
let ticket = await ticketSys.findOne({ guild: guild.id }).catch(() => { })
ticket.GenRoles = newData
await ticket.save()
},
},
{
optionId: "ticketinsightcomplaint",
optionName: "Ticket insight Complaints",
optionDescription: "Which Rolls do you want to show the Complaint tickets.",
optionType: DBD.formTypes.rolesMultiSelect(false, true),
getActualSet: async ({ guild }) => {
let ticket = await ticketSys.findOne({ guild: guild.id }).catch(() => { })
return ticket?.ComRoles || []
},
setNew: async ({ guild, newData }) => {
if (!newData) return
let ticket = await ticketSys.findOne({ guild: guild.id }).catch(() => { })
ticket.ComRoles = newData
await ticket.save()
},
},
{
optionId: "ticketinsightgive-away",
optionName: "Ticket insight Give-Aways",
optionDescription: "Which Rolls do you want to show the Give-Away tickets.",
optionType: DBD.formTypes.rolesMultiSelect(false, true),
getActualSet: async ({ guild }) => {
let ticket = await ticketSys.findOne({ guild: guild.id }).catch(() => { })
return ticket?.GivRoles || []
},
setNew: async ({ guild, newData }) => {
if (!newData) return
let ticket = await ticketSys.findOne({ guild: guild.id }).catch(() => { })
ticket.GivRoles = newData
await ticket.save()
},
},
]
},
{
categoryId: "applysystem",
categoryName: "Apply System",
categoryImageURL: "/img/staff.png",
categoryDescription: "Setup the Apply System.",
categoryOptionsList: [
{
optionId: "applystatus",
optionName: "Status of the ApplySystem",
optionDescription: "Enable/Disable",
optionType: DBD.formTypes.switch(false),
themeOptions: {
minimalbutton: {
minimalbutton: true
}
},
getActualSet: async ({ guild }) => {
let apply = await applySys.findOne({ guildID: guild.id }).catch(() => { });
if (apply) return (apply.appToggle == null || apply.appToggle === undefined) ? DEFAULT_STATE : apply.appToggle;
},
setNew: async ({ guild, newData }) => {
let apply = await applySys.findOne({ guildID: guild.id }).catch(() => { });
if (!newData) newData = false;
if (!apply) {
apply = new applySys({
guildID: guild.id,
appToggle: newData
})
await apply.save()
} else {
apply.appToggle = newData
await apply.save()
}
},
},
{
optionId: "applychannel",
optionName: "Apply logChannel",
optionDescription: "The channel you want to send the answers to.",
optionType: DBD.formTypes.channelsSelect(false, channelTypes = [ChannelType.GuildText]),
getActualSet: async ({ guild }) => {
let apply = await applySys.findOne({ guildID: guild.id }).catch(() => { });
if (apply) return apply.channel || []
},
setNew: async ({ guild, newData }) => {
let apply = await applySys.findOne({ guildID: guild.id }).catch(() => { });
if (!newData) return;
apply.channel = newData;
await apply.save()
}
},
{
optionId: "applyfunction",
optionName: "Apply function",
optionDescription: "The function for the apply system.",
optionType: DBD.formTypes.input("", "1", "", false),
getActualSet: async ({ guild }) => {
let apply = await applySys.findOne({ guildID: guild.id }).catch(() => { });
if (apply) return apply.ApplyFunction || [];
},
setNew: async ({ guild, newData }) => {
let apply = await applySys.findOne({ guildID: guild.id }).catch(() => { });
if (!newData) return;
if (!apply) return;
if (apply) {
apply.ApplyFunction = newData;
await apply.save();
}
}
},
{
optionId: "applyquestions",
optionName: "Apply questions",
optionDescription: "The questions for the apply seperate with enter.",
optionType: DBD.formTypes.textarea("", "1", "", false),
getActualSet: async ({ guild }) => {
let apply = await applySys.findOne({ guildID: guild.id }).catch(() => { });
if (!apply) return []
let mappedQuestions = apply.questions.map(
(q) => `${q}`
).join("\n");
if (apply) return mappedQuestions || [];
},
setNew: async ({ guild, newData }) => {
let apply = await applySys.findOne({ guildID: guild.id }).catch(() => { });
if (!newData) return;
if (!apply) return;
let split = newData.split('\n')
if (apply) {
apply.questions = split;
await apply.save();
}
}
},
{
optionId: "applyroles",
optionName: "Apply Roles",
optionDescription: "The roles for the apply.",
optionType: DBD.formTypes.rolesMultiSelect(false, true),
getActualSet: async ({ guild }) => {
let apply = await applySys.findOne({ guildID: guild.id }).catch(() => { });
if (apply) return apply?.add_role || [];
},
setNew: async ({ guild, newData }) => {
let apply = await applySys.findOne({ guildID: guild.id }).catch(() => { });
if (!newData) return;
if (!apply) return;
if (apply) {
apply.add_role = newData;
await apply.save();
}
}
},
]
}]
});
Dashboard.DBDEvents.on('userLoggedIn', (data) => {
console.log(data)
});
Dashboard.init();
}
};
function CommandPush(filteredArray, CategoryArray) {
filteredArray.forEach(obj => {
let cmdObject = {
commandName: obj.name,
commandUsage: "/" + obj.name,
commandDescription: obj.description,
}
CategoryArray.push(cmdObject)
})
}
Editor is loading...