Bonjour,

Voila je rencontre un petit problème avec mon code.
Je cherche à améliorer mon bot, j'ai créé un système d'économie avec quick db, et m'en sert aussi pour enregistrer des dates (date.now) afin, d'avec un timeout, pouvoir le vérifier et sauvegarder les données en cas de redémarrage du bot. Le problème est que le timeout est vérifié à l'activation d'une commande. J'aimerai faire ceci: Vous pouvez acheter un rôle durant 7 jours, après 7 jours, votre rôle vous est automatiquement retiré. Mais je ne sais comment faire ! À l'aide !

J'ai déjà essayé avec un setimeout simplement, mais le problème est que si le bot redémarre, le timeout est oublié.. Je pense à utiliser quickdb mais je ne sais pas, merci de votre aide !

1 réponse


Salut,

Voici peut-être une solution pour ton problème:

Tu stockes le rôle et la date de fin du rôle dans une base de donnée. Chaque fois que l'utilisateur se connecte, tu récupères la date d'expiration de son rôle. S'il est expiré tu lui enlèves son rôle.

S'il n'est pas expiré, tu peux ajouter un setTimeout pour déclencer ça le jour suivant.

Après si ton bot est déconnecté et qu'il se reconnecte, tu lui fais exécuter une commande au lancement pour qu'il check les dates d'expiration des rôles de tous les gens connectés