Maison >développement back-end >Tutoriel Python >Pourquoi mes commandes de robot Discord.py ne fonctionnent-elles pas après la personnalisation de on_message ?
Comprendre le problème : les commandes ne fonctionnent pas
Lors de l'utilisation de la bibliothèque Discord.py, certains utilisateurs rencontrent un comportement inattendu où les commandes ne s'exécutent pas même bien que le bot semble être actif. Ce problème peut être attribué au gestionnaire d'événements on_message.
Résoudre le problème : ajout de bot.process_commands(message)
Selon la documentation Discord.py, remplacer le Le gestionnaire d'événements on_message par défaut empêche l'exécution de commandes supplémentaires. Pour résoudre ce problème, il est nécessaire d'inclure une ligne bot.process_commands(message) à la fin de la fonction on_message personnalisée.
Référence à la documentation pour obtenir des conseils :
Overriding the default provided on_message forbids any extra commands from running. To fix this, add a bot.process_commands(message) line at the end of your on_message.
Exemple de mise en œuvre :
import discord import asyncio from discord.ext import commands bot = commands.Bot(command_prefix = '-') @bot.event async def on_ready(): print('Logged in as') print(bot.user.name) print(bot.user.id) print('------') @bot.event async def on_message(message): # do some extra stuff here await bot.process_commands(message)
En suivant ces directives, vous pouvez conserver la fonctionnalité de votre système personnalisé gestionnaire d'événements on_message tout en garantissant que les commandes continuent de fonctionner de manière transparente.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!