Функция не хочет вызываться ворой раз, и просто возвращает результат 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