def METHOD_NAME(self, taskID):
    if not taskID:
        raise CaptchaBadJobID(
            'CapMonster: Error bad task id to request Captcha.'
        )
    def _checkRequest(response):
        self.checkErrorStatus(response)
        if response.ok and response.json()['status'] == 'ready':
            return True
        return None
    response = polling2.poll(
        lambda: self.session.post(
            f'{self.host}/getTaskResult',
            json={
                'clientKey': self.clientKey,
                'taskId': taskID
            },
            timeout=30
        ),
        check_success=_checkRequest,
        step=5,
        timeout=180
    )
    if response:
        payload = response.json()['solution']
        if 'token' in payload:
            return payload['token']
        else:
            return payload['gRecaptchaResponse']
    else:
        raise CaptchaTimeout(
            "CapMonster: Error failed to solve Captcha."
        )