From f7b009ab5894d6b15f56367607a68f7f732c1d15 Mon Sep 17 00:00:00 2001 From: Virus Noir <67117684+VirusNoirrr@users.noreply.github.com> Date: Tue, 7 May 2024 17:05:28 +0100 Subject: [PATCH] Update __init__.py --- ProCap/__init__.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/ProCap/__init__.py b/ProCap/__init__.py index abaf711..013671b 100644 --- a/ProCap/__init__.py +++ b/ProCap/__init__.py @@ -5,10 +5,12 @@ def __init__(self, response: dict) -> None: self.id = response.get("taskId") self.time = response.get("time") self.success = response.get("success") - self.token = response["solution"].get("generated_pass_uuid") self.error = response.get("error") - self.challengeKey = response["solution"].get("challenge_key") + self.status = response.get("status") + self.token = response.get("solution").get("generated_pass_uuid") + self.challengeKey = response.get("solution").get("challenge_key") self.response = response + class User: def __init__(self, response: dict) -> None: self.balance = response.get("balance") @@ -36,24 +38,26 @@ def createTask(self, url, sitekey, proxy=None, userAgent=None, rqdata=None, isEn "rqdata": rqdata, } } - if "hcaptcha" in type: + if "hcaptcha" in type and isEnterprise: payload.update({"isEnterprise": isEnterprise}) - request = requests.post("https://api.procap.wtf/createTask", json=payload) - return Task(request.json()) + request = requests.post("https://api.procap.wtf/createTask", json=payload).json() + request["solution"] = {} + return Task(request) def checkTask(self, id): request = requests.get("https://api.procap.wtf/checkTask", json={ "clientKey": self.apikey, "taskId": id }) + print(request.text) return Task(request.json()) - def solve(self, url, sitekey, proxy=None, userAgent=None, rqdata=None, isEnterprise=False): - task = self.createTask(url, sitekey, proxy, userAgent, rqdata, isEnterprise) - if not task.error: + def solve(self, url, sitekey, proxy=None, userAgent=None, rqdata=None, isEnterprise=False, type="hCaptchaTask"): + task = self.createTask(url, sitekey, proxy, userAgent, rqdata, isEnterprise, type) + if task.error: return task.error while True: captcha_challenge = self.checkTask(task.id) - if not captcha_challenge.success: + if not captcha_challenge.status == "processing" and not captcha_challenge.status == "ready": return None - if captcha_challenge.success: + if captcha_challenge.token: return captcha_challenge.token time.sleep(0.5)