wait_for
takes a check
argument that is a function that takes the arguments of the event you're waiting for and determines whether or not that is the event you're waiting for.
For example, the on_message
event takes a message
argument, so if we wanted to check the author of a message we could do:
msg = await client.wait_for('message', check=lambda message: message.author == ctx.author)
to see that the new message comes from the same person who invoked the currently running command.
If we wanted to send a message to the next person to react with a certain emoji, we could do
reaction, user = await client.wait_for('reaction_add',
check=lambda reaction, user: reaction.emoji == '??')
await user.send("?? to you too!")
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…