Bot discord mute auto et calcul du temps passé
dokkax
Messages postés
1
Date d'inscription
mardi 19 novembre 2024
Statut
Membre
Dernière intervention
19 novembre 2024
-
Modifié le 22 nov. 2024 à 14:40
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 22 nov. 2024 à 14:48
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 22 nov. 2024 à 14:48
A voir également:
- Bot discord mute auto et calcul du temps passé
- Calcul moyenne excel - Guide
- Identifiant et mot de passe - Guide
- Blocage agriculteur carte en temps réel - Accueil - Transports & Cartes
- Voir mot de passe wifi android - Guide
- Trousseau mot de passe iphone - Guide
1 réponse
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
22 nov. 2024 à 14:48
22 nov. 2024 à 14:48
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