0
votes

Ma commande de préfixe ne fonctionne pas (discord bot) discord.py

Hé, j'utilise pycharm pour créer un bot discord et j'ai ce problème: la commande de préfixe ne fonctionne pas, peu importe le nombre de fois où j'exécute mon code et je l'ai vérifié, je ne pense pas avoir commis d'erreur, aidez-moi s'il vous plaît. mon code:

import random
from discord.ext import commands
client = commands.Bot(command_prefix='&')
@client.command()
@commands.has_permissions(manage_messages=True)
async def clear(ctx, amount=2):
    await ctx.channel.purge(limit=amount)
client.run('token')


2 commentaires

quelle est l'erreur / comment la déclenchez-vous? Je ne vois pas de commande nommée prefix , à quelle commande faites-vous référence?


Votre bot dispose- manage_messages autorisation manage_messages ? Vous devriez l'avoir activé dans le portail des développeurs lorsque vous générez le lien pour l'inviter. Vous pouvez vérifier son rôle pour voir les autorisations.


3 Réponses :


0
votes

Essayez de lui donner un nom: @client.command(name="clear")


1 commentaires

ne devrait pas faire de différence, si aucun nom n'est fourni, la bibliothèque utilisera le nom de la fonction comme nom de la commande



-1
votes

Je suppose que votre token est stocké en tant que variable. Et je suggère, bien que cela ne soit pas obligatoire, d'ajouter des sauts de ligne au lieu qu'il s'agisse d'un gros bloc.

Et, 1. Utilisez une impression ("Cela devrait fonctionner") à des fins de débogage. 2. Assurez-vous que votre bot dispose des autorisations, assurez-vous que lorsque vous l'avez ajouté, vous avez coché la case Manage Messages ou Administrator . Si vous ne vous souvenez pas si vous l'avez fait, pas de soucis, vous pouvez à nouveau ajouter le bot avec les autorisations appropriées via les paramètres de page OAuth2 de vos bots qui peuvent être trouvés ici .


2 commentaires

faux, vous n'avez pas besoin de passer ctx en tant qu'arg au décorateur de command , en effet cela lancera à la place une erreur NameError car ctx n'est pas défini.


Je suis désolé de penser à un nom là-bas, il devrait être passé dans la définition de la commande, ce que l'auteur a fait. Mes excuses.



0
votes

Pour ce faire, vous devez avoir Import discord

import discord


1 commentaires

Ils semblent avoir déjà importé de discord utilisant from discord.ext import commands , donc cela ne ressemble pas au problème. Cependant, la question ne précise pas quel est réellement le problème ou l'erreur.