Discord.py ระบุหมายเลขผู้ใช้

0

คำถาม

สวัสดีเอ่อล้นออกมาตั้งชุมชน!

แค่อยากจะถามว่าทำไมตอนถ้าฉันให้เป็นเฉพาะหมายเลขผู้ต้องเป็นแบคำสั่งมันกลับมามองฉันตาม(จุดประสงค์ของคำสั่งนี้มันแค่เมื่อใครบางคน bans perms งเข้ามันทำการอ่าน/เขียนต่อเนื่องหรือแนะนำอะไรนำเข้าข้อมูลและคำสั่งที่มันจะถูกแบนหรือเป็นมินิดิ!เธอโกรธฉันแบคำสั่ง):

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

ที่ดีที่สุดที่ฝากฝัง, วิศวกร

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

คำตอบที่ดีที่สุด

1

อย่างแรกเลยก็คือทำให้แน่ใจว่าจะป้อนข้อผิดพลาดข้อความเป็นแค่รหัสบล็อคแทนที่จะเป็นภาพได้ที่นี่ มันดูเหมือนว่าปัญหาของคุณเป็นเพียงแค่การ AttributeError และนั่น username ไม่มี id. ฉันคิดว่าปัญหาอยู่นี้คือบรรทัด:

username = client.get_user(user)

ตามที่เอกสาร, client.get_user(id) จะกลับมา None ถ้ามันไม่สามารถหาของผู้ใช้ที่ได้รับบัตรประจำตัวครรับ งั้นทำให้แน่ใจว่าของคุณ user ตัวแปรนี้ถูกต้องแล้ว

2021-11-23 19:51:41

ขอบคุณสำหรับ respone นี่คือข้อผิดพลาดถังแปะ(pastebin)comment: pastebin.com/eVHR58dG น่าเศร้าสำหรับเหตุผลบางอย่างมันยังคงแสดงเดียวกันเกิดข้อผิดพลาด? ยังไงฉันตั้งค่าตัวแปร correctcly?
Engineer

ฉันคิดว่าตัวแปรการตั้งค่าอย่างถูกต้อย่างไรก็ตามที่ระบุตัวมันเองอาจจะไม่ถูกต้อง ข้อผิดพลาดคือเพราะ occurring client.get_user(user) คือกลับมา None และกำลังกำหนดให้ username. และหลังจากนั้นรหัสก็คือพยายามที่จะเข้าใจ username.idอย่างไรก็ตามมันไม่มีตัวตนเพราะ username นี่ None. งั้นทำให้แน่ใจว่าเบอร์ที่ได้รับมอบหมายให้ user คือคำตอบที่ถูกต้องแล้ว client.get_user(user) ไม่กลับมา None
Roopesh-J

ขอโทษที่รบกวนอีกครั้ง retrying จะจำได้ทุกอย่างจากของฉันเป็นภาษาไพธอนพื้นฐานแน่นอน,ตอนนี้ฉันเพิ่มเด>ลูกค้าget_user(ผู้ใช้)และตอนนี้มันเป็นอีกเรื่องนึง คุณช่วยทำเป็นตัวอย่างเช่นรหัสหรือเรียกหนึ่งดังนั้นฉันสามารถเห็นได้ว่ามันทำงาน: pastebin.com/FLeVRi2V
Engineer

ไม่ต้องห่วง คุณแน่ใจหรือนั่น 669680584376713259 คือที่ถูกต้องบัตรประจำตัวครรับ เพราะถ้างั้นฉันไม่เห็นว่าทำไมถึงปัญหาของคุณ persists. ฉันใช้รหัสของคุณจากถังแปะ(pastebin)comment เกี่ยวข้องและปรับปรุงมัน อยู่ที่นี่. ไม่แน่ใจ 100%หรอกนะว่าถ้ามันได้ผลแต่ให้มันยิง. ถ้ามันไม่ได้งั้นฉันคิดว่า id มันผิด
Roopesh-J

ขอบคุณที่ทำให้ฉันความคืบหน้ามากมายและพวกเราเพิ่งเดินผ่านหน่อยนะตอนนี้ฉันเจอปัญหาของและนั่นคือเส้น"สมาชิก=ctx.ข้อความไว้guild.get_member(user_id)"ไม่เคยจัดการค้นหา discord บัตรประชาชนก็เหมือนกันของฉันก็เหมือนกัที่เตรียมไว้ให้ด้านล่างหนึ่งจากการกดปุ่มพิมพ์ ALT acc. นี่คือบีซีพวกเราไม่ใช่การตั้งค่าสนาม"user_id=669680584376713259"อย่างถูกต้อง?
Engineer

หืมนั่นแปลกมาก โอเคลองนี้ user = client.fetch_user(id). นี่จะต้องกลับมาเป็น User แทนที่จะเป็น Member ดังนั้นคุณแบนพวกเขาเหมือนนี้ await ctx.guild.ban(user, reason=reason). คน user_id ตั้งค่าอย่างถูกต้องตราบเท่าที่มันเป็น int มันคือตั้งค่าอย่างถูกต้อง ค่าตัวมันเองอาจจะไม่ถูกต้องแต่มันดูเหมือนว่าคุณไปแล้ว clarified นั้น
Roopesh-J

อืมม,ฉันเปลี่ย bot การตอบสนองก่อน"แบน"จะสมัครเพื่อดูว่ามันตอบสนองกับผู้ใช้โดยกล่าวถึงมันแต่มันแสดงผลบางอย่างที่ฉันไม่เคยเห็น? ถังแปะ(pastebin)comment: pastebin.com/fj5VuZcf
Engineer

โอ้ฉันขอโทษความผิดพลาดของผมเอง มันควรจะเป็น await client.fetch_user(id)มันเป็น coroutine ดังนั้นมันจะต้องเป็น awaited.
Roopesh-J

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

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

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่