I can not really use wait_if ()
the way I want it, can anyone explain how to use wait_for ('message')
and wait_for ('reaction')
, only by the user of the command? (message translated by Google Translate, forgive me for any error...)
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!")