add admin bot
This commit is contained in:
parent
8a20b91c54
commit
2d248b9ce0
10 changed files with 481 additions and 110 deletions
|
|
@ -41,6 +41,7 @@ def check_instagram_cookies_expiry() -> tuple[bool, int]:
|
|||
try:
|
||||
current_time = time.time()
|
||||
valid_expiries = []
|
||||
important_cookies_found = {'sessionid': False, 'csrftoken': False, 'ds_user_id': False}
|
||||
|
||||
# Важные cookies для Instagram (проверяем их в первую очередь)
|
||||
important_cookies = ['sessionid', 'csrftoken', 'ds_user_id']
|
||||
|
|
@ -58,6 +59,10 @@ def check_instagram_cookies_expiry() -> tuple[bool, int]:
|
|||
expiry = int(parts[4]) # Unix timestamp
|
||||
cookie_name = parts[5] if len(parts) > 5 else ''
|
||||
|
||||
# Отмечаем найденные важные cookies
|
||||
if cookie_name in important_cookies:
|
||||
important_cookies_found[cookie_name] = True
|
||||
|
||||
# Игнорируем невалидные expiry (0, отрицательные, или слишком старые)
|
||||
# Session cookies (expiry = 0) также игнорируем для проверки срока
|
||||
if expiry > 0 and expiry > 946684800: # Фильтр: после 2000-01-01 (избегаем epoch 0)
|
||||
|
|
@ -70,6 +75,14 @@ def check_instagram_cookies_expiry() -> tuple[bool, int]:
|
|||
except (ValueError, IndexError):
|
||||
continue
|
||||
|
||||
# Если найдены важные cookies, но их expiry истекли - все равно считаем валидными
|
||||
# (Instagram может принимать истекшие cookies, если они еще работают на сервере)
|
||||
if any(important_cookies_found.values()):
|
||||
if not valid_expiries:
|
||||
# Важные cookies найдены, но expiry истекли - считаем валидными на 30 дней
|
||||
logger.info("Важные Instagram cookies найдены, но expiry истекли. Пробуем использовать их.")
|
||||
return True, 30
|
||||
|
||||
if not valid_expiries:
|
||||
logger.warning("Не найдено валидных Instagram cookies с нормальным сроком действия")
|
||||
# Если нет валидных expiry, но есть cookies - считаем их действительными
|
||||
|
|
@ -97,8 +110,7 @@ def download_instagram_video(url: str, max_retries: int = 3) -> Path:
|
|||
if cookies_file_path.exists():
|
||||
is_valid, days_left = check_instagram_cookies_expiry()
|
||||
if not is_valid:
|
||||
logger.error("Instagram cookies истекли! Необходимо обновить cookies.")
|
||||
raise Exception("Instagram cookies истекли. Пожалуйста, обновите cookies в файле instagram_cookies.txt")
|
||||
logger.warning("Instagram cookies истекли по сроку, но пробуем использовать их (возможно, они еще работают на сервере)")
|
||||
elif days_left < 7:
|
||||
logger.warning(f"Instagram cookies истекают через {days_left} дней. Рекомендуется обновить.")
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue