Saving deleted data from left servers.

This commit is contained in:
alwayscompiling
2022-07-23 14:12:32 -04:00
parent 849ebb966a
commit 4ef487a8c4
2 changed files with 14 additions and 3 deletions
+2 -1
View File
@@ -133,4 +133,5 @@ nextcord.log
# data file for bot # data file for bot
highscores_data.json highscores_data.json
highscores_message_map.json highscores_message_map.json
highscores_config.json highscores_config.json
deleted_backups/
+12 -2
View File
@@ -2,6 +2,9 @@
Defines cog for guild listeners. Contains functions for various guild events. Defines cog for guild listeners. Contains functions for various guild events.
""" """
import os
import json
from nextcord.ext import commands from nextcord.ext import commands
import nextcord import nextcord
@@ -24,7 +27,8 @@ class GuildListener(commands.Cog, name="Guild Listener"):
save_highscores_data(highscores_data) save_highscores_data(highscores_data)
welcome_message: str = "Hello, I keep track of Highscores for you!" welcome_message: str = "Hello, I keep track of Highscores for you!"
welcome_message += " Currently only supporting RuneScape boss highscores, but will be more dynamic support in future." welcome_message += " Currently only supporting RuneScape boss highscores,"
welcome_message += " but will be more dynamic support in future."
welcome_message += ' For assistance on getting started, use "?register help".' welcome_message += ' For assistance on getting started, use "?register help".'
await guild.system_channel.send(content=welcome_message) await guild.system_channel.send(content=welcome_message)
@@ -33,9 +37,15 @@ class GuildListener(commands.Cog, name="Guild Listener"):
async def on_guild_remove(self, guild: nextcord.Guild): async def on_guild_remove(self, guild: nextcord.Guild):
"""Listener for Guild Remove. Removes data from highscores_data.""" """Listener for Guild Remove. Removes data from highscores_data."""
print(f"Removing data for guild {guild.name} (id {guild.id}).") print(f"Removing data for guild {guild.name} (id {guild.id}).")
highscores_data.pop(str(guild.id)) old_data = highscores_data.pop(str(guild.id))
save_highscores_data(highscores_data) save_highscores_data(highscores_data)
if not os.path.exists("deleted_backups"):
os.mkdir("deleted_backups")
with open(f"deleted_backups/{guild.name}_backup.json", encoding="utf-8", mode="w") as file:
file.write(json.dumps(old_data, indent=4))
# This function will be called when this extension is loaded. # This function will be called when this extension is loaded.
# It is necessary to add these functions to the bot. # It is necessary to add these functions to the bot.