Maison >développement back-end >Tutoriel Python >Pourquoi mes commandes Discord.py 2.0 ne fonctionnent-elles pas et comment puis-je y remédier ?

Pourquoi mes commandes Discord.py 2.0 ne fonctionnent-elles pas et comment puis-je y remédier ?

DDD
DDDoriginal
2024-12-06 17:37:11208parcourir

Why Aren't My Discord.py 2.0 Commands Working, and How Do I Fix It?

Problème d'invocation de commande Discord.py 2.0 : aucun message d'erreur

Problème :

Quand lors de la migration de Discord.py 1.7.3 vers 2.0, les commandes ne s'exécutent pas dans 2.0 sans aucun message d'erreur, malgré le fonctionnement correct dans la version 1.7.3.

Raison :

Pour garantir que le contenu du message est reçu, Discord.py 2.0 nécessite l'activation explicite des intentions.

Solution :

1. Activer les intentions sur le portail des développeurs Discord :

  • Connectez-vous au portail des développeurs Discord.
  • Sélectionnez votre application.
  • Accédez à la section « Bot » .
  • Activez « INTENTION DE CONTENU DU MESSAGE » sous les intentions. onglet.

2. Ajoutez des intentions au bot dans le code Discord.py :

  • Importez la classe Intents depuis Discord.
  • Créez un objet d'intentions et définissez intents.message_content sur True.
  • Initialisez le bot avec des intentions en tant que argument.

3. Mettez à jour le code :

  • Ajoutez la ligne suivante en haut de votre script Discord.py :
intents = discord.Intents.default()
intents.message_content = True
  • Initialisez le bot avec le argument d'intention :
bot = commands.Bot(command_prefix='$', intents=intents, help_command=None)

Terminé Code :

import discord
from discord.ext import commands

intents = discord.Intents.default()
intents.message_content = True

bot = commands.Bot(command_prefix='$', intents=intents, help_command=None)

@bot.event
async def on_ready():
    print('bot is ready')

@bot.command(name='test1', aliases=['t1'])
async def test1(ctx):
    print('test command')

with open('token.txt', 'r') as f: TOKEN = f.read()
bot.run(TOKEN)

En mettant en œuvre ces étapes, vous pouvez activer le traitement du contenu des messages et restaurer la fonctionnalité de commande dans Discord.py 2.0.

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!

Déclaration:
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