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 ?

Pourquoi mes commandes de robot Discord.py ne fonctionnent-elles pas après la personnalisation de on_message ?

Mary-Kate Olsen
Libérer: 2024-12-17 18:56:10
original
1054 Les gens l'ont consulté

Why Aren't My Discord.py Bot Commands Working After Customizing 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.
Copier après la connexion

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)
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal