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