BOT Discord - Python

Résolu
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)


--
C'est en faisant autrement que l'on devient quelqu'un

5 réponses

  1. 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.

    1. En remplacent "client" par "bot" dans ton cas.
  2. Bonsoir,

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

    Ajouter
    bot.add_command(test)
    .
    1. Quand je fais ça, ça me dit que la commande test est déjà intégrée dans le bot.
    2. @0-KzamiBonjour,

      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.
    3. @trifouNan ça ne fonctionnera pas il n'y a pas de variable contexte
      ctx
      déclaré dans la fonction
      on_message
      .