su-automod/functions/suspend_user.py

87 lines
3.7 KiB
Python
Executable File

import logging
import var
import requests
from functions.roll_token import roll_token
from beloved_logger import logger
async def suspend_user_for_post(post):
await roll_token()
cookies = {
var.cookie_name: var.cookie_value,
'sketchers_united_session': var.session,
'XSRF-TOKEN': var.xsrf_token
}
logging.debug(f"Suspending user with cookies {cookies}")
headers = {
'User-Agent': 'automod',
'Content-Type': 'multipart/form-data; boundary=---------------------------33943441651739618973055574259',
}
data = ('-----------------------------33943441651739618973055574259\r\n'
'Content-Disposition: form-data; name="_method"\r\n'
'\r\nPOST\r\n'
'-----------------------------33943441651739618973055574259\r\n'
'Content-Disposition: form-data; name="_token"\r\n'
f'\r\n{var.csrf_token}\r\n'
'-----------------------------33943441651739618973055574259'
'\r\nContent-Disposition: form-data; name="blocked_id"\r\n'
f'\r\n{post.user_id}\r\n'
f'-----------------------------33943441651739618973055574259\r\n'
'Content-Disposition: form-data; name="days"\r\n'
'\r\n1\r\n'
'-----------------------------33943441651739618973055574259\r\n'
'Content-Disposition: form-data; name="reason"\r\n'
'\r\nother\r\n'
'-----------------------------33943441651739618973055574259'
'\r\nContent-Disposition: form-data; name="note"\r\n'
f'\r\n{await post.get_ratings_string()}\r\n\r\n at https://{var.site}/admin/posts/{post.post_id}\r\n'
f'-----------------------------33943441651739618973055574259--\r\n').encode()
response = requests.post(f'https://{var.site}/admin/blocks', cookies=cookies, headers=headers, data=data)
logger.info(f"Suspending user {post.user_id} occurred with: {response.status_code}")
async def suspend_user_with_reason(user, reason):
await roll_token()
cookies = {
var.cookie_name: var.cookie_value,
'sketchers_united_session': var.session,
'XSRF-TOKEN': var.xsrf_token
}
logging.debug(f"Suspending user with cookies {cookies}")
headers = {
'User-Agent': 'automod',
'Content-Type': 'multipart/form-data; boundary=---------------------------33943441651739618973055574259',
}
data = ('-----------------------------33943441651739618973055574259\r\n'
'Content-Disposition: form-data; name="_method"\r\n'
'\r\nPOST\r\n'
'-----------------------------33943441651739618973055574259\r\n'
'Content-Disposition: form-data; name="_token"\r\n'
f'\r\n{var.csrf_token}\r\n'
'-----------------------------33943441651739618973055574259'
'\r\nContent-Disposition: form-data; name="blocked_id"\r\n'
f'\r\n{user}\r\n'
f'-----------------------------33943441651739618973055574259\r\n'
'Content-Disposition: form-data; name="days"\r\n'
'\r\n1\r\n'
'-----------------------------33943441651739618973055574259\r\n'
'Content-Disposition: form-data; name="reason"\r\n'
'\r\nother\r\n'
'-----------------------------33943441651739618973055574259'
'\r\nContent-Disposition: form-data; name="note"\r\n'
f'\r\nautomated ban with {reason}\r\n'
f'-----------------------------33943441651739618973055574259--\r\n').encode()
response = requests.post(f'https://{var.site}/admin/blocks', cookies=cookies, headers=headers, data=data)
logger.info(f"Suspending user occurred with: {response.status_code}")