Функция не хочет вызываться ворой раз, и просто возвращает результат None

Я не могу понять почему при повторном вызове функции is_subscribed она не вызывается и выдаёт результат None
Искал ответ в гугле, но не нашёл, возможно плохо искал
Можете, пожалуйста, подсказать что у меня не так
Вот код:

def if_sub(chanels, user_id):
    if is_subscribed(CHAT_ID, user_id):
        if chanels == '0':
            return True
        else:
            words = chanels.split()
            for word in words:
                stat = is_subscribed(int(word), user_id)
                print(stat)
                if stat:
                    return True
                else:
                    return False
    else:
        return False


def is_subscribed(chat_id, user_id):
    try:
        stat = bot.get_chat_member(chat_id, user_id).status
        if stat == 'member' or stat == 'administrator' or stat == 'creator' or stat != 'left':
            return True
        else:
            return False
    except ApiTelegramException as e:
        if e.result_json['description'] == 'Bad Request: user not found':
            return False

Ответы (1 шт):

Автор решения: Alpensin

Судя по этой части кода, не учитывается ситуация, когда возникла ошибка ApiTelegramException, но при этом description не равен 'Bad Request: user not found'. В этой ситуации будет возвращаться None

except ApiTelegramException as e:
    if e.result_json['description'] == 'Bad Request: user not found':
        return False

Для проверки можно добавить:

except ApiTelegramException as e:
    if e.result_json['description'] == 'Bad Request: user not found':
        return False
    raise
→ Ссылка