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
Libérer: 2024-12-06 17:37:11
original
207 Les gens l'ont consulté

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
Copier après la connexion
  • Initialisez le bot avec le argument d'intention :
bot = commands.Bot(command_prefix='$', intents=intents, help_command=None)
Copier après la connexion

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

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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal