allow user to get reports
This commit is contained in:
parent
7aa517ac25
commit
b63e0e4a06
|
@ -3,11 +3,14 @@
|
||||||
lib64
|
lib64
|
||||||
lib
|
lib
|
||||||
includes
|
includes
|
||||||
.env
|
data/.env
|
||||||
pyvenv.cfg
|
pyvenv.cfg
|
||||||
__pycache__
|
__pycache__
|
||||||
bin
|
bin
|
||||||
logs
|
logs
|
||||||
venv
|
venv
|
||||||
.env
|
data/.env
|
||||||
.env.dev
|
.env.dev
|
||||||
|
filter.txt
|
||||||
|
filter-dev.txt
|
||||||
|
tracked-users.txt
|
1
bot.py
1
bot.py
|
@ -2,7 +2,6 @@
|
||||||
import asyncio
|
import asyncio
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
import functions.get_newest_count
|
import functions.get_newest_count
|
||||||
from functions.send_message import send_message
|
|
||||||
from functions.scan_posts import scan_posts
|
from functions.scan_posts import scan_posts
|
||||||
from functions.check_chat import check_chat
|
from functions.check_chat import check_chat
|
||||||
from functions.check_users import check_users
|
from functions.check_users import check_users
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
import requests
|
||||||
|
import datetime
|
||||||
|
import var
|
||||||
|
|
||||||
|
class Report():
|
||||||
|
def __init__(self, report_id):
|
||||||
|
self.report_id = report_id
|
||||||
|
# maybe later thepdore?
|
|
@ -8,6 +8,7 @@ from functions.send_message import send_message
|
||||||
from functions.roll_token import roll_token
|
from functions.roll_token import roll_token
|
||||||
from beloved_logger import logger
|
from beloved_logger import logger
|
||||||
from functions.update_display_name import update_display_name
|
from functions.update_display_name import update_display_name
|
||||||
|
from functions.get_reports import get_reports
|
||||||
|
|
||||||
|
|
||||||
async def get_chat_messages():
|
async def get_chat_messages():
|
||||||
|
@ -268,6 +269,9 @@ async def check_chat():
|
||||||
elif "@automod imagescanning disablefilter" in x['text']:
|
elif "@automod imagescanning disablefilter" in x['text']:
|
||||||
await send_message("Not yet implemented")
|
await send_message("Not yet implemented")
|
||||||
|
|
||||||
|
elif "@automod reports" in x['text']:
|
||||||
|
await send_message(await get_reports())
|
||||||
|
|
||||||
else:
|
else:
|
||||||
await send_message("Invalid command given")
|
await send_message("Invalid command given")
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,67 @@
|
||||||
|
import asyncio
|
||||||
|
from bs4 import BeautifulSoup
|
||||||
|
import requests
|
||||||
|
import var
|
||||||
|
from beloved_logger import logger
|
||||||
|
from functions.roll_token import roll_token
|
||||||
|
|
||||||
|
|
||||||
|
async def get_reports():
|
||||||
|
# because we can't get the total amount of reports,
|
||||||
|
# we have to go thru each page .
|
||||||
|
are_there_reports_hello_hi_hey = True
|
||||||
|
page=1
|
||||||
|
reports_string = ""
|
||||||
|
|
||||||
|
await roll_token()
|
||||||
|
|
||||||
|
cookies = {
|
||||||
|
var.cookie_name: var.cookie_value,
|
||||||
|
'sketchers_united_session': var.session,
|
||||||
|
'XSRF-TOKEN': var.xsrf_token
|
||||||
|
}
|
||||||
|
|
||||||
|
headers = {
|
||||||
|
'User-Agent': 'automod',
|
||||||
|
'Accept': '*/*',
|
||||||
|
'X-CSRF-TOKEN': var.csrf_token,
|
||||||
|
'X-XSRF-TOKEN': var.xsrf_token
|
||||||
|
}
|
||||||
|
|
||||||
|
while are_there_reports_hello_hi_hey:
|
||||||
|
response = requests.get(f"https://{var.site}/admin/reports?page={page}",
|
||||||
|
headers=headers, cookies=cookies)
|
||||||
|
page += 1
|
||||||
|
|
||||||
|
if response.status_code == 200:
|
||||||
|
soup = BeautifulSoup(response.text, 'html.parser')
|
||||||
|
|
||||||
|
table = soup.find('table', class_='w-100')
|
||||||
|
if table:
|
||||||
|
are_there_reports_hello_hi_hey = True
|
||||||
|
for tr in table.find_all('tr'):
|
||||||
|
tds = tr.find_all('td')
|
||||||
|
if len(tds) >= 2:
|
||||||
|
if tds[2].get_text(strip=True) == 'inappropriatesensitive':
|
||||||
|
pass
|
||||||
|
elif tds[2].get_text(strip=True) == 'inappropriatepersonal':
|
||||||
|
pass
|
||||||
|
elif tds[2].get_text(strip=True) == 'copyrightother':
|
||||||
|
pass
|
||||||
|
elif tds[2].get_text(strip=True) == 'copyrightmine':
|
||||||
|
pass
|
||||||
|
elif tds[2].get_text(strip=True) == 'spam':
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
reports_string += (
|
||||||
|
f"{tds[0].find('a')['href']} - "
|
||||||
|
f"{tds[0].get_text(strip=True)} - "
|
||||||
|
f"{tds[1].get_text(strip=True)} - "
|
||||||
|
f"{tds[2].get_text(strip=True)}\n"
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
are_there_reports_hello_hi_hey = False
|
||||||
|
else:
|
||||||
|
logger.info(f"An error occurred getting the reports for reason {response.status_code}")
|
||||||
|
return False
|
||||||
|
logger.info(reports_string[0:700])
|
|
@ -0,0 +1,14 @@
|
||||||
|
```
|
||||||
|
SITE=
|
||||||
|
COOKIE_NAME=
|
||||||
|
COOKIE_VALUE=
|
||||||
|
STARTUP_SESSION_VALUE=
|
||||||
|
|
||||||
|
AWS_REGION=
|
||||||
|
USER_NUMBER=
|
||||||
|
CHAT_NUMBER=
|
||||||
|
FILTER_FILE=data/filter.txt
|
||||||
|
LABELS_FILE=data/labels.json
|
||||||
|
USERS_FILE=data/users-tracked.txt
|
||||||
|
CURRENT_USER_ID=
|
||||||
|
```
|
|
@ -1,5 +1,5 @@
|
||||||
boto3~=1.28.39
|
boto3~=1.28.39
|
||||||
requests~=2.31.0
|
requests
|
||||||
python-dotenv~=1.0.0
|
python-dotenv~=1.0.0
|
||||||
websockets~=11.0.3
|
websockets~=11.0.3
|
||||||
beautifulsoup4~=4.12.2
|
beautifulsoup4~=4.12.2
|
||||||
|
|
2
var.py
2
var.py
|
@ -5,7 +5,7 @@ from datetime import datetime
|
||||||
from functions.get_filters_from_text import get_filters_from_text
|
from functions.get_filters_from_text import get_filters_from_text
|
||||||
|
|
||||||
|
|
||||||
load_dotenv('data/.env')
|
load_dotenv('./data/.env')
|
||||||
|
|
||||||
site = os.getenv("SITE")
|
site = os.getenv("SITE")
|
||||||
cookie_name = os.getenv("COOKIE_NAME")
|
cookie_name = os.getenv("COOKIE_NAME")
|
||||||
|
|
Loading…
Reference in New Issue