Discord.py ID utente specifico

0

Domanda

Ciao overflow dello stack comunità!

Volevo solo chiedere perché, quando, Se io do un ID utente specifico per un divieto di comando mi torna il seguente(Lo scopo di questo comando il suo solo quando qualcuno con i divieti permanenti entra w/o ping o introdurre qualsiasi input e solo il comando diventa vietato, aka un mini troll divieto di comando):

enter image description here

Ecco il codice di comando:

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

I migliori saluti, Ingegnere

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

Migliore risposta

1

In primo luogo, assicurarsi di inserire sempre il messaggio di errore, come solo un codice di blocco, invece di un'immagine. Sembra che il tuo problema è solo un AttributeError e che username non ha id. Penso che il problema qui è questa riga:

username = client.get_user(user)

Secondo la documentazione, client.get_user(id) tornerà None se non riesce a trovare un utente con un determinato id. Quindi assicuratevi che il vostro user variabile è corretto.

2021-11-23 19:51:41

Grazie per respone, questo è l'errore pastebin: pastebin.com/eVHR58dG Purtroppo, per qualche motivo, non mostrando ancora lo stesso errore? Come faccio a impostare la variabile correctcly?
Engineer

Penso che la variabile è impostato correttamente, tuttavia, l'id può essere sbagliato. L'errore si verifica a causa client.get_user(user) è il ritorno None e l'assegnazione di username. E poi il codice per cercare di ottenere un username.idtuttavia non esiste perché username è None. Quindi, assicurarsi che il numero assegnato a user è corretto così client.get_user(user) non ritorno None
Roopesh-J

Scusate il disturbo di nuovo, solo il tentativo di ricordare tutto dalla mia python corso base, ora ho aggiunto de > client.get_user(utente) e ora è una storia diversa. Ti dispiacerebbe fare un esempio di codice o di riferimento ad uno in modo da poter vedere come funziona: pastebin.com/FLeVRi2V
Engineer

Nessuna preoccupazione. Sei sicuro che 669680584376713259 è l'id corretto. Perché se è così, non vedo perché il problema persiste. Ho preso il codice da pastebin collegato e aggiornato qui. Non sicuri al 100% che funziona, ma dare un colpo. Se non, quindi penso che il id è sbagliato.
Roopesh-J

Grazie a voi, che mi ha fatto progressi molto e abbiamo appena superato un po', ora ho trovato il problema, ed è che la linea di "member = ctx.messaggio.gilda.get_member(user_id)" non riesce a trovare QUALSIASI discordia ID, né il mio, né quello fornito da un ALT acc. È questo bc non siamo impostazione del campo "id_utente = 669680584376713259" correttamente?
Engineer

Hm che è strano. Va bene provare questo user = client.fetch_user(id). Questo restituirà un User invece di un Member così si che il divieto di simile a questo await ctx.guild.ban(user, reason=reason). Il user_id è impostato correttamente, fintanto che si tratta di un int esso è impostato correttamente. Il valore di per sé potrebbe non essere corretto, ma a quanto pare già chiarito che.
Roopesh-J

Hmm, ho cambiato il bot risposta prima che il "divieto" viene applicato, per vedere se risponde con l'utente attraverso la menzione di esso, ma le uscite di qualcosa che non ho mai visto? Pastebin: pastebin.com/fj5VuZcf
Engineer

Oh, chiedo scusa, errore mio. Dovrebbe essere await client.fetch_user(id)è una coroutine, quindi deve essere atteso.
Roopesh-J

In altre lingue

Questa pagina è in altre lingue

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