Обновление call.data, pyTelegramBotAPI, inline клавиатура
Почему этот код не работает?
@bot.callback_query_handler(func=lambda call: True)
def answer(call):
if call.data == '1':
bot.send_message (call.message.chat.id, "Assigning bot as a channel administrator: \n1) Open chanell settings \n2) Open 'Administrators' tab \n3) Click 'Add administrator' and paste @DGolovinfirst_bot \nBot connected!")
elif call.data == '2':
@bot.callback_query_handler(func=lambda call: True)
def NumPerWeekData(call):
NumPerWeek = 0
markup2 = types.InlineKeyboardMarkup(row_width=2)
itmbtn5 = types.InlineKeyboardButton(text='3', callback_data='5')
itmbtn6 = types.InlineKeyboardButton(text='5', callback_data='6')
itmbtn7 = types.InlineKeyboardButton(text='7', callback_data='7')
itmbtn8 = types.InlineKeyboardButton(text='14', callback_data='8')
itmbtn9 = types.InlineKeyboardButton(text='Custom', callback_data='9')
markup2.add (itmbtn5, itmbtn6, itmbtn7, itmbtn8, itmbtn9)
bot.send_message (call.message.chat.id, 'Select number of posts per week:', reply_markup=markup2)
if call.data == '5':
NumPerWeek = 3
elif call.data == '6':
NumPerWeek = 5
elif call.data == '7':
NumPerWeek = 7
elif call.data == '8':
NumPerWeek = 14
bot.send_message (call.message.chat.id, f"Selected: {NumPerWeek}
Проблема возникает с частью кода под 'elif call.data == 2:', при создании новой клавиатуры я добавил эту часть кода, чтобы обновить call.data:
@bot.callback_query_handler(func=lambda call: True)
def NumPerWeekData(call):
Но после этого кнопка вообще перестала работать. Отсюда вопрос: как мне обновить call.data так, чтобы кнопка работала, что не так с кодом?