BOT Discord - Python [Résolu]

Signaler
Messages postés
15
Date d'inscription
samedi 28 décembre 2019
Statut
Membre
Dernière intervention
9 février 2020
-
Messages postés
15
Date d'inscription
samedi 28 décembre 2019
Statut
Membre
Dernière intervention
9 février 2020
-
Bonjour,
J'ai écrit un code pour un BOT Discord, mais je ne comprends pas ce qu'il ne va pas.
Le BOT écrit bien dans la console qu'il est connecté, et il affiche bien l'auteur et le message en question dans la console également. Mais lorsque l'on tape '!test' dans le salon sur Discord, il n'y a absolument rien qui se passe, le BOT n'a même pas détecté que j'écrivais la commande j'ai l'impression.

Le code :
#Importe les bibliothèques nécessaires
import discord
from discord.ext import commands

#Créé une instance de Bot
bot = commands.Bot(command_prefix='!')


@bot.event
async def on_ready():
  """
  Quand le BOT se connecte
  """

  #Affiche dans la console que tout est prêt
  print("BOT Poutine connecté !")
  print("Log du serveur:\n")

@bot.event
async def on_message(message):
  """
  Quand un message est reçu
  """

  #Affiche dans la console l'auteur et le contenu du message
  print("{0}: {1}".format(message.author, str(message.content)))


@bot.command()
async def test(ctx):
  print("Test réussi")
  await ctx.send("Test réussi")

#Créé la variable TOKEN avec le token du BOT
#Pas ici car il est possible de voler un BOT avec son TOKEN
#Connecte le Client Poutine à l'aide de son TOKEN
bot.run(token)

5 réponses

Messages postés
548
Date d'inscription
mardi 16 avril 2013
Statut
Membre
Dernière intervention
13 juillet 2020
106
Bon bah ancien message supprimé sans raison précisée on aime... Bref :
si tu veux réglé ton problème ajoute :
await client.process_commands(message)

A la fin de ton on_message.

Messages postés
548
Date d'inscription
mardi 16 avril 2013
Statut
Membre
Dernière intervention
13 juillet 2020
106
En remplacent "client" par "bot" dans ton cas.
Messages postés
47488
Date d'inscription
mardi 8 janvier 2008
Statut
Modérateur
Dernière intervention
1 septembre 2020
6 092
Messages postés
15
Date d'inscription
samedi 28 décembre 2019
Statut
Membre
Dernière intervention
9 février 2020

J'aimerais savoir ce qu'il ne va pas s'il vous plaît
Bonsoir,

Dixit la doc :
https://discordpy.readthedocs.io/en/latest/ext/commands/commands.html

Ajouter
bot.add_command(test)
.
Messages postés
15
Date d'inscription
samedi 28 décembre 2019
Statut
Membre
Dernière intervention
9 février 2020

Quand je fais ça, ça me dit que la commande test est déjà intégrée dans le bot.
>
Messages postés
15
Date d'inscription
samedi 28 décembre 2019
Statut
Membre
Dernière intervention
9 février 2020

Bonjour,

Oui désolé, discord, c'est pas du tout mon truc, surtout pour simplement se faire un simple bot.

Bon, à tout hasard, est-ce que ce n'est pas le fait d'avoir déclaré la fonction
on_message
?
Un simple test en mettant un simple
await ctx.send('on_message')
dans la fonction
on_message
pourrait confirmer ou infirmer cela.
Messages postés
15
Date d'inscription
samedi 28 décembre 2019
Statut
Membre
Dernière intervention
9 février 2020
> trifou
Nan ça ne fonctionnera pas il n'y a pas de variable contexte
ctx
déclaré dans la fonction
on_message
.
Messages postés
15
Date d'inscription
samedi 28 décembre 2019
Statut
Membre
Dernière intervention
9 février 2020

Merci beaucoup je pensais jamais y arriver !