Besoin d'aide pour un bot discord codé en Python
deristix Messages postés 55 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je cherche a codé un bot Python qui doit surveiller un channel spécifique. Quand un utilisateur envoie "sd", le bot doit, 1 minutes après, le ping. Il doit faire ça pour tout les utilisateurs évidemment, et ne doit pas reset le timeur si "sd" est réécrit avant 1 minutes.
Fin bref, tout semble pas mal dans mon code, le bot a toute les perm qu'il faut, cependant, quand je le lance, il ne trouve aucun message.content et considère tout les messages comme vide, bien qu'il les détectes.
Cependant, il détecte le contenue des messages privés..
Enfin bref, voici le code :
import discord import asyncio import datetime intents = discord.Intents.default() intents.members = True intents.messages = True client = discord.Client(intents=intents) timers = {} @client.event async def on_ready(): print(f'Logged in as {client.user}') @client.event async def on_message(message): if message.channel.type != discord.ChannelType.text: return print(f"Received message from {message.author}") print(f"Message content: {message.content}") if message.content.strip().lower() == "sd": print(f'Detected "sd" message from {message.author} at {datetime.datetime.now()}') now = datetime.datetime.now() last_sd_time = timers.get(message.author.id) if last_sd_time is not None and (now - last_sd_time).total_seconds() < 1 * 60: print(f'Ignoring "sd" message from {message.author} as it was sent less than 1 minute ago at {last_sd_time}') return timers[message.author.id] = now print(f'Starting timer for {message.author}') await asyncio.sleep(1 * 60) await send_ping(message) else: print(f"Message not matching criteria: {message.content}") async def send_ping(message): user = message.author print(f'Pinging {user} at {datetime.datetime.now()}') await message.channel.send(f"{user.mention}, tu peux drop !") client.run('token')
Log :
Received message from Hima
Message content:
Message not matching criteria:
J'espère que quelqu'un pourra m'aider, je ne sais pas du tout quoi faire..
- Freewifi secure code
- Code ascii - Guide
- Comment se connecter a freewifi secure - Forum WiFi
- Freewifi secure sur pc ✓ - Forum Freebox
- Code puk bloqué - Guide
- Se connecter à FreeWifi_secure sans carte SIM - Forum WiFi
1 réponse
Le problème pourrait être dû à la définition des intents dans votre code. Vous avez défini les intents par défaut et activé les intents de messages et de membres. Cependant, pour accéder au contenu des messages dans un canal de texte, vous devez également activer l'intent "messages". Voici comment définir correctement les intents :
intents = discord.Intents.default() intents.members = True intents.messages = True intents.guild_messages = True client = discord.Client(intents=intents)
Essayez de faire ces modifications et vérifiez si cela résout votre problème.