handle message/channel deletion

This commit is contained in:
Baipyrus 2024-02-07 21:02:37 +01:00
parent 3339d7a244
commit 6ded01b046
3 changed files with 22 additions and 1 deletions

View File

@ -11,10 +11,13 @@ const sequelize = new Sequelize({
dialect: 'sqlite', dialect: 'sqlite',
logging: false logging: false
}); });
const RoleEmojiPair = defineRoleEmojiPair(sequelize); const RoleEmojiPair = defineRoleEmojiPair(sequelize);
const VoiceChannel = defineVoiceChannel(sequelize); const VoiceChannel = defineVoiceChannel(sequelize);
const Message = defineMessage(sequelize); const Message = defineMessage(sequelize);
Message.hasMany(RoleEmojiPair, { foreignKey: 'message', onDelete: 'CASCADE' });
sequelize.sync(); sequelize.sync();
export { sequelize, RoleEmojiPair, VoiceChannel, Message }; export { sequelize, RoleEmojiPair, VoiceChannel, Message };

View File

@ -1,5 +1,14 @@
import { Events } from 'discord.js'; import { Events } from 'discord.js';
import { VoiceChannel } from '../../database.js';
export const name = Events.ChannelDelete; export const name = Events.ChannelDelete;
export async function execute(channel) { export async function execute(channel) {
// Delete channel entry once channel is deleted itself
const count = await VoiceChannel.destroy({
where: {
id: channel.id
}
});
if (count > 0)
console.info(`[INFO] Custom VC with ID '${channel.id}' was deleted.`);
} }

View File

@ -1,5 +1,14 @@
import { Events } from 'discord.js'; import { Events } from 'discord.js';
import { Message } from '../../database.js';
export const name = Events.MessageDelete; export const name = Events.MessageDelete;
export async function execute(message) { export async function execute(message) {
// Delete message entry once message is deleted itself
const count = await Message.destroy({
where: {
id: message.id
}
});
if (count > 0)
console.info(`[INFO] Reaction Roles Message with ID '${message.id}' was deleted.`);
} }