[英]Discord.py ban someone specific by userid
我目前正在學習如何使用 python 制作 discord 機器人,我現在的主要目標是通過他的用戶 ID 禁止特定用戶。現在,我的代碼只是禁止在使用命令后提及的人。 禁止某人使用該命令的代碼圖片
我現在的主要目標是通過他的用戶 ID 禁止特定用戶
因此,您需要它創建一個命令(在您的情況下為@client.command()
,該命令采用 ID(整數),檢索discord.Member
object 然后禁止。
我的代碼只是禁止使用命令后提到的人
在您提供的代碼示例中(盡管請注意,下次您最好在代碼塊中為問題提供代碼,而不是圖像)您已經實現了一個命令,該命令禁止使用它的discord.Member
object 提到的成員:
async def ban(ctx, member: discord.Member, *, reason=None):
await member.ban()
仔細查看您所需要的member.ban()
。 但這里有一個問題:你將如何編輯這個 function 以便它接受 ID 和禁令? 一切都很簡單。
上下文ctx
object 您的 function 首先作為參數包含行會變量ctx.variable
,這是一個 object 調用該命令的地方。 Guild
object 本身有一個名為get_member(user_id)
的方法,該方法基本上采用用戶 ID 並返回公會成員discord.Member
object 如果找到。 如果公會中沒有指定 user_id 的成員,它將返回None
所以你最好檢查None
所以,讓我們總結一下:
async def ban(ctx, member_id: int, *, reason=None):
member = ctx.guild.get_member(member_id) # Here we take guild object and asks it to provide us a member object
if member is not None: # Checking that we found member with such user id
await member.ban() # And now we are banning
最后,我強烈建議您發現 d.py 的文檔,可以在此處找到。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.