Bot discord python [Résolu]

Signaler
-
 Nansha -
Bonjour,
voila mon problème :

Je suis en train de créer un bot discord, jusque là tout va bien !
Mais je souhaiterais ajouter une commande; mais , malheureusement, je ne trouve pas les commande pour :
Le but étant que quand on tape ".timer" dans discord, en fonction de l'heure le bot nous renvoies un message, exemple :
il est entre 00H00 et 00H15 alors envoyer : "saucisse". Si il est entre 15H45 et 16H00 alors envoyer "carrote", ect...

J'ai une idée pour réaliser cela :
ça serait que quand la commande ".timer" est taper alors on verifie l'heure qu'il est, et en fonction on print un message

@bot.command()
async def timer(ctx):

if (heure compris entre 00H00 et 00H15) :
await ctx.send("saucisse")

if (heure compris entre 15H45 et 16H00) :
await ctx.send("carrote")

if (heure compris entre 17H30 et 17H55) :
await ctx.send("brocoli")


et ainsi de suite pour une quantité indeterminer...

J'espere que vous aurez compris, et que vous pourrez me donner la miraculeuse ligne de code qui me permettrait de "verifier l'heure" !

Merci et bonne journée !

4 réponses

Messages postés
13044
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
12 novembre 2020
727
bonjour,
veille à utiliser les balises de code quand tu partages du code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
peut-être ainsi:
import datetime
cemoment = datetime.datetime.now()
heure=cemoment.hour
minute=cemoment.minute
print(heure*60+minute)
Très bien je prend note pour les balises !

Néanmoins je crois bien que le code que tu me propose ne fonctionne pas avec mon cas :/
J'ai découvert le module datetime grace à toi et notamment le "datetime.now()" Je suppose qu'il est possible de faire ceci ? :
if datetime.now(16H00):
print("azerty")


Le truc serait de pourvoir inclure un intervalle de temps.
Par ailleur je suppose que l'on ne peut écrire un heure "00H00"
Messages postés
13044
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
12 novembre 2020
727
as-tu testé ta supposition?
tu n'as jamais programmé? souhaites-tu apprendre?
fais alors peut-être d'abord des exercices plus simples.

import datetime
cemoment = datetime.datetime.now()
heure=cemoment.hour
minute=cemoment.minute
minutes=heure*60+minute
if minutes >= 15*60+45 and minutes <= 16*30:
    print("il est entre 15h45 et 16h")
else:
    print("il n'est pas entre 15h45 et 16h")
Super merci, je vais voir avec ça !

Et oui j'ai déjà programmer haha, c'est juste que je ne connais absolument rien a ce module :3 Ou plutôt à sa façons de prendre un compte un temps donner. Ce n'est pour le moment un "problème" que je n'est jamais rencontrer, puisque je n'est jamais eu à traiter ce "problème" :)
Et bien problème résolut !
merci de ton aide =D

Néanmoins dans la 6ème lignes de ton code il faut faire attention à remplacer le "16*30" par "16*60", pour les futur nouveaux

Par ailleur je ne savais pas que le if pouvait prendre un compte un intervalle !