Discord.py ID de usuário específico

0

Pergunta

Olá estouro de pilha comunidade!

Só queria perguntar por que, quando, Se eu der uma ID de usuário específico para a proibição de comando voltem-me o seguinte(O objetivo deste comando é apenas quando alguém com a proibição de perms entra w/o ping ou a introdução de qualquer entrada e somente o comando fica proibida, também conhecido como um mini troll proibição de comando):

enter image description here

Aqui está o código de 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>")

Melhores cumprimentos, Engenheiro

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

Melhor resposta

1

Em primeiro lugar, certifique-se de que a insira sempre a mensagem de erro apenas como um bloco de código, em vez de uma imagem. Parece que o seu problema é apenas um AttributeError e que username não tem id. Eu acho que a questão aqui é esta linha:

username = client.get_user(user)

De acordo com a documentação, client.get_user(id) vai voltar None se ele não localizar um usuário com o id dado. Portanto, certifique-se de que o seu user variável é correto.

2021-11-23 19:51:41

Obrigado por respone, este é o erro pastebin: pastebin.com/eVHR58dG Infelizmente, por algum motivo ela continua aparecendo o mesmo erro? Como faço para configurar a variável de correctcly?
Engineer

Eu acho que a variável está configurado corretamente no entanto, a identificação de si, pode ser errado. O erro está ocorrendo porque client.get_user(user) está de regresso None e para atribuir username. E, mais tarde, o código está tentando obter username.idno entanto , ele não existe, porque username é None. Portanto, certifique-se de que o número atribuído a user é correto então client.get_user(user) não devolver None
Roopesh-J

Desculpe incomodar novamente, basta repetir a lembrar de tudo do meu python básico, é claro, agora eu adicionados de > cliente.get_user(usuário) e agora é uma história diferente. Você se importaria em fazer um exemplo de código ou de se referir a um para que eu possa ver como ele funciona: pastebin.com/FLeVRi2V
Engineer

Não se preocupe. Tem a certeza de que 669680584376713259 é a identificação correta. Porque se for assim, eu não vejo qual o problema persistir. Eu tomei o vosso código do pastebin ligado e atualizado, ele aqui. Não é uma 100% de certeza se ele funciona, mas dar-lhe um tiro. Se não, então eu acho que o id é errado.
Roopesh-J

Agradecer a você, que me fez progressos muito e nós só passou um pouco, agora eu encontrei o problema e que a linha de "membro = ctx.mensagem.guild.get_member(user_id)" nunca se consegue encontrar QUALQUER discórdia IDENTIFICAÇÃO, nem a minha, nem a fornecida a partir de um ALT acc. É este o bc não estamos definindo o campo "user_id = 669680584376713259" corretamente?
Engineer

Hm, isso é estranho. Tudo bem, tente isso user = client.fetch_user(id). Isso irá retornar um User em vez de um Member então você ban como este await ctx.guild.ban(user, reason=reason). O user_id é definida corretamente, contanto que ele é um int ele está definido corretamente. O valor em si poderia ser incorreta, mas parece que você já esclareceu isso.
Roopesh-J

Hmm, eu mudei o bot resposta antes de a "proibição" é aplicado para ver se ele responde com o usuário por mencioná-lo, mas ele produz algo que eu nunca vi? Pastebin: pastebin.com/fj5VuZcf
Engineer

Ah, peço desculpa, erro meu. Ele deve ser await client.fetch_user(id)é uma co-rotina, portanto, ele deve ser aguardada.
Roopesh-J

Em outros idiomas

Esta página está em outros idiomas

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