Merge pull request #229 from xGh0st0X13/main

Optimize Server Removal Handling: Database Schema Consolidation
This commit is contained in:
Corwin 2024-03-15 10:02:30 +01:00 committed by GitHub
commit 7395ee95f6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,41 +1,42 @@
const discord = require('discord.js'); const discord = require('discord.js');
const fs = require('fs'); const schemaFiles = [
"afk",
const Schema = require("../../database/models/afk"); "customCommandAdvanced",
const Schema3 = require("../../database/models/customCommandAdvanced"); "birthday",
const Schema4 = require("../../database/models/birthday"); "blacklist",
const Schema5 = require("../../database/models/blacklist"); "channelList",
const Schema6 = require("../../database/models/channelList"); "chatbot-channel",
const Schema7 = require("../../database/models/chatbot-channel"); "count",
const Schema8 = require("../../database/models/count"); "countChannel",
const Schema9 = require("../../database/models/countChannel"); "customCommand",
const Schema10 = require("../../database/models/customCommand"); "economy",
const Schema11 = require("../../database/models/economy"); "economyTimeout",
const Schema12 = require("../../database/models/economyTimeout"); "family",
const Schema13 = require("../../database/models/family"); "functions",
const Schema14 = require("../../database/models/functions"); "guessNumber",
const Schema15 = require("../../database/models/guessNumber"); "guessWord",
const Schema16 = require("../../database/models/guessWord"); "levelChannels",
const Schema17 = require("../../database/models/levelChannels"); "levelRewards",
const Schema18 = require("../../database/models/levelRewards"); "logChannels",
const Schema19 = require("../../database/models/logChannels"); "messages",
const Schema20 = require("../../database/models/messages"); "music",
const Schema21 = require("../../database/models/music"); "notes",
const Schema23 = require("../../database/models/notes"); "privatechannels",
const Schema25 = require("../../database/models/privatechannels"); "reactionRoles",
const Schema27 = require("../../database/models/reactionRoles"); "reviewChannels",
const Schema28 = require("../../database/models/reviewChannels"); "stats",
const Schema29 = require("../../database/models/stats"); "suggestionChannels",
const Schema30 = require("../../database/models/suggestionChannels"); "ticketChannels",
const Schema31 = require("../../database/models/ticketChannels"); "ticketMessage",
const Schema32 = require("../../database/models/ticketMessage"); "tickets",
const Schema34 = require("../../database/models/tickets"); "verify",
const Schema35 = require("../../database/models/verify"); "voice",
const Schema36 = require("../../database/models/voice"); "voiceChannels",
const Schema37 = require("../../database/models/voiceChannels"); "warnings",
const Schema38 = require("../../database/models/warnings"); "wordsnake",
const Schema39 = require("../../database/models/wordsnake"); "messageRewards",
const Schema40 = require("../../database/models/messageRewards"); ]
const schemas = schemaFiles.map(file => require(`../../database/models/${file}`));
module.exports = async (client, guild) => { module.exports = async (client, guild) => {
const kickLogs = new discord.WebhookClient({ const kickLogs = new discord.WebhookClient({
@ -49,61 +50,28 @@ module.exports = async (client, guild) => {
client.shard.broadcastEval(client => client.guilds.cache.size), client.shard.broadcastEval(client => client.guilds.cache.size),
client.shard.broadcastEval(client => client.guilds.cache.reduce((acc, guild) => acc + guild.memberCount, 0)), client.shard.broadcastEval(client => client.guilds.cache.reduce((acc, guild) => acc + guild.memberCount, 0)),
]; ];
Promise.all(promises) Promise.all(promises).then(async (results) => {
.then(async (results) => { const totalGuilds = results[0].reduce((acc, guildCount) => acc + guildCount, 0);
const totalGuilds = results[0].reduce((acc, guildCount) => acc + guildCount, 0);
const embed = new discord.EmbedBuilder() const embed = new discord.EmbedBuilder()
.setTitle("🔴・Removed from a server!") .setTitle("🔴・Removed from a server!")
.addFields( .addFields(
{ name: "Total servers:", value: `${totalGuilds}`, inline: true }, { name: "Total servers:", value: `${totalGuilds}`, inline: true },
{ name: "Server name", value: `${guild.name}`, inline: true }, { name: "Server name", value: `${guild.name}`, inline: true },
{ name: "Server ID", value: `${guild.id}`, inline: true }, { name: "Server ID", value: `${guild.id}`, inline: true },
{ name: "Server members", value: `${guild.memberCount}`, inline: true }, { name: "Server members", value: `${guild.memberCount}`, inline: true },
{ name: "Server owner", value: `<@!${guild.ownerId}> (${guild.ownerId})`, inline: true }, { name: "Server owner", value: `<@!${guild.ownerId}> (${guild.ownerId})`, inline: true },
) )
.setThumbnail("https://cdn.discordapp.com/attachments/843487478881976381/852419424895631370/BotSadEmote.png") .setThumbnail("https://cdn.discordapp.com/attachments/843487478881976381/852419424895631370/BotSadEmote.png")
.setColor(client.config.colors.normal) .setColor(client.config.colors.normal)
kickLogs.send({ kickLogs.send({
username: 'Bot Logs', username: 'Bot Logs',
avatarURL: client.user.avatarURL(), avatarURL: client.user.avatarURL(),
embeds: [embed], embeds: [embed],
}); });
}) })
var remove = await Schema.deleteMany({ Guild: guild.id }); for (const schema of schemas) {
var remove = await Schema3.deleteMany({ Guild: guild.id }); await schema.deleteMany({ Guild: guild.id });
var remove = await Schema4.deleteMany({ Guild: guild.id }); }
var remove = await Schema5.deleteMany({ Guild: guild.id });
var remove = await Schema6.deleteMany({ Guild: guild.id });
var remove = await Schema7.deleteMany({ Guild: guild.id });
var remove = await Schema8.deleteMany({ Guild: guild.id });
var remove = await Schema9.deleteMany({ Guild: guild.id });
var remove = await Schema10.deleteMany({ Guild: guild.id });
var remove = await Schema11.deleteMany({ Guild: guild.id });
var remove = await Schema12.deleteMany({ Guild: guild.id });
var remove = await Schema13.deleteMany({ Guild: guild.id });
var remove = await Schema14.deleteMany({ Guild: guild.id });
var remove = await Schema15.deleteMany({ Guild: guild.id });
var remove = await Schema16.deleteMany({ Guild: guild.id });
var remove = await Schema17.deleteMany({ Guild: guild.id });
var remove = await Schema18.deleteMany({ Guild: guild.id });
var remove = await Schema19.deleteMany({ Guild: guild.id });
var remove = await Schema20.deleteMany({ Guild: guild.id });
var remove = await Schema21.deleteMany({ Guild: guild.id });
var remove = await Schema23.deleteMany({ Guild: guild.id });
var remove = await Schema25.deleteMany({ Guild: guild.id });
var remove = await Schema27.deleteMany({ Guild: guild.id });
var remove = await Schema28.deleteMany({ Guild: guild.id });
var remove = await Schema29.deleteMany({ Guild: guild.id });
var remove = await Schema30.deleteMany({ Guild: guild.id });
var remove = await Schema31.deleteMany({ Guild: guild.id });
var remove = await Schema32.deleteMany({ Guild: guild.id });
var remove = await Schema34.deleteMany({ Guild: guild.id });
var remove = await Schema35.deleteMany({ Guild: guild.id });
var remove = await Schema36.deleteMany({ Guild: guild.id });
var remove = await Schema37.deleteMany({ Guild: guild.id });
var remove = await Schema38.deleteMany({ Guild: guild.id });
var remove = await Schema39.deleteMany({ Guild: guild.id });
var remove = await Schema40.deleteMany({ Guild: guild.id });
}; };