#python #discord #discord.py
#python #Discord #discord.py
Вопрос:
Я использую wait_for_response на discord.py асинхронная библиотека, однако мой код
await self.Nao.say("What is your name? (Cannot exceed over 100 characters)")
usrname = await self.Nao.wait_for_message(author=ctx.message.author)
await self.Nao.say("What is your Age? (Cannot exceed over 100 characters)")
usrage = await self.Nao.wait_for_message(author=ctx.message.author)
по какой-то причине возвращает <discord.message.Message object at 0x7f88d8de2788>
в ответе ботов `await self.Nao.say(usrname usrage)
Комментарии:
1. Перечитайте документацию для
wait_for_message
. Он возвращаетMessage
объект, а не строку.2. Вы получили его или вам все еще нужна помощь с этим вопросом? Я думаю, @ PatrickHaugh ответил на это…
3. Это было решено. Извините за это
Ответ №1:
Используя rewrite, можно использовать wait_for
, как показано ниже. Ожидание также может передавать аргументы «проверить», которые являются обязательными, ниже, для этого требуется, чтобы тот же автор мог ответить на ожидание, затем тайм-аут. Функция «lambda» позволяет легко использовать эту функцию.
msg = await client.wait_for('message', timeout=10, check=lambda message: message.author == ctx.author)
if msg.content.lower() == "yes":
await ctx.send("Great!")
if msg.content.lower() == "no":
await ctx.send("Cancelled!")