Achilles72
@Achilles72

Почему у меня не получается удалить сообщение через bot.message_delete?

async def sql_menu(message, page=1, previous_message=None):
sqlite_connection = sq.connect('pizza.db')
cur = sqlite_connection.cursor()
pages_count_query = cur.execute(f"SELECT COUNT(*) FROM `menu`")
pages_count = int(pages_count_query.fetchone()[0])

sql_select_query = """SELECT * FROM menu WHERE page = ?"""
a = cur.execute(sql_select_query, (page,))
for row in a:
name = row[2]
description = row[3]
price = row[4]
photo = row[1]
print(name, description, price, photo)

sqlite_connection.commit()

cur.execute(f"UPDATE `menu` SET `page` = ? WHERE `page` = ?;", (page, message.chat.id))
sqlite_connection.commit()

buttons = types.InlineKeyboardMarkup()
left = int(page) - 1 if page != 1 else pages_count
right = int(page) + 1 if page != pages_count else 1

left_button = types.InlineKeyboardButton("←", callback_data=f'to {left}')
page_button = types.InlineKeyboardButton(f"{str(page)}/{str(pages_count)}", callback_data='_')
right_button = types.InlineKeyboardButton("→", callback_data=f'to {right}')
buy_button = types.InlineKeyboardButton("КУПИТЬ", callback_data='buy')
buttons.add(left_button, page_button, right_button)
buttons.add(buy_button)

mt = f'- Название:{name}\n \n- Описание: {description}\n \n - Цена: {price} рублей'
print(mt)

await bot.send_photo(message.chat.id, photo ,mt , reply_markup=buttons)

await bot.delete_message(message.chat.id, message.id)

@dp.callback_query_handler(lambda c: True)
async def callback(c):
if 'to' in c.data:
page = c.data.split(' ')[1]
await sql_menu(c.message, page=page)

Ошибка:
await bot.delete_message(message.chat.id, message.id)
^^^^^^^^^^
AttributeError: 'Message' object has no attribute 'id'
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ответы на вопрос 1
@surazmaxambetov
message.message_id
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы