Bot discord mute auto et calcul du temps passé
Bonjour,
S'il vous plaît aidez-moi à créer un code pour un bot discord qui va :
- rendre muet tout le monde dans le channel vocal (id du channel vocal : 1307451490901950506 )
- poster tous les jours à minuit le temps passé ces dernières 24h dans le channel vocal de chaque utilisateur (en mode top 3) sur un channel écrit (id du chanel :1307254551199613013)
Windows / Chrome 131.0.0.0
A voir également:
- Bot discord mute auto et calcul du temps passé
- Trousseau mot de passe iphone - Guide
- Identifiant et mot de passe - Guide
- Mot de passe - Guide
- Mot de passe administrateur - Guide
- Calcul moyenne excel - Guide
1 réponse
Bonjour,
Il faut voir au niveau de l'API discord si tu peux rendre muet un utilisateur et si tu peux effectivement récupérer les temps de paroles de chacun.
Sous ces conditions, tu devrais utiliser la classe datetime.timedelta pour stocker les temps écoulés, puis utiliser la fonction sorted pour faire ton classement.
#!/usr/bin/env python3 from datetime import timedelta from pprint import pprint from operator import itemgetter measurements = [ ("aaa", timedelta(hours=3)), ("bbb", timedelta(hours=3, minutes=2)), ("ccc", timedelta(hours=2)), ("ddd", timedelta(minutes=1)), ("eee", timedelta(days=2, hours=1)), ] pprint(measurements) measurements = sorted( measurements, key=itemgetter(1), # Les durées sont à la position 1 de chaque tuple reverse=True # Tri par durée décroissante ) n = 3 print(f"Top {n}:") for i in range(n): print(measurements[i][0]) # Affichage des noms
Résultat :
[('aaa', datetime.timedelta(seconds=10800)), ('bbb', datetime.timedelta(seconds=10920)), ('ccc', datetime.timedelta(seconds=7200)), ('ddd', datetime.timedelta(seconds=60)), ('eee', datetime.timedelta(days=2, seconds=3600))] Top 3: eee bbb aaa
Bonne chance