使用检查(discord.py)等待关于_member _join的消息|已解决

使用检查(discord.py)等待关于_member _join的消息|已解决,discord,discord.py,discord.py-rewrite,Discord,Discord.py,Discord.py Rewrite,我想等待仅由成员发送的私人消息。我正在尝试为客户端使用check参数。wait_for()方法,但似乎无法获取它。我尝试将检查作为响应。作者,但由于我刚刚分配了响应,因此无法工作。当一个成员使用on_member_join加入时,我也在执行此操作,该操作接受member参数(如async def on_member_join(member)。有人知道如何正确执行此操作吗?任何答案都将不胜感激 以下是此操作的代码: await member.send('What is your stude

我想等待仅由成员发送的私人消息。我正在尝试为
客户端使用
check
参数。wait_for()
方法,但似乎无法获取它。我尝试将检查作为
响应。作者
,但由于我刚刚分配了
响应
,因此无法工作。当一个成员使用
on_member_join
加入时,我也在执行此操作,该操作接受
member
参数(如
async def on_member_join(member)
。有人知道如何正确执行此操作吗?任何答案都将不胜感激

以下是此操作的代码:

    await member.send('What is your student number? ')
    response = await client.wait_for('message')
    student_number = response.content

将检查函数添加到
wait_for
时,该检查函数将获取接收到的消息作为参数。这意味着它将检查bot获取的每一条消息,将所有消息传递给检查函数,并等待其中一条消息返回
True

@client.event()
async def on_member_join(member):
    def check(message):
        return message.author.id == member.id and message.guild is None

    await member.send('What is your student number?')
    response = await client.wait_for('message', check=check)
    student_number = response.content

请注意我的示例如何确保
公会
,正如您明确提到的等待私人消息。

谢谢!这是有效的。感谢您,我现在了解了检查的工作原理。