mirror of
https://github.com/Noettore/lagomareGateKeeperBot.git
synced 2025-10-15 03:26:40 +02:00
Created modules and organized code
This commit is contained in:
5
services/__init__.py
Normal file
5
services/__init__.py
Normal file
@@ -0,0 +1,5 @@
|
||||
from .avconnect import AVConnectAPI
|
||||
|
||||
__all__ = [
|
||||
"AVConnectAPI"
|
||||
]
|
37
services/avconnect.py
Normal file
37
services/avconnect.py
Normal file
@@ -0,0 +1,37 @@
|
||||
import requests
|
||||
from fake_useragent import UserAgent
|
||||
from models import Credential
|
||||
|
||||
class AVConnectAPI:
|
||||
_BASE_URL = "https://www.avconnect.it"
|
||||
|
||||
def __init__(self, credentials: Credential):
|
||||
self._ua = UserAgent(browsers=["Chrome Mobile"], os=["Android"], platforms=["mobile"]).random
|
||||
self._username = credentials.username
|
||||
self._password = credentials.password
|
||||
self._session = requests.Session()
|
||||
self._authenticated = False
|
||||
|
||||
def _authenticate(self) -> bool:
|
||||
login_url = f"{self._BASE_URL}/loginone.php"
|
||||
headers = {"Content-Type": "application/x-www-form-urlencoded"}
|
||||
payload = f"userid={self._username}&password={self._password}&entra=Login"
|
||||
response = self._session.post(login_url, data=payload, headers=headers)
|
||||
if response.ok and "PHPSESSID" in self._session.cookies:
|
||||
self._authenticated = True
|
||||
return True
|
||||
return False
|
||||
|
||||
def exec_gate_macro(self, id_macro) -> bool:
|
||||
if not self._authenticated and not self._authenticate():
|
||||
raise Exception("Authentication failed.")
|
||||
exec_url = f"{self._BASE_URL}/exemacrocom.php"
|
||||
headers = {
|
||||
"User-Agent": self._ua,
|
||||
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8"
|
||||
}
|
||||
payload = f"idmacrocom={id_macro}&nome=16"
|
||||
# Uncomment for real request:
|
||||
# response = self._session.post(exec_url, data=payload, headers=headers)
|
||||
# return response.ok
|
||||
return True # For testing
|
Reference in New Issue
Block a user