Ошибка Task exception was never retrieved future ... aiogram.utils.exceptions.ButtonDataInvalid: Button_data_invalid

Решил попробовать сделать бота для табачки другу, поначалу все было более чем хорошо, задеплоил бота, но через полмесяца друг жалуется что не удаляются некоторые товары. Ошибка для меня супер непонятна, так как например: PUFF MI 3500 puffs 5% 950₽ этот товар не удаляется,Elf bar 1500 puffs 5% 700₽ с этим кнопка работает, но уже с Fof plus 800 puffs 3% 500₽ кнопка опять не работает и выдает ошибку:

Task exception was never retrieved
future: <Task finished name='Task-16' coro=<Dispatcher._process_polling_updates() done, defined at C:\Users\данон\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\dispatcher\dispatcher.py:407> exception=ButtonDataInvalid('Button_data_invalid')>
Traceback (most recent call last):
  File "C:\Users\данон\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\dispatcher\dispatcher.py", line 415, in 
_process_polling_updates
    for responses in itertools.chain.from_iterable(await self.process_updates(updates, fast)):
  File "C:\Users\данон\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\dispatcher\dispatcher.py", line 235, in 
process_updates
    return await asyncio.gather(*tasks)
  File "C:\Users\данон\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\dispatcher\handler.py", line 116, in notify
    response = await handler_obj.handler(*args, **partial_data)
  File "C:\Users\данон\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\dispatcher\dispatcher.py", line 256, in 
process_update
    return await self.message_handlers.notify(update.message)
  File "C:\Users\данон\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\dispatcher\handler.py", line 116, in notify
    response = await handler_obj.handler(*args, **partial_data)
  File "c:\Users\данон\Desktop\bot2.0\bo.py", line 127, in delet
    await message.answer(text='Что удалить?',reply_markup=inkb)
  File "C:\Users\данон\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\types\message.py", line 388, in answer  
    return await self.bot.send_message(
  File "C:\Users\данон\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\bot\bot.py", line 334, in send_message  
    result = await self.request(api.Methods.SEND_MESSAGE, payload)
  File "C:\Users\данон\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\bot\base.py", line 231, in request      
    return await api.make_request(await self.get_session(), self.server, self.__token, method, data, files,
  File "C:\Users\данон\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\bot\api.py", line 140, in make_request  
    return check_result(method, response.content_type, response.status, await response.text())
  File "C:\Users\данон\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\bot\api.py", line 115, in check_result  
    exceptions.BadRequest.detect(description)
  File "C:\Users\данон\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\utils\exceptions.py", line 140, in detect
    raise err(cls.text or description)
aiogram.utils.exceptions.ButtonDataInvalid: Button_data_invalid

Искал по строкам кода и не нашел никаких проблемных моментов. Может проблема как-то связана с синтаксисом sqlite, так как у меня sqlite жаловался что нельзя создать таблицу в которой есть пробелы и запретные символы, но если я даю имя таблице через два типа кавычек '"..."' то желаемое случается(буду благодарен если подскажите как решить эту проблему более грамотно) мой код:

@dp.message_handler(commands='Удалить\\')
async def delete(message: types.Message):
   if str(message.from_user.id)==idadmin:
      await FSMDelete.clas.set()
      await klava(message)
   else: await start(message)
@dp.message_handler(state=FSMDelete.clas)
async def delete(message: types.Message, state=FSMContext):
   kb=ReplyKeyboardMarkup(resize_keyboard=True,row_width=2,one_time_keyboard=True)
   async with state.proxy() as data:
      data['clas'] = message.text
   try:
      for k in cur.execute('SELECT * FROM {}'.format(str(data['clas']))).fetchall():
         kb.insert(k[0])
      kb.add(back)
   except:
      kb.add(back)
   await FSMDelete.next()
   await message.answer('Выберите позицию',reply_markup=kb)
@dp.message_handler(state=FSMDelete.name)
async def delet(message : types.Message,state=FSMContext):
   async with state.proxy() as data:
      data['name'] = message.text
   inkb=InlineKeyboardMarkup(row_width=2)
   f=(str((data)['name']))
   for k in cur.execute('SELECT * FROM {}'.format(f'"{f}"')).fetchall():
    inkb.insert(InlineKeyboardButton(f'Удалить {k[0]}',callback_data=f'del "{f}"^+^+^{k[0]}'))
   inkb.insert(InlineKeyboardButton(f'Удалить {(data["name"])}',callback_data=f'dele "{f}"^+^+^{data["clas"]}'))
   await state.finish()
   await message.answer(text='Что удалить?',reply_markup=inkb)
@dp.callback_query_handler(Text(startswith='del '))
async def delpos(callback: types.CallbackQuery):
      await end(str(callback.data)[4:].split('^+^+^')[0],str(callback.data)[4:].split('^+^+^')[1])
      a=str((callback.data)[4:]).replace('^+^+^',' ').replace('"','')
      await callback.answer(text=f'{a} удален')
@dp.callback_query_handler(Text(startswith='dele '))
async def delpos(callback: types.CallbackQuery):
   a=(callback.data)[5:].split("^+^+^")[0].replace('"','')
   try:
      await ende((str(callback.data)[5:].split('^+^+^')[0]),str(callback.data)[5:].split('^+^+^')[1])
      await callback.answer(text=f'{a} удален')
   except:await callback.answer(text=f'{a} уже удален')

как работает код должным образом, при выборе определенных других товаров сообщение с инлайн кнопками не присылается и выскакивает вышеописанная ошибка как работает код должным образом, при выборе определенных других товаров сообщение с инлайн кнопками не присылается и выскакивает вышеописанная ошибка


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