Remove feeds associated with a channel when it is deleted

This commit is contained in:
2025-01-09 12:20:23 -05:00
parent e1b470b27c
commit b8ea689cc3
3 changed files with 34 additions and 0 deletions

8
main.c
View File

@ -560,6 +560,13 @@ static void on_guild_delete(struct discord *client, const struct discord_guild *
}
}
static void on_channel_delete(struct discord *client, const struct discord_channel *event) {
(void) client;
if (zblock_feed_info_delete_all_channel(database_conn, event->id)) {
log_error("Unable to delete all feeds from channel %" PRIu64 ". You probably want to clean this up.", event->id);
}
}
// delay before the first feed retrieval (in ms)
#define FEED_TIMER_DELAY 15000
@ -598,6 +605,7 @@ int main(void) {
discord_set_on_ready(client, &on_ready);
discord_set_on_interaction_create(client, &on_interaction);
discord_set_on_guild_delete(client, &on_guild_delete);
discord_set_on_channel_delete(client, &on_channel_delete);
// register timers
discord_timer_interval(client, timer_retrieve_feeds, NULL, NULL, FEED_TIMER_DELAY, FEED_TIMER_INTERVAL, -1);