Discord.py špecifické používateľské ID

0

Otázka

Dobrý deň, pretečenie zásobníka komunity!

Chcel len opýtať, prečo, kedy, Či dám konkrétne ID užívateĺa, ak chcete zákaz, príkaz sa vráti mi takto(Na účely tohto príkazu jej stačí, keď niekto s zákazy perms vstupuje w/o ping alebo zaviesť žiadne vstupné a len príkaz ju dostane ban, aka mini troll zákaz, príkaz):

enter image description here

Tu je príkaz kód:

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

S pozdravom, Inžinier

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

Najlepšiu odpoveď

1

Po prvé, nezabudnite vždy zadať chybové hlásenie, ako len blok kódu namiesto obrazu. Zdá sa, že váš problém je len AttributeError a že username nemá id. Myslím, že problém tu je tento riadok:

username = client.get_user(user)

Podľa dokumentácie, client.get_user(id) vráti None ak to nie je možné nájsť používateľa s daným id. Takže uistite sa, že váš user premenná je správne.

2021-11-23 19:51:41

Ďakujem za respone, to je chyba pastebin: pastebin.com/eVHR58dG je smutné, že z nejakého dôvodu sa stále zobrazuje rovnaká chyba? Ako mám nastaviť premennú correctcly?
Engineer

Myslím si, že premenná je nastavenie správne, avšak id sám o sebe môže byť zle. Chyba sa vyskytuje, pretože client.get_user(user) po rokoch sa vracia None a zaradenie do username. A neskôr kód sa snaží získať username.idvšak to neexistuje, pretože username je None. Takže uistite sa, že číslo, ktoré bolo pridelené user je správne, tak client.get_user(user) nevracia None
Roopesh-J

Ospravedlňujeme sa, aby nenarušilo znova, len skúšam, aby si všetko z mojej python základný kurz, teraz som pridal de > klient.get_user(používateľa) a teraz jej iný príbeh. Vadilo by vám, urobiť napríklad kód, alebo sa odvolávajú na jedného, aby som mohol vidieť, ako to funguje: pastebin.com/FLeVRi2V
Engineer

Žiadne starosti. Ste si istý, že 669680584376713259 je správne id. Pretože ak áno, tak nevidím dôvod, prečo váš problém naďalej pretrváva. Vzal som svoj kód z tohto pastebin prepojené a aktualizované to tu. Nie 100% istý, či to funguje, ale skús to. Ak to nefunguje, potom si myslím, že id je nesprávne.
Roopesh-J

Ďakujem vám, že ma pokroku veľa, a práve sme prešli trochu, teraz som zistil, že problém je, že linka "členské = ctx.správy.spolok.get_member(user_id)" nikdy podarí nájsť AKÉKOĽVEK rozbroje ID, ani moje, ani za predpokladu, že jeden z ALT acc. Je to bc sme nie nastavenie oblasti "user_id = 669680584376713259" správne?
Engineer

Hm to je divné. V poriadku, skúste tento user = client.fetch_user(id). To vráti User namiesto Member takže si zákaz im, ako je tento await ctx.guild.ban(user, reason=reason). Na user_id je správne nastavený, tak dlho, ako je to int je správne nastavený. Hodnota sám by mohlo byť nesprávne, ale zdá sa, že už je jasné, že.
Roopesh-J

Hmm, zmenil som topánok odpoveď pred "zákaz" dostane uplatňovať vidieť, ak to reaguje s používateľom zmienku, ale to výstupov niečo, čo som nikdy nevidel? Pastebin: pastebin.com/fj5VuZcf
Engineer

Ach, ospravedlňujem sa, moja chyba. To by mal byť await client.fetch_user(id)to je coroutine tak to musí byť očakávaný.
Roopesh-J

V iných jazykoch

Táto stránka je v iných jazykoch

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