Ошибка
'Dispatcher' object has no attribute 'message'
возникает, потому что в строке
@dp.message(lambda message: message.text == "Нет")
вы используете метод
.message
, который не существует у объекта
Dispatcher
.
Для исправления ошибки вам нужно заменить строку
@dp.message(lambda message: message.text == "Нет")
на
@dp.message_handler(lambda message: message.text == "Нет")
В итоге, код для обработки сообщений "Да" и "Нет" будет выглядеть так:
@dp.message_handler(commands="start")
async def cmd_start(message: types.Message):
b1 = [
[
types.KeyboardButton(text="Да"),
types.KeyboardButton(text="Нет")
],
]
keyboard = types.ReplyKeyboardMarkup(
keyboard=b1,
resize_keyboard=True,
input_field_placeholder="Выберите действие"
)
await message.answer("У вас есть аккаунт?", reply_markup=keyboard)
@dp.message_handler(lambda message: message.text == "Нет")
async def without_puree(message: types.Message):
await message.reply("Создать аккаунт?")
if __name__ == '__main__':
executor.start_polling(dp)
Если ответ помог, не забудьте отметить его как решение вашего вопроса.