[Python] creating a script that helps me check for tickets

Discussão em 'Python' iniciado por Stack, Março 22, 2025.

  1. Stack

    Stack Membro Participativo

    I have been trying to secure a starting ticket, but it seems to be a nearly impossible task because other people have bot that are obviously way faster than me :).

    i have been tryng some stuf but i cant get the script te reserve a ticket for me.

    does anybody know what i am doing wrong ?

    Here is my code

    import requests
    import time
    import random
    import webbrowser
    import threading
    import pyautogui

    API_URL = "https://atleta.cc/api/graphql"
    HEADERS = {
    "Content-Type": "application/json",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36 Edg/134.0.0.0",
    "Cookie": "redacted"
    }

    PAYLOAD = {
    "operationName": "GetRegistrationsForSale",
    "variables": {
    "id": "zRLhtOq7pOcB",
    "tickets": None,
    "limit": 10
    },
    "query": """
    query GetRegistrationsForSale($id: ID!, $tickets: [String!], $limit: Int!) {
    event(id: $id) {
    id
    registrations_for_sale_count
    registrations_for_sale(tickets: $tickets, limit: $limit) {
    id
    resale {
    id
    available
    public_url
    }
    ticket {
    id
    title
    }
    promotion {
    title
    }
    }
    }
    }
    """
    }

    def auto_clicker():
    print(" Auto-clicker actief voor 2 seconden...")
    start_time = time.time()
    while time.time() - start_time < 4:
    pyautogui.click(930, 825)
    time.sleep(0.5)

    def reserve_ticket(registration_id, resale_token, event_id):
    reserve_payload = {
    "operationName": "GetResellableRegistration",
    "variables": {
    "registration_id": registration_id,
    "resale_token": resale_token,
    "event_id": event_id,
    "start_reselling": True
    },
    "query": """
    query GetResellableRegistration($registration_id: ID!, $resale_token: String!, $event_id: ID!, $start_reselling: Boolean!) {
    resellableRegistration(
    registration_id: $registration_id
    resale_token: $resale_token
    start_reselling: $start_reselling
    ) {
    id
    resale {
    id
    resellable
    available
    amount
    total_amount
    fee
    public_url
    public_token
    time_left
    }
    required_attributes
    }
    }
    """
    }
    response = requests.post(API_URL, json=reserve_payload, headers=HEADERS)
    if response.status_code == 200:
    response_data = response.json()
    if response_data.get("errors"):
    print(f"⚠️ Reservering mislukt: {response_data}")
    else:
    print(f"✅ Ticket succesvol gereserveerd!")
    else:
    print(f"⚠️ Fout bij reserveren: {response.status_code}")
    print(f"Response: {response.text}")

    def check_tickets():
    response = requests.post(API_URL, json=PAYLOAD, headers=HEADERS)
    if response.status_code == 200:
    data = response.json()
    event = data.get("data", {}).get("event", {})
    tickets = event.get("registrations_for_sale", [])

    for ticket in tickets:
    promotion_title = ticket.get("promotion", {}).get("title", "")

    if promotion_title and "KWbN" in promotion_title:
    print("⏩ KWbN-ticket gevonden, zoeken gaat door...")
    continue # Sla KWbN-tickets over en ga verder

    resale = ticket.get("resale")
    if resale and resale.get("public_url"):
    url = resale["public_url"]
    registration_id = ticket.get("id")
    resale_token = resale.get("public_token")
    print(f"️ Ticket beschikbaar! Bewerken: {url}")
    webbrowser.open(url)
    if registration_id and resale_token:
    reserve_ticket(registration_id, resale_token, "zRLhtOq7pOcB")
    auto_clicker() # Start de auto-clicker
    return True # Stop het script als een geldig ticket is gevonden

    print("Geen geschikte tickets beschikbaar.")
    elif response.status_code == 429:
    wait_time = random.uniform(30, 40)
    print(f" Rate limit bereikt! Wachten {wait_time:.2f} seconden...")
    time.sleep(wait_time)
    else:
    print(f"API-fout: {response.status_code}")
    print(f"Response: {response.text}")

    return False

    if __name__ == "__main__":
    while True:
    if check_tickets():
    break # Stop als een geschikt ticket is gevonden
    wachttijd = random.uniform(9, 12) # Willekeurige wachttijd tussen 9 en 12 seconden
    print(f"Volgende check over {wachttijd:.2f} seconden...")
    time.sleep(wachttijd)

    Continue reading...

Compartilhe esta Página