Не могу понять, почему не срабатывает callback_query_handler. по принту вижу, что в его функцию даже не заходит, хотя если вывести callback_data=i[1], то видно, что условие выполняется. Там просто цифры передаются из БД
@bot.message_handler(commands=['get'])
def get_from_my_list(message):
with sqlite3.connect('users_data.db',check_same_thread=False) as db:
cursor = db.cursor()
user_id = message.from_user.id
query = """SELECT wish, id FROM wishes WHERE user_id = {}""".format(user_id)
cursor.execute(query)
data = cursor.fetchall()
print(data)
if len(data) == 0:
bot.send_message(message.chat.id, 'Ваш список пустой')
for i in data:
keyboard_del = types.InlineKeyboardMarkup(row_width=1)
button = types.InlineKeyboardButton("Удалить {}".format(i[1]), callback_data=i[1])
keyboard_del.add(button)
bot.send_message(message.chat.id, i,reply_markup=keyboard_del)
print(i[1])
@bot.callback_query_handler(func=lambda call: True)
def answer(call):
message = call.message
print(call.data)
query = """DELETE FROM wishes WHERE user_id = {user_id} AND id = {key}""".format(user_id=user_id,key=int(call.data))
cursor.execute(query)
db.commit()
bot.answer_callback_query(call.id)
send = bot.send_message(call.message.chat.id, 'Удалено')