В моем боте разногласий я работаю над командой, в которой вы можете выполнить что-то вроде команды!, Затем бот отвечает «Выполнить команду? [Y / n]» и прислушивается к тому, что вы говорите «у», и делаетечто-то.Я пытаюсь добавить тайм-аут к этой функции, но не могу поймать, когда этот тайм-аут случается, и вызвать событие, например, когда тайм-аут случается, бот говорит «Тайм-аут подтверждения».и продолжается.
Я уже пробовал elif userinput is None:
и elif userinput is '':
, оба из которых не сработали.Я использую discord.py 0.16.12 с Python 3.6.1, на растяжке Raspbian.
Это то, что у меня сейчас есть:
msgconfirm = await client.say(f"[{context.message.author.mention}] Confirm? [y/n]")
userinput = await client.wait_for_message(timeout=5, author=context.message.author)
if userinput.clean_content.lower() == 'y':
do something
elif userinput is None:
do something
else:
do something
В настоящее время, когда срабатывает тайм-аут, этопросто игнорирует следующее отправленное мной сообщение, но не вызывает elif userinput is None:
.Я ищу его для запуска этого блока, поэтому я могу добавить что-то вроде await client.say(f"[{context.message.author.mention}] Confirmation timed out.
Я уже пытался использовать ответы на этой странице, хотя ни один из них не работает.Код на этой странице также не отформатирован.