Проблема с ошибкой IndexError: list index out of range

pythoner

Новичок
Пользователь
Авг 18, 2022
4
0
1
Проблемное место выделил подчеркиваниями сверху и снизу. Так же добавил код парсера, хотя вроде проблема не в нем, так как первый круг бот отрабатывает на ура, а после того как массив с анекдотами становится пустым, код не хочет заполнять этот массив по новой, просто вылазит вот такая ошибка
sad.gif


Python:
line 22, in anecdotes
    mes = anecdots[0]
IndexError: list index out of range

Если знаете как исправить ошибку, распишите пожалуйста поподробнее, потому что я только начинаю изучать программирование. Заранее благодарю)

Python:
[PYTHON]if message.text.lower() in user_message6:
anecdotes(message)

# анекдоты
def anecdotes(message):
    global anecdots, cnt_anecdots, user_message6

    if message.text.lower() == 'завершить сессию':
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=1)
        help = types.KeyboardButton('/help')
        mes = f'Сессия завершена, можете обратиться к команде <b>/help</b>, что бы открыть главное меню 😉'
        markup.add(help)
        bot.send_message(message.chat.id, mes, reply_markup=markup, parse_mode='html')

    else:
        if message.text.lower() == 'кол-во анекдотов посмотренных пользователями с момента запуска бота':
            mes = 'С момента запуска прочитано анекдотов в количестве ' + str(cnt_anecdots) + ' (шт.)'

        elif message.text.lower() == 'следующий анекдот' or message.text.lower() in user_message6:
            if len(anecdots) == 0:
                anecdots = parser_anecdots.anec
                # anecdots = anecdotes(message)
            mes = anecdots[0]
            del anecdots[0]
            cnt_anecdots += 1

        else:
            mes = 'Если вам надоели анекдоты, нажмите кнопку "завершить сессию" 🥺'

        markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
        next = types.KeyboardButton('следующий анекдот')
        exit = types.KeyboardButton('завершить сессию')
        col_anecdots = types.KeyboardButton('кол-во анекдотов посмотренных пользователями с момента запуска бота')
        markup.add(next, exit, col_anecdots)
        a = bot.send_message(message.chat.id, mes, reply_markup=markup, parse_mode='markdown')
        bot.register_next_step_handler(a, anecdotes)


Код парсера (parser_anecdots.py)

Python:
import requests
from bs4 import BeautifulSoup
import random
req = requests.get('https://www.anekdot.ru/random/anekdot/')
soup = BeautifulSoup(req.text, 'html.parser')
anecdots = soup.find_all('div', class_='text')
anecdots = [x.text for x in anecdots]
random.shuffle(anecdots)
 

Форум IT Специалистов