su-automod/functions/roll_token.py

46 lines
1.3 KiB
Python
Executable File

import var
from bs4 import BeautifulSoup
import requests
from beloved_logger import logger
async def roll_token():
logger.debug("Rolled a new token set")
cookies = {
var.cookie_name: var.cookie_value,
'sketchers_united_session': var.session
}
logger.debug(f"Using cookies {cookies}")
headers = {
'User-Agent': 'automod',
}
get_page_correctly = False
response = None
while not get_page_correctly:
try:
response = requests.get(f'https://{var.site}', cookies=cookies, headers=headers)
if response.status_code == 200:
var.session = response.cookies["sketchers_united_session"]
logger.debug(f"Got session of {var.session}")
var.xsrf_token = response.cookies["XSRF-TOKEN"]
logger.debug(f"Got xsrf of {var.xsrf_token}")
get_page_correctly = True
else:
logger.info("An error occurred trying to get the page when rolling tokens, retrying")
except Exception as e:
logger.info(f"Exception in rolling token {e}")
soup = BeautifulSoup(response.text, 'html.parser')
var.csrf_token = soup.find('meta', {'name': 'csrf-token'}).get('content')
logger.debug(f"Got csrf of {var.csrf_token}")