From fe99c7920cc0ae4ea9b6d31a608aced05fa347b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anselme=20Fran=C3=A7ois?= Date: Mon, 22 May 2023 13:53:19 +0000 Subject: [PATCH] first commit --- bot.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 bot.py diff --git a/bot.py b/bot.py new file mode 100644 index 0000000..c66f3d9 --- /dev/null +++ b/bot.py @@ -0,0 +1,33 @@ +import discord +from discord.ext import tasks +import os +import asyncio +from datetime import datetime, timedelta, timezone +from dotenv import load_dotenv + +intents = discord.Intents.default() +intents.members = True +intents.presences = True +client = discord.Client(intents=intents) + +@client.event +async def on_ready(): + print('Logged in as {0.user}'.format(client)) + check_active.start() + + +@tasks.loop(seconds = 20) # repeat after every 20 seconds +async def check_active(): + await client.wait_until_ready() + for member in client.get_all_members(): + # Vérifie si le membre est actif sur Discord depuis 20 minutes ou plus + if member.name == "Anselme" and member.status != discord.Status.offline and member.activity is not None and (datetime.now(timezone.utc) - member.activity.created_at) > timedelta(minutes=20): + try: + # Envoie un message privé de rappel + await member.send("Il est temps d'arrêter de procrastiner !") + except: + pass + +load_dotenv() +token = os.getenv('DISCORD_TOKEN', "NO_TOKEN") +client.run(token)