Bots Discord

Stocker les données dont votre bot doit se souvenir

Relu le 6 septembre 2026 2 min de lecture

Dès que votre bot doit se souvenir de quelque chose entre deux redémarrages, il vous faut un endroit où le mettre. Il y a trois réponses raisonnables, et la mauvaise ne devient évidente que plus tard, quand les données sont déjà dedans.

Choisir

OptionBonne pourCraque quand
Un fichier JSONRéglages, petites listes, quelques dizaines d'entréesDeux écritures se chevauchent, ou le processus meurt en plein milieu
SQLiteLa plupart des bots. Milliers de lignes, vraies requêtes, un fichierPlusieurs processus écrivent en même temps
MySQLBots shardés, tableaux de bord, données partagées avec un siteRien, mais il y a plus à installer
Un fichier JSON finira par perdre des données

Réécrire tout le fichier à chaque changement signifie qu'un plantage pendant une écriture le laisse tronqué ou vide. C'est acceptable pour de la configuration éditée à la main ; c'est un mauvais foyer pour ce que génèrent les utilisateurs. À défaut, écrivez dans un fichier temporaire et renommez-le par-dessus l'original : un renommage est atomique et ne peut pas se faire à moitié.

Passer de JSON à SQLite

  1. Ajoutez la bibliothèque

    better-sqlite3 en Node, ou le module sqlite3 intégré en Python. Aucun serveur à lancer : la base est un fichier à côté de votre code.

  2. Créez la table à l'image de ce que vous stockez déjà

    Une colonne par clé que vous écriviez. Gardez les mêmes noms pour que le script de migration soit évident.

  3. Écrivez un import unique

    Lisez le JSON, insérez les lignes, gardez l'ancien fichier jusqu'à être sûr. Le supprimer une semaine plus tard ne coûte rien ; le supprimer trop tôt coûte tout.

  4. Incluez le fichier de base dans vos sauvegardes

    C'est désormais la seule copie de tout ce que sait votre bot.

Quel que soit votre choix, sauvegardez-le sur une tâche planifiée

Le fichier de données est la partie de votre bot que vous ne pouvez pas réécrire de mémoire. Le code, vous le renvoyez depuis votre portable ; un an de réglages d'utilisateurs, non.