Почему код не работает?
Товарищи, можете подсказать почему не работает? Все пишет, ошибок нет, но при нажатии кнопки финиша, ничего не происходит, все остальное нормально работает.
import asyncio
import logging
import sys
from aiogram.enums import ParseMode
from aiogram.fsm.context import FSMContext
from openpyxl import *
from aiogram import Bot, Dispatcher, types, F
from aiogram.filters import CommandStart
TOKEN = "***"
dp = Dispatcher()
wb = Workbook()
lst = wb.active
a1 = 1
a2 = 1
v = 1
ord1 = []
# # Добавление листа 'Sheet' в конец (по умолчанию).
# list1 = wb.create_sheet("List")
# # Добавим лист 'Sheet' в первую позицию.
# # Если "List" существует, добавим цифру 1 в конец имени
# list2 = wb.create_sheet("List", 0)
# # Добавим лист "Another list" на позицию 1
# wb.create_sheet(index=1, title="Another list")
# # Вывод на экран названий листов
# print(wb.sheetnames)
@dp.message(CommandStart())
async def cmd_start(message: types.Message):
kb = [
[
types.KeyboardButton(text="Финиш")
],
]
keyboard = types.ReplyKeyboardMarkup(
keyboard=kb,
resize_keyboard=True
)
await message.answer("Фото + подпись в формате комментарий.количество.цена", reply_markup=keyboard)
@dp.message()
async def echo(message: types.Message):
pass
@dp.message()
async def state1(message: types.Message, state: FSMContext):
global v
a0 = message.text.split('.')
a2 = a0[0]
a3 = a0[1]
a4 = a0[2]
a1 = message.photo
lst.append(a1, a2, a3,a4)
c1 = lst.cell(row=v, column=1)
c1.value = a2
v += 1
@dp.message(F.text.lower == "финиш")
async def without_puree(message: types.Message):
await message.reply("Заказ принят")
async def main() -> None:
# Initialize Bot instance with a default parse mode which will be passed to all API calls
bot = Bot(TOKEN, parse_mode=ParseMode.HTML)
# And the run events dispatching
await dp.start_polling(bot)
if __name__ == '__main__':
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
asyncio.run(main())
Ответы (1 шт):
Автор решения: txello
→ Ссылка
Согласно документации замените проверку хендлера
@dp.message(F.text.lower() == "финиш")