Всем привет, возникла проблема в коде инлайн-кнопки + в телеграм боте, которая регулирует количество товара, которое выбрал пользователь.
По задумке, при каждом нажатии на кнопку + сообщение должно каждый раз меняться в строке с заказом на 0,25 кг, если кнопка -, то уменьшаться
global amount, last_message_id, total
if callback.data=='+':
amount+=0.25
price_per_kg_ = products[choice]['price_per_kg']
max_ = products[choice]['max']
min_ = products[choice]['min']
total = amount*price_per_kg_
kb = types.InlineKeyboardMarkup(row_width=2)
item1 = types.InlineKeyboardButton(text="+", callback_data="+")
item2 = types.InlineKeyboardButton(text="-", callback_data="-")
item3 = types.InlineKeyboardButton(text="🔙 Back to menu", callback_data="back2")
item4 = types.InlineKeyboardButton(text="✅ В корзину", callback_data="confirm_amount")
kb.add(item1, item2, item3, item4)
if amount <= max_ and amount >= min_:
global text
text="⭐ Продукт: " + choice + ' \n📊 Заказано кг: ' + str(amount) + ' кг' + ' \n💵 Стоимость: ' + str(total)
else:
text="❗Количество товара не может превышать " + str(max_) + ' кг и не может быть ниже ' + str(min_) + ' кг!'
if last_message_id:
bot.edit_message_text(chat_id=callback.message.chat.id,message_id=last_message_id,text=text, reply_markup=kb)
else:
sent_message=bot.edit_message_text(chat_id=callback.message.chat.id,message_id=callback.message.id, text=text, reply_markup=kb)
last_message_id=sent_message.message_id
Почему в строке
bot.edit_message_text(chat_id=callback.message.chat.id,message_id=last_message_id,text=text, reply_markup=kb)
, которая в блоке
If last_message_id:
вылезает ошибка
File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.11/site-packages/telebot/__init__.py", line 1074, in __threaded_polling
self.worker_pool.raise_exceptions()
File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.11/site-packages/telebot/util.py", line 147, in raise_exceptions
raise self.exception_info
File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.11/site-packages/telebot/util.py", line 90, in run
task(*args, **kwargs)
File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.11/site-packages/telebot/__init__.py", line 6801, in _run_middlewares_and_handler
result = handler['function'](message)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<string>", line 403, in bot_message
File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.11/site-packages/telebot/__init__.py", line 3839, in edit_message_text
result = apihelper.edit_message_text(self.token, text, chat_id, message_id, inline_message_id, parse_mode,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.11/site-packages/telebot/apihelper.py", line 1327, in edit_message_text
return _make_request(token, method_url, params=payload, method='post')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.11/site-packages/telebot/apihelper.py", line 162, in _make_request
json_result = _check_result(method_name, result)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/user/0/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.11/site-packages/telebot/apihelper.py", line 189, in _check_result
raise ApiTelegramException(method_name, result, result_json)
telebot.apihelper.ApiTelegramException: A request to the Telegram API was unsuccessful. Error code: 400. Description: Bad Request: message to edit not found"
Как исправить?