BOT Discord - Python [Résolu]

Signaler
Messages postés
13
Date d'inscription
samedi 28 décembre 2019
Statut
Membre
Dernière intervention
18 janvier 2020
-
0-Kzami
Messages postés
13
Date d'inscription
samedi 28 décembre 2019
Statut
Membre
Dernière intervention
18 janvier 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
523
Date d'inscription
mardi 16 avril 2013
Statut
Membre
Dernière intervention
11 janvier 2020
72
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.

M3NSONG3
Messages postés
523
Date d'inscription
mardi 16 avril 2013
Statut
Membre
Dernière intervention
11 janvier 2020
72
En remplacent "client" par "bot" dans ton cas.
Messages postés
13
Date d'inscription
samedi 28 décembre 2019
Statut
Membre
Dernière intervention
18 janvier 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)
.
0-Kzami
Messages postés
13
Date d'inscription
samedi 28 décembre 2019
Statut
Membre
Dernière intervention
18 janvier 2020

Quand je fais ça, ça me dit que la commande test est déjà intégrée dans le bot.
> 0-Kzami
Messages postés
13
Date d'inscription
samedi 28 décembre 2019
Statut
Membre
Dernière intervention
18 janvier 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.
0-Kzami
Messages postés
13
Date d'inscription
samedi 28 décembre 2019
Statut
Membre
Dernière intervention
18 janvier 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
13
Date d'inscription
samedi 28 décembre 2019
Statut
Membre
Dernière intervention
18 janvier 2020

Merci beaucoup je pensais jamais y arriver !