Discord.py 특정 사용자 ID

0

질문

안녕하세요 stack overflow 니다.

을 물어보고 싶을 때 왜 제가 만약 특정 사용자 ID 를 금지 명령으로 돌아 나에게 다음과 같은(목적의 이 명령의 바로 그 때 사람으로 금지 파마가 그것 w/o 핑거나를 소개하는 입력 및만 그것은 명령이 금지 일명,미니 트롤 금지 명령):

enter image description here

여기에서의 명령 코드:

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

Best regards, 엔지니어

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

최고의 응답

1

첫째는지 확인하는 입력한 오류 메시지로 그의 코드 블록 대신 이미지입니다. 그것은 당신의 문제는 단지 AttributeErrorusername 가 없 id. 나는 생각한 문제가 여기에는 이 라인:

username = client.get_user(user)

에 따라 문서 client.get_user(id)None 를 찾을 수 없는 경우 사용자가 지정된 id 입니다. 그래서인지 확인하는 귀하의 user 변수는 올바른 것입니다.

2021-11-23 19:51:41

감사에 대한 대답,이는 오류 pastebin: pastebin.com/eVHR58dG 슬프게도 몇 가지 이유로 그것은 여전히 보여주는 같은 오류가? 어떻게 설정 변수 correctcly?
Engineer

내가 생각하는 변수가 올바르게 설정 그러나 id 자체가 잘못되는 경우도 있습니다. 오류가 발생하기 때문에 client.get_user(user) 으로 돌아 None 및 할당 username. 그리고 나중에 코드를 노력 username.id그러나 그것은 존재하지 않기 때문에 usernameNone. 그래서인지 확인에 할당된 번호 user 정확도 client.get_user(user) 반환하지 않습 None
Roopesh-J

죄송을 방해 다시 다시 시도 기억에서 모든 것을 내 python 기본적인 물론 지금,나는 추가 de>클라이언트입니다.get_user(사용자)이제 다른 이야기입니다. 당신은 마음을 하는 예제 코드를 참조하거나 하나의 그래서 나는 어떻게 작동하는지 볼 수 있습니다: pastebin.com/FLeVRi2V
Engineer

아무 걱정하지 않습니다. 당신은 확인 669680584376713259 올바른 id 입니다. 기 때문에 그렇다면,이런 당신의 문제가 지속되는지 확인합니다. 나는 당신의 코드에서는 pastebin 및 업데이트 그것은 여기에. 지 않는 100%확실하는 경우 그것은 작동하지만 그에게 기회를 제공합니다. 만약 그것이 없다고 생각합 id 잘못된 것입니다.
Roopesh-J

감사합니다,저는 진행이 많은 그리고 우리는 단지 전달되는 비트,지금 내가 찾는 문제입니다인"구성원=ctx.메시지입니다.연히 스트러밍도 가능합니다.get_member(user_id)"결코리 모든 불화 ID,도 광산도 제공에서 하나 ALT acc. 이 bc 우리는 설정의 필드는"user_id=669680584376713259"바르게 되어있습니까?
Engineer

Hm 하는 이상하다. 이 시도 괜찮 user = client.fetch_user(id). 이 반환됩 UserMember 그래서 당신이 그들을 금지 같이 await ctx.guild.ban(user, reason=reason). 이 user_id 이 올바르게 설정되는 한,그것은 int 올바르게 설정되어 있습니다. 값을 자체가 될 수 있는 잘못된 것 같지만 당신은 이미 명확히 하니다.
Roopesh-J

Hmm,나는 로봇이 반응하기 전에는"금지"얻는 적용을 보면으로 응답하여 사용자에 그것을 언급하지만 출력한 무언가가는 내가 결코 보았는가? Pastebin: pastebin.com/fj5VuZcf
Engineer

오 내가 죄송 나의 실수입니다. 야 await client.fetch_user(id),그것은 coroutine 해야 합니다 그래서 기다.
Roopesh-J

다른 언어로

이 페이지는 다른 언어로되어 있습니다

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