Initial commit: bot Discord Vicy V1.8

This commit is contained in:
utilisateurqu 2026-08-16 19:37:15 +02:00
commit 56958c5832
70 changed files with 8469 additions and 0 deletions

61
utils/data_manager.py Normal file
View file

@ -0,0 +1,61 @@
import json
import os
from datetime import datetime, timedelta
class DataManager:
""" Gère la sauvegarde et le chargement des données. """
def __init__(self):
self.identities = {}
self.load_data()
def save_data(self):
""" Sauvegarde les identités dans un fichier JSON. """
try:
with open('ressources/data.json', 'w', encoding='utf-8') as f:
json.dump({'identities': self.identities}, f, ensure_ascii=False, indent=4)
except Exception as e:
print(f"Erreur lors de la sauvegarde des données: {e}")
def load_data(self):
""" Charge les identités depuis un fichier JSON. """
try:
if os.path.exists('ressources/data.json'):
with open('ressources/data.json', 'r', encoding='utf-8') as f:
data = json.load(f)
self.identities = data.get('identities', {})
except Exception as e:
print(f"Erreur lors du chargement des données: {e}")
self.identities = {}
class DataManager:
def __init__(self):
"""Initialise le gestionnaire de données et charge les identités existantes."""
self.file_path = os.path.join(os.path.dirname(__file__), "../ressources/data.json")
self.identities = self.load_data() # Charge les données existantes
def load_data(self):
"""Charge les identités depuis le fichier JSON."""
if not os.path.exists(self.file_path):
print(f"⚠️ Fichier {self.file_path} introuvable. Création d'un nouveau fichier...")
self.save_data() # Crée un fichier vide
return {}
try:
with open(self.file_path, "r", encoding="utf-8") as f:
data = json.load(f)
return data.get("identities", {})
except (json.JSONDecodeError, IOError) as e:
print(f"❌ Erreur lors du chargement des données : {e}")
return {}
def save_data(self):
"""Sauvegarde les identités dans un fichier JSON."""
try:
os.makedirs(os.path.dirname(self.file_path), exist_ok=True)
with open(self.file_path, "w", encoding="utf-8") as f:
json.dump({"identities": self.identities}, f, ensure_ascii=False, indent=4)
print(f"✅ Données sauvegardées dans {self.file_path}")
except IOError as e:
print(f"❌ Erreur lors de la sauvegarde des données : {e}")