Бот парсит страницу и получает список эпизодов в ep_list. Далее он раскрывает этот список в inline клавиатуре с сообщением 'Выберите эпизод:'.
Когда я нажимаю на кнопку под этим сообщением бот должен меня перекинуть в обработчик episode_callback(call), но вместо этого начинает выполнять функцию season_callback(call) заново, принимая в season_selected call.back только что нажатой кнопки и отправляет сообщение 'Выберите эпизод:' заново.
@bot.callback_query_handler(func=lambda call: 'season')
def season_callback(call):
season_selected = call.data
message_text_1 = season_selected[-1]
se = []
link = series_page_responce.find(id='soap').find_all('a')
for i in link:
se.append(i.get('href'))
index_season = None
for i in range(len(se)):
if message_text_1 in se[i]:
index_season = i
break
if index_season is not None:
season_page = main_link + se[index_season]
season_page_responce = session2.get(season_page, headers=headers)
season_page_responce = BeautifulSoup(season_page_responce.text, 'html.parser')
ep_list = []
episodes = season_page_responce.find_all('li', {'data:quality': '2', 'data:translate': "rus"})
for episode in episodes:
ep_list.append(episode['data:episode']
markup = types.InlineKeyboardMarkup(row_width=1)
for episode in ep_list:
markup.add(types.InlineKeyboardButton(episode, callback_data=episode))
bot.send_message(chat_id=call.message.chat.id, text='Выберите эпизод:', reply_markup=markup)
@bot.callback_query_handler(func=lambda call: 'episode')
def episode_callback(call):
bot.send_message(chat_id=call.message.chat.id, text='Вы успешно выбрали эпизод!')