Discord.py spécifique de l'ID d'utilisateur

0

La question

Bonjour débordement de pile de la communauté!

Je voulais juste vous demander pourquoi, quand, Si je donne à un utilisateur spécifique ID pour une interdiction de la commande pour retourner moi qui suit(Le but de cette commande est juste quand quelqu'un à des interdictions permanentes entre w/o ping ou de l'introduction de toute entrée et seule la commande il devient interdit, aka un mini troll interdiction de la commande):

enter image description here

Voici le code de commande:

>     @client.command() @commands.has_permissions(ban_members = True)
> #async def niceroger(ctx,Member:discord.User=None): async def niceroger(ctx,Member:discord.User=None):
>     user=669680584376713259
>     username = client.get_user(user)
>     #user2=discord.get_member(669680584376713259)
>     reason = "Bye bye"
>     await ctx.guild.ban(username, reason=reason)
>     #await ctx.guild.ban(user, reason=reason)
>     #await ctx.guild.ban(Member, reason = reason)
>     await ctx.channel.send(f"Bye <@669680584376713259>")

Meilleures salutations, Ingénieur

discord discord.py python
2021-11-23 16:56:28
1

La meilleure réponse

1

Tout d'abord, assurez-vous de toujours saisir le message d'erreur comme juste un bloc de code au lieu d'une image. Il semble que votre problème est juste un AttributeError et que username n'a pas de id. Je pense que la question ici est de cette ligne:

username = client.get_user(user)

Selon la documentation, client.get_user(id) sera de retour None si il ne peut pas trouver un utilisateur avec l'id donné. Donc, assurez-vous que votre user variable est correct.

2021-11-23 19:51:41

Merci pour respone, c'est l'erreur pastebin: pastebin.com/eVHR58dG Malheureusement, pour une raison quelconque, il affiche toujours la même erreur? Comment puis-je configurer la variable correctcly?
Engineer

Je pense que la variable est réglé correctement, cependant, l'id lui-même peut-être tort. L'erreur se produit parce que client.get_user(user) est de retour None et l'affectation à username. Et plus tard, le code est d'essayer d'obtenir username.idcependant, il n'existe pas, car username est None. Donc, assurez-vous que le numéro attribué à user est correct donc client.get_user(user) ne retourne pas None
Roopesh-J

Désolé de déranger à nouveau, juste de réessayer de vous rappeler de tout à partir de mon python cours de base, maintenant, j'ai ajouté de > client.get_user(utilisateur) et maintenant c'est un autre histoire. Auriez-vous l'esprit de faire un exemple de code ou de se référer à un pour que je puisse voir comment il fonctionne: pastebin.com/FLeVRi2V
Engineer

Pas de soucis. Êtes-vous sûr que 669680584376713259 est l'id correct. Parce que si oui, je ne vois pas pourquoi votre problème persiste. J'ai pris votre code à partir de ce pastebin lié et mis à jour ici. Pas sûr à 100% si elle fonctionne, mais donner un coup de feu. Si ça ne marche pas alors je pense que le id est faux.
Roopesh-J

Merci à vous, qui m'a fait progresser et que l'on vient un peu, maintenant j'ai trouvé le problème et que la ligne "membre = ctx.message.la guilde.get_member(user_id)" ne parvient jamais à trouver un désaccord ID, ni la mienne, ni la condition d'un ALT acc. Est-ce bc nous ne sommes pas en définissant le champ "user_id = 669680584376713259" correctement?
Engineer

Hm c'est bizarre. Ok, essayez ceci user = client.fetch_user(id). Cela renvoie un User au lieu d'un Member afin de vous bannir comme ça await ctx.guild.ban(user, reason=reason). L' user_id est correctement réglé, tant qu'il est un int il est réglé correctement. La valeur elle-même pourrait être inexact, mais il semble que vous avez déjà précisé que.
Roopesh-J

Hmm, j'ai changé le bot réponse avant de "l'interdiction" est appliqué pour voir si elle répond par l'utilisateur par une mention mais elle renvoie quelque chose que je n'ai jamais vu? Pastebin: pastebin.com/fj5VuZcf
Engineer

Oh je m'excuse, mon erreur. Il devrait être await client.fetch_user(id), c'est une coroutine de sorte qu'il doit être attendu.
Roopesh-J

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................