簡體   English   中英

Discord.py 禁止特定用戶的用戶

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM