BOT Discord - Python

Résolu/Fermé
0-Kzami Messages postés 15 Date d'inscription samedi 28 décembre 2019 Statut Membre Dernière intervention 9 février 2020 - 8 janv. 2020 à 17:36
0-Kzami Messages postés 15 Date d'inscription samedi 28 décembre 2019 Statut Membre Dernière intervention 9 février 2020 - 12 janv. 2020 à 09:27
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)

A voir également:

5 réponses

M3NSONG3 Messages postés 615 Date d'inscription mardi 16 avril 2013 Statut Membre Dernière intervention 4 novembre 2021 162
11 janv. 2020 à 00:38
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.

2
M3NSONG3 Messages postés 615 Date d'inscription mardi 16 avril 2013 Statut Membre Dernière intervention 4 novembre 2021 162
11 janv. 2020 à 12:08
En remplacent "client" par "bot" dans ton cas.
0
Chris 94 Messages postés 50978 Date d'inscription mardi 8 janvier 2008 Statut Modérateur Dernière intervention 17 février 2023 7 323
8 janv. 2020 à 17:39
0
0-Kzami Messages postés 15 Date d'inscription samedi 28 décembre 2019 Statut Membre Dernière intervention 9 février 2020
8 janv. 2020 à 18:40
J'aimerais savoir ce qu'il ne va pas s'il vous plaît
0
Bonsoir,

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

Ajouter
bot.add_command(test)
.
0
0-Kzami Messages postés 15 Date d'inscription samedi 28 décembre 2019 Statut Membre Dernière intervention 9 février 2020
10 janv. 2020 à 08:34
Quand je fais ça, ça me dit que la commande test est déjà intégrée dans le bot.
0
trifou > 0-Kzami Messages postés 15 Date d'inscription samedi 28 décembre 2019 Statut Membre Dernière intervention 9 février 2020
10 janv. 2020 à 17:18
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
0-Kzami Messages postés 15 Date d'inscription samedi 28 décembre 2019 Statut Membre Dernière intervention 9 février 2020 > trifou
11 janv. 2020 à 10:17
Nan ça ne fonctionnera pas il n'y a pas de variable contexte
ctx
déclaré dans la fonction
on_message
.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
0-Kzami Messages postés 15 Date d'inscription samedi 28 décembre 2019 Statut Membre Dernière intervention 9 février 2020
12 janv. 2020 à 09:27
Merci beaucoup je pensais jamais y arriver !
0