Как подождать ответа пользователя?

Делаю мультисетап для своего бота. Нужно сделать так, что бы он задавал вопрос (просто отправляя сообщения, вот так: await ctx.channel.send('Какой будет мой префикс?')). И ожидал 30 секунд, а потом забирал ответ себе в переменную.


Ответы (1 шт):

Автор решения: Ma3rX

Итак, сначала создадим функцию check:

def check(m):
    return m.author.id == ctx.author.id

Теперь зададим ваш вопрос:

await ctx.channel.send('Какой будет мой префикс?')

Теперь делаем ввод:

answer1 = await client.wait_for("message", check=check, timeout=30) # 30 сек. ожидания

Узнаем ответ:

answer1 = answer1.content

Отправим ответ:

await ctx.channel.send(answer1) # префикс
→ Ссылка