使用检查(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
请注意我的示例如何确保
公会
为无
,正如您明确提到的等待私人消息。谢谢!这是有效的。感谢您,我现在了解了检查的工作原理。