Merge pull request #55 from VermiumSifell/54-remove-guild-data-when-bot-is-kicked-from-guild
✨ remove guild and related stuff on kick
This commit is contained in:
commit
a1a95a4b50
1 changed files with 87 additions and 0 deletions
87
src/events/guildDelete.js
Normal file
87
src/events/guildDelete.js
Normal file
|
@ -0,0 +1,87 @@
|
|||
const {
|
||||
guilds,
|
||||
users,
|
||||
apis,
|
||||
counters,
|
||||
shopRoles,
|
||||
timeouts,
|
||||
} = require('../helpers/database/models');
|
||||
|
||||
const logger = require('../handlers/logger');
|
||||
|
||||
module.exports = {
|
||||
name: 'guildDelete',
|
||||
async execute(guild) {
|
||||
// Destructure client
|
||||
const { client } = guild;
|
||||
|
||||
guilds
|
||||
.deleteMany({ guildId: guild.id })
|
||||
.then(async () => {
|
||||
await logger.debug(`Successfully deleted guild: ${guild.id}`);
|
||||
})
|
||||
.catch(async (e) => {
|
||||
await logger.error(`Failed to delete guild: ${guild.id} ${e}`);
|
||||
});
|
||||
users
|
||||
.deleteMany({ guildId: guild.id })
|
||||
.then(async () => {
|
||||
await logger.debug(`Successfully deleted guild: ${guild.id}'s users`);
|
||||
})
|
||||
.catch(async (e) => {
|
||||
await logger.error(`Failed to delete guild: ${guild.id}'s users ${e}`);
|
||||
});
|
||||
apis
|
||||
.deleteMany({ guildId: guild.id })
|
||||
.then(async () => {
|
||||
await logger.debug(`Successfully deleted guild: ${guild.id}'s apis`);
|
||||
})
|
||||
.catch(async (e) => {
|
||||
await logger.error(`Failed to delete guild: ${guild.id}'s apis ${e}`);
|
||||
});
|
||||
counters
|
||||
.deleteMany({ guildId: guild.id })
|
||||
.then(async () => {
|
||||
await logger.debug(
|
||||
`Successfully deleted guild: ${guild.id}'s counters`
|
||||
);
|
||||
})
|
||||
.catch(async (e) => {
|
||||
await logger.error(
|
||||
`Failed to delete guild: ${guild.id}'s counters ${e}`
|
||||
);
|
||||
});
|
||||
shopRoles
|
||||
.deleteMany({ guildId: guild.id })
|
||||
.then(async () => {
|
||||
await logger.debug(
|
||||
`Successfully deleted guild: ${guild.id}'s shop roles`
|
||||
);
|
||||
})
|
||||
.catch(async (e) => {
|
||||
await logger.error(
|
||||
`Failed to delete guild: ${guild.id}'s shop roles ${e}`
|
||||
);
|
||||
});
|
||||
timeouts
|
||||
.deleteMany({ guildId: guild.id })
|
||||
.then(async () => {
|
||||
await logger.debug(
|
||||
`Successfully deleted guild: ${guild.id}'s timeouts`
|
||||
);
|
||||
})
|
||||
.catch(async (e) => {
|
||||
await logger.error(
|
||||
`Failed to delete guild: ${guild.id}'s timeouts ${e}`
|
||||
);
|
||||
});
|
||||
|
||||
// Set client status
|
||||
await client.user.setPresence({
|
||||
activities: [
|
||||
{ type: 'WATCHING', name: `${client.guilds.cache.size} guilds` },
|
||||
],
|
||||
status: 'online',
|
||||
});
|
||||
},
|
||||
};
|
Loading…
Add table
Reference in a new issue