Discord.py specifice ID-ul de utilizator

0

Problema

Salut stack overflow comunitate!

Am vrut doar să întreb de ce, atunci când, Dacă am da un anumit ID-ul de utilizator pentru o comanda ban se intoarce următoarele(scopul acestei comenzi sale doar atunci când cineva cu interdicții permanentul intră w/o ping sau introducerea de intrare și numai comanda devine interzis, aka un mini troll comanda ban):

enter image description here

Aici e codul de comandă:

>     @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>")

Cel mai bun ceea ce privește, Inginer

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

Cel mai bun răspuns

1

În primul rând, asigurați-vă că pentru a introduce întotdeauna mesaj de eroare ca doar un bloc de cod în loc de o imagine. Se pare că problema este doar o AttributeError și că username nu are id. Cred că problema aici este această linie:

username = client.get_user(user)

Conform documentației, client.get_user(id) va reveni None dacă nu se poate găsi un utilizator cu id-ul. Deci, asigurați-vă că dvs. user variabila este corectă.

2021-11-23 19:51:41

Multumesc pentru reactie, aceasta este eroarea pastebin: pastebin.com/eVHR58dG din Păcate, pentru unii motiv, încă arată la fel de eroare? Cum setez variabila correctcly?
Engineer

Cred că variabila este setată corect cu toate acestea id-ul în sine poate fi greșit. Eroarea se produce din cauza client.get_user(user) se întoarce None și atribuirea username. Și mai târziu, codul este încercarea de a obține username.id, cu toate acestea ea nu exista pentru username este None. Deci, asigurați-vă că numărul atribuit user este corect asa client.get_user(user) nu se întoarce None
Roopesh-J

Scuze de deranj din nou, doar reîncerca să-și amintească totul, de la pitonul meu curs de bază, acum am adaugat de > client.get_user(utilizator) și acum o altă poveste. Te-ar deranja sa fac un exemplu de cod sau se referă la unul, ca să pot vedea cum funcționează: pastebin.com/FLeVRi2V
Engineer

Nu vă faceți griji. Ești sigur că 669680584376713259 este id-ul corect. Pentru că dacă este așa, nu văd de ce problema persistă. Am luat codul de la acel pastebin legate și actualizat aici. Nu sunt 100% sigur daca functioneaza, dar dau o lovitură. Dacă nu, atunci cred că id este greșit.
Roopesh-J

Vă mulțumesc, că m-a făcut progrese mult si am trecut un pic, acum am gasit problema si este că linia de "membru = ctx.mesaj.guild.get_member(user_id)" niciodată nu reușește să găsească ORICE discordie ID-ul, nici a mea, nici a furnizat una de la un ALT acc. Este această bc nu suntem setarea domeniul "user_id = 669680584376713259" corect?
Engineer

Hm asta e ciudat. Bine încercați acest lucru user = client.fetch_user(id). Acest lucru va returna un User în loc de un Member așa că le interzică astfel de prognoze await ctx.guild.ban(user, reason=reason). La user_id este setat corect, atâta timp cât acesta este un int este setată corect. Valoarea în sine ar putea fi incorecte, dar se pare că deja a clarificat faptul că.
Roopesh-J

Hmm, am schimbat bot răspuns înainte de "ban" se aplică pentru a vedea dacă răspunde cu utilizatorul prin menționarea dar ieșiri ceva ce n-am mai văzut? Pastebin: pastebin.com/fj5VuZcf
Engineer

Oh, imi cer scuze, greseala mea. Ar trebui să fie await client.fetch_user(id), este un coroutine așa că trebuie să fie așteptată.
Roopesh-J

În alte limbi

Această pagină este în alte limbi

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